{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Data and Figures\n",
    "\n",
    "## Christopher N. Warren, Carnegie Mellon University\n",
    "## cnwarren@cmu.edu \n",
    "##  \"Historiography’s Two Voices: Data Infrastructure and History at Scale in the Oxford Dictionary of National Biography (ODNB),\" *Journal of Cultural Analytics* (2018). "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<script type='text/javascript'>if(!window.Plotly){define('plotly', function(require, exports, module) {/**\n",
       "* plotly.js v1.41.3\n",
       "* Copyright 2012-2018, Plotly, Inc.\n",
       "* All rights reserved.\n",
       "* Licensed under the MIT license\n",
       "*/\n",
       "!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).Plotly=t()}}(function(){return function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\"function\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error(\"Cannot find module '\"+o+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){return i(e[o][1][t]||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var a=\"function\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}}()({1:[function(t,e,r){\"use strict\";var n=t(\"../src/lib\"),i={\"X,X div\":\"direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;\",\"X input,X button\":\"font-family:'Open Sans', verdana, arial, sans-serif;\",\"X input:focus,X button:focus\":\"outline:none;\",\"X a\":\"text-decoration:none;\",\"X a:hover\":\"text-decoration:none;\",\"X .crisp\":\"shape-rendering:crispEdges;\",\"X .user-select-none\":\"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\"X svg\":\"overflow:hidden;\",\"X svg a\":\"fill:#447adb;\",\"X svg a:hover\":\"fill:#3c6dc5;\",\"X .main-svg\":\"position:absolute;top:0;left:0;pointer-events:none;\",\"X .main-svg .draglayer\":\"pointer-events:all;\",\"X .cursor-default\":\"cursor:default;\",\"X .cursor-pointer\":\"cursor:pointer;\",\"X .cursor-crosshair\":\"cursor:crosshair;\",\"X .cursor-move\":\"cursor:move;\",\"X .cursor-col-resize\":\"cursor:col-resize;\",\"X .cursor-row-resize\":\"cursor:row-resize;\",\"X .cursor-ns-resize\":\"cursor:ns-resize;\",\"X .cursor-ew-resize\":\"cursor:ew-resize;\",\"X .cursor-sw-resize\":\"cursor:sw-resize;\",\"X .cursor-s-resize\":\"cursor:s-resize;\",\"X .cursor-se-resize\":\"cursor:se-resize;\",\"X .cursor-w-resize\":\"cursor:w-resize;\",\"X .cursor-e-resize\":\"cursor:e-resize;\",\"X .cursor-nw-resize\":\"cursor:nw-resize;\",\"X .cursor-n-resize\":\"cursor:n-resize;\",\"X .cursor-ne-resize\":\"cursor:ne-resize;\",\"X .cursor-grab\":\"cursor:-webkit-grab;cursor:grab;\",\"X .modebar\":\"position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);\",\"X .modebar--hover\":\"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;\",\"X:hover .modebar--hover\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-group:first-child\":\"margin-left:0px;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar-btn path\":\"fill:rgba(0,31,95,0.3);\",\"X .modebar-btn.active path,X .modebar-btn:hover path\":\"fill:rgba(0,22,72,0.5);\",\"X .modebar-btn.modebar-btn--logo\":\"padding:3px 1px;\",\"X .modebar-btn.modebar-btn--logo path\":\"fill:#447adb !important;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":\"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;\",\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\"X .select-outline\":\"fill:none;stroke-width:1;shape-rendering:crispEdges;\",\"X .select-outline-1\":\"stroke:white;\",\"X .select-outline-2\":\"stroke:black;stroke-dasharray:2px 2px;\",Y:\"font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;\",\"Y p\":\"margin:0;\",\"Y .notifier-note\":\"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\"Y .notifier-close\":\"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\"Y .notifier-close:hover\":\"color:#444;text-decoration:none;cursor:pointer;\"};for(var a in i){var o=a.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");n.addStyleRule(o,i[a])}},{\"../src/lib\":693}],2:[function(t,e,r){\"use strict\";e.exports={undo:{width:857.1,height:1e3,path:\"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",transform:\"matrix(1 0 0 -1 0 850)\"},home:{width:928.6,height:1e3,path:\"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"camera-retro\":{width:1e3,height:1e3,path:\"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoombox:{width:1e3,height:1e3,path:\"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",transform:\"matrix(1 0 0 -1 0 850)\"},pan:{width:1e3,height:1e3,path:\"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_plus:{width:1e3,height:1e3,path:\"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_minus:{width:1e3,height:1e3,path:\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},autoscale:{width:1e3,height:1e3,path:\"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_basic:{width:1500,height:1e3,path:\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_compare:{width:1125,height:1e3,path:\"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",transform:\"matrix(1 0 0 -1 0 850)\"},plotlylogo:{width:1542,height:1e3,path:\"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"z-axis\":{width:1e3,height:1e3,path:\"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"3d_rotate\":{width:1e3,height:1e3,path:\"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",transform:\"matrix(1 0 0 -1 0 850)\"},camera:{width:1e3,height:1e3,path:\"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",transform:\"matrix(1 0 0 -1 0 850)\"},movie:{width:1e3,height:1e3,path:\"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",transform:\"matrix(1 0 0 -1 0 850)\"},question:{width:857.1,height:1e3,path:\"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",transform:\"matrix(1 0 0 -1 0 850)\"},disk:{width:857.1,height:1e3,path:\"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",transform:\"matrix(1 0 0 -1 0 850)\"},lasso:{width:1031,height:1e3,path:\"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",transform:\"matrix(1 0 0 -1 0 850)\"},selectbox:{width:1e3,height:1e3,path:\"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},spikeline:{width:1e3,height:1e3,path:\"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",transform:\"matrix(1.5 0 0 -1.5 0 850)\"}}},{}],3:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/aggregate\")},{\"../src/transforms/aggregate\":1144}],4:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/bar\")},{\"../src/traces/bar\":840}],5:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/barpolar\")},{\"../src/traces/barpolar\":852}],6:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/box\")},{\"../src/traces/box\":862}],7:[function(t,e,r){\"use strict\";e.exports=t(\"../src/components/calendars\")},{\"../src/components/calendars\":565}],8:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/candlestick\")},{\"../src/traces/candlestick\":871}],9:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/carpet\")},{\"../src/traces/carpet\":890}],10:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choropleth\")},{\"../src/traces/choropleth\":904}],11:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/cone\")},{\"../src/traces/cone\":912}],12:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contour\")},{\"../src/traces/contour\":927}],13:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contourcarpet\")},{\"../src/traces/contourcarpet\":938}],14:[function(t,e,r){\"use strict\";e.exports=t(\"../src/core\")},{\"../src/core\":672}],15:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/filter\")},{\"../src/transforms/filter\":1145}],16:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/groupby\")},{\"../src/transforms/groupby\":1146}],17:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmap\")},{\"../src/traces/heatmap\":950}],18:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmapgl\")},{\"../src/traces/heatmapgl\":960}],19:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram\")},{\"../src/traces/histogram\":971}],20:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2d\")},{\"../src/traces/histogram2d\":977}],21:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2dcontour\")},{\"../src/traces/histogram2dcontour\":981}],22:[function(t,e,r){\"use strict\";var n=t(\"./core\");n.register([t(\"./bar\"),t(\"./box\"),t(\"./heatmap\"),t(\"./histogram\"),t(\"./histogram2d\"),t(\"./histogram2dcontour\"),t(\"./pie\"),t(\"./contour\"),t(\"./scatterternary\"),t(\"./violin\"),t(\"./scatter3d\"),t(\"./surface\"),t(\"./mesh3d\"),t(\"./cone\"),t(\"./streamtube\"),t(\"./scattergeo\"),t(\"./choropleth\"),t(\"./scattergl\"),t(\"./splom\"),t(\"./pointcloud\"),t(\"./heatmapgl\"),t(\"./parcoords\"),t(\"./scattermapbox\"),t(\"./sankey\"),t(\"./table\"),t(\"./carpet\"),t(\"./scattercarpet\"),t(\"./contourcarpet\"),t(\"./ohlc\"),t(\"./candlestick\"),t(\"./scatterpolar\"),t(\"./scatterpolargl\"),t(\"./barpolar\")]),n.register([t(\"./aggregate\"),t(\"./filter\"),t(\"./groupby\"),t(\"./sort\")]),n.register([t(\"./calendars\")]),e.exports=n},{\"./aggregate\":3,\"./bar\":4,\"./barpolar\":5,\"./box\":6,\"./calendars\":7,\"./candlestick\":8,\"./carpet\":9,\"./choropleth\":10,\"./cone\":11,\"./contour\":12,\"./contourcarpet\":13,\"./core\":14,\"./filter\":15,\"./groupby\":16,\"./heatmap\":17,\"./heatmapgl\":18,\"./histogram\":19,\"./histogram2d\":20,\"./histogram2dcontour\":21,\"./mesh3d\":23,\"./ohlc\":24,\"./parcoords\":25,\"./pie\":26,\"./pointcloud\":27,\"./sankey\":28,\"./scatter3d\":29,\"./scattercarpet\":30,\"./scattergeo\":31,\"./scattergl\":32,\"./scattermapbox\":33,\"./scatterpolar\":34,\"./scatterpolargl\":35,\"./scatterternary\":36,\"./sort\":37,\"./splom\":38,\"./streamtube\":39,\"./surface\":40,\"./table\":41,\"./violin\":42}],23:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/mesh3d\")},{\"../src/traces/mesh3d\":986}],24:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/ohlc\")},{\"../src/traces/ohlc\":991}],25:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcoords\")},{\"../src/traces/parcoords\":1002}],26:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pie\")},{\"../src/traces/pie\":1013}],27:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pointcloud\")},{\"../src/traces/pointcloud\":1022}],28:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sankey\")},{\"../src/traces/sankey\":1028}],29:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatter3d\")},{\"../src/traces/scatter3d\":1064}],30:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattercarpet\")},{\"../src/traces/scattercarpet\":1070}],31:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergeo\")},{\"../src/traces/scattergeo\":1077}],32:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergl\")},{\"../src/traces/scattergl\":1085}],33:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattermapbox\")},{\"../src/traces/scattermapbox\":1091}],34:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolar\")},{\"../src/traces/scatterpolar\":1098}],35:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolargl\")},{\"../src/traces/scatterpolargl\":1102}],36:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterternary\")},{\"../src/traces/scatterternary\":1108}],37:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/sort\")},{\"../src/transforms/sort\":1148}],38:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/splom\")},{\"../src/traces/splom\":1113}],39:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/streamtube\")},{\"../src/traces/streamtube\":1118}],40:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/surface\")},{\"../src/traces/surface\":1123}],41:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/table\")},{\"../src/traces/table\":1131}],42:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/violin\")},{\"../src/traces/violin\":1139}],43:[function(t,e,r){\"use strict\";e.exports=function(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];\"distanceLimits\"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]);\"zoomMin\"in e&&(r[0]=e.zoomMin);\"zoomMax\"in e&&(r[1]=e.zoomMax);var c=i({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:r}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,p=t.clientHeight,d={view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,tick:function(){var e=n(),r=this.delay;c.idle(e-r),c.flush(e-(100+2*r));var i=e-2*r;c.recalcMatrix(i);for(var a=!0,o=c.computedMatrix,s=0;s<16;++s)a=a&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=Math.exp(c.computedRadius[0]),!0)},lookAt:function(t,e,r){c.lookAt(c.lastT(),t,e,r)},rotate:function(t,e,r){c.rotate(c.lastT(),t,e,r)},pan:function(t,e,r){c.pan(c.lastT(),t,e,r)},translate:function(t,e,r){c.translate(c.lastT(),t,e,r)}};Object.defineProperties(d,{matrix:{get:function(){return c.computedMatrix},set:function(t){return c.setMatrix(c.lastT(),t),c.computedMatrix},enumerable:!0},mode:{get:function(){return c.getMode()},set:function(t){return c.setMode(t),c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return f},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\"contextmenu\",function(t){return t.preventDefault(),!1});var g=0,m=0,v={shift:!1,control:!1,alt:!1,meta:!1};function y(e,r,i,a){var o=1/t.clientHeight,s=o*(r-g),l=o*(i-m),u=d.flipX?1:-1,h=d.flipY?1:-1,p=Math.PI*d.rotateSpeed,y=n();if(1&e)a.shift?c.rotate(y,0,0,-s*p):c.rotate(y,u*p*s,-h*p*l,0);else if(2&e)c.pan(y,-d.translateSpeed*s*f,d.translateSpeed*l*f,0);else if(4&e){var x=d.zoomSpeed*l/window.innerHeight*(y-c.lastT())*50;c.pan(y,0,0,f*(Math.exp(x)-1))}g=r,m=i,v=a}return a(t,y),t.addEventListener(\"touchstart\",function(e){var r=s(e.changedTouches[0],t);y(0,r[0],r[1],v),y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\"touchmove\",function(e){var r=s(e.changedTouches[0],t);y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\"touchend\",function(e){s(e.changedTouches[0],t),y(0,g,m,v),e.preventDefault()},!!l&&{passive:!1}),o(t,function(t,e,r){var i=d.flipX?1:-1,a=d.flipY?1:-1,o=n();if(Math.abs(t)>Math.abs(e))c.rotate(o,0,0,-t*i*Math.PI*d.rotateSpeed/window.innerWidth);else{var s=d.zoomSpeed*a*e/window.innerHeight*(o-c.lastT())/100;c.pan(o,0,0,f*(Math.exp(s)-1))}},!0),d};var n=t(\"right-now\"),i=t(\"3d-view\"),a=t(\"mouse-change\"),o=t(\"mouse-wheel\"),s=t(\"mouse-event-offset\"),l=t(\"has-passive-events\")},{\"3d-view\":44,\"has-passive-events\":392,\"mouse-change\":415,\"mouse-event-offset\":416,\"mouse-wheel\":418,\"right-now\":477}],44:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||\"turntable\",u=n(),f=i(),h=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:u,orbit:f,matrix:h},c)};var n=t(\"turntable-camera-controller\"),i=t(\"orbit-camera-controller\"),a=t(\"matrix-camera-controller\");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map(function(e){return t[e]}),this._mode=e,this._active=t[e],this._active||(this._mode=\"turntable\",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[[\"flush\",1],[\"idle\",1],[\"lookAt\",4],[\"rotate\",4],[\"pan\",4],[\"translate\",4],[\"setMatrix\",2],[\"setDistanceLimits\",2],[\"setDistance\",2]].forEach(function(t){for(var e=t[0],r=[],n=0;n<t[1];++n)r.push(\"a\"+n);var i=\"var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i].\"+t[0]+\"(\"+r.join()+\")}\";s[e]=Function.apply(null,r.concat(i))}),s.recalcMatrix=function(t){this._active.recalcMatrix(t)},s.getDistance=function(t){return this._active.getDistance(t)},s.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},s.lastT=function(){return this._active.lastT()},s.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,r.computedMatrix),this._active=n,this._mode=t,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},s.getMode=function(){return this._mode}},{\"matrix-camera-controller\":413,\"orbit-camera-controller\":436,\"turntable-camera-controller\":516}],45:[function(t,e,r){var n,i;n=this,i=function(t,e,r,n){\"use strict\";t.sankey=function(){var t={},i=24,a=8,o=[1,1],s=[],l=[];function c(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}s.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),s.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function u(t){return t.y+t.dy/2}function f(t){return t.value}return t.nodeWidth=function(e){return arguments.length?(i=+e,t):i},t.nodePadding=function(e){return arguments.length?(a=+e,t):a},t.nodes=function(e){return arguments.length?(s=e,t):s},t.links=function(e){return arguments.length?(l=e,t):l},t.size=function(e){return arguments.length?(o=e,t):o},t.layout=function(n){return s.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),l.forEach(function(t,e){var r=t.source,n=t.target;\"number\"==typeof r&&(r=t.source=s[t.source]),\"number\"==typeof n&&(n=t.target=s[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)}),s.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,f),e.sum(t.targetLinks,f))}),function(){for(var t,e,r=s,n=0;r.length;)t=[],r.forEach(function(e){e.x=n,e.dx=i,e.sourceLinks.forEach(function(e){t.indexOf(e.target)<0&&t.push(e.target)})}),r=t,++n;(function(t){s.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})})(n),e=(o[0]-i)/(n-1),s.forEach(function(t){t.x*=e})}(),function(t){var n,i=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(s).map(function(t){return t.values});n=e.min(i,function(t){return(o[1]-(t.length-1)*a)/e.sum(t,f)}),i.forEach(function(t){t.forEach(function(t,e){t.y=e,t.dy=t.value*n})}),l.forEach(function(t){t.dy=t.value*n}),d();for(var c=1;t>0;--t)p(c*=.99),d(),h(c),d();function h(t){function r(t){return u(t.source)*t.value}i.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,f);n.y+=(i-u(n))*t}})})}function p(t){function r(t){return u(t.target)*t.value}i.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,f);n.y+=(i-u(n))*t}})})}function d(){i.forEach(function(t){var e,r,n,i=0,s=t.length;for(t.sort(g),n=0;n<s;++n)e=t[n],(r=i-e.y)>0&&(e.y+=r),i=e.y+e.dy+a;if((r=i-a-o[1])>0)for(i=e.y-=r,n=s-2;n>=0;--n)e=t[n],(r=e.y+e.dy+a-i)>0&&(e.y-=r),i=e.y})}function g(t,e){return t.y-e.y}}(n),c(),t},t.relayout=function(){return c(),t},t.link=function(){var t=.5;function e(e){var r=e.source.x+e.source.dx,i=e.target.x,a=n.interpolateNumber(r,i),o=a(t),s=a(1-t),l=e.source.y+e.sy,c=l+e.dy,u=e.target.y+e.ty,f=u+e.dy;return\"M\"+r+\",\"+l+\"C\"+o+\",\"+l+\" \"+s+\",\"+u+\" \"+i+\",\"+u+\"L\"+i+\",\"+f+\"C\"+s+\",\"+f+\" \"+o+\",\"+c+\" \"+r+\",\"+c+\"Z\"}return e.curvature=function(r){return arguments.length?(t=+r,e):t},e},t},Object.defineProperty(t,\"__esModule\",{value:!0})},\"object\"==typeof r&&\"undefined\"!=typeof e?i(r,t(\"d3-array\"),t(\"d3-collection\"),t(\"d3-interpolate\")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{\"d3-array\":139,\"d3-collection\":140,\"d3-interpolate\":144}],46:[function(t,e,r){\"use strict\";var n=\"undefined\"==typeof WeakMap?t(\"weak-map\"):WeakMap,i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=i(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=a(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{\"gl-buffer\":229,\"gl-vao\":308,\"weak-map\":526}],47:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,i=0;return t.map(function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case\"a\":t[6]+=n,t[7]+=i;break;case\"v\":t[1]+=i;break;case\"h\":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=i}switch(o){case\"Z\":n=e,i=r;break;case\"H\":n=t[1];break;case\"V\":i=t[1];break;case\"M\":n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t})}},{}],48:[function(t,e,r){var n=t(\"pad-left\");e.exports=function(t,e,r){e=\"number\"==typeof e?e:1,r=r||\": \";var i=t.split(/\\r?\\n/),a=String(i.length+e-1).length;return i.map(function(t,i){var o=i+e,s=String(o).length,l=n(o,a-s);return l+r+t}).join(\"\\n\")}},{\"pad-left\":437}],49:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],a=[0],o=1;o<e;++o)if(n.push(t[o]),i(n,r)){if(a.push(o),a.length===r+1)return a}else n.pop();return a};var n=t(\"robust-orientation\");function i(t,e){for(var r=new Array(e+1),i=0;i<t.length;++i)r[i]=t[i];for(i=0;i<=t.length;++i){for(var a=t.length;a<=e;++a){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(a+1-i,s);r[a]=o}if(n.apply(void 0,r))return!0}return!1}},{\"robust-orientation\":483}],50:[function(t,e,r){\"use strict\";e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),a=0;a<r.length;++a)n[a]=e[r[a]];return i(n)*t<1})};var n=t(\"delaunay-triangulate\"),i=t(\"circumradius\")},{circumradius:101,\"delaunay-triangulate\":149}],51:[function(t,e,r){e.exports=function(t,e){return i(n(t,e))};var n=t(\"alpha-complex\"),i=t(\"simplicial-complex-boundary\")},{\"alpha-complex\":50,\"simplicial-complex-boundary\":490}],52:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(!t||null==t.length)throw Error(\"Argument should be an array\");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r}},{}],53:[function(t,e,r){\"use strict\";var n=t(\"array-bounds\");e.exports=function(t,e,r){if(!t||null==t.length)throw Error(\"Argument should be an array\");null==e&&(e=1);null==r&&(r=n(t,e));for(var i=0;i<e;i++){var a=r[e+i],o=r[i],s=i,l=t.length;if(a===1/0&&o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===o?0:1;else{var c=a-o;for(s=i;s<l;s+=e)t[s]=0===c?.5:(t[s]-o)/c}}return t}},{\"array-bounds\":52}],54:[function(t,e,r){e.exports=function(t,e){var r=\"number\"==typeof t,n=\"number\"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var i=(e|=0)-(t|=0);if(i<0)throw new Error(\"array length must be positive\");for(var a=new Array(i),o=0,s=t;o<i;o++,s++)a[o]=s;return a}},{}],55:[function(t,e,r){(function(r){\"use strict\";function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function i(t){return r.Buffer&&\"function\"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var a=t(\"util/\"),o=Object.prototype.hasOwnProperty,s=Array.prototype.slice,l=\"foo\"===function(){}.name;function c(t){return Object.prototype.toString.call(t)}function u(t){return!i(t)&&(\"function\"==typeof r.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var f=e.exports=v,h=/\\s*function\\s+([^\\(\\s]*)\\s*/;function p(t){if(a.isFunction(t)){if(l)return t.name;var e=t.toString().match(h);return e&&e[1]}}function d(t,e){return\"string\"==typeof t?t.length<e?t:t.slice(0,e):t}function g(t){if(l||!a.isFunction(t))return a.inspect(t);var e=p(t);return\"[Function\"+(e?\": \"+e:\"\")+\"]\"}function m(t,e,r,n,i){throw new f.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function v(t,e){t||m(t,!0,e,\"==\",f.ok)}function y(t,e,r,o){if(t===e)return!0;if(i(t)&&i(e))return 0===n(t,e);if(a.isDate(t)&&a.isDate(e))return t.getTime()===e.getTime();if(a.isRegExp(t)&&a.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&\"object\"==typeof t||null!==e&&\"object\"==typeof e){if(u(t)&&u(e)&&c(t)===c(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var l=(o=o||{actual:[],expected:[]}).actual.indexOf(t);return-1!==l&&l===o.expected.indexOf(e)||(o.actual.push(t),o.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(a.isPrimitive(t)||a.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=x(t),o=x(e);if(i&&!o||!i&&o)return!1;if(i)return t=s.call(t),e=s.call(e),y(t,e,r);var l,c,u=w(t),f=w(e);if(u.length!==f.length)return!1;for(u.sort(),f.sort(),c=u.length-1;c>=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(l=u[c],!y(t[l],e[l],r,n))return!1;return!0}(t,e,r,o))}return r?t===e:t==e}function x(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function b(t,e){if(!t||!e)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function _(t,e,r,n){var i;if(\"function\"!=typeof e)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!i&&m(i,r,\"Missing expected exception\"+n);var o=\"string\"==typeof n,s=!t&&i&&!r;if((!t&&a.isError(i)&&o&&b(i,r)||s)&&m(i,r,\"Got unwanted exception\"+n),t&&i&&r&&!b(i,r)||!t&&i)throw i}f.AssertionError=function(t){var e;this.name=\"AssertionError\",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=d(g((e=this).actual),128)+\" \"+e.operator+\" \"+d(g(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,a=p(r),o=i.indexOf(\"\\n\"+a);if(o>=0){var s=i.indexOf(\"\\n\",o+1);i=i.substring(s+1)}this.stack=i}}},a.inherits(f.AssertionError,Error),f.fail=m,f.ok=v,f.equal=function(t,e,r){t!=e&&m(t,e,r,\"==\",f.equal)},f.notEqual=function(t,e,r){t==e&&m(t,e,r,\"!=\",f.notEqual)},f.deepEqual=function(t,e,r){y(t,e,!1)||m(t,e,r,\"deepEqual\",f.deepEqual)},f.deepStrictEqual=function(t,e,r){y(t,e,!0)||m(t,e,r,\"deepStrictEqual\",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){y(t,e,!1)&&m(t,e,r,\"notDeepEqual\",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){y(e,r,!0)&&m(e,r,n,\"notDeepStrictEqual\",t)},f.strictEqual=function(t,e,r){t!==e&&m(t,e,r,\"===\",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,\"!==\",f.notStrictEqual)},f.throws=function(t,e,r){_(!0,t,e,r)},f.doesNotThrow=function(t,e,r){_(!1,t,e,r)},f.ifError=function(t){if(t)throw t};var w=Object.keys||function(t){var e=[];for(var r in t)o.call(t,r)&&e.push(r);return e}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"util/\":58}],56:[function(t,e,r){\"function\"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],57:[function(t,e,r){e.exports=function(t){return t&&\"object\"==typeof t&&\"function\"==typeof t.copy&&\"function\"==typeof t.fill&&\"function\"==typeof t.readUInt8}},{}],58:[function(t,e,r){(function(e,n){var i=/%[sdj%]/g;r.format=function(t){if(!v(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(s(arguments[r]));return e.join(\" \")}r=1;for(var n=arguments,a=n.length,o=String(t).replace(i,function(t){if(\"%%\"===t)return\"%\";if(r>=a)return t;switch(t){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(t){return\"[Circular]\"}default:return t}}),l=n[r];r<a;l=n[++r])g(l)||!b(l)?o+=\" \"+l:o+=\" \"+s(l);return o},r.deprecate=function(t,i){if(y(n.process))return function(){return r.deprecate(t,i).apply(this,arguments)};if(!0===e.noDeprecation)return t;var a=!1;return function(){if(!a){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),a=!0}return t.apply(this,arguments)}};var a,o={};function s(t,e){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?\"\\x1b[\"+s.colors[r][0]+\"m\"+t+\"\\x1b[\"+s.colors[r][1]+\"m\":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return v(i)||(i=u(t,i,n)),i}var a=function(t,e){if(y(e))return t.stylize(\"undefined\",\"undefined\");if(v(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}if(m(e))return t.stylize(\"\"+e,\"number\");if(d(e))return t.stylize(\"\"+e,\"boolean\");if(g(e))return t.stylize(\"null\",\"null\")}(t,e);if(a)return a;var o=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return f(e);if(0===o.length){if(k(e)){var l=e.name?\": \"+e.name:\"\";return t.stylize(\"[Function\"+l+\"]\",\"special\")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),\"regexp\");if(_(e))return t.stylize(Date.prototype.toString.call(e),\"date\");if(w(e))return f(e)}var c,b=\"\",M=!1,A=[\"{\",\"}\"];(p(e)&&(M=!0,A=[\"[\",\"]\"]),k(e))&&(b=\" [Function\"+(e.name?\": \"+e.name:\"\")+\"]\");return x(e)&&(b=\" \"+RegExp.prototype.toString.call(e)),_(e)&&(b=\" \"+Date.prototype.toUTCString.call(e)),w(e)&&(b=\" \"+f(e)),0!==o.length||M&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),\"regexp\"):t.stylize(\"[Object]\",\"special\"):(t.seen.push(e),c=M?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)S(e,String(o))?a.push(h(t,e,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(i){i.match(/^\\d+$/)||a.push(h(t,e,r,n,i,!0))}),a}(t,e,n,s,o):o.map(function(r){return h(t,e,n,s,r,M)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,e.indexOf(\"\\n\")>=0&&0,t+e.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60)return r[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n  \")+\" \"+r[1];return r[0]+e+\" \"+t.join(\", \")+\" \"+r[1]}(c,b,A)):A[0]+b+A[1]}function f(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function h(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):l.set&&(s=t.stylize(\"[Setter]\",\"special\")),S(n,i)||(o=\"[\"+i+\"]\"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf(\"\\n\")>-1&&(s=a?s.split(\"\\n\").map(function(t){return\"  \"+t}).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map(function(t){return\"   \"+t}).join(\"\\n\")):s=t.stylize(\"[Circular]\",\"special\")),y(o)){if(a&&i.match(/^\\d+$/))return s;(o=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=t.stylize(o,\"string\"))}return o+\": \"+s}function p(t){return Array.isArray(t)}function d(t){return\"boolean\"==typeof t}function g(t){return null===t}function m(t){return\"number\"==typeof t}function v(t){return\"string\"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&\"[object RegExp]\"===M(t)}function b(t){return\"object\"==typeof t&&null!==t}function _(t){return b(t)&&\"[object Date]\"===M(t)}function w(t){return b(t)&&(\"[object Error]\"===M(t)||t instanceof Error)}function k(t){return\"function\"==typeof t}function M(t){return Object.prototype.toString.call(t)}function A(t){return t<10?\"0\"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(a)&&(a=e.env.NODE_DEBUG||\"\"),t=t.toUpperCase(),!o[t])if(new RegExp(\"\\\\b\"+t+\"\\\\b\",\"i\").test(a)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error(\"%s %d: %s\",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=m,r.isString=v,r.isSymbol=function(t){return\"symbol\"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=k,r.isPrimitive=function(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||\"undefined\"==typeof t},r.isBuffer=t(\"./support/isBuffer\");var T=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log(\"%s - %s\",(t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(\":\"),[t.getDate(),T[t.getMonth()],e].join(\" \")),r.format.apply(r,arguments))},r.inherits=t(\"inherits\"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./support/isBuffer\":57,_process:462,inherits:56}],59:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],60:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];a[o]=s}a[r]=new Array(r+1);for(var o=0;o<=r;++o)a[r][o]=1;for(var c=new Array(r+1),o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(a,c),f=i(u[r+1]);0===f&&(f=1);for(var h=new Array(r+1),o=0;o<=r;++o)h[o]=i(u[o])/f;return h};var n=t(\"robust-linear-solve\");function i(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{\"robust-linear-solve\":482}],61:[function(t,e,r){\"use strict\";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){for(var e,r=c(t),n=r[0],o=r[1],s=new a(function(t,e,r){return 3*(e+r)/4-r}(0,n,o)),l=0,u=o>0?n-4:n,f=0;f<u;f+=4)e=i[t.charCodeAt(f)]<<18|i[t.charCodeAt(f+1)]<<12|i[t.charCodeAt(f+2)]<<6|i[t.charCodeAt(f+3)],s[l++]=e>>16&255,s[l++]=e>>8&255,s[l++]=255&e;2===o&&(e=i[t.charCodeAt(f)]<<2|i[t.charCodeAt(f+1)]>>4,s[l++]=255&e);1===o&&(e=i[t.charCodeAt(f)]<<10|i[t.charCodeAt(f+1)]<<4|i[t.charCodeAt(f+2)]>>2,s[l++]=e>>8&255,s[l++]=255&e);return s},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a=[],o=0,s=r-i;o<s;o+=16383)a.push(u(t,o,o+16383>s?s:o+16383));1===i?(e=t[r-1],a.push(n[e>>2]+n[e<<4&63]+\"==\")):2===i&&(e=(t[r-2]<<8)+t[r-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+\"=\"));return a.join(\"\")};for(var n=[],i=[],a=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,l=o.length;s<l;++s)n[s]=o[s],i[o.charCodeAt(s)]=s;function c(t){var e=t.length;if(e%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=t.indexOf(\"=\");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var i,a,o=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(a=i)>>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join(\"\")}i[\"-\".charCodeAt(0)]=62,i[\"_\".charCodeAt(0)]=63},{}],62:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{\"./lib/rationalize\":72}],63:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],64:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{\"./lib/rationalize\":72}],65:[function(t,e,r){\"use strict\";var n=t(\"./is-rat\"),i=t(\"./lib/is-bn\"),a=t(\"./lib/num-to-bn\"),o=t(\"./lib/str-to-bn\"),s=t(\"./lib/rationalize\"),l=t(\"./div\");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c=0;var u,f;if(i(e))u=e.clone();else if(\"string\"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=a(e)}}if(n(r))u.mul(r[1]),f=r[0].clone();else if(i(r))f=r.clone();else if(\"string\"==typeof r)f=o(r);else if(r)if(r===Math.floor(r))f=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;f=a(r)}else f=a(1);c>0?u=u.ushln(c):c<0&&(f=f.ushln(-c));return s(u,f)}},{\"./div\":64,\"./is-rat\":66,\"./lib/is-bn\":70,\"./lib/num-to-bn\":71,\"./lib/rationalize\":72,\"./lib/str-to-bn\":73}],66:[function(t,e,r){\"use strict\";var n=t(\"./lib/is-bn\");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{\"./lib/is-bn\":70}],67:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return t.cmp(new n(0))}},{\"bn.js\":81}],68:[function(t,e,r){\"use strict\";var n=t(\"./bn-sign\");e.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a<e;a++){var o=r[a];i+=o*Math.pow(67108864,a)}return n(t)*i}},{\"./bn-sign\":67}],69:[function(t,e,r){\"use strict\";var n=t(\"double-bits\"),i=t(\"bit-twiddle\").countTrailingZeros;e.exports=function(t){var e=i(n.lo(t));if(e<32)return e;var r=i(n.hi(t));if(r>20)return 52;return r+32}},{\"bit-twiddle\":79,\"double-bits\":151}],70:[function(t,e,r){\"use strict\";t(\"bn.js\");e.exports=function(t){return t&&\"object\"==typeof t&&Boolean(t.words)}},{\"bn.js\":81}],71:[function(t,e,r){\"use strict\";var n=t(\"bn.js\"),i=t(\"double-bits\");e.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{\"bn.js\":81,\"double-bits\":151}],72:[function(t,e,r){\"use strict\";var n=t(\"./num-to-bn\"),i=t(\"./bn-sign\");e.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{\"./bn-sign\":67,\"./num-to-bn\":71}],73:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return new n(t)}},{\"bn.js\":81}],74:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{\"./lib/rationalize\":72}],75:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-sign\");e.exports=function(t){return n(t[0])*n(t[1])}},{\"./lib/bn-sign\":67}],76:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{\"./lib/rationalize\":72}],77:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-to-num\"),i=t(\"./lib/ctz\");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4,f=n(l.ushln(u).divRound(r));return c*(s+f*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53,f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):(f*=Math.pow(2,-1023),c*f*Math.pow(2,1023-h))}},{\"./lib/bn-to-num\":68,\"./lib/ctz\":69}],78:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){var o=[\"function \",t,\"(a,l,h,\",n.join(\",\"),\"){\",a?\"\":\"var i=\",r?\"l-1\":\"h+1\",\";while(l<=h){var m=(l+h)>>>1,x=a\",i?\".get(m)\":\"[m]\"];return a?e.indexOf(\"c\")<0?o.push(\";if(x===y){return m}else if(x<=y){\"):o.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\"):o.push(\";if(\",e,\"){i=m;\"),r?o.push(\"l=m+1}else{h=m-1}\"):o.push(\"h=m-1}else{l=m+1}\"),o.push(\"}\"),a?o.push(\"return -1};\"):o.push(\"return i};\"),o.join(\"\")}function i(t,e,r,i){return new Function([n(\"A\",\"x\"+t+\"y\",e,[\"y\"],!1,i),n(\"B\",\"x\"+t+\"y\",e,[\"y\"],!0,i),n(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!1,i),n(\"Q\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!0,i),\"function dispatchBsearch\",r,\"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch\",r].join(\"\"))()}e.exports={ge:i(\">=\",!1,\"GE\"),gt:i(\">\",!1,\"GT\"),lt:i(\"<\",!0,\"LT\"),le:i(\"<=\",!0,\"LE\"),eq:i(\"-\",!0,\"EQ\",!0)}},{}],79:[function(t,e,r){\"use strict\";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(i),r.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],80:[function(t,e,r){\"use strict\";var n=t(\"clamp\");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,f,h,p,d,g,m=null==e.cutoff?.25:e.cutoff,v=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error(\"For raw data width and height should be provided by options\");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext(\"2d\"),r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t.canvas,f=t,r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d<g;d++)l[d]=c[d*u+y]/255;else if(1!==u)throw Error(\"Raw data can have only 1 value per pixel\");var x=Array(r*o),b=Array(r*o),_=Array(s),w=Array(s),k=Array(s+1),M=Array(s);for(d=0,g=r*o;d<g;d++){var A=l[d];x[d]=1===A?0:0===A?i:Math.pow(Math.max(0,.5-A),2),b[d]=1===A?i:0===A?0:Math.pow(Math.max(0,A-.5),2)}a(x,r,o,_,w,M,k),a(b,r,o,_,w,M,k);var T=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,g=r*o;d<g;d++)T[d]=n(1-((x[d]-b[d])/v+m),0,1);return T};var i=1e20;function a(t,e,r,n,i,a,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,i,a,s,r),c=0;c<r;c++)t[c*e+l]=i[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,i,a,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(i[l])}}function o(t,e,r,n,a){r[0]=0,n[0]=-i,n[1]=+i;for(var o=1,s=0;o<a;o++){for(var l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+i}for(o=0,s=0;o<a;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:102}],81:[function(t,e,r){!function(e,r){\"use strict\";function n(t,e){if(!t)throw new Error(e||\"Assertion failed\")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&(\"le\"!==e&&\"be\"!==e||(r=e,e=10),this._init(t||0,e||10,r||\"be\"))}var o;\"object\"==typeof e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;try{o=t(\"buffer\").Buffer}catch(t){}function s(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a<i;a++){var o=t.charCodeAt(a)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&\"object\"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if(\"number\"==typeof t)return this._initNumber(t,e,r);if(\"object\"==typeof t)return this._initArray(t,e,r);\"hex\"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;\"-\"===(t=t.toString().replace(/\\s+/g,\"\"))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),\"-\"===t[0]&&(this.negative=1),this.strip(),\"le\"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),\"le\"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n(\"number\"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if(\"be\"===r)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\"le\"===r)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,i,a=0;for(r=t.length-6,n=0;r>=e;r-=6)i=s(t,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=s(t,e,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,c=0,u=r;u<s;u+=n)c=l(t,u,u+n,e),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var f=1;for(c=l(t,u,t.length,e),u=0;u<o;u++)f*=e;this.imuln(f),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},a.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},a.prototype.clone=function(){var t=new a(null);return this.copy(t),t},a.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var c=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c<n;c++){for(var u=l>>>26,f=67108863&l,h=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=h;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||\"hex\"===t){r=\"\";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);r=0!==(a=s>>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}if(t===(0|t)&&t>=2&&t<=36){var h=u[t],p=f[t];r=\"\";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[h-g.length]+g+r}for(this.isZero()&&(r=\"0\"+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}n(!1,\"Base should be between 2 and 36\")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(\"undefined\"!=typeof o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,\"byte array longer than desired length\"),n(a>0,\"Requested array length <= 0\"),this.strip();var o,s,l=\"le\"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s<a;s++)c[s]=0}else{for(s=0;s<a-i;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[a-s-1]=o}return c},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},a.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},a.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},a.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},a.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},a.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},a.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},a.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n(\"number\"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(\"number\"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o<n.length;o++)a=(e=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&e;for(;0!==a&&o<r.length;o++)a=(e=(0|r.words[o])+a)>>26,this.words[o]=67108863&e;if(0===a&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],f=8191&u,h=u>>>13,p=0|o[1],d=8191&p,g=p>>>13,m=0|o[2],v=8191&m,y=m>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],k=8191&w,M=w>>>13,A=0|o[5],T=8191&A,S=A>>>13,E=0|o[6],C=8191&E,L=E>>>13,z=0|o[7],P=8191&z,O=z>>>13,I=0|o[8],D=8191&I,R=I>>>13,B=0|o[9],F=8191&B,N=B>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],$=8191&Z,J=Z>>>13,K=0|s[4],Q=8191&K,tt=K>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ft=8191&ut,ht=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(c+(n=Math.imul(f,V))|0)+((8191&(i=(i=Math.imul(f,U))+Math.imul(h,V)|0))<<13)|0;c=((a=Math.imul(h,U))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(d,V),i=(i=Math.imul(d,U))+Math.imul(g,V)|0,a=Math.imul(g,U);var vt=(c+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,V),i=(i=Math.imul(v,U))+Math.imul(y,V)|0,a=Math.imul(y,U),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(g,H)|0,a=a+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,U))+Math.imul(_,V)|0,a=Math.imul(_,U),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(h,$)|0))<<13)|0;c=((a=a+Math.imul(h,J)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),i=(i=Math.imul(k,U))+Math.imul(M,V)|0,a=Math.imul(M,U),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,J)|0;var bt=(c+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;c=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(T,V),i=(i=Math.imul(T,U))+Math.imul(S,V)|0,a=Math.imul(S,U),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(M,H)|0,a=a+Math.imul(M,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,Q)|0,a=a+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,U))+Math.imul(L,V)|0,a=Math.imul(L,U),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(k,Y)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(M,Y)|0,a=a+Math.imul(M,X)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;c=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,V),i=(i=Math.imul(P,U))+Math.imul(O,V)|0,a=Math.imul(O,U),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,J)|0)+Math.imul(M,$)|0,a=a+Math.imul(M,J)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var kt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))<<13)|0;c=((a=a+Math.imul(h,ct)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(D,V),i=(i=Math.imul(D,U))+Math.imul(R,V)|0,a=Math.imul(R,U),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(O,H)|0,a=a+Math.imul(O,G)|0,n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(L,Y)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(M,Q)|0,a=a+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(v,at)|0,i=(i=i+Math.imul(v,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ct)|0;var Mt=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;c=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(F,V),i=(i=Math.imul(F,U))+Math.imul(N,V)|0,a=Math.imul(N,U),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(O,Y)|0,a=a+Math.imul(O,X)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(M,rt)|0,a=a+Math.imul(M,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ct)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(g,ft)|0,a=a+Math.imul(g,ht)|0;var At=(c+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,gt)|0)+Math.imul(h,dt)|0))<<13)|0;c=((a=a+Math.imul(h,gt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(F,H),i=(i=Math.imul(F,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(D,Y)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(O,$)|0,a=a+Math.imul(O,J)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(L,Q)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(k,at)|0,i=(i=i+Math.imul(k,ot)|0)+Math.imul(M,at)|0,a=a+Math.imul(M,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ct)|0,n=n+Math.imul(v,ft)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|0;var Tt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(F,Y),i=(i=Math.imul(F,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(O,Q)|0,a=a+Math.imul(O,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,i=(i=i+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,a=a+Math.imul(M,ct)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(i=(i=i+Math.imul(v,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(F,$),i=(i=Math.imul(F,J))+Math.imul(N,$)|0,a=Math.imul(N,J),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(O,rt)|0,a=a+Math.imul(O,nt)|0,n=n+Math.imul(C,at)|0,i=(i=i+Math.imul(C,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ht)|0)+Math.imul(M,ft)|0,a=a+Math.imul(M,ht)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(F,Q),i=(i=Math.imul(F,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(O,at)|0,a=a+Math.imul(O,ot)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Ct=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(i=(i=i+Math.imul(k,gt)|0)+Math.imul(M,dt)|0))<<13)|0;c=((a=a+Math.imul(M,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(F,rt),i=(i=Math.imul(F,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ct)|0)+Math.imul(O,lt)|0,a=a+Math.imul(O,ct)|0,n=n+Math.imul(C,ft)|0,i=(i=i+Math.imul(C,ht)|0)+Math.imul(L,ft)|0,a=a+Math.imul(L,ht)|0;var Lt=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(F,at),i=(i=Math.imul(F,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(O,ft)|0,a=a+Math.imul(O,ht)|0;var zt=(c+(n=n+Math.imul(C,dt)|0)|0)+((8191&(i=(i=i+Math.imul(C,gt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,n=Math.imul(F,lt),i=(i=Math.imul(F,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Pt=(c+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(O,dt)|0))<<13)|0;c=((a=a+Math.imul(O,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(F,ft),i=(i=Math.imul(F,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var Ot=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(i=(i=i+Math.imul(D,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var It=(c+(n=Math.imul(F,dt))|0)+((8191&(i=(i=Math.imul(F,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,gt))+(i>>>13)|0)+(It>>>26)|0,It&=67108863,l[0]=mt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=kt,l[8]=Mt,l[9]=At,l[10]=Tt,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=zt,l[16]=Pt,l[17]=Ot,l[18]=It,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=h),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?h(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),c=Math.max(0,a-t.length+1);c<=l;c++){var u=a-c,f=(0|t.words[u])*(0|e.words[c]),h=67108863&f;s=67108863&(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h>>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},g.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<i;u+=s)for(var f=l,h=c,p=0;p<o;p++){var d=r[u+p],g=n[u+p],m=r[u+p+o],v=n[u+p+o],y=f*m-h*v;v=f*v+h*m,m=y,r[u+p]=d+m,n[u+p]=g+v,r[u+p+o]=d-m,n[u+p+o]=g-v,p!==s&&(y=l*f-c*h,h=l*h+c*f,f=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},g.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)r[o]=0;n(0===a),n(0==(-8192&a))},g.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},g.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),f=new Array(n),h=r.words;h.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,a,s,l,n,i),this.transform(c,a,u,f,n,i);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*f[p];l[p]=s[p]*f[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,h,a,n,i),this.conjugate(h,a,n),this.normalize13b(h,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},a.prototype.mul=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},a.prototype.mulf=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),d(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n(\"number\"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(t){n(\"number\"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,l=(0|this.words[e])-s<<r;this.words[e]=l|o,o=s>>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},a.prototype.iushrn=function(t,e,r){var i;n(\"number\"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=r;if(i-=o,i=Math.max(0,i),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=i);c--){var f=0|this.words[c];this.words[c]=u<<26-a|f>>>a,u=f&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r)&&!!(this.words[r]&i)},a.prototype.imaskn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.prototype.iaddn=function(t){return n(\"number\"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},a.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n(\"number\"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},a.prototype.addn=function(t){return this.clone().iaddn(t)},a.prototype.subn=function(t){return this.clone().isubn(t)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(t,e,r){var i,a,o=t.length+r;this._expand(o);var s=0;for(i=0;i<t.length;i++){a=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)s=(a=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(\"mod\"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(i,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var f=l-1;f>=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),\"div\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\"mod\"!==e&&(i=s.div.neg()),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\"mod\"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?\"div\"===e?{div:this.divn(t.words[0]),mod:null}:\"mod\"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,\"div\",!1).div},a.prototype.mod=function(t){return this.divmod(t,\"mod\",!1).mod},a.prototype.umod=function(t){return this.divmod(t,\"mod\",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n(\"number\"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,\"Number is too big\");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},a.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},a.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new w(t)},a.prototype.toRed=function(t){return n(!this.red,\"Already a number in reduction context\"),n(0===this.negative,\"red works only with positives\"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function x(){v.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function b(){v.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function _(){v.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function w(t){if(\"string\"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),\"modulus must be greater than 1\"),this.m=t,this.prime=null}function k(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):r.strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n<r;n++)e.words[n]=t.words[n];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var i=t.words[9];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(x,v),i(b,v),i(_,v),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(m[t])return m[t];var e;if(\"k256\"===t)e=new y;else if(\"p224\"===t)e=new x;else if(\"p192\"===t)e=new b;else{if(\"p25519\"!==t)throw new Error(\"Unknown prime \"+t);e=new _}return m[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,\"red works only with positives\"),n(t.red,\"red works only with red numbers\")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),\"red works only with positives\"),n(t.red&&t.red===e.red,\"red works only with red numbers\")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var f=this.pow(u,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();n(m<d);var v=this.pow(f,new a(1).iushln(d-m-1));h=h.redMul(v),f=v.redSqr(),p=p.redMul(f),d=m}return h},w.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},w.prototype.pow=function(t,e){if(e.isZero())return new a(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var f=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,w),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(\"undefined\"==typeof e||e,this)},{buffer:90}],82:[function(t,e,r){\"use strict\";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),f=0;for(n=0;n<c;++n)n!==r&&(u[f++]=l[n]);if(1&r){var h=u[1];u[1]=u[0],u[0]=h}}}return o}},{}],83:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){switch(arguments.length){case 1:return n=[],c(i=t,i,u,!0),n;case 2:return\"function\"==typeof e?c(t,t,e,!0):function(t,e){return n=[],c(t,e,u,!1),n}(t,e);case 3:return c(t,e,r,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}var i};var n,i=t(\"typedarray-pool\"),a=t(\"./lib/sweep\"),o=t(\"./lib/intersect\");function s(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function l(t,e,r,n){for(var i=0,a=0,o=0,l=t.length;o<l;++o){var c=t[o];if(!s(e,c)){for(var u=0;u<2*e;++u)r[i++]=c[u];n[a++]=o}}return a}function c(t,e,r,n){var s=t.length,c=e.length;if(!(s<=0||c<=0)){var u=t[0].length>>>1;if(!(u<=0)){var f,h=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,h,p))>0){if(1===u&&n)a.init(s),f=a.sweepComplete(u,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*u*c),g=i.mallocInt32(c);(c=l(e,u,d,g))>0&&(a.init(s+c),f=1===u?a.sweepBipartite(u,r,0,s,h,p,0,c,d,g):o(u,r,n,s,h,p,c,d,g),i.free(d),i.free(g))}i.free(h),i.free(p)}return f}}}function u(t,e){n.push([t,e])}},{\"./lib/intersect\":85,\"./lib/sweep\":89,\"typedarray-pool\":519}],84:[function(t,e,r){\"use strict\";var n=\"d\",i=\"ax\",a=\"vv\",o=\"fp\",s=\"es\",l=\"rs\",c=\"re\",u=\"rb\",f=\"ri\",h=\"rp\",p=\"bs\",d=\"be\",g=\"bb\",m=\"bi\",v=\"bp\",y=\"rv\",x=\"Q\",b=[n,i,a,l,c,u,f,p,d,g,m];function _(t){var e=\"bruteForce\"+(t?\"Full\":\"Partial\"),r=[],_=b.slice();t||_.splice(3,0,o);var w=[\"function \"+e+\"(\"+_.join()+\"){\"];function k(e,o){var _=function(t,e,r){var o=\"bruteForce\"+(t?\"Red\":\"Blue\")+(e?\"Flip\":\"\")+(r?\"Full\":\"\"),_=[\"function \",o,\"(\",b.join(),\"){\",\"var \",s,\"=2*\",n,\";\"],w=\"for(var i=\"+l+\",\"+h+\"=\"+s+\"*\"+l+\";i<\"+c+\";++i,\"+h+\"+=\"+s+\"){var x0=\"+u+\"[\"+i+\"+\"+h+\"],x1=\"+u+\"[\"+i+\"+\"+h+\"+\"+n+\"],xi=\"+f+\"[i];\",k=\"for(var j=\"+p+\",\"+v+\"=\"+s+\"*\"+p+\";j<\"+d+\";++j,\"+v+\"+=\"+s+\"){var y0=\"+g+\"[\"+i+\"+\"+v+\"],\"+(r?\"y1=\"+g+\"[\"+i+\"+\"+v+\"+\"+n+\"],\":\"\")+\"yi=\"+m+\"[j];\";return t?_.push(w,x,\":\",k):_.push(k,x,\":\",w),r?_.push(\"if(y1<x0||x1<y0)continue;\"):e?_.push(\"if(y0<=x0||x1<y0)continue;\"):_.push(\"if(y0<x0||x1<y0)continue;\"),_.push(\"for(var k=\"+i+\"+1;k<\"+n+\";++k){var r0=\"+u+\"[k+\"+h+\"],r1=\"+u+\"[k+\"+n+\"+\"+h+\"],b0=\"+g+\"[k+\"+v+\"],b1=\"+g+\"[k+\"+n+\"+\"+v+\"];if(r1<b0||b1<r0)continue \"+x+\";}var \"+y+\"=\"+a+\"(\"),e?_.push(\"yi,xi\"):_.push(\"xi,yi\"),_.push(\");if(\"+y+\"!==void 0)return \"+y+\";}}}\"),{name:o,code:_.join(\"\")}}(e,o,t);r.push(_.code),w.push(\"return \"+_.name+\"(\"+b.join()+\");\")}w.push(\"if(\"+c+\"-\"+l+\">\"+d+\"-\"+p+\"){\"),t?(k(!0,!1),w.push(\"}else{\"),k(!1,!1)):(w.push(\"if(\"+o+\"){\"),k(!0,!0),w.push(\"}else{\"),k(!0,!1),w.push(\"}}else{if(\"+o+\"){\"),k(!1,!0),w.push(\"}else{\"),k(!1,!1),w.push(\"}\")),w.push(\"}}return \"+e);var M=r.join(\"\")+w.join(\"\");return new Function(M)()}r.partial=_(!1),r.full=_(!0)},{}],85:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a,u,S,E,C,L){!function(t,e){var r=8*i.log2(e+1)*(t+1)|0,a=i.nextPow2(b*r);w.length<a&&(n.free(w),w=n.mallocInt32(a));var o=i.nextPow2(_*r);k<o&&(n.free(k),k=n.mallocDouble(o))}(t,a+E);var z,P=0,O=2*t;M(P++,0,0,a,0,E,r?16:0,-1/0,1/0),r||M(P++,0,0,E,0,a,1,-1/0,1/0);for(;P>0;){var I=(P-=1)*b,D=w[I],R=w[I+1],B=w[I+2],F=w[I+3],N=w[I+4],j=w[I+5],V=P*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),W=u,Y=S,X=C,Z=L;if(H&&(W=C,Y=L,X=u,Z=S),!(2&j&&(B=m(t,D,R,B,W,Y,q),R>=B)||4&j&&(R=v(t,D,R,B,W,Y,U))>=B)){var $=B-R,J=N-F;if(G){if(t*$*($+J)<p){if(void 0!==(z=l.scanComplete(t,D,e,R,B,W,Y,F,N,X,Z)))return z;continue}}else{if(t*Math.min($,J)<f){if(void 0!==(z=o(t,D,e,H,R,B,W,Y,F,N,X,Z)))return z;continue}if(t*$*J<h){if(void 0!==(z=l.scanBipartite(t,D,e,H,R,B,W,Y,F,N,X,Z)))return z;continue}}var K=d(t,D,R,B,W,Y,U,q);if(R<K)if(t*(K-R)<f){if(void 0!==(z=s(t,D+1,e,R,K,W,Y,F,N,X,Z)))return z}else if(D===t-2){if(void 0!==(z=H?l.sweepBipartite(t,e,F,N,X,Z,R,K,W,Y):l.sweepBipartite(t,e,R,K,W,Y,F,N,X,Z)))return z}else M(P++,D+1,R,K,F,N,H,-1/0,1/0),M(P++,D+1,F,N,R,K,1^H,-1/0,1/0);if(K<B){var Q=c(t,D,F,N,X,Z),tt=X[O*Q+D],et=g(t,D,Q,N,X,Z,tt);if(et<N&&M(P++,D,K,B,et,N,(4|H)+(G?16:0),tt,q),F<Q&&M(P++,D,K,B,F,Q,(2|H)+(G?16:0),U,tt),Q+1===et){if(void 0!==(z=G?T(t,D,e,K,B,W,Y,Q,X,Z[Q]):A(t,D,e,H,K,B,W,Y,Q,X,Z[Q])))return z}else if(Q<et){var rt;if(G){if(rt=y(t,D,K,B,W,Y,tt),K<rt){var nt=g(t,D,K,rt,W,Y,tt);if(D===t-2){if(K<nt&&void 0!==(z=l.sweepComplete(t,e,K,nt,W,Y,Q,et,X,Z)))return z;if(nt<rt&&void 0!==(z=l.sweepBipartite(t,e,nt,rt,W,Y,Q,et,X,Z)))return z}else K<nt&&M(P++,D+1,K,nt,Q,et,16,-1/0,1/0),nt<rt&&(M(P++,D+1,nt,rt,Q,et,0,-1/0,1/0),M(P++,D+1,Q,et,nt,rt,1,-1/0,1/0))}}else rt=H?x(t,D,K,B,W,Y,tt):y(t,D,K,B,W,Y,tt),K<rt&&(D===t-2?z=H?l.sweepBipartite(t,e,Q,et,X,Z,K,rt,W,Y):l.sweepBipartite(t,e,K,rt,W,Y,Q,et,X,Z):(M(P++,D+1,K,rt,Q,et,H,-1/0,1/0),M(P++,D+1,Q,et,K,rt,1^H,-1/0,1/0)))}}}}};var n=t(\"typedarray-pool\"),i=t(\"bit-twiddle\"),a=t(\"./brute\"),o=a.partial,s=a.full,l=t(\"./sweep\"),c=t(\"./median\"),u=t(\"./partition\"),f=128,h=1<<22,p=1<<22,d=u(\"!(lo>=p0)&&!(p1>=hi)\",[\"p0\",\"p1\"]),g=u(\"lo===p0\",[\"p0\"]),m=u(\"lo<p0\",[\"p0\"]),v=u(\"hi<=p0\",[\"p0\"]),y=u(\"lo<=p0&&p0<=hi\",[\"p0\"]),x=u(\"lo<p0&&p0<=hi\",[\"p0\"]),b=6,_=2,w=n.mallocInt32(1024),k=n.mallocDouble(1024);function M(t,e,r,n,i,a,o,s,l){var c=b*t;w[c]=e,w[c+1]=r,w[c+2]=n,w[c+3]=i,w[c+4]=a,w[c+5]=o;var u=_*t;k[u]=s,k[u+1]=l}function A(t,e,r,n,i,a,o,s,l,c,u){var f=2*t,h=l*f,p=c[h+e];t:for(var d=i,g=i*f;d<a;++d,g+=f){var m=o[g+e],v=o[g+e+t];if(!(p<m||v<p)&&(!n||p!==m)){for(var y,x=s[d],b=e+1;b<t;++b){m=o[g+b],v=o[g+b+t];var _=c[h+b],w=c[h+b+t];if(v<_||w<m)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function T(t,e,r,n,i,a,o,s,l,c){var u=2*t,f=s*u,h=l[f+e];t:for(var p=n,d=n*u;p<i;++p,d+=u){var g=o[p];if(g!==c){var m=a[d+e],v=a[d+e+t];if(!(h<m||v<h)){for(var y=e+1;y<t;++y){m=a[d+y],v=a[d+y+t];var x=l[f+y],b=l[f+y+t];if(v<x||b<m)continue t}var _=r(g,c);if(void 0!==_)return _}}}}},{\"./brute\":84,\"./median\":86,\"./partition\":87,\"./sweep\":89,\"bit-twiddle\":79,\"typedarray-pool\":519}],86:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,o,s,l){if(o<=r+1)return r;var c=r,u=o,f=o+r>>>1,h=2*t,p=f,d=s[h*f+e];for(;c<u;){if(u-c<i){a(t,e,c,u,s,l),d=s[h*f+e];break}var g=u-c,m=Math.random()*g+c|0,v=s[h*m+e],y=Math.random()*g+c|0,x=s[h*y+e],b=Math.random()*g+c|0,_=s[h*b+e];v<=x?_>=x?(p=y,d=x):v>=_?(p=m,d=v):(p=b,d=_):x>=_?(p=y,d=x):_>=v?(p=m,d=v):(p=b,d=_);for(var w=h*(u-1),k=h*p,M=0;M<h;++M,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var T=l[u-1];l[u-1]=l[p],l[p]=T,p=n(t,e,c,u-1,s,l,d);for(var w=h*(u-1),k=h*p,M=0;M<h;++M,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var T=l[u-1];if(l[u-1]=l[p],l[p]=T,f<p){for(u=p-1;c<u&&s[h*(u-1)+e]===d;)u-=1;u+=1}else{if(!(p<f))break;for(c=p+1;c<u&&s[h*c+e]===d;)c+=1}}return n(t,e,r,f,s,l,s[h*f+e])};var n=t(\"./partition\")(\"lo<p0\",[\"p0\"]),i=8;function a(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=i[s],u=l,f=o*(l-1);u>r&&i[f+e]>c;--u,f-=o){for(var h=f,p=f+o,d=0;d<o;++d,++h,++p){var g=i[h];i[h]=i[p],i[p]=g}var m=a[u];a[u]=a[u-1],a[u-1]=m}}},{\"./partition\":87}],87:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=\"abcdef\".split(\"\").concat(e),i=[];t.indexOf(\"lo\")>=0&&i.push(\"lo=e[k+n]\");t.indexOf(\"hi\")>=0&&i.push(\"hi=e[k+o]\");return r.push(n.replace(\"_\",i.join()).replace(\"$\",t)),Function.apply(void 0,r)};var n=\"for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m\"},{}],88:[function(t,e,r){\"use strict\";e.exports=function(t,e){e<=4*n?i(0,e-1,t):function t(e,r,f){var h=(r-e+1)/6|0,p=e+h,d=r-h,g=e+r>>1,m=g-h,v=g+h,y=p,x=m,b=g,_=v,w=d,k=e+1,M=r-1,A=0;c(y,x,f)&&(A=y,y=x,x=A);c(_,w,f)&&(A=_,_=w,w=A);c(y,b,f)&&(A=y,y=b,b=A);c(x,b,f)&&(A=x,x=b,b=A);c(y,_,f)&&(A=y,y=_,_=A);c(b,_,f)&&(A=b,b=_,_=A);c(x,w,f)&&(A=x,x=w,w=A);c(x,b,f)&&(A=x,x=b,b=A);c(_,w,f)&&(A=_,_=w,w=A);var T=f[2*x];var S=f[2*x+1];var E=f[2*_];var C=f[2*_+1];var L=2*y;var z=2*b;var P=2*w;var O=2*p;var I=2*g;var D=2*d;for(var R=0;R<2;++R){var B=f[L+R],F=f[z+R],N=f[P+R];f[O+R]=B,f[I+R]=F,f[D+R]=N}o(m,e,f);o(v,r,f);for(var j=k;j<=M;++j)if(u(j,T,S,f))j!==k&&a(j,k,f),++k;else if(!u(j,E,C,f))for(;;){if(u(M,E,C,f)){u(M,T,S,f)?(s(j,k,M,f),++k,--M):(a(j,M,f),--M);break}if(--M<j)break}l(e,k-1,T,S,f);l(r,M+1,E,C,f);k-2-e<=n?i(e,k-2,f):t(e,k-2,f);r-(M+2)<=n?i(M+2,r,f):t(M+2,r,f);M-k<=n?i(k,M,f):t(k,M,f)}(0,e-1,t)};var n=32;function i(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(c<a)break;if(c===a&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=a,r[l+1]=o}}function a(t,e,r){e*=2;var n=r[t*=2],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function o(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){e*=2,r*=2;var i=n[t*=2],a=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=i,n[r+1]=a}function l(t,e,r,n,i){e*=2,i[t*=2]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function c(t,e,r){e*=2;var n=r[t*=2],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function u(t,e,r,n){var i=n[t*=2];return i<e||i===e&&n[t+1]<r}},{}],89:[function(t,e,r){\"use strict\";e.exports={init:function(t){var e=i.nextPow2(t);s.length<e&&(n.free(s),s=n.mallocInt32(e));l.length<e&&(n.free(l),l=n.mallocInt32(e));c.length<e&&(n.free(c),c=n.mallocInt32(e));u.length<e&&(n.free(u),u=n.mallocInt32(e));f.length<e&&(n.free(f),f=n.mallocInt32(e));h.length<e&&(n.free(h),h=n.mallocInt32(e));var r=8*e;p.length<r&&(n.free(p),p=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,i,f,h,m,v,y){for(var x=0,b=2*t,_=t-1,w=b-1,k=r;k<n;++k){var M=f[k],A=b*k;p[x++]=i[A+_],p[x++]=-(M+1),p[x++]=i[A+w],p[x++]=M}for(var k=h;k<m;++k){var M=y[k]+o,T=b*k;p[x++]=v[T+_],p[x++]=-M,p[x++]=v[T+w],p[x++]=M}var S=x>>>1;a(p,S);for(var E=0,C=0,k=0;k<S;++k){var L=0|p[2*k+1];if(L>=o)d(c,u,C--,L=L-o|0);else if(L>=0)d(s,l,E--,L);else if(L<=-o){L=-L-o|0;for(var z=0;z<E;++z){var P=e(s[z],L);if(void 0!==P)return P}g(c,u,C++,L)}else{L=-L-1|0;for(var z=0;z<C;++z){var P=e(L,c[z]);if(void 0!==P)return P}g(s,l,E++,L)}}},sweepComplete:function(t,e,r,n,i,o,m,v,y,x){for(var b=0,_=2*t,w=t-1,k=_-1,M=r;M<n;++M){var A=o[M]+1<<1,T=_*M;p[b++]=i[T+w],p[b++]=-A,p[b++]=i[T+k],p[b++]=A}for(var M=m;M<v;++M){var A=x[M]+1<<1,S=_*M;p[b++]=y[S+w],p[b++]=1|-A,p[b++]=y[S+k],p[b++]=1|A}var E=b>>>1;a(p,E);for(var C=0,L=0,z=0,M=0;M<E;++M){var P=0|p[2*M+1],O=1&P;if(M<E-1&&P>>1==p[2*M+3]>>1&&(O=2,M+=1),P<0){for(var I=-(P>>1)-1,D=0;D<z;++D){var R=e(f[D],I);if(void 0!==R)return R}if(0!==O)for(var D=0;D<C;++D){var R=e(s[D],I);if(void 0!==R)return R}if(1!==O)for(var D=0;D<L;++D){var R=e(c[D],I);if(void 0!==R)return R}0===O?g(s,l,C++,I):1===O?g(c,u,L++,I):2===O&&g(f,h,z++,I)}else{var I=(P>>1)-1;0===O?d(s,l,C--,I):1===O?d(c,u,L--,I):2===O&&d(f,h,z--,I)}}},scanBipartite:function(t,e,r,n,i,c,u,f,h,m,v,y){var x=0,b=2*t,_=e,w=e+t,k=1,M=1;n?M=o:k=o;for(var A=i;A<c;++A){var T=A+k,S=b*A;p[x++]=u[S+_],p[x++]=-T,p[x++]=u[S+w],p[x++]=T}for(var A=h;A<m;++A){var T=A+M,E=b*A;p[x++]=v[E+_],p[x++]=-T}var C=x>>>1;a(p,C);for(var L=0,A=0;A<C;++A){var z=0|p[2*A+1];if(z<0){var T=-z,P=!1;if(T>=o?(P=!n,T-=o):(P=!!n,T-=1),P)g(s,l,L++,T);else{var O=y[T],I=b*T,D=v[I+e+1],R=v[I+e+1+t];t:for(var B=0;B<L;++B){var F=s[B],N=b*F;if(!(R<u[N+e+1]||u[N+e+1+t]<D)){for(var j=e+2;j<t;++j)if(v[I+j+t]<u[N+j]||u[N+j+t]<v[I+j])continue t;var V,U=f[F];if(void 0!==(V=n?r(O,U):r(U,O)))return V}}}}else d(s,l,L--,z-k)}},scanComplete:function(t,e,r,n,i,l,c,u,f,h,d){for(var g=0,m=2*t,v=e,y=e+t,x=n;x<i;++x){var b=x+o,_=m*x;p[g++]=l[_+v],p[g++]=-b,p[g++]=l[_+y],p[g++]=b}for(var x=u;x<f;++x){var b=x+1,w=m*x;p[g++]=h[w+v],p[g++]=-b}var k=g>>>1;a(p,k);for(var M=0,x=0;x<k;++x){var A=0|p[2*x+1];if(A<0){var b=-A;if(b>=o)s[M++]=b-o;else{var T=d[b-=1],S=m*b,E=h[S+e+1],C=h[S+e+1+t];t:for(var L=0;L<M;++L){var z=s[L],P=c[z];if(P===T)break;var O=m*z;if(!(C<l[O+e+1]||l[O+e+1+t]<E)){for(var I=e+2;I<t;++I)if(h[S+I+t]<l[O+I]||l[O+I+t]<h[S+I])continue t;var D=r(P,T);if(void 0!==D)return D}}}}else{for(var b=A-o,L=M-1;L>=0;--L)if(s[L]===b){for(var I=L+1;I<M;++I)s[I-1]=s[I];break}--M}}}};var n=t(\"typedarray-pool\"),i=t(\"bit-twiddle\"),a=t(\"./sort\"),o=1<<28,s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),f=n.mallocInt32(1024),h=n.mallocInt32(1024),p=n.mallocDouble(8192);function d(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function g(t,e,r,n){t[r]=n,e[n]=r}},{\"./sort\":88,\"bit-twiddle\":79,\"typedarray-pool\":519}],90:[function(t,e,r){},{}],91:[function(t,e,r){var n=Object.create||function(t){var e=function(){};return e.prototype=t,new e},i=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return r},a=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,\"_events\")||(this._events=n(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var s,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,\"x\",{value:0}),s=0===c.x}catch(t){s=!1}function u(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function f(t,e,r,i){var a,o,s;if(\"function\"!=typeof r)throw new TypeError('\"listener\" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit(\"newListener\",e,r.listener?r.listener:r),o=t._events),s=o[e]):(o=t._events=n(null),t._eventsCount=0),s){if(\"function\"==typeof s?s=o[e]=i?[r,s]:[s,r]:i?s.unshift(r):s.push(r),!s.warned&&(a=u(t))&&a>0&&s.length>a){s.warned=!0;var l=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+' \"'+String(e)+'\" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name=\"MaxListenersExceededWarning\",l.emitter=t,l.type=e,l.count=s.length,\"object\"==typeof console&&console.warn&&console.warn(\"%s: %s\",l.name,l.message)}}else s=o[e]=r,++t._eventsCount;return t}function h(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e<t.length;++e)t[e]=arguments[e];this.listener.apply(this.target,t)}}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=a.call(h,n);return i.listener=r,n.wrapFn=i,i}function d(t,e,r){var n=t._events;if(!n)return[];var i=n[e];return i?\"function\"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(i):m(i,i.length):[]}function g(t){var e=this._events;if(e){var r=e[t];if(\"function\"==typeof r)return 1;if(r)return r.length}return 0}function m(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}s?Object.defineProperty(o,\"defaultMaxListeners\",{enumerable:!0,get:function(){return l},set:function(t){if(\"number\"!=typeof t||t<0||t!=t)throw new TypeError('\"defaultMaxListeners\" must be a positive number');l=t}}):o.defaultMaxListeners=l,o.prototype.setMaxListeners=function(t){if(\"number\"!=typeof t||t<0||isNaN(t))throw new TypeError('\"n\" argument must be a positive number');return this._maxListeners=t,this},o.prototype.getMaxListeners=function(){return u(this)},o.prototype.emit=function(t){var e,r,n,i,a,o,s=\"error\"===t;if(o=this._events)s=s&&null==o.error;else if(!s)return!1;if(s){if(arguments.length>1&&(e=arguments[1]),e instanceof Error)throw e;var l=new Error('Unhandled \"error\" event. ('+e+\")\");throw l.context=e,l}if(!(r=o[t]))return!1;var c=\"function\"==typeof r;switch(n=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var n=t.length,i=m(t,n),a=0;a<n;++a)i[a].call(r)}(r,c,this);break;case 2:!function(t,e,r,n){if(e)t.call(r,n);else for(var i=t.length,a=m(t,i),o=0;o<i;++o)a[o].call(r,n)}(r,c,this,arguments[1]);break;case 3:!function(t,e,r,n,i){if(e)t.call(r,n,i);else for(var a=t.length,o=m(t,a),s=0;s<a;++s)o[s].call(r,n,i)}(r,c,this,arguments[1],arguments[2]);break;case 4:!function(t,e,r,n,i,a){if(e)t.call(r,n,i,a);else for(var o=t.length,s=m(t,o),l=0;l<o;++l)s[l].call(r,n,i,a)}(r,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),a=1;a<n;a++)i[a-1]=arguments[a];!function(t,e,r,n){if(e)t.apply(r,n);else for(var i=t.length,a=m(t,i),o=0;o<i;++o)a[o].apply(r,n)}(r,c,this,i)}return!0},o.prototype.addListener=function(t,e){return f(this,t,e,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(t,e){return f(this,t,e,!0)},o.prototype.once=function(t,e){if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');return this.on(t,p(this,t,e)),this},o.prototype.prependOnceListener=function(t,e){if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');return this.prependListener(t,p(this,t,e)),this},o.prototype.removeListener=function(t,e){var r,i,a,o,s;if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');if(!(i=this._events))return this;if(!(r=i[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=n(null):(delete i[t],i.removeListener&&this.emit(\"removeListener\",t,r.listener||e));else if(\"function\"!=typeof r){for(a=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,a=o;break}if(a<0)return this;0===a?r.shift():function(t,e){for(var r=e,n=r+1,i=t.length;n<i;r+=1,n+=1)t[r]=t[n];t.pop()}(r,a),1===r.length&&(i[t]=r[0]),i.removeListener&&this.emit(\"removeListener\",t,s||e)}return this},o.prototype.removeAllListeners=function(t){var e,r,a;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=n(null),this._eventsCount=0):r[t]&&(0==--this._eventsCount?this._events=n(null):delete r[t]),this;if(0===arguments.length){var o,s=i(r);for(a=0;a<s.length;++a)\"removeListener\"!==(o=s[a])&&this.removeAllListeners(o);return this.removeAllListeners(\"removeListener\"),this._events=n(null),this._eventsCount=0,this}if(\"function\"==typeof(e=r[t]))this.removeListener(t,e);else if(e)for(a=e.length-1;a>=0;a--)this.removeListener(t,e[a]);return this},o.prototype.listeners=function(t){return d(this,t,!0)},o.prototype.rawListeners=function(t){return d(this,t,!1)},o.listenerCount=function(t,e){return\"function\"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},o.prototype.listenerCount=g,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],92:[function(t,e,r){\"use strict\";var n=t(\"base64-js\"),i=t(\"ieee754\");r.Buffer=s,r.SlowBuffer=function(t){+t!=t&&(t=0);return s.alloc(+t)},r.INSPECT_MAX_BYTES=50;var a=2147483647;function o(t){if(t>a)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return e.__proto__=s.prototype,e}function s(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return u(t)}return l(t,e,r)}function l(t,e,r){if(\"string\"==typeof t)return function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!s.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|p(t,e),n=o(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e);if(ArrayBuffer.isView(t))return f(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(j(t,ArrayBuffer)||t&&j(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\"offset\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=s.prototype,n}(t,e,r);if(\"number\"==typeof t)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return s.from(n,e,r);var i=function(t){if(s.isBuffer(t)){var e=0|h(t.length),r=o(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(void 0!==t.length)return\"number\"!=typeof t.length||V(t.length)?o(0):f(t);if(\"Buffer\"===t.type&&Array.isArray(t.data))return f(t.data)}(t);if(i)return i;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return s.from(t[Symbol.toPrimitive](\"string\"),e,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t)}function c(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be of type number');if(t<0)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"')}function u(t){return c(t),o(t<0?0:0|h(t))}function f(t){for(var e=t.length<0?0:0|h(t.length),r=o(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function h(t){if(t>=a)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+a.toString(16)+\" bytes\");return 0|t}function p(t,e){if(s.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||j(t,ArrayBuffer))return t.byteLength;if(\"string\"!=typeof t)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return B(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return F(t).length;default:if(i)return n?-1:B(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),V(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=s.from(e,n)),s.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function m(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;a<s;a++)if(c(t,a)===c(e,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===l)return u*o}else-1!==u&&(a-=a-u),u=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h<l;h++)if(c(t,a+h)!==c(e,h)){f=!1;break}if(f)return a}return-1}function v(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(V(s))return o;t[r+o]=s}return o}function y(t,e,r,n){return N(B(e,t.length-r),t,r,n)}function x(t,e,r,n){return N(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function b(t,e,r,n){return x(t,e,r,n)}function _(t,e,r,n){return N(F(e),t,r,n)}function w(t,e,r,n){return N(function(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function M(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a,o,s,l,c=t[i],u=null,f=c>239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=A));return r}(n)}r.kMaxLength=a,s.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}(),s.TYPED_ARRAY_SUPPORT||\"undefined\"==typeof console||\"function\"!=typeof console.error||console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"),Object.defineProperty(s.prototype,\"parent\",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,\"offset\",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}}),\"undefined\"!=typeof Symbol&&null!=Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),s.poolSize=8192,s.from=function(t,e,r){return l(t,e,r)},s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,s.alloc=function(t,e,r){return function(t,e,r){return c(t),t<=0?o(t):void 0!==e?\"string\"==typeof r?o(t).fill(e,r):o(t).fill(e):o(t)}(t,e,r)},s.allocUnsafe=function(t){return u(t)},s.allocUnsafeSlow=function(t){return u(t)},s.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==s.prototype},s.compare=function(t,e){if(j(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),j(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(t)||!s.isBuffer(e))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},s.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},s.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===t.length)return s.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=s.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var a=t[r];if(j(a,Uint8Array)&&(a=s.from(a)),!s.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},s.byteLength=p,s.prototype._isBuffer=!0,s.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var e=0;e<t;e+=2)d(this,e,e+1);return this},s.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var e=0;e<t;e+=4)d(this,e,e+3),d(this,e+1,e+2);return this},s.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var e=0;e<t;e+=8)d(this,e,e+7),d(this,e+1,e+6),d(this,e+2,e+5),d(this,e+3,e+4);return this},s.prototype.toString=function(){var t=this.length;return 0===t?\"\":0===arguments.length?M(this,0,t):function(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return E(this,e,r);case\"utf8\":case\"utf-8\":return M(this,e,r);case\"ascii\":return T(this,e,r);case\"latin1\":case\"binary\":return S(this,e,r);case\"base64\":return k(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return C(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){var t=\"\",e=r.INSPECT_MAX_BYTES;return t=this.toString(\"hex\",0,e).replace(/(.{2})/g,\"$1 \").trim(),this.length>e&&(t+=\" ... \"),\"<Buffer \"+t+\">\"},s.prototype.compare=function(t,e,r,n,i){if(j(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),l=Math.min(a,o),c=this.slice(n,i),u=t.slice(e,r),f=0;f<l;++f)if(c[f]!==u[f]){a=c[f],o=u[f];break}return a<o?-1:o<a?1:0},s.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},s.prototype.indexOf=function(t,e,r){return g(this,t,e,r,!0)},s.prototype.lastIndexOf=function(t,e,r){return g(this,t,e,r,!1)},s.prototype.write=function(t,e,r,n){if(void 0===e)n=\"utf8\",r=this.length,e=0;else if(void 0===r&&\"string\"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return v(this,t,e,r);case\"utf8\":case\"utf-8\":return y(this,t,e,r);case\"ascii\":return x(this,t,e,r);case\"latin1\":case\"binary\":return b(this,t,e,r);case\"base64\":return _(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return w(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function T(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function S(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function E(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i=\"\",a=e;a<r;++a)i+=R(t[a]);return i}function C(t,e,r){for(var n=t.slice(e,r),i=\"\",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function L(t,e,r){if(t%1!=0||t<0)throw new RangeError(\"offset is not uint\");if(t+e>r)throw new RangeError(\"Trying to access beyond buffer length\")}function z(t,e,r,n,i,a){if(!s.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('\"value\" argument is out of bounds');if(r+n>t.length)throw new RangeError(\"Index out of range\")}function P(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function O(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function I(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,8),i.write(t,e,r,n,52,8),r+8}s.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=s.prototype,n},s.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},s.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},s.prototype.readUInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),this[t]},s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},s.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},s.prototype.readInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readFloatLE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!1,52,8)},s.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},s.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},s.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},s.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},s.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},s.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeFloatLE=function(t,e,r){return O(this,t,e,!0,r)},s.prototype.writeFloatBE=function(t,e,r){return O(this,t,e,!1,r)},s.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},s.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},s.prototype.copy=function(t,e,r,n){if(!s.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\"targetStart out of bounds\");if(r<0||r>=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i=n-r;if(this===t&&\"function\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,r,n);else if(this===t&&r<e&&e<n)for(var a=i-1;a>=0;--a)t[a+e]=this[a+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},s.prototype.fill=function(t,e,r,n){if(\"string\"==typeof t){if(\"string\"==typeof e?(n=e,e=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!s.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===t.length){var i=t.charCodeAt(0);(\"utf8\"===n&&i<128||\"latin1\"===n)&&(t=i)}}else\"number\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError(\"Out of range index\");if(r<=e)return this;var a;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(a=e;a<r;++a)this[a]=t;else{var o=s.isBuffer(t)?t:s.from(t,n),l=o.length;if(0===l)throw new TypeError('The value \"'+t+'\" is invalid for argument \"value\"');for(a=0;a<r-e;++a)this[a+e]=o[a%l]}return this};var D=/[^+\\/0-9A-Za-z-_]/g;function R(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function B(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function F(t){return n.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(D,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function N(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function j(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}},{\"base64-js\":61,ieee754:393}],93:[function(t,e,r){\"use strict\";var n=t(\"./lib/monotone\"),i=t(\"./lib/triangulation\"),a=t(\"./lib/delaunay\"),o=t(\"./lib/filter\");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,\"delaunay\",!0),f=!!c(r,\"interior\",!0),h=!!c(r,\"exterior\",!0),p=!!c(r,\"infinity\",!1);if(!f&&!h||0===t.length)return[];var d=n(t,e);if(u||f!==h||p){for(var g=i(t.length,function(t){return t.map(s).sort(l)}(e)),m=0;m<d.length;++m){var v=d[m];g.addTriangle(v[0],v[1],v[2])}return u&&a(t,g),h?f?p?o(g,0,p):g.cells():o(g,1,p):o(g,-1)}return d}},{\"./lib/delaunay\":94,\"./lib/filter\":95,\"./lib/monotone\":96,\"./lib/triangulation\":97}],94:[function(t,e,r){\"use strict\";var n=t(\"robust-in-sphere\")[4];t(\"binary-search-bounds\");function i(t,e,r,i,a,o){var s=e.opposite(i,a);if(!(s<0)){if(a<i){var l=i;i=a,a=l,l=o,o=s,s=l}e.isConstraint(i,a)||n(t[i],t[a],t[o],t[s])<0&&r.push(i,a)}}e.exports=function(t,e){for(var r=[],a=t.length,o=e.stars,s=0;s<a;++s)for(var l=o[s],c=1;c<l.length;c+=2){var u=l[c];if(!(u<s)&&!e.isConstraint(s,u)){for(var f=l[c-1],h=-1,p=1;p<l.length;p+=2)if(l[p-1]===u){h=l[p];break}h<0||n(t[s],t[u],t[f],t[h])<0&&r.push(s,u)}}for(;r.length>0;){for(var u=r.pop(),s=r.pop(),f=-1,h=-1,l=o[s],d=1;d<l.length;d+=2){var g=l[d-1],m=l[d];g===u?h=m:m===u&&(f=g)}f<0||h<0||(n(t[s],t[u],t[f],t[h])>=0||(e.flip(s,u),i(t,e,r,f,s,h),i(t,e,r,s,h,f),i(t,e,r,h,u,f),i(t,e,r,u,f,h)))}}},{\"binary-search-bounds\":98,\"robust-in-sphere\":481}],95:[function(t,e,r){\"use strict\";var n,i=t(\"binary-search-bounds\");function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i<n;++i){var s=r[i],l=s[0],c=s[1],u=s[2];c<u?c<l&&(s[0]=c,s[1]=u,s[2]=l):u<l&&(s[0]=u,s[1]=l,s[2]=c)}r.sort(o);for(var f=new Array(n),i=0;i<f.length;++i)f[i]=0;var h=[],p=[],d=new Array(3*n),g=new Array(3*n),m=null;e&&(m=[]);for(var v=new a(r,d,g,f,h,p,m),i=0;i<n;++i)for(var s=r[i],y=0;y<3;++y){var l=s[y],c=s[(y+1)%3],x=d[3*i+y]=v.locate(c,l,t.opposite(c,l)),b=g[3*i+y]=t.isConstraint(l,c);x<0&&(b?p.push(i):(h.push(i),f[i]=1),e&&m.push([c,l,-1]))}return v}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var i=1,s=n.active,l=n.next,c=n.flags,u=n.cells,f=n.constraint,h=n.neighbor;for(;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i;u[p];for(var d=0;d<3;++d){var g=h[3*p+d];g>=0&&0===c[g]&&(f[3*p+d]?l.push(g):(s.push(g),c[g]=i))}}}var m=l;l=s,s=m,l.length=0,i=-i}var v=function(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}(u,c,e);if(r)return v.concat(n.boundary);return v},a.prototype.locate=(n=[0,0,0],function(t,e,r){var a=t,s=e,l=r;return e<r?e<t&&(a=e,s=r,l=t):r<t&&(a=r,s=t,l=e),a<0?-1:(n[0]=a,n[1]=s,n[2]=l,i.eq(this.cells,n,o))})},{\"binary-search-bounds\":98}],96:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),i=t(\"robust-orientation\")[3],a=0,o=1,s=2;function l(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function c(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function u(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==a&&(r=i(t.a,t.b,e.b))?r:t.idx-e.idx)}function f(t,e){return i(t.a,t.b,e)}function h(t,e,r,a,o){for(var s=n.lt(e,a,f),l=n.gt(e,a,f),c=s;c<l;++c){for(var u=e[c],h=u.lowerIds,p=h.length;p>1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=u.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function p(t,e){var r;return(r=t.a[0]<e.a[0]?i(t.a,t.b,e.a):i(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?i(t.a,t.b,e.b):i(e.b,e.a,t.b))||t.idx-e.idx}function d(t,e,r){var i=n.le(t,r,p),a=t[i],o=a.upperIds,s=o[o.length-1];a.upperIds=[s],t.splice(i+1,0,new l(r.a,r.b,r.idx,[s],o))}function g(t,e,r){var i=r.a;r.a=r.b,r.b=i;var a=n.eq(t,r,p),o=t[a];t[a-1].upperIds=o.upperIds,t.splice(a,1)}e.exports=function(t,e){for(var r=t.length,n=e.length,i=[],f=0;f<r;++f)i.push(new c(t[f],null,a,f));for(var f=0;f<n;++f){var p=e[f],m=t[p[0]],v=t[p[1]];m[0]<v[0]?i.push(new c(m,v,s,f),new c(v,m,o,f)):m[0]>v[0]&&i.push(new c(v,m,s,f),new c(m,v,o,f))}i.sort(u);for(var y=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),x=[new l([y,1],[y,0],-1,[],[],[],[])],b=[],f=0,_=i.length;f<_;++f){var w=i[f],k=w.type;k===a?h(b,x,t,w.a,w.idx):k===s?d(x,t,w):g(x,t,w)}return b}},{\"binary-search-bounds\":98,\"robust-orientation\":483}],97:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\");function i(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new i(r,e)};var a=i.prototype;function o(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}a.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,i){return t[0]=Math.min(r,i),t[1]=Math.max(r,i),n.eq(this.edges,t,e)>=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},a.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},a.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},a.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{\"binary-search-bounds\":98}],98:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){var a=[\"function \",t,\"(a,l,h,\",n.join(\",\"),\"){\",i?\"\":\"var i=\",r?\"l-1\":\"h+1\",\";while(l<=h){var m=(l+h)>>>1,x=a[m]\"];return i?e.indexOf(\"c\")<0?a.push(\";if(x===y){return m}else if(x<=y){\"):a.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\"):a.push(\";if(\",e,\"){i=m;\"),r?a.push(\"l=m+1}else{h=m-1}\"):a.push(\"h=m-1}else{l=m+1}\"),a.push(\"}\"),i?a.push(\"return -1};\"):a.push(\"return i};\"),a.join(\"\")}function i(t,e,r,i){return new Function([n(\"A\",\"x\"+t+\"y\",e,[\"y\"],i),n(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],i),\"function dispatchBsearch\",r,\"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch\",r].join(\"\"))()}e.exports={ge:i(\">=\",!1,\"GE\"),gt:i(\">\",!1,\"GT\"),lt:i(\"<\",!0,\"LT\"),le:i(\"<=\",!0,\"LE\"),eq:i(\"-\",!0,\"EQ\",!0)}},{}],99:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],100:[function(t,e,r){\"use strict\";var n=t(\"dup\"),i=t(\"robust-linear-solve\");function a(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function o(t){var e=t.length;if(0===e)return[];t[0].length;var r=n([t.length+1,t.length+1],1),o=n([t.length+1],1);r[e][e]=0;for(var s=0;s<e;++s){for(var l=0;l<=s;++l)r[l][s]=r[s][l]=2*a(t[s],t[l]);o[s]=a(t[s],t[s])}var c=i(r,o),u=0,f=c[e+1];for(s=0;s<f.length;++s)u+=f[s];var h=new Array(e);for(s=0;s<e;++s){f=c[s];var p=0;for(l=0;l<f.length;++l)p+=f[l];h[s]=p/u}return h}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),i=o(t),a=0;a<t.length;++a)for(var s=0;s<e;++s)r[s]+=t[a][s]*i[a];return r}s.barycenetric=o,e.exports=s},{dup:154,\"robust-linear-solve\":482}],101:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,i=0;i<t.length;++i)for(var a=t[i],o=0;o<e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t(\"circumcenter\")},{circumcenter:100}],102:[function(t,e,r){e.exports=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}},{}],103:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}var s=function(t,e,r){var n=d(t,[],p(t));return v(e,n,r),!!n}(t,e,!!r);for(;y(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(var a=0;a<e.length;++a){var o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s};var n=t(\"union-find\"),i=t(\"box-intersect\"),a=t(\"robust-segment-intersect\"),o=t(\"big-rat\"),s=t(\"big-rat/cmp\"),l=t(\"big-rat/to-float\"),c=t(\"rat-vec\"),u=t(\"nextafter\"),f=t(\"./lib/rat-seg-intersect\");function h(t){var e=l(t);return[u(e,-1/0),u(e,1/0)]}function p(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[u(n[0],-1/0),u(n[1],-1/0),u(n[0],1/0),u(n[1],1/0)]}return e}function d(t,e,r){for(var a=e.length,o=new n(a),s=[],l=0;l<e.length;++l){var c=e[l],f=h(c[0]),p=h(c[1]);s.push([u(f[0],-1/0),u(p[0],-1/0),u(f[1],1/0),u(p[1],1/0)])}i(s,function(t,e){o.link(t,e)});var d=!0,g=new Array(a);for(l=0;l<a;++l){(v=o.find(l))!==l&&(d=!1,t[v]=[Math.min(t[l][0],t[v][0]),Math.min(t[l][1],t[v][1])])}if(d)return null;var m=0;for(l=0;l<a;++l){var v;(v=o.find(l))===l?(g[l]=m,t[m++]=t[l]):g[l]=-1}t.length=m;for(l=0;l<a;++l)g[l]<0&&(g[l]=g[o.find(l)]);return g}function g(t,e){return t[0]-e[0]||t[1]-e[1]}function m(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function v(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=e[(o=t[n])[0]],a=e[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<t.length;++n){var o;i=(o=t[n])[0],a=o[1];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}r?t.sort(m):t.sort(g);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],c=t[n];(c[0]!==l[0]||c[1]!==l[1]||r&&c[2]!==l[2])&&(t[s++]=c)}t.length=s}}function y(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[u(Math.min(a[0],o[0]),-1/0),u(Math.min(a[1],o[1]),-1/0),u(Math.max(a[0],o[0]),1/0),u(Math.max(a[1],o[1]),1/0)]}return r}(t,e),h=function(t,e,r){var n=[];return i(r,function(r,i){var o=e[r],s=e[i];if(o[0]!==s[0]&&o[0]!==s[1]&&o[1]!==s[0]&&o[1]!==s[1]){var l=t[o[0]],c=t[o[1]],u=t[s[0]],f=t[s[1]];a(l,c,u,f)&&n.push([r,i])}}),n}(t,e,n),g=p(t),m=function(t,e,r,n){var o=[];return i(r,n,function(r,n){var i=e[r];if(i[0]!==n&&i[1]!==n){var s=t[n],l=t[i[0]],c=t[i[1]];a(l,c,s,s)&&o.push([r,n])}}),o}(t,e,n,g),y=d(t,function(t,e,r,n,i){var a,u,h=t.map(function(t){return[o(t[0]),o(t[1])]});for(a=0;a<r.length;++a){var p=r[a];u=p[0];var d=p[1],g=e[u],m=e[d],v=f(c(t[g[0]]),c(t[g[1]]),c(t[m[0]]),c(t[m[1]]));if(v){var y=t.length;t.push([l(v[0]),l(v[1])]),h.push(v),n.push([u,y],[d,y])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=h[t[1]],n=h[e[1]];return s(r[0],n[0])||s(r[1],n[1])}),a=n.length-1;a>=0;--a){var x=e[u=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],k=t[_];if((w[0]-k[0]||w[1]-k[1])<0){var M=b;b=_,_=M}x[0]=b;var A,T=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,E=(S=n[--a])[1];i?e.push([T,E,A]):e.push([T,E]),T=E}i?e.push([T,_,A]):e.push([T,_])}return h}(t,e,h,m,r));return v(e,y,r),!!y||(h.length>0||m.length>0)}},{\"./lib/rat-seg-intersect\":104,\"big-rat\":65,\"big-rat/cmp\":63,\"big-rat/to-float\":77,\"box-intersect\":83,nextafter:431,\"rat-vec\":466,\"robust-segment-intersect\":486,\"union-find\":520}],104:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=u(a,f);if(0===o(h))return null;var p=s(t,r),d=u(f,p),g=i(d,h),m=c(a,g);return l(t,m)};var n=t(\"big-rat/mul\"),i=t(\"big-rat/div\"),a=t(\"big-rat/sub\"),o=t(\"big-rat/sign\"),s=t(\"rat-vec/sub\"),l=t(\"rat-vec/add\"),c=t(\"rat-vec/muls\");function u(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},{\"big-rat/div\":64,\"big-rat/mul\":74,\"big-rat/sign\":75,\"big-rat/sub\":76,\"rat-vec/add\":465,\"rat-vec/muls\":467,\"rat-vec/sub\":468}],105:[function(t,e,r){\"use strict\";var n=t(\"clamp\");function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(o=255&n(o,0,255))}e.exports=i,e.exports.to=i,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:102}],106:[function(t,e,r){\"use strict\";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],107:[function(t,e,r){\"use strict\";var n=t(\"color-rgba\"),i=t(\"clamp\"),a=t(\"dtype\");e.exports=function(t,e){\"float\"!==e&&e||(e=\"array\"),\"uint\"===e&&(e=\"uint8\"),\"uint_clamped\"===e&&(e=\"uint8_clamped\");var r=new(a(e))(4),o=\"uint8\"!==e&&\"uint8_clamped\"!==e;return t.length&&\"string\"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},{clamp:102,\"color-rgba\":109,dtype:153}],108:[function(t,e,r){(function(r){\"use strict\";var n=t(\"color-name\"),i=t(\"is-plain-obj\"),a=t(\"defined\");e.exports=function(t){var e,s,l=[],c=1;if(\"string\"==typeof t)if(n[t])l=n[t].slice(),s=\"rgb\";else if(\"transparent\"===t)c=0,s=\"rgb\",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1),f=u.length,h=f<=4;c=1,h?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===f&&(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===f&&(c=parseInt(u[6]+u[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s=\"rgb\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(t)){var p=e[1],u=p.replace(/a$/,\"\");s=u;var f=\"cmyk\"===u?4:\"gray\"===u?1:3;l=e[2].trim().split(/\\s*,\\s*/).map(function(t,e){if(/%$/.test(t))return e===f?parseFloat(t)/100:\"rgb\"===u?255*parseFloat(t)/100:parseFloat(t);if(\"h\"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),p===u&&l.push(1),c=void 0===l[f]?1:l[f],l=l.slice(0,f)}else t.length>10&&/[0-9](?:\\s|\\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),s=t.match(/([a-z])/gi).join(\"\").toLowerCase());else if(isNaN(t))if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s=\"rgb\",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s=\"hsl\",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),c=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s=\"rgb\",c=4===t.length?t[3]:1);else s=\"rgb\",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"color-name\":106,defined:148,\"is-plain-obj\":403}],109:[function(t,e,r){\"use strict\";var n=t(\"color-parse\"),i=t(\"color-space/hsl\"),a=t(\"clamp\");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),\"h\"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:102,\"color-parse\":108,\"color-space/hsl\":110}],110:[function(t,e,r){\"use strict\";var n=t(\"./rgb\");e.exports={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{\"./rgb\":111}],111:[function(t,e,r){\"use strict\";e.exports={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}},{}],112:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],\"rainbow-soft\":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],\"freesurface-blue\":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],\"freesurface-red\":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],\"velocity-blue\":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],\"velocity-green\":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],113:[function(t,e,r){\"use strict\";var n=t(\"./colorScale\"),i=t(\"lerp\");function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r=\"#\",n=0;n<3;++n)r+=(\"00\"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return\"rgba(\"+t.join(\",\")+\")\"}e.exports=function(t){var e,r,l,c,u,f,h,p,d,g;t||(t={});p=(t.nshades||72)-1,h=t.format||\"hex\",(f=t.colormap)||(f=\"jet\");if(\"string\"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+\" not a supported colorscale\");u=n[f]}else{if(!Array.isArray(f))throw Error(\"unsupported colormap option\",f);u=f.slice()}if(u.length>p)throw new Error(f+\" map requires nshades to be at least size \"+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():\"number\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map(function(t){return Math.round(t.index*p)}),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var m=u.map(function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=d[0]+(d[1]-d[0])*r,n)}),v=[];for(g=0;g<e.length-1;++g){c=e[g+1]-e[g],r=m[g],l=m[g+1];for(var y=0;y<c;y++){var x=y/c;v.push([Math.round(i(r[0],l[0],x)),Math.round(i(r[1],l[1],x)),Math.round(i(r[2],l[2],x)),i(r[3],l[3],x)])}}v.push(u[u.length-1].rgb.concat(d[1])),\"hex\"===h?v=v.map(o):\"rgbaString\"===h?v=v.map(s):\"float\"===h&&(v=v.map(a));return v}},{\"./colorScale\":112,lerp:405}],114:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a){var o=n(e,r,a);if(0===o){var s=i(n(t,e,r)),c=i(n(t,e,a));if(s===c){if(0===s){var u=l(t,e,r),f=l(t,e,a);return u===f?0:u?1:-1}return 0}return 0===c?s>0?-1:l(t,e,a)?-1:1:0===s?c>0?1:l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);if(h>0)return o>0&&n(t,e,a)>0?1:-1;if(h<0)return o>0||n(t,e,a)>0?1:-1;var p=n(t,e,a);return p>0?1:l(t,e,r)?1:-1};var n=t(\"robust-orientation\"),i=t(\"signum\"),a=t(\"two-sum\"),o=t(\"robust-product\"),s=t(\"robust-sum\");function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},{\"robust-orientation\":483,\"robust-product\":484,\"robust-sum\":488,signum:489,\"two-sum\":518}],115:[function(t,e,r){e.exports=function(t,e){var r=t.length,a=t.length-e.length;if(a)return a;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],f=t[1],h=t[2],p=t[3],d=e[0],g=e[1],m=e[2],v=e[3];return u+f+h+p-(d+g+m+v)||n(u,f,h,p)-n(d,g,m,v,d)||n(u+f,u+h,u+p,f+h,f+p,h+p)-n(d+g,d+m,d+v,g+m,g+v,m+v)||n(u+f+h,u+f+p,u+h+p,f+h+p)-n(d+g+m,d+g+v,d+m+v,g+m+v);default:for(var y=t.slice().sort(i),x=e.slice().sort(i),b=0;b<r;++b)if(a=y[b]-x[b])return a;return 0}};var n=Math.min;function i(t,e){return t-e}},{}],116:[function(t,e,r){\"use strict\";var n=t(\"compare-cell\"),i=t(\"cell-orientation\");e.exports=function(t,e){return n(t,e)||i(t)-i(e)}},{\"cell-orientation\":99,\"compare-cell\":115}],117:[function(t,e,r){\"use strict\";var n=t(\"./lib/ch1d\"),i=t(\"./lib/ch2d\"),a=t(\"./lib/chnd\");e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;if(0===r)return[];if(1===r)return n(t);if(2===r)return i(t);return a(t,r)}},{\"./lib/ch1d\":118,\"./lib/ch2d\":119,\"./lib/chnd\":120}],118:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}},{}],119:[function(t,e,r){\"use strict\";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o<r;++o){var s=e[o];i[o]=[a,s],a=s}return i};var n=t(\"monotone-convex-hull-2d\")},{\"monotone-convex-hull-2d\":414}],120:[function(t,e,r){\"use strict\";e.exports=function(t,e){try{return n(t,!0)}catch(s){var r=i(t);if(r.length<=e)return[];var a=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];for(var a=e.length,i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}(t,r),o=n(a,!0);return function(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}(o,r)}};var n=t(\"incremental-convex-hull\"),i=t(\"affine-hull\")},{\"affine-hull\":49,\"incremental-convex-hull\":394}],121:[function(t,e,r){e.exports={AFG:\"afghan\",ALA:\"\\\\b\\\\wland\",ALB:\"albania\",DZA:\"algeria\",ASM:\"^(?=.*americ).*samoa\",AND:\"andorra\",AGO:\"angola\",AIA:\"anguill?a\",ATA:\"antarctica\",ATG:\"antigua\",ARG:\"argentin\",ARM:\"armenia\",ABW:\"^(?!.*bonaire).*\\\\baruba\",AUS:\"australia\",AUT:\"^(?!.*hungary).*austria|\\\\baustri.*\\\\bemp\",AZE:\"azerbaijan\",BHS:\"bahamas\",BHR:\"bahrain\",BGD:\"bangladesh|^(?=.*east).*paki?stan\",BRB:\"barbados\",BLR:\"belarus|byelo\",BEL:\"^(?!.*luxem).*belgium\",BLZ:\"belize|^(?=.*british).*honduras\",BEN:\"benin|dahome\",BMU:\"bermuda\",BTN:\"bhutan\",BOL:\"bolivia\",BES:\"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\\\bbes.?islands\",BIH:\"herzegovina|bosnia\",BWA:\"botswana|bechuana\",BVT:\"bouvet\",BRA:\"brazil\",IOT:\"british.?indian.?ocean\",BRN:\"brunei\",BGR:\"bulgaria\",BFA:\"burkina|\\\\bfaso|upper.?volta\",BDI:\"burundi\",CPV:\"verde\",KHM:\"cambodia|kampuchea|khmer\",CMR:\"cameroon\",CAN:\"canada\",CYM:\"cayman\",CAF:\"\\\\bcentral.african.republic\",TCD:\"\\\\bchad\",CHL:\"\\\\bchile\",CHN:\"^(?!.*\\\\bmac)(?!.*\\\\bhong)(?!.*\\\\btai)(?!.*\\\\brep).*china|^(?=.*peo)(?=.*rep).*china\",CXR:\"christmas\",CCK:\"\\\\bcocos|keeling\",COL:\"colombia\",COM:\"comoro\",COG:\"^(?!.*\\\\bdem)(?!.*\\\\bd[\\\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\\\bcongo\",COK:\"\\\\bcook\",CRI:\"costa.?rica\",CIV:\"ivoire|ivory\",HRV:\"croatia\",CUB:\"\\\\bcuba\",CUW:\"^(?!.*bonaire).*\\\\bcura(c|\\xe7)ao\",CYP:\"cyprus\",CSK:\"czechoslovakia\",CZE:\"^(?=.*rep).*czech|czechia|bohemia\",COD:\"\\\\bdem.*congo|congo.*\\\\bdem|congo.*\\\\bd[\\\\.]?r|\\\\bd[\\\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc\",DNK:\"denmark\",DJI:\"djibouti\",DMA:\"dominica(?!n)\",DOM:\"dominican.rep\",ECU:\"ecuador\",EGY:\"egypt\",SLV:\"el.?salvador\",GNQ:\"guine.*eq|eq.*guine|^(?=.*span).*guinea\",ERI:\"eritrea\",EST:\"estonia\",ETH:\"ethiopia|abyssinia\",FLK:\"falkland|malvinas\",FRO:\"faroe|faeroe\",FJI:\"fiji\",FIN:\"finland\",FRA:\"^(?!.*\\\\bdep)(?!.*martinique).*france|french.?republic|\\\\bgaul\",GUF:\"^(?=.*french).*guiana\",PYF:\"french.?polynesia|tahiti\",ATF:\"french.?southern\",GAB:\"gabon\",GMB:\"gambia\",GEO:\"^(?!.*south).*georgia\",DDR:\"german.?democratic.?republic|democratic.?republic.*germany|east.germany\",DEU:\"^(?!.*east).*germany|^(?=.*\\\\bfed.*\\\\brep).*german\",GHA:\"ghana|gold.?coast\",GIB:\"gibraltar\",GRC:\"greece|hellenic|hellas\",GRL:\"greenland\",GRD:\"grenada\",GLP:\"guadeloupe\",GUM:\"\\\\bguam\",GTM:\"guatemala\",GGY:\"guernsey\",GIN:\"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea\",GNB:\"bissau|^(?=.*portu).*guinea\",GUY:\"guyana|british.?guiana\",HTI:\"haiti\",HMD:\"heard.*mcdonald\",VAT:\"holy.?see|vatican|papal.?st\",HND:\"^(?!.*brit).*honduras\",HKG:\"hong.?kong\",HUN:\"^(?!.*austr).*hungary\",ISL:\"iceland\",IND:\"india(?!.*ocea)\",IDN:\"indonesia\",IRN:\"\\\\biran|persia\",IRQ:\"\\\\biraq|mesopotamia\",IRL:\"(^ireland)|(^republic.*ireland)\",IMN:\"^(?=.*isle).*\\\\bman\",ISR:\"israel\",ITA:\"italy\",JAM:\"jamaica\",JPN:\"japan\",JEY:\"jersey\",JOR:\"jordan\",KAZ:\"kazak\",KEN:\"kenya|british.?east.?africa|east.?africa.?prot\",KIR:\"kiribati\",PRK:\"^(?=.*democrat|people|north|d.*p.*.r).*\\\\bkorea|dprk|korea.*(d.*p.*r)\",KWT:\"kuwait\",KGZ:\"kyrgyz|kirghiz\",LAO:\"\\\\blaos?\\\\b\",LVA:\"latvia\",LBN:\"lebanon\",LSO:\"lesotho|basuto\",LBR:\"liberia\",LBY:\"libya\",LIE:\"liechtenstein\",LTU:\"lithuania\",LUX:\"^(?!.*belg).*luxem\",MAC:\"maca(o|u)\",MDG:\"madagascar|malagasy\",MWI:\"malawi|nyasa\",MYS:\"malaysia\",MDV:\"maldive\",MLI:\"\\\\bmali\\\\b\",MLT:\"\\\\bmalta\",MHL:\"marshall\",MTQ:\"martinique\",MRT:\"mauritania\",MUS:\"mauritius\",MYT:\"\\\\bmayotte\",MEX:\"\\\\bmexic\",FSM:\"fed.*micronesia|micronesia.*fed\",MCO:\"monaco\",MNG:\"mongolia\",MNE:\"^(?!.*serbia).*montenegro\",MSR:\"montserrat\",MAR:\"morocco|\\\\bmaroc\",MOZ:\"mozambique\",MMR:\"myanmar|burma\",NAM:\"namibia\",NRU:\"nauru\",NPL:\"nepal\",NLD:\"^(?!.*\\\\bant)(?!.*\\\\bcarib).*netherlands\",ANT:\"^(?=.*\\\\bant).*(nether|dutch)\",NCL:\"new.?caledonia\",NZL:\"new.?zealand\",NIC:\"nicaragua\",NER:\"\\\\bniger(?!ia)\",NGA:\"nigeria\",NIU:\"niue\",NFK:\"norfolk\",MNP:\"mariana\",NOR:\"norway\",OMN:\"\\\\boman|trucial\",PAK:\"^(?!.*east).*paki?stan\",PLW:\"palau\",PSE:\"palestin|\\\\bgaza|west.?bank\",PAN:\"panama\",PNG:\"papua|new.?guinea\",PRY:\"paraguay\",PER:\"peru\",PHL:\"philippines\",PCN:\"pitcairn\",POL:\"poland\",PRT:\"portugal\",PRI:\"puerto.?rico\",QAT:\"qatar\",KOR:\"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\\\bkorea(?!.*d.*p.*r)\",MDA:\"moldov|b(a|e)ssarabia\",REU:\"r(e|\\xe9)union\",ROU:\"r(o|u|ou)mania\",RUS:\"\\\\brussia|soviet.?union|u\\\\.?s\\\\.?s\\\\.?r|socialist.?republics\",RWA:\"rwanda\",BLM:\"barth(e|\\xe9)lemy\",SHN:\"helena\",KNA:\"kitts|\\\\bnevis\",LCA:\"\\\\blucia\",MAF:\"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)\",SPM:\"miquelon\",VCT:\"vincent\",WSM:\"^(?!.*amer).*samoa\",SMR:\"san.?marino\",STP:\"\\\\bs(a|\\xe3)o.?tom(e|\\xe9)\",SAU:\"\\\\bsa\\\\w*.?arabia\",SEN:\"senegal\",SRB:\"^(?!.*monte).*serbia\",SYC:\"seychell\",SLE:\"sierra\",SGP:\"singapore\",SXM:\"^(?!.*martin)(?!.*saba).*maarten\",SVK:\"^(?!.*cze).*slovak\",SVN:\"slovenia\",SLB:\"solomon\",SOM:\"somali\",ZAF:\"south.africa|s\\\\\\\\..?africa\",SGS:\"south.?georgia|sandwich\",SSD:\"\\\\bs\\\\w*.?sudan\",ESP:\"spain\",LKA:\"sri.?lanka|ceylon\",SDN:\"^(?!.*\\\\bs(?!u)).*sudan\",SUR:\"surinam|dutch.?guiana\",SJM:\"svalbard\",SWZ:\"swaziland\",SWE:\"sweden\",CHE:\"switz|swiss\",SYR:\"syria\",TWN:\"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china\",TJK:\"tajik\",THA:\"thailand|\\\\bsiam\",MKD:\"macedonia|fyrom\",TLS:\"^(?=.*leste).*timor|^(?=.*east).*timor\",TGO:\"togo\",TKL:\"tokelau\",TON:\"tonga\",TTO:\"trinidad|tobago\",TUN:\"tunisia\",TUR:\"turkey\",TKM:\"turkmen\",TCA:\"turks\",TUV:\"tuvalu\",UGA:\"uganda\",UKR:\"ukrain\",ARE:\"emirates|^u\\\\.?a\\\\.?e\\\\.?$|united.?arab.?em\",GBR:\"united.?kingdom|britain|^u\\\\.?k\\\\.?$\",TZA:\"tanzania\",USA:\"united.?states\\\\b(?!.*islands)|\\\\bu\\\\.?s\\\\.?a\\\\.?\\\\b|^\\\\s*u\\\\.?s\\\\.?\\\\b(?!.*islands)\",UMI:\"minor.?outlying.?is\",URY:\"uruguay\",UZB:\"uzbek\",VUT:\"vanuatu|new.?hebrides\",VEN:\"venezuela\",VNM:\"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam\",VGB:\"^(?=.*\\\\bu\\\\.?\\\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin\",VIR:\"^(?=.*\\\\bu\\\\.?\\\\s?s).*virgin|^(?=.*states).*virgin\",WLF:\"futuna|wallis\",ESH:\"western.sahara\",YEM:\"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YMD:\"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YUG:\"yugoslavia\",ZMB:\"zambia|northern.?rhodesia\",EAZ:\"zanzibar\",ZWE:\"zimbabwe|^(?!.*northern).*rhodesia\"}},{}],122:[function(t,e,r){e.exports=[\"xx-small\",\"x-small\",\"small\",\"medium\",\"large\",\"x-large\",\"xx-large\",\"larger\",\"smaller\"]},{}],123:[function(t,e,r){e.exports=[\"normal\",\"condensed\",\"semi-condensed\",\"extra-condensed\",\"ultra-condensed\",\"expanded\",\"semi-expanded\",\"extra-expanded\",\"ultra-expanded\"]},{}],124:[function(t,e,r){e.exports=[\"normal\",\"italic\",\"oblique\"]},{}],125:[function(t,e,r){e.exports=[\"normal\",\"bold\",\"bolder\",\"lighter\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"]},{}],126:[function(t,e,r){\"use strict\";e.exports={parse:t(\"./parse\"),stringify:t(\"./stringify\")}},{\"./parse\":128,\"./stringify\":129}],127:[function(t,e,r){\"use strict\";var n=t(\"css-font-size-keywords\");e.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||-1!==t.indexOf(\"/\")||-1!==n.indexOf(t)}}},{\"css-font-size-keywords\":122}],128:[function(t,e,r){\"use strict\";var n=t(\"unquote\"),i=t(\"css-global-keywords\"),a=t(\"css-system-font-keywords\"),o=t(\"css-font-weight-keywords\"),s=t(\"css-font-style-keywords\"),l=t(\"css-font-stretch-keywords\"),c=t(\"string-split-by\"),u=t(\"./lib/util\").isSize;e.exports=h;var f=h.cache={};function h(t){if(\"string\"!=typeof t)throw new Error(\"Font argument must be a string.\");if(f[t])return f[t];if(\"\"===t)throw new Error(\"Cannot parse an empty string.\");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},h=c(t,/\\s+/);e=h.shift();){if(-1!==i.indexOf(e))return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach(function(t){r[t]=e}),f[t]=r;if(-1===s.indexOf(e))if(\"normal\"!==e&&\"small-caps\"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,\"/\");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):\"/\"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error(\"Missing required font-family.\");return r.family=c(h.join(\" \"),/\\s*,\\s*/).map(n),f[t]=r}throw new Error(\"Unknown or unsupported font token: \"+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error(\"Missing required font-size.\")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},{\"./lib/util\":127,\"css-font-stretch-keywords\":123,\"css-font-style-keywords\":124,\"css-font-weight-keywords\":125,\"css-global-keywords\":130,\"css-system-font-keywords\":131,\"string-split-by\":502,unquote:522}],129:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\"),i=t(\"./lib/util\").isSize,a=g(t(\"css-global-keywords\")),o=g(t(\"css-system-font-keywords\")),s=g(t(\"css-font-weight-keywords\")),l=g(t(\"css-font-style-keywords\")),c=g(t(\"css-font-stretch-keywords\")),u={normal:1,\"small-caps\":1},f={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},h=\"1rem\",p=\"serif\";function d(t,e){if(t&&!e[t]&&!a[t])throw Error(\"Unknown keyword `\"+t+\"`\");return t}function g(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t){if((t=n(t,{style:\"style fontstyle fontStyle font-style slope distinction\",variant:\"variant font-variant fontVariant fontvariant var capitalization\",weight:\"weight w font-weight fontWeight fontweight\",stretch:\"stretch font-stretch fontStretch fontstretch width\",size:\"size s font-size fontSize fontsize height em emSize\",lineHeight:\"lh line-height lineHeight lineheight leading\",family:\"font family fontFamily font-family fontfamily type typeface face\",system:\"system reserved default global\"})).system)return t.system&&d(t.system,o),t.system;if(d(t.style,l),d(t.variant,u),d(t.weight,s),d(t.stretch,c),null==t.size&&(t.size=h),\"number\"==typeof t.size&&(t.size+=\"px\"),!i)throw Error(\"Bad size value `\"+t.size+\"`\");t.family||(t.family=p),Array.isArray(t.family)&&(t.family.length||(t.family=[p]),t.family=t.family.map(function(t){return f[t]?t:'\"'+t+'\"'}).join(\", \"));var e=[];return e.push(t.style),t.variant!==t.style&&e.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&e.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&e.push(t.stretch),e.push(t.size+(null==t.lineHeight||\"normal\"===t.lineHeight||t.lineHeight+\"\"==\"1\"?\"\":\"/\"+t.lineHeight)),e.push(t.family),e.filter(Boolean).join(\" \")}},{\"./lib/util\":127,\"css-font-stretch-keywords\":123,\"css-font-style-keywords\":124,\"css-font-weight-keywords\":125,\"css-global-keywords\":130,\"css-system-font-keywords\":131,\"pick-by-alias\":445}],130:[function(t,e,r){e.exports=[\"inherit\",\"initial\",\"unset\"]},{}],131:[function(t,e,r){e.exports=[\"caption\",\"icon\",\"menu\",\"message-box\",\"small-caption\",\"status-bar\"]},{}],132:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+f*r[p]+h*n[p];return a}return c*t+u*e+f*r+h*n},e.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},{}],133:[function(t,e,r){\"use strict\";var n=t(\"./lib/thunk.js\");function i(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName=\"\",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new i;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var a=0;a<r.length;++a){var o=r[a];if(\"array\"===o||\"object\"==typeof o&&o.blockIndices){if(e.argTypes[a]=\"array\",e.arrayArgs.push(a),e.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),e.shimArgs.push(\"array\"+a),a<e.pre.args.length&&e.pre.args[a].count>0)throw new Error(\"cwise: pre() block may not reference array args\");if(a<e.post.args.length&&e.post.args[a].count>0)throw new Error(\"cwise: post() block may not reference array args\")}else if(\"scalar\"===o)e.scalarArgs.push(a),e.shimArgs.push(\"scalar\"+a);else if(\"index\"===o){if(e.indexArgs.push(a),a<e.pre.args.length&&e.pre.args[a].count>0)throw new Error(\"cwise: pre() block may not reference array index\");if(a<e.body.args.length&&e.body.args[a].lvalue)throw new Error(\"cwise: body() block may not write to array index\");if(a<e.post.args.length&&e.post.args[a].count>0)throw new Error(\"cwise: post() block may not reference array index\")}else if(\"shape\"===o){if(e.shapeArgs.push(a),a<e.pre.args.length&&e.pre.args[a].lvalue)throw new Error(\"cwise: pre() block may not write to array shape\");if(a<e.body.args.length&&e.body.args[a].lvalue)throw new Error(\"cwise: body() block may not write to array shape\");if(a<e.post.args.length&&e.post.args[a].lvalue)throw new Error(\"cwise: post() block may not write to array shape\")}else{if(\"object\"!=typeof o||!o.offset)throw new Error(\"cwise: Unknown argument type \"+r[a]);e.argTypes[a]=\"offset\",e.offsetArgs.push({array:o.array,offset:o.offset}),e.offsetArgIndex.push(a)}}if(e.arrayArgs.length<=0)throw new Error(\"cwise: No array arguments specified\");if(e.pre.args.length>r.length)throw new Error(\"cwise: Too many arguments in pre() block\");if(e.body.args.length>r.length)throw new Error(\"cwise: Too many arguments in body() block\");if(e.post.args.length>r.length)throw new Error(\"cwise: Too many arguments in post() block\");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||\"cwise\",e.blockSize=t.blockSize||64,n(e)}},{\"./lib/thunk.js\":135}],134:[function(t,e,r){\"use strict\";var n=t(\"uniq\");function i(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,f=0;for(n=0;n<a;++n)c.push([\"i\",n,\"=0\"].join(\"\"));for(i=0;i<o;++i)for(n=0;n<a;++n)f=u,u=t[n],0===n?c.push([\"d\",i,\"s\",n,\"=t\",i,\"p\",u].join(\"\")):c.push([\"d\",i,\"s\",n,\"=(t\",i,\"p\",u,\"-s\",f,\"*t\",i,\"p\",f,\")\"].join(\"\"));for(c.length>0&&l.push(\"var \"+c.join(\",\")),n=a-1;n>=0;--n)u=t[n],l.push([\"for(i\",n,\"=0;i\",n,\"<s\",u,\";++i\",n,\"){\"].join(\"\"));for(l.push(r),n=0;n<a;++n){for(f=u,u=t[n],i=0;i<o;++i)l.push([\"p\",i,\"+=d\",i,\"s\",n].join(\"\"));s&&(n>0&&l.push([\"index[\",f,\"]-=s\",f].join(\"\")),l.push([\"++index[\",u,\"]\"].join(\"\"))),l.push(\"}\")}return l.join(\"\\n\")}function a(t,e,r){for(var n=t.body,i=[],a=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,\"g\"),c=\"\",u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case\"offset\":var f=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[f].array,c=\"+q\"+f;case\"array\":c=\"p\"+u+c;var h=\"l\"+o,p=\"a\"+u;if(0===e.arrayBlockIndices[u])1===s.count?\"generic\"===r[u]?s.lvalue?(i.push([\"var \",h,\"=\",p,\".get(\",c,\")\"].join(\"\")),n=n.replace(l,h),a.push([p,\".set(\",c,\",\",h,\")\"].join(\"\"))):n=n.replace(l,[p,\".get(\",c,\")\"].join(\"\")):n=n.replace(l,[p,\"[\",c,\"]\"].join(\"\")):\"generic\"===r[u]?(i.push([\"var \",h,\"=\",p,\".get(\",c,\")\"].join(\"\")),n=n.replace(l,h),s.lvalue&&a.push([p,\".set(\",c,\",\",h,\")\"].join(\"\"))):(i.push([\"var \",h,\"=\",p,\"[\",c,\"]\"].join(\"\")),n=n.replace(l,h),s.lvalue&&a.push([p,\"[\",c,\"]=\",h].join(\"\")));else{for(var d=[s.name],g=[c],m=0;m<Math.abs(e.arrayBlockIndices[u]);m++)d.push(\"\\\\s*\\\\[([^\\\\]]+)\\\\]\"),g.push(\"$\"+(m+1)+\"*t\"+u+\"b\"+m);if(l=new RegExp(d.join(\"\"),\"g\"),c=g.join(\"+\"),\"generic\"===r[u])throw new Error(\"cwise: Generic arrays not supported in combination with blocks!\");n=n.replace(l,[p,\"[\",c,\"]\"].join(\"\"))}break;case\"scalar\":n=n.replace(l,\"Y\"+e.scalarArgs.indexOf(o));break;case\"index\":n=n.replace(l,\"index\");break;case\"shape\":n=n.replace(l,\"shape\")}}}return[i.join(\"\\n\"),n,a.join(\"\\n\")].join(\"\\n\").trim()}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,o=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),l=0;l<t.arrayArgs.length;++l)s[l]=e[2*l],o[l]=e[2*l+1];var c=[],u=[],f=[],h=[],p=[];for(l=0;l<t.arrayArgs.length;++l){t.arrayBlockIndices[l]<0?(f.push(0),h.push(r),c.push(r),u.push(r+t.arrayBlockIndices[l])):(f.push(t.arrayBlockIndices[l]),h.push(t.arrayBlockIndices[l]+r),c.push(0),u.push(t.arrayBlockIndices[l]));for(var d=[],g=0;g<o[l].length;g++)f[l]<=o[l][g]&&o[l][g]<h[l]&&d.push(o[l][g]-f[l]);p.push(d)}var m=[\"SS\"],v=[\"'use strict'\"],y=[];for(g=0;g<r;++g)y.push([\"s\",g,\"=SS[\",g,\"]\"].join(\"\"));for(l=0;l<t.arrayArgs.length;++l){for(m.push(\"a\"+l),m.push(\"t\"+l),m.push(\"p\"+l),g=0;g<r;++g)y.push([\"t\",l,\"p\",g,\"=t\",l,\"[\",f[l]+g,\"]\"].join(\"\"));for(g=0;g<Math.abs(t.arrayBlockIndices[l]);++g)y.push([\"t\",l,\"b\",g,\"=t\",l,\"[\",c[l]+g,\"]\"].join(\"\"))}for(l=0;l<t.scalarArgs.length;++l)m.push(\"Y\"+l);if(t.shapeArgs.length>0&&y.push(\"shape=SS.slice(0)\"),t.indexArgs.length>0){var x=new Array(r);for(l=0;l<r;++l)x[l]=\"0\";y.push([\"index=[\",x.join(\",\"),\"]\"].join(\"\"))}for(l=0;l<t.offsetArgs.length;++l){var b=t.offsetArgs[l],_=[];for(g=0;g<b.offset.length;++g)0!==b.offset[g]&&(1===b.offset[g]?_.push([\"t\",b.array,\"p\",g].join(\"\")):_.push([b.offset[g],\"*t\",b.array,\"p\",g].join(\"\")));0===_.length?y.push(\"q\"+l+\"=0\"):y.push([\"q\",l,\"=\",_.join(\"+\")].join(\"\"))}var w=n([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((y=y.concat(w)).length>0&&v.push(\"var \"+y.join(\",\")),l=0;l<t.arrayArgs.length;++l)v.push(\"p\"+l+\"|=0\");t.pre.body.length>3&&v.push(a(t.pre,t,s));var k=a(t.body,t,s),M=function(t){for(var e=0,r=t[0].length;e<r;){for(var n=1;n<t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(p);M<r?v.push(function(t,e,r,n){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,c=[],u=0;u<o;++u)c.push([\"var offset\",u,\"=p\",u].join(\"\"));for(u=t;u<a;++u)c.push([\"for(var j\"+u+\"=SS[\",e[u],\"]|0;j\",u,\">0;){\"].join(\"\")),c.push([\"if(j\",u,\"<\",s,\"){\"].join(\"\")),c.push([\"s\",e[u],\"=j\",u].join(\"\")),c.push([\"j\",u,\"=0\"].join(\"\")),c.push([\"}else{s\",e[u],\"=\",s].join(\"\")),c.push([\"j\",u,\"-=\",s,\"}\"].join(\"\")),l&&c.push([\"index[\",e[u],\"]=j\",u].join(\"\"));for(u=0;u<o;++u){for(var f=[\"offset\"+u],h=t;h<a;++h)f.push([\"j\",h,\"*t\",u,\"p\",e[h]].join(\"\"));c.push([\"p\",u,\"=(\",f.join(\"+\"),\")\"].join(\"\"))}for(c.push(i(e,r,n)),u=t;u<a;++u)c.push(\"}\");return c.join(\"\\n\")}(M,p[0],t,k)):v.push(i(p[0],t,k)),t.post.body.length>3&&v.push(a(t.post,t,s)),t.debug&&console.log(\"-----Generated cwise routine for \",e,\":\\n\"+v.join(\"\\n\")+\"\\n----------\");var A=[t.funcName||\"unnamed\",\"_cwise_loop_\",o[0].join(\"s\"),\"m\",M,function(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],a=i.match(/\\d+/);a=a?a[0]:\"\",0===i.charAt(0)?e[n]=\"u\"+i.charAt(1)+a:e[n]=i.charAt(0)+a,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join(\"\")}(s)].join(\"\");return new Function([\"function \",A,\"(\",m.join(\",\"),\"){\",v.join(\"\\n\"),\"} return \",A].join(\"\"))()}},{uniq:521}],135:[function(t,e,r){\"use strict\";var n=t(\"./compile.js\");e.exports=function(t){var e=[\"'use strict'\",\"var CACHED={}\"],r=[],i=t.funcName+\"_cwise_thunk\";e.push([\"return function \",i,\"(\",t.shimArgs.join(\",\"),\"){\"].join(\"\"));for(var a=[],o=[],s=[[\"array\",t.arrayArgs[0],\".shape.slice(\",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?\",\"+t.arrayBlockIndices[0]+\")\":\")\"].join(\"\")],l=[],c=[],u=0;u<t.arrayArgs.length;++u){var f=t.arrayArgs[u];r.push([\"t\",f,\"=array\",f,\".dtype,\",\"r\",f,\"=array\",f,\".order\"].join(\"\")),a.push(\"t\"+f),a.push(\"r\"+f),o.push(\"t\"+f),o.push(\"r\"+f+\".join()\"),s.push(\"array\"+f+\".data\"),s.push(\"array\"+f+\".stride\"),s.push(\"array\"+f+\".offset|0\"),u>0&&(l.push(\"array\"+t.arrayArgs[0]+\".shape.length===array\"+f+\".shape.length+\"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push(\"array\"+t.arrayArgs[0]+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[0])+\"]===array\"+f+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[u])+\"]\"))}for(t.arrayArgs.length>1&&(e.push(\"if (!(\"+l.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same dimensionality!')\"),e.push(\"for(var shapeIndex=array\"+t.arrayArgs[0]+\".shape.length-\"+Math.abs(t.arrayBlockIndices[0])+\"; shapeIndex--\\x3e0;) {\"),e.push(\"if (!(\"+c.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same shape!')\"),e.push(\"}\")),u=0;u<t.scalarArgs.length;++u)s.push(\"scalar\"+t.scalarArgs[u]);return r.push([\"type=[\",o.join(\",\"),\"].join()\"].join(\"\")),r.push(\"proc=CACHED[type]\"),e.push(\"var \"+r.join(\",\")),e.push([\"if(!proc){\",\"CACHED[type]=proc=compile([\",a.join(\",\"),\"])}\",\"return proc(\",s.join(\",\"),\")}\"].join(\"\")),t.debug&&console.log(\"-----Generated thunk:\\n\"+e.join(\"\\n\")+\"\\n----------\"),new Function(\"compile\",e.join(\"\\n\"))(n.bind(void 0,t))}},{\"./compile.js\":134}],136:[function(t,e,r){e.exports=t(\"cwise-compiler\")},{\"cwise-compiler\":133}],137:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/copy\"),a=t(\"es5-ext/object/normalize-options\"),o=t(\"es5-ext/object/valid-callable\"),s=t(\"es5-ext/object/map\"),l=t(\"es5-ext/object/valid-callable\"),c=t(\"es5-ext/object/valid-value\"),u=Function.prototype.bind,f=Object.defineProperty,h=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,a=c(e)&&l(e.value);return delete(n=i(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&h.call(this,t)?a:(e.value=u.call(a,r.resolveContext?r.resolveContext(this):this),f(this,t,e),this[t])},n},e.exports=function(t){var e=a(arguments[1]);return null!=e.resolveContext&&o(e.resolveContext),s(t,function(t,r){return n(r,t,e)})}},{\"es5-ext/object/copy\":173,\"es5-ext/object/map\":182,\"es5-ext/object/normalize-options\":183,\"es5-ext/object/valid-callable\":187,\"es5-ext/object/valid-value\":189}],138:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/object/assign\"),i=t(\"es5-ext/object/normalize-options\"),a=t(\"es5-ext/object/is-callable\"),o=t(\"es5-ext/string/#/contains\");(e.exports=function(t,e){var r,a,s,l,c;return arguments.length<2||\"string\"!=typeof t?(l=e,e=t,t=null):l=arguments[2],null==t?(r=s=!0,a=!1):(r=o.call(t,\"c\"),a=o.call(t,\"e\"),s=o.call(t,\"w\")),c={value:e,configurable:r,enumerable:a,writable:s},l?n(i(l),c):c}).gs=function(t,e,r){var s,l,c,u;return\"string\"!=typeof t?(c=r,r=e,e=t,t=null):c=arguments[3],null==e?e=void 0:a(e)?null==r?r=void 0:a(r)||(c=r,r=void 0):(c=e,e=r=void 0),null==t?(s=!0,l=!1):(s=o.call(t,\"c\"),l=o.call(t,\"e\")),u={get:e,set:r,configurable:s,enumerable:l},c?n(i(c),u):u}},{\"es5-ext/object/assign\":170,\"es5-ext/object/is-callable\":176,\"es5-ext/object/normalize-options\":183,\"es5-ext/string/#/contains\":190}],139:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN},r=function(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}};var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}var s=function(t){return null===t?NaN:+t},l=function(t,e){var r,n,i=t.length,a=0,o=-1,l=0,c=0;if(null==e)for(;++o<i;)isNaN(r=s(t[o]))||(c+=(n=r-l)*(r-(l+=n/++a)));else for(;++o<i;)isNaN(r=s(e(t[o],o,t)))||(c+=(n=r-l)*(r-(l+=n/++a)));if(a>1)return c/(a-1)},c=function(t,e){var r=l(t,e);return r?Math.sqrt(r):r},u=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]},f=Array.prototype,h=f.slice,p=f.map,d=function(t){return function(){return t}},g=function(t){return t},m=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a},v=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=v?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=v?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=v?i*=10:a>=y?i*=5:a>=x&&(i*=2),e<t?-i:i}var w=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},k=function(t,e,r){if(null==r&&(r=s),n=t.length){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}},M=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n},A=function(t){if(!(i=t.length))return[];for(var e=-1,r=M(t,T),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n};function T(t){return t.length}t.bisect=i,t.bisectRight=i,t.bisectLeft=a,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,i,a,s,l=t.length,c=e.length,u=new Array(l*c);for(null==r&&(r=o),n=a=0;n<l;++n)for(s=t[n],i=0;i<c;++i,++a)u[a]=r(s,e[i]);return u},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;a<s;++a)l[a]=t(n[a],a,n);var c=e(l),u=c[0],f=c[1],h=r(l,u,f);Array.isArray(h)||(h=_(u,f,h),h=m(Math.ceil(u/h)*h,Math.floor(f/h)*h,h));for(var p=h.length;h[0]<=u;)h.shift(),--p;for(;h[p-1]>f;)h.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?h[a-1]:u,d.x1=a<p?h[a]:f;for(a=0;a<s;++a)u<=(o=l[a])&&o<=f&&g[i(h,o,0,p)].push(n[a]);return g}return n.value=function(e){return arguments.length?(t=\"function\"==typeof e?e:d(e),n):t},n.domain=function(t){return arguments.length?(e=\"function\"==typeof t?t:d([t[0],t[1]]),n):e},n.thresholds=function(t){return arguments.length?(r=\"function\"==typeof t?t:Array.isArray(t)?d(h.call(t)):d(t),n):r},n},t.thresholdFreedmanDiaconis=function(t,r,n){return t=p.call(t,s).sort(e),Math.ceil((n-r)/(2*(k(t,.75)-k(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*c(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=s(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=s(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,r){var n,i=t.length,a=-1,o=[];if(null==r)for(;++a<i;)isNaN(n=s(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=s(r(t[a],a,t)))||o.push(n);return k(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=M,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return a},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=k,t.range=m,t.scan=function(t,r){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==r&&(r=e);++a<n;)(r(i=t[a],s)<0||0!==r(s,s))&&(s=i,o=a);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.sum=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},t.ticks=function(t,e,r){var n,i,a,o,s=-1;if(r=+r,(t=+t)==(e=+e)&&r>0)return[t];if((n=e<t)&&(i=t,t=e,e=i),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return n&&a.reverse(),a},t.tickIncrement=b,t.tickStep=_,t.transpose=A,t.variance=l,t.zip=function(){return A(arguments)},Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],140:[function(t,e,r){var n;n=this,function(t){\"use strict\";function e(){}function r(t,r){var n=new e;if(t instanceof e)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}e.prototype=r.prototype={constructor:e,has:function(t){return\"$\"+t in this},get:function(t){return this[\"$\"+t]},set:function(t,e){return this[\"$\"+t]=e,this},remove:function(t){var e=\"$\"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)\"$\"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)\"$\"===e[0]&&++t;return t},empty:function(){for(var t in this)if(\"$\"===t[0])return!1;return!0},each:function(t){for(var e in this)\"$\"===e[0]&&t(this[e],e.slice(1),this)}};function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}var l=r.prototype;function c(t,e){var r=new s;if(t instanceof s)t.each(function(t){r.add(t)});else if(t){var n=-1,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)r.add(e(t[n],n,t))}return r}s.prototype=c.prototype={constructor:s,has:l.has,add:function(t){return this[\"$\"+(t+=\"\")]=t,this},remove:l.remove,clear:l.clear,values:l.keys,size:l.size,empty:l.empty,each:l.each};t.nest=function(){var t,e,s,l=[],c=[];function u(n,i,a,o){if(i>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,f,h=-1,p=n.length,d=l[i++],g=r(),m=a();++h<p;)(f=g.get(s=d(c=n[h])+\"\"))?f.push(c):g.set(s,[c]);return g.each(function(t,e){o(m,e,u(t,i,a,o))}),m}return s={object:function(t){return u(t,0,n,i)},map:function(t){return u(t,0,a,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var i,a=c[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each(function(e,r){i.push({key:r,values:t(e,n)})})),null!=a?i.sort(function(t,e){return a(t.key,e.key)}):i}(u(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],141:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e=function(t,e,r){t.prototype=e.prototype=r,r.constructor=t};function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var i=\"\\\\s*([+-]?\\\\d+)\\\\s*\",a=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",o=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,c=new RegExp(\"^rgb\\\\(\"+[i,i,i]+\"\\\\)$\"),u=new RegExp(\"^rgb\\\\(\"+[o,o,o]+\"\\\\)$\"),f=new RegExp(\"^rgba\\\\(\"+[i,i,i,a]+\"\\\\)$\"),h=new RegExp(\"^rgba\\\\(\"+[o,o,o,a]+\"\\\\)$\"),p=new RegExp(\"^hsl\\\\(\"+[a,o,o]+\"\\\\)$\"),d=new RegExp(\"^hsla\\\\(\"+[a,o,o,a]+\"\\\\)$\"),g={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function m(t){var e;return t=(t+\"\").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?v(parseInt(e[1],16)):(e=c.exec(t))?new _(e[1],e[2],e[3],1):(e=u.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=f.exec(t))?y(e[1],e[2],e[3],e[4]):(e=h.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?k(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?k(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?v(g[t]):\"transparent\"===t?new _(NaN,NaN,NaN,0):null}function v(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=m(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?\"0\":\"\")+t.toString(16)}function k(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new A(t,e,r,n)}function M(t,e,r,i){return 1===arguments.length?function(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=m(t)),!t)return new A;if(t instanceof A)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,c=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r<i):r===o?(i-e)/l+2:(e-r)/l+4,l/=c<.5?o+a:2-o-a,s*=60):l=c>0&&c<1?0:s,new A(s,l,c,t.opacity)}(t):new A(t,e,r,null==i?1:i)}function A(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function T(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,m,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+\"\"}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return\"#\"+w(this.r)+w(this.g)+w(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?\")\":\", \"+t+\")\")}})),e(A,M,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new A(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new _(T(t>=240?t-240:t+120,i,n),T(t,i,n),T(t<120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var S=Math.PI/180,E=180/Math.PI,C=.96422,L=1,z=.82521,P=4/29,O=6/29,I=3*O*O,D=O*O*O;function R(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof G){if(isNaN(t.h))return new F(t.l,0,0,t.opacity);var e=t.h*S;return new F(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r,n,i=U(t.r),a=U(t.g),o=U(t.b),s=N((.2225045*i+.7168786*a+.0606169*o)/L);return i===a&&a===o?r=n=s:(r=N((.4360747*i+.3850649*a+.1430804*o)/C),n=N((.0139322*i+.0971045*a+.7141733*o)/z)),new F(116*s-16,500*(r-s),200*(s-n),t.opacity)}function B(t,e,r,n){return 1===arguments.length?R(t):new F(t,e,r,null==n?1:n)}function F(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function N(t){return t>D?Math.pow(t,1/3):t/I+P}function j(t){return t>O?t*t*t:I*(t-P)}function V(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function U(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function q(t){if(t instanceof G)return new G(t.h,t.c,t.l,t.opacity);if(t instanceof F||(t=R(t)),0===t.a&&0===t.b)return new G(NaN,0,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*E;return new G(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function H(t,e,r,n){return 1===arguments.length?q(t):new G(t,e,r,null==n?1:n)}function G(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(F,B,r(n,{brighter:function(t){return new F(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new F(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return new _(V(3.1338561*(e=C*j(e))-1.6168667*(t=L*j(t))-.4906146*(r=z*j(r))),V(-.9787684*e+1.9161415*t+.033454*r),V(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(G,H,r(n,{brighter:function(t){return new G(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new G(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return R(this).rgb()}}));var W=-.14861,Y=1.78277,X=-.29227,Z=-.90649,$=1.97294,J=$*Z,K=$*Y,Q=Y*X-Z*W;function tt(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof et)return new et(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(Q*n+J*e-K*r)/(Q+J-K),a=n-i,o=($*(r-i)-X*a)/Z,s=Math.sqrt(o*o+a*a)/($*i*(1-i)),l=s?Math.atan2(o,a)*E-120:NaN;return new et(l<0?l+360:l,s,i,t.opacity)}(t):new et(t,e,r,null==n?1:n)}function et(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(et,tt,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new et(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new et(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*S,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new _(255*(e+r*(W*n+Y*i)),255*(e+r*(X*n+Z*i)),255*(e+r*($*n)),this.opacity)}})),t.color=m,t.rgb=b,t.hsl=M,t.lab=B,t.hcl=H,t.lch=function(t,e,r,n){return 1===arguments.length?q(t):new G(r,e,t,null==n?1:n)},t.gray=function(t,e){return new F(t,0,0,null==e?1:e)},t.cubehelix=tt,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],142:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+\"\")||t in i)throw new Error(\"illegal type: \"+t);i[t]=[]}return new n(i)}function n(t){this._=t}function i(t,e){for(var r,n=0,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function a(t,r,n){for(var i=0,a=t.length;i<a;++i)if(t[i].name===r){t[i]=e,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=n&&t.push({name:r,value:n}),t}n.prototype=r.prototype={constructor:n,on:function(t,e){var r,n,o=this._,s=(n=o,(t+\"\").trim().split(/^|\\s+/).map(function(t){var e=\"\",r=t.indexOf(\".\");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);return{type:t,name:e}})),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&\"function\"!=typeof e)throw new Error(\"invalid callback: \"+e);for(;++l<c;)if(r=(t=s[l]).type)o[r]=a(o[r],t.name,e);else if(null==e)for(r in o)o[r]=a(o[r],t.name,null);return this}for(;++l<c;)if((r=(t=s[l]).type)&&(r=i(o[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new n(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(a=0,r=(n=this._[t]).length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],143:[function(t,e,r){var n,i;n=this,i=function(t,e,r,n,i){\"use strict\";var a=function(t){return function(){return t}},o=function(){return 1e-6*(Math.random()-.5)};function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function c(t){return t.index}function u(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function f(t){return t.x}function h(t){return t.y}var p=10,d=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-t,s=s/a-e,n=0;n<a;++n)(i=r[n]).x-=o,i.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n},t.forceCollide=function(t){var r,n,i=1,c=1;function u(){for(var t,a,u,h,p,d,g,m=r.length,v=0;v<c;++v)for(a=e.quadtree(r,s,l).visitAfter(f),t=0;t<m;++t)u=r[t],d=n[u.index],g=d*d,h=u.x+u.vx,p=u.y+u.vy,a.visit(y);function y(t,e,r,n,a){var s=t.data,l=t.r,c=d+l;if(!s)return e>h+c||n<h-c||r>p+c||a<p-c;if(s.index>u.index){var f=h-s.x-s.vx,m=p-s.y-s.vy,v=f*f+m*m;v<c*c&&(0===f&&(v+=(f=o())*f),0===m&&(v+=(m=o())*m),v=(c-(v=Math.sqrt(v)))/v*i,u.vx+=(f*=v)*(c=(l*=l)/(g+l)),u.vy+=(m*=v)*c,s.vx-=f*(c=1-c),s.vy-=m*c)}}}function f(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function h(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e<a;++e)i=r[e],n[i.index]=+t(i,e,r)}}return\"function\"!=typeof t&&(t=a(null==t?1:+t)),u.initialize=function(t){r=t,h()},u.iterations=function(t){return arguments.length?(c=+t,u):c},u.strength=function(t){return arguments.length?(i=+t,u):i},u.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),h(),u):t},u},t.forceLink=function(t){var e,n,i,s,l,f=c,h=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=a(30),d=1;function g(r){for(var i=0,a=t.length;i<d;++i)for(var s,c,u,f,h,p,g,m=0;m<a;++m)c=(s=t[m]).source,f=(u=s.target).x+u.vx-c.x-c.vx||o(),h=u.y+u.vy-c.y-c.vy||o(),f*=p=((p=Math.sqrt(f*f+h*h))-n[m])/p*r*e[m],h*=p,u.vx-=f*(g=l[m]),u.vy-=h*g,c.vx+=f*(g=1-g),c.vy+=h*g}function m(){if(i){var a,o,c=i.length,h=t.length,p=r.map(i,f);for(a=0,s=new Array(c);a<h;++a)(o=t[a]).index=a,\"object\"!=typeof o.source&&(o.source=u(p,o.source)),\"object\"!=typeof o.target&&(o.target=u(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(a=0,l=new Array(h);a<h;++a)o=t[a],l[a]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(h),v(),n=new Array(h),y()}}function v(){if(i)for(var r=0,n=t.length;r<n;++r)e[r]=+h(t[r],r,t)}function y(){if(i)for(var e=0,r=t.length;e<r;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t){i=t,m()},g.links=function(e){return arguments.length?(t=e,m(),g):t},g.id=function(t){return arguments.length?(f=t,g):f},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(h=\"function\"==typeof t?t:a(+t),v(),g):h},g.distance=function(t){return arguments.length?(p=\"function\"==typeof t?t:a(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,i,s=a(-30),l=1,c=1/0,u=.81;function p(i){var a,o=t.length,s=e.quadtree(t,f,h).visitAfter(g);for(n=i,a=0;a<o;++a)r=t[a],s.visit(m)}function d(){if(t){var e,r,n=t.length;for(i=new Array(n),e=0;e<n;++e)r=t[e],i[r.index]=+s(r,e,t)}}function g(t){var e,r,n,a,o,s=0,l=0;if(t.length){for(n=a=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,a+=r*e.y);t.x=n/l,t.y=a/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=i[e.data.index]}while(e=e.next)}t.value=s}function m(t,e,a,s){if(!t.value)return!0;var f=t.x-r.x,h=t.y-r.y,p=s-e,d=f*f+h*h;if(p*p/u<d)return d<c&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)),r.vx+=f*t.value*n/d,r.vy+=h*t.value*n/d),!0;if(!(t.length||d>=c)){(t.data!==r||t.next)&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=i[t.data.index]*n/d,r.vx+=f*p,r.vy+=h*p)}while(t=t.next)}}return p.initialize=function(e){t=e,d()},p.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:a(+t),d(),p):s},p.distanceMin=function(t){return arguments.length?(l=t*t,p):Math.sqrt(l)},p.distanceMax=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p.theta=function(t){return arguments.length?(u=t*t,p):Math.sqrt(u)},p},t.forceRadial=function(t,e,r){var n,i,o,s=a(.1);function l(t){for(var a=0,s=n.length;a<s;++a){var l=n[a],c=l.x-e||1e-6,u=l.y-r||1e-6,f=Math.sqrt(c*c+u*u),h=(o[a]-f)*i[a]*t/f;l.vx+=c*h,l.vy+=u*h}}function c(){if(n){var e,r=n.length;for(i=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),i[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return\"function\"!=typeof t&&(t=a(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,c()},l.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:a(+t),c(),l):s},l.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),c(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l},t.forceSimulation=function(t){var e,a=1,o=.001,s=1-Math.pow(o,1/300),l=0,c=.6,u=r.map(),f=i.timer(g),h=n.dispatch(\"tick\",\"end\");function g(){m(),h.call(\"tick\",e),a<o&&(f.stop(),h.call(\"end\",e))}function m(){var e,r,n=t.length;for(a+=(l-a)*s,u.each(function(t){t(a)}),e=0;e<n;++e)null==(r=t[e]).fx?r.x+=r.vx*=c:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=c:(r.y=r.fy,r.vy=0)}function v(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,isNaN(e.x)||isNaN(e.y)){var i=p*Math.sqrt(r),a=r*d;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function y(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),v(),e={tick:m,restart:function(){return f.restart(g),e},stop:function(){return f.stop(),e},nodes:function(r){return arguments.length?(t=r,v(),u.each(y),e):t},alpha:function(t){return arguments.length?(a=+t,e):a},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(s=+t,e):+s},alphaTarget:function(t){return arguments.length?(l=+t,e):l},velocityDecay:function(t){return arguments.length?(c=1-t,e):1-c},force:function(t,r){return arguments.length>1?(null==r?u.remove(t):u.set(t,y(r)),e):u.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c<u;++c)(o=(i=e-(s=t[c]).x)*i+(a=r-s.y)*a)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(h.on(t,r),e):h.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(n[a]-i.x)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\"function\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\"function\"==typeof t?t:a(+t),s(),o):i},o.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(n[a]-i.y)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\"function\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\"function\"==typeof t?t:a(+t),s(),o):i},o.y=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),s(),o):t},o},Object.defineProperty(t,\"__esModule\",{value:!0})},\"object\"==typeof r&&\"undefined\"!=typeof e?i(r,t(\"d3-quadtree\"),t(\"d3-collection\"),t(\"d3-dispatch\"),t(\"d3-timer\")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)},{\"d3-collection\":140,\"d3-dispatch\":142,\"d3-quadtree\":145,\"d3-timer\":146}],144:[function(t,e,r){var n,i;n=this,i=function(t,e){\"use strict\";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}var n=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},i=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}},a=function(t){return function(){return t}};function o(t,e){return function(r){return t+r*e}}function s(t,e){var r=e-t;return r?o(t,r>180||r<-180?r-360*Math.round(r/360):r):a(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):a(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+\"\"}}return i.gamma=t,i}(1);function f(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+\"\"}}}var h=f(n),p=f(i),d=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=A(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}},g=function(t,e){var r=new Date;return e-=t=+t,function(n){return r.setTime(t+e*n),r}},m=function(t,e){return e-=t=+t,function(r){return t+e*r}},v=function(t,e){var r,n={},i={};for(r in null!==t&&\"object\"==typeof t||(t={}),null!==e&&\"object\"==typeof e||(e={}),e)r in t?n[r]=A(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},y=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,x=new RegExp(y.source,\"g\");var b,_,w,k,M=function(t,e){var r,n,i,a=y.lastIndex=x.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=y.exec(t))&&(n=x.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:m(r,n)})),a=x.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?function(t){return function(e){return t(e)+\"\"}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join(\"\")})},A=function(t,r){var n,i=typeof r;return null==r||\"boolean\"===i?a(r):(\"number\"===i?m:\"string\"===i?(n=e.color(r))?(r=n,u):M:r instanceof e.color?u:r instanceof Date?g:Array.isArray(r)?d:\"function\"!=typeof r.valueOf&&\"function\"!=typeof r.toString||isNaN(r)?v:m)(t,r)},T=180/Math.PI,S={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},E=function(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*T,skewX:Math.atan(l)*T,scaleX:o,scaleY:s}};function C(t,e,r,n){function i(t){return t.length?t.pop()+\" \":\"\"}return function(a,o){var s=[],l=[];return a=t(a),o=t(o),function(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push(\"translate(\",null,e,null,r);s.push({i:l-4,x:m(t,i)},{i:l-2,x:m(n,a)})}else(i||a)&&o.push(\"translate(\"+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+\"rotate(\",null,n)-2,x:m(t,e)})):e&&r.push(i(r)+\"rotate(\"+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+\"skewX(\",null,n)-2,x:m(t,e)}):e&&r.push(i(r)+\"skewX(\"+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+\"scale(\",null,\",\",null,\")\");o.push({i:s-4,x:m(t,r)},{i:s-2,x:m(e,n)})}else 1===r&&1===n||a.push(i(a)+\"scale(\"+r+\",\"+n+\")\")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r<n;)s[(e=l[r]).i]=e.x(t);return s.join(\"\")}}}var L=C(function(t){return\"none\"===t?S:(b||(b=document.createElement(\"DIV\"),_=document.documentElement,w=document.defaultView),b.style.transform=t,t=w.getComputedStyle(_.appendChild(b),null).getPropertyValue(\"transform\"),_.removeChild(b),t=t.slice(7,-1).split(\",\"),E(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},\"px, \",\"px)\",\"deg)\"),z=C(function(t){return null==t?S:(k||(k=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),k.setAttribute(\"transform\",t),(t=k.transform.baseVal.consolidate())?(t=t.matrix,E(t.a,t.b,t.c,t.d,t.e,t.f)):S)},\", \",\")\",\")\"),P=Math.SQRT2;function O(t){return((t=Math.exp(t))+1/t)/2}function I(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=c(r.s,n.s),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var D=I(s),R=I(c);function B(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=c(r.c,n.c),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var F=B(s),N=B(c);function j(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=c(r.s,i.s),s=c(r.l,i.l),l=c(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+\"\"}}return n=+n,i.gamma=r,i}(1)}var V=j(s),U=j(c);t.interpolate=A,t.interpolateArray=d,t.interpolateBasis=n,t.interpolateBasisClosed=i,t.interpolateDate=g,t.interpolateNumber=m,t.interpolateObject=v,t.interpolateRound=function(t,e){return e-=t=+t,function(r){return Math.round(t+e*r)}},t.interpolateString=M,t.interpolateTransformCss=L,t.interpolateTransformSvg=z,t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<1e-12)n=Math.log(c/o)/P,r=function(t){return[i+t*u,a+t*f,o*Math.exp(P*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(2*c*2*p),m=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(g*g+1)-g);n=(v-m)/P,r=function(t){var e,r=t*n,s=O(m),l=o/(2*p)*(s*(e=P*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+l*u,a+l*f,o*s/O(P*r+m)]}}return r.duration=1e3*n,r},t.interpolateRgb=u,t.interpolateRgbBasis=h,t.interpolateRgbBasisClosed=p,t.interpolateHsl=D,t.interpolateHslLong=R,t.interpolateLab=function(t,r){var n=c((t=e.lab(t)).l,(r=e.lab(r)).l),i=c(t.a,r.a),a=c(t.b,r.b),o=c(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+\"\"}},t.interpolateHcl=F,t.interpolateHclLong=N,t.interpolateCubehelix=V,t.interpolateCubehelixLong=U,t.piecewise=function(t,e){for(var r=0,n=e.length-1,i=e[0],a=new Array(n<0?0:n);r<n;)a[r]=t(i,i=e[++r]);return function(t){var e=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return a[e](t-e)}},t.quantize=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,\"__esModule\",{value:!0})},\"object\"==typeof r&&\"undefined\"!=typeof e?i(r,t(\"d3-color\")):i(n.d3=n.d3||{},n.d3)},{\"d3-color\":141}],145:[function(t,e,r){var n;n=this,function(t){\"use strict\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,p=t._root,d={data:n},g=t._x0,m=t._y0,v=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o,i=p,!(p=p[f=u<<1|c]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o}while((f=u<<1|c)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}var r=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i};function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=a.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,i,a,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,f=-1/0,h=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<c&&(c=i),i>f&&(f=i),a<u&&(u=a),a>h&&(h=a));for(f<c&&(c=this._x0,f=this._x1),h<u&&(u=this._y0,h=this._y1),this.cover(c,u).cover(f,h),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{if(!(r>t||t>i||n>e||e>a))return this;var o,s,l=i-r,c=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),t>(i=r+l)||e>a);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),(r=i-l)>t||e>a);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),t>(i=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),(r=i-l)>t||n>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var i,a,o,s,l,c,u,f=this._x0,h=this._y0,p=this._x1,d=this._y1,g=[],m=this._root;for(m&&g.push(new r(m,f,h,p,d)),null==n?n=1/0:(f=t-n,h=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(m=c.node)||(a=c.x0)>p||(o=c.y0)>d||(s=c.x1)<f||(l=c.y1)<h))if(m.length){var v=(a+s)/2,y=(o+l)/2;g.push(new r(m[3],v,y,s,l),new r(m[2],a,y,v,l),new r(m[1],v,o,s,y),new r(m[0],a,o,v,y)),(u=(e>=y)<<1|t>=v)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,m.data),b=e-+this._y.call(null,m.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);f=t-w,h=e-w,p=t+w,d=e+w,i=m.data}}return i},l.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,c,u,f,h,p=this._root,d=this._x0,g=this._y0,m=this._x1,v=this._y1;if(!p)return this;if(p.length)for(;;){if((c=a>=(s=(d+m)/2))?d=s:m=s,(u=o>=(l=(g+v)/2))?g=l:v=l,e=p,!(p=p[f=u<<1|c]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},l.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},l.visit=function(t){var e,n,i,a,o,s,l=[],c=this._root;for(c&&l.push(new r(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,i=e.x0,a=e.y0,o=e.x1,s=e.y1)&&c.length){var u=(i+o)/2,f=(a+s)/2;(n=c[3])&&l.push(new r(n,u,f,o,s)),(n=c[2])&&l.push(new r(n,i,f,u,s)),(n=c[1])&&l.push(new r(n,u,a,o,f)),(n=c[0])&&l.push(new r(n,i,a,u,f))}return this},l.visitAfter=function(t){var e,n=[],i=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var a=e.node;if(a.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,f=(s+c)/2,h=(l+u)/2;(o=a[0])&&n.push(new r(o,s,l,f,h)),(o=a[1])&&n.push(new r(o,f,l,c,h)),(o=a[2])&&n.push(new r(o,s,h,f,u)),(o=a[3])&&n.push(new r(o,f,h,c,u))}i.push(e)}for(;e=i.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=a,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],146:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e,r,n=0,i=0,a=0,o=1e3,s=0,l=0,c=0,u=\"object\"==typeof performance&&performance.now?performance:Date,f=\"object\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function h(){return l||(f(p),l=u.now()+c)}function p(){l=0}function d(){this._call=this._time=this._next=null}function g(t,e,r){var n=new d;return n.restart(t,e,r),n}function m(){h(),++n;for(var t,r=e;r;)(t=l-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function v(){l=(s=u.now())+c,n=i=0;try{m()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,x(a)}(),l=0}}function y(){var t=u.now(),e=t-s;e>o&&(c-=e,s=t)}function x(t){n||(i&&(i=clearTimeout(i)),t-l>24?(t<1/0&&(i=setTimeout(v,t-u.now()-c)),a&&(a=clearInterval(a))):(a||(s=u.now(),a=setInterval(y,o)),n=1,f(v)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,i){if(\"function\"!=typeof t)throw new TypeError(\"callback is not a function\");i=(null==i?h():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=h,t.timer=g,t.timerFlush=m,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?h():+r,n.restart(function a(o){o+=i,n.restart(a,i+=e,r),t(o)},e,r),n)},Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],147:[function(t,e,r){!function(){var t={version:\"3.5.17\"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(i)try{n(i.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),i)try{i.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+\"\")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+\"\")},u.setProperty=function(t,e,r){f.call(this,t,e+\"\",r)}}function h(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},t.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)d(r=+t[a])&&(n+=r);else for(;++a<i;)d(r=+e.call(t,t[a],a))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)d(r=p(t[a]))?n+=r:--o;else for(;++a<i;)d(r=p(e.call(t,t[a],a)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},t.median=function(e,r){var n,i=[],a=e.length,o=-1;if(1===arguments.length)for(;++o<a;)d(n=p(e[o]))&&i.push(n);else for(;++o<a;)d(n=p(r.call(e,e[o],o)))&&i.push(n);if(i.length)return t.quantile(i.sort(h),.5)},t.variance=function(t,e){var r,n,i=t.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)d(r=p(t[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-a)*(r-(a+=n/++l)));if(l>1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var m=g(h);function v(t){return t.length}t.bisectLeft=m.left,t.bisect=t.bisectRight=m.right,t.bisector=function(t){return g(1===t.length?function(e,r){return h(t(e),r)}:t)},t.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},t.transpose=function(e){if(!(a=e.length))return[];for(var r=-1,n=t.min(e,v),i=new Array(n);++r<n;)for(var a,o=-1,s=i[r]=new Array(a);++o<a;)s[o]=e[o][r];return i},t.zip=function(){return t.transpose(arguments)},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error(\"infinite range\");var n,i=[],a=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},t.map=function(t,e){var r=new b;if(t instanceof b)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var _=\"__proto__\",w=\"\\0\";function k(t){return(t+=\"\")===_||t[0]===w?w+t:t}function M(t){return(t+=\"\")[0]===w?t.slice(1):t}function A(t){return k(t)in this._}function T(t){return(t=k(t))in this._&&delete this._[t]}function S(){var t=[];for(var e in this._)t.push(M(e));return t}function E(){var t=0;for(var e in this._)++t;return t}function C(){for(var t in this._)return!1;return!0}function L(){this._=Object.create(null)}function z(t){return t}function P(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function O(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=I.length;r<n;++r){var i=I[r]+e;if(i in t)return i}}x(b,{has:A,get:function(t){return this._[k(t)]},set:function(t,e){return this._[k(t)]=e},remove:T,keys:S,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:M(e),value:this._[e]});return t},size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,M(e),this._[e])}}),t.nest=function(){var e,r,n={},i=[],a=[];function o(t,a,s){if(s>=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,c,u,f,h=-1,p=a.length,d=i[s++],g=new b;++h<p;)(f=g.get(l=d(c=a[h])))?f.push(c):g.set(l,[c]);return t?(c=t(),u=function(e,r){c.set(e,o(t,r,s))}):(c={},u=function(e,r){c[e]=o(t,r,s)}),g.forEach(u),c}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=i.length)return e;var n=[],o=a[r++];return e.forEach(function(e,i){n.push({key:e,values:t(i,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new L;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},x(L,{has:A,add:function(t){return this._[k(t+=\"\")]=!0,t},remove:T,values:S,size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,M(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=P(t,e,e[r]);return t};var I=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];function D(){}function R(){}function B(t){var e=[],r=new b;function n(){for(var r,n=e,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return t}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,a=e.indexOf(o)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function F(){t.event.preventDefault()}function N(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function j(e){for(var r=new R,n=0,i=arguments.length;++n<i;)r[arguments[n]]=B(r);return r.of=function(n,i){return function(a){try{var o=a.sourceEvent=t.event;a.target=e,t.event=a,r[a.type].apply(n,i)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new R,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=B(t);return t},R.prototype.on=function(t,e){var r=t.indexOf(\".\"),n=\"\";if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(V,\"\\\\$&\")};var V=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},W=function(t,e){var r=t.matches||t[O(t,\"matchesSelector\")];return(W=function(t,e){return r.call(t,e)})(t,e)};\"function\"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,W=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function X(t){return\"function\"==typeof t?t:function(){return H(t,this)}}function Z(t){return\"function\"==typeof t?t:function(){return G(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=X(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&\"__data__\"in i&&(r.__data__=i.__data__)):e.push(null)}return q(a)},Y.selectAll=function(t){var e,r,i=[];t=Z(t);for(var a=-1,o=this.length;++a<o;)for(var s=this[a],l=-1,c=s.length;++l<c;)(r=s[l])&&(i.push(e=n(t.call(r,r.__data__,l,a))),e.parentNode=r);return q(i)};var $=\"http://www.w3.org/1999/xhtml\",J={svg:\"http://www.w3.org/2000/svg\",xhtml:$,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};function K(e,r){return e=t.ns.qualify(e),null==r?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:\"function\"==typeof r?e.local?function(){var t=r.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}:function(){var t=r.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}:e.local?function(){this.setAttributeNS(e.space,e.local,r)}:function(){this.setAttribute(e,r)}}function Q(t){return t.trim().replace(/\\s+/g,\" \")}function tt(e){return new RegExp(\"(?:^|\\\\s+)\"+t.requote(e)+\"(?:\\\\s+|$)\",\"g\")}function et(t){return(t+\"\").trim().split(/^|\\s+/)}function rt(t,e){var r=(t=et(t).map(nt)).length;return\"function\"==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function nt(t){var e=tt(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(\"class\")||\"\";n?(e.lastIndex=0,e.test(i)||r.setAttribute(\"class\",Q(i+\" \"+t))):r.setAttribute(\"class\",Q(i.replace(e,\" \")))}}function it(t,e,r){return null==e?function(){this.style.removeProperty(t)}:\"function\"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function at(t,e){return null==e?function(){delete this[t]}:\"function\"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function ot(e){return\"function\"==typeof e?e:(e=t.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===$&&t.documentElement.namespaceURI===$?t.createElement(e):t.createElementNS(r,e)}}function st(){var t=this.parentNode;t&&t.removeChild(this)}function lt(t){return{__data__:t}}function ct(t){return function(){return W(this,t)}}function ut(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function ft(t){return U(t,ht),t}t.ns={prefix:J,qualify:function(t){var e=t.indexOf(\":\"),r=t;return e>=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),J.hasOwnProperty(r)?{space:J[r],local:t}:t}},Y.attr=function(e,r){if(arguments.length<2){if(\"string\"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(K(r,e[r]));return this}return this.each(K(e,r))},Y.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=et(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(\"class\");++i<n;)if(!tt(t[i]).test(e))return!1;return!0}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},Y.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.each(it(r,t[r],e));return this}if(n<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}r=\"\"}return this.each(it(t,e,r))},Y.property=function(t,e){if(arguments.length<2){if(\"string\"==typeof t)return this.node()[t];for(e in t)this.each(at(e,t[e]));return this}return this.each(at(t,e))},Y.text=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?\"\":e}:null==t?function(){this.textContent=\"\"}:function(){this.textContent=t}):this.node().textContent},Y.html=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?\"\":e}:null==t?function(){this.innerHTML=\"\"}:function(){this.innerHTML=t}):this.node().innerHTML},Y.append=function(t){return t=ot(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Y.insert=function(t,e){return t=ot(t),e=X(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Y.remove=function(){return this.each(st)},Y.data=function(t,e){var r,n,i=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(t[i]=n.__data__);return t}function o(t,r){var n,i,a,o=t.length,u=r.length,f=Math.min(o,u),h=new Array(u),p=new Array(u),d=new Array(o);if(e){var g,m=new b,v=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(m.has(g=e.call(i,i.__data__,n))?d[n]=i:m.set(g,i),v[n]=g);for(n=-1;++n<u;)(i=m.get(g=e.call(r,a=r[n],n)))?!0!==i&&(h[n]=i,i.__data__=a):p[n]=lt(a),m.set(g,!0);for(n=-1;++n<o;)n in v&&!0!==m.get(v[n])&&(d[n]=t[n])}else{for(n=-1;++n<f;)i=t[n],a=r[n],i?(i.__data__=a,h[n]=i):p[n]=lt(a);for(;n<u;++n)p[n]=lt(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=h,p.parentNode=h.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(h),c.push(d)}var s=ft([]),l=q([]),c=q([]);if(\"function\"==typeof t)for(;++i<a;)o(r=this[i],t.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],t);return l.enter=function(){return s},l.exit=function(){return c},l},Y.datum=function(t){return arguments.length?this.property(\"__data__\",t):this.property(\"__data__\")},Y.filter=function(t){var e,r,n,i=[];\"function\"!=typeof t&&(t=ct(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return q(i)},Y.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=function(t){arguments.length||(t=h);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Y.each=function(t){return ut(this,function(e,r,n){t.call(e,e.__data__,r,n)})},Y.call=function(t){var e=n(arguments);return t.apply(e[0]=this,e),this},Y.empty=function(){return!this.node()},Y.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Y.size=function(){var t=0;return ut(this,function(){++t}),t};var ht=[];function pt(e,r,i){var a=\"__on\"+e,o=e.indexOf(\".\"),s=gt;o>0&&(e=e.slice(0,o));var l=dt.get(e);function c(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=mt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:c:r?D:function(){var r,n=new RegExp(\"^__on([^.]+)\"+t.requote(e)+\"$\");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=Y.append,ht.empty=Y.empty,ht.node=Y.node,ht.call=Y.call,ht.size=Y.size,ht.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,u=i.length;++c<u;)(a=i[c])?(e.push(n[c]=r=t.call(i.parentNode,a.__data__,c,s)),r.__data__=a.__data__):e.push(null)}return q(o)},ht.insert=function(t,e){var r,n,i;return arguments.length<2&&(r=this,e=function(t,e,a){var o,s=r[a].update,l=s.length;for(a!=i&&(i=a,n=0),e>=n&&(n=e+1);!(o=s[n])&&++n<l;);return o}),Y.insert.call(this,t,e)},t.select=function(t){var e;return\"string\"==typeof t?(e=[H(t,i)]).parentNode=i.documentElement:(e=[t]).parentNode=a(t),q([e])},t.selectAll=function(t){var e;return\"string\"==typeof t?(e=n(G(t,i))).parentNode=i.documentElement:(e=n(t)).parentNode=null,q([e])},Y.on=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=!1),t)this.each(pt(r,t[r],e));return this}if(n<2)return(n=this.node()[\"__on\"+t])&&n._;r=!1}return this.each(pt(t,e,r))};var dt=t.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});function gt(e,r){return function(n){var i=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=i}}}function mt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}i&&dt.forEach(function(t){\"on\"+t in i&&dt.remove(t)});var vt,yt=0;function xt(e){var r=\".dragsuppress-\"+ ++yt,n=\"click\"+r,i=t.select(o(e)).on(\"touchmove\"+r,F).on(\"dragstart\"+r,F).on(\"selectstart\"+r,F);if(null==vt&&(vt=!(\"onselectstart\"in e)&&O(e.style,\"userSelect\")),vt){var s=a(e).style,l=s[vt];s[vt]=\"none\"}return function(t){if(i.on(r,null),vt&&(s[vt]=l),t){var e=function(){i.on(n,null)};i.on(n,function(){F(),e()},!0),setTimeout(e,0)}}}t.mouse=function(t){return _t(t,N())};var bt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function _t(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();if(bt<0){var a=o(e);if(a.scrollX||a.scrollY){var s=(n=t.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\"))[0][0].getScreenCTM();bt=!(s.f||s.e),n.remove()}}return bt?(i.x=r.pageX,i.y=r.pageY):(i.x=r.clientX,i.y=r.clientY),[(i=i.matrixTransform(e.getScreenCTM().inverse())).x,i.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function wt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=N().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return _t(t,n)},t.behavior.drag=function(){var e=j(a,\"drag\",\"dragstart\",\"dragend\"),r=null,n=s(D,t.mouse,o,\"mousemove\",\"mouseup\"),i=s(wt,t.touch,z,\"touchmove\",\"touchend\");function a(){this.on(\"mousedown.drag\",n).on(\"touchstart.drag\",i)}function s(n,i,a,o,s){return function(){var l,c=t.event.target.correspondingElement||t.event.target,u=this.parentNode,f=e.of(this,arguments),h=0,p=n(),d=\".drag\"+(null==p?\"\":\"-\"+p),g=t.select(a(c)).on(o+d,function(){var t,e,r=i(u,p);if(!r)return;t=r[0]-v[0],e=r[1]-v[1],h|=t|e,v=r,f({type:\"drag\",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e})}).on(s+d,function(){if(!i(u,p))return;g.on(o+d,null).on(s+d,null),m(h),f({type:\"dragend\"})}),m=xt(c),v=i(u,p);l=r?[(l=r.apply(this,arguments)).x-v[0],l.y-v[1]]:[0,0],f({type:\"dragstart\"})}}return a.origin=function(t){return arguments.length?(r=t,a):r},t.rebind(a,e,\"on\")},t.touches=function(t,e){return arguments.length<2&&(e=N().touches),e?n(e).map(function(e){var r=_t(t,e);return r.identifier=e.identifier,r}):[]};var kt=1e-6,Mt=kt*kt,At=Math.PI,Tt=2*At,St=Tt-kt,Et=At/2,Ct=At/180,Lt=180/At;function zt(t){return t>0?1:t<0?-1:0}function Pt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function Ot(t){return t>1?0:t<-1?At:Math.acos(t)}function It(t){return t>1?Et:t<-1?-Et:Math.asin(t)}function Dt(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Bt=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<Mt)n=Math.log(c/o)/Bt,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Bt*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(2*c*2*p),m=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(g*g+1)-g);n=(v-m)/Bt,r=function(t){var e,r=t*n,s=Dt(m),l=o/(2*p)*(s*(e=Bt*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+l*u,a+l*f,o*s/Dt(Bt*r+m)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,c,u,f,h={x:0,y:0,k:1},p=[960,500],d=jt,g=250,m=0,v=\"mousedown.zoom\",y=\"mousemove.zoom\",x=\"mouseup.zoom\",b=\"touchstart.zoom\",_=j(w,\"zoomstart\",\"zoom\",\"zoomend\");function w(t){t.on(v,z).on(Nt+\".zoom\",O).on(\"dblclick.zoom\",I).on(b,P)}function k(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function M(t){h.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function T(e,n,i,a){e.__chart__={x:h.x,y:h.y,k:h.k},M(Math.pow(2,a)),A(r=n,i),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map(function(t){return(t-h.x)/h.k}).map(l.invert)),f&&f.domain(u.range().map(function(t){return(t-h.y)/h.k}).map(u.invert))}function E(t){m++||t({type:\"zoomstart\"})}function C(t){S(),t({type:\"zoom\",scale:h.k,translate:[h.x,h.y]})}function L(t){--m||(t({type:\"zoomend\"}),r=null)}function z(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,function(){n=1,A(t.mouse(e),a),C(r)}).on(x,function(){i.on(y,null).on(x,null),s(n),L(r)}),a=k(t.mouse(e)),s=xt(e);fs.call(e),E(r)}function P(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=\".zoom-\"+t.event.changedTouches[0].identifier,l=\"touchmove\"+o,c=\"touchend\"+o,u=[],f=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=h.k,n.forEach(function(t){t.identifier in i&&(i[t.identifier]=k(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,m).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o<f;++o)i[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var v=p[0];T(r,v,i[v.identifier],Math.floor(Math.log(h.k)/Math.LN2)+1),F()}s=g}else if(p.length>1){v=p[0];var x=p[1],b=v[0]-x[0],_=v[1]-x[1];a=b*b+_*_}}function m(){var o,l,c,u,f=t.touches(r);fs.call(r);for(var h=0,p=f.length;h<p;++h,u=null)if(c=f[h],u=i[c.identifier]){if(l)break;o=c,l=u}if(u){var d=(d=c[0]-o[0])*d+(d=c[1]-o[1])*d,g=a&&Math.sqrt(d/a);o=[(o[0]+c[0])/2,(o[1]+c[1])/2],l=[(l[0]+u[0])/2,(l[1]+u[1])/2],M(g*e)}s=null,A(o,l),C(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,a=e.length;r<a;++r)delete i[e[r].identifier];for(var s in i)return void d()}t.selectAll(u).on(o,null),f.on(v,z).on(b,P),p(),L(n)}g(),E(n),f.on(v,null).on(b,g)}function O(){var i=_.of(this,arguments);a?clearTimeout(a):(fs.call(this),e=k(r=n||t.mouse(this)),E(i)),a=setTimeout(function(){a=null,L(i)},50),F(),M(Math.pow(2,.002*Ft())*h.k),A(r,e),C(i)}function I(){var e=t.mouse(this),r=Math.log(h.k)/Math.LN2;T(this,e,k(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Nt||(Nt=\"onwheel\"in i?(Ft=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in i?(Ft=function(){return t.event.wheelDelta},\"mousewheel\"):(Ft=function(){return-t.event.detail},\"MozMousePixelScroll\")),w.event=function(e){e.each(function(){var e=_.of(this,arguments),n=h;ds?t.select(this).transition().each(\"start.zoom\",function(){h=this.__chart__||{x:0,y:0,k:1},E(e)}).tween(\"zoom:zoom\",function(){var i=p[0],a=p[1],o=r?r[0]:i/2,s=r?r[1]:a/2,l=t.interpolateZoom([(o-h.x)/h.k,(s-h.y)/h.k,i/h.k],[(o-n.x)/n.k,(s-n.y)/n.k,i/n.k]);return function(t){var r=l(t),n=i/r[2];this.__chart__=h={x:o-r[0]*n,y:s-r[1]*n,k:n},C(e)}}).each(\"interrupt.zoom\",function(){L(e)}).each(\"end.zoom\",function(){L(e)}):(this.__chart__=h,E(e),C(e),L(e))})},w.translate=function(t){return arguments.length?(h={x:+t[0],y:+t[1],k:h.k},S(),w):[h.x,h.y]},w.scale=function(t){return arguments.length?(h={x:h.x,y:h.y,k:null},M(+t),S(),w):h.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(n=t&&[+t[0],+t[1]],w):n},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(g=+t,w):g},w.x=function(t){return arguments.length?(c=t,l=t.copy(),h={x:0,y:0,k:1},w):c},w.y=function(t){return arguments.length?(f=t,u=t.copy(),h={x:0,y:0,k:1},w):f},t.rebind(w,_,\"on\")};var Ft,Nt,jt=[0,1/0];function Vt(){}function Ut(t,e,r){return this instanceof Ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof Ut?new Ut(t.h,t.s,t.l):ue(\"\"+t,fe,Ut):new Ut(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+\"\"},t.hsl=Ut;var qt=Ut.prototype=new Vt;function Ht(t,e,r){var n,i;function a(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=he((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Wt=Gt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Ct)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Yt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Wt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,$t=.95047,Jt=1,Kt=1.08883,Qt=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*$t)-1.5371385*(n=re(n)*Jt)-.4985314*(a=re(a)*Kt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Lt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ue(\"\"+t,ae,Ht):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+\"\"}Qt.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},Qt.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},Qt.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ae;var le=ae.prototype=new Vt;function ce(t){return t<16?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\((.*)\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\",\"),n[1]){case\"hsl\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\"rgb\":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ge.get(t))?e(a.r,a.g,a.b):(null==t||\"#\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new Ut(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/$t),i=ne((.2126729*t+.7151522*e+.072175*r)/Jt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Kt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return\"%\"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new ae(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ae(i,i,i)},le.darker=function(t){return new ae((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},le.hsl=function(){return fe(this.r,this.g,this.b)},le.toString=function(){return\"#\"+ce(this.r)+ce(this.g)+ce(this.b)};var ge=t.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});function me(t){return\"function\"==typeof t?t:function(){return t}}function ve(t){return function(e,r,n){return 2===arguments.length&&\"function\"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(e,r,i,a){var o={},s=t.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),l={},c=new XMLHttpRequest,u=null;function f(){var t,e=c.status;if(!e&&function(t){var e=t.responseType;return e&&\"text\"!==e?t.response:t.responseText}(c)||e>=200&&e<300||304===e){try{t=i.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return!this.XDomainRequest||\"withCredentials\"in c||!/^(http(s)?:)?\\/\\//.test(e)||(c=new XDomainRequest),\"onload\"in c?c.onload=c.onerror=f:c.onreadystatechange=function(){c.readyState>3&&f()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+\"\").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+\"\",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+\"\",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return i=t,o},[\"get\",\"post\"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,i){if(2===arguments.length&&\"function\"==typeof n&&(i=n,n=null),c.open(t,e,!0),null==r||\"accept\"in l||(l.accept=r+\",*/*\"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on(\"error\",i).on(\"load\",function(t){i(null,t)}),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,\"on\"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=me,t.xhr=ve(z),t.dsv=function(t,e){var r=new RegExp('[\"'+t+\"\\n]\"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ye(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'\"'+t.replace(/\\\"/g,'\"\"')+'\"':t}return i.parse=function(t,e){var r;return i.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function(\"d\",\"return {\"+t.map(function(t,e){return JSON.stringify(t)+\": d[\"+e+\"]\"}).join(\",\")+\"}\");r=e?function(t,r){return e(i(t),r)}:i})},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,c=0,u=0;function f(){if(c>=l)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return c=r+2,13===(s=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&&++c):10===s&&(i=!0),t.slice(e+1,r).replace(/\"\"/g,'\"')}for(;c<l;){var s,u=1;if(10===(s=t.charCodeAt(c++)))i=!0;else if(13===s)i=!0,10===t.charCodeAt(c)&&(++c,++u);else if(s!==n)continue;return t.slice(e,c-u)}return t.slice(e)}for(;(r=f())!==o;){for(var h=[];r!==a&&r!==o;)h.push(r),r=f();e&&null==(h=e(h,u++))||s.push(h)}return s},i.format=function(e){if(Array.isArray(e[0]))return i.formatRows(e);var r=new L,n=[];return e.forEach(function(t){for(var e in t)r.has(e)||n.push(r.add(e))}),[n.map(l).join(t)].concat(e.map(function(e){return n.map(function(t){return l(e[t])}).join(t)})).join(\"\\n\")},i.formatRows=function(t){return t.map(s).join(\"\\n\")},i},t.csv=t.dsv(\",\",\"text/csv\"),t.tsv=t.dsv(\"\\t\",\"text/tab-separated-values\");var xe,be,_e,we,ke=this[O(this,\"requestAnimationFrame\")]||function(t){setTimeout(t,17)};function Me(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i={c:t,t:r+e,n:null};return be?be.n=i:xe=i,be=i,_e||(we=clearTimeout(we),_e=1,ke(Ae)),i}function Ae(){var t=Te(),e=Se()-t;e>24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,ke(Ae))}function Te(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:xe=e.n;return be=t,r}function Ee(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){Me.apply(this,arguments)},t.timer.flush=function(){Te(),Se()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Ce=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xb5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"].map(function(t,e){var r=Math.pow(10,3*y(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ee(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Ce[8+n/3]};var Le=/(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i,ze=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,Ee(e,r))).toFixed(Math.max(0,Math.min(20,Ee(e*(1+1e-15),r))))}});function Pe(t){return t+\"\"}var Oe=t.time={},Ie=Date;function De(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}De.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Be(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r<n-e?r:n}function i(r){return e(r=t(new Ie(r-1)),1),r}function a(t,r){return e(t=new Ie(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a>1)for(;o<n;)r(o)%a||s.push(new Date(+o)),e(o,1);else for(;o<n;)s.push(new Date(+o)),e(o,1);return s}t.floor=t,t.round=n,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=Fe(t);return s.floor=s,s.round=Fe(n),s.ceil=Fe(i),s.offset=Fe(a),s.range=function(t,e,r){try{Ie=De;var n=new De;return n._=t,o(n,e,r)}finally{Ie=Date}},t}function Fe(t){return function(e,r){try{Ie=De;var n=new De;return n._=e,t(n,r)._}finally{Ie=Date}}}Oe.year=Be(function(t){return(t=Oe.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),Oe.years=Oe.year.range,Oe.years.utc=Oe.year.utc.range,Oe.day=Be(function(t){var e=new Ie(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),Oe.days=Oe.day.range,Oe.days.utc=Oe.day.utc.range,Oe.dayOfYear=function(t){var e=Oe.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},[\"sunday\",\"monday\",\"tuesday\",\"wednesday\",\"thursday\",\"friday\",\"saturday\"].forEach(function(t,e){e=7-e;var r=Oe[t]=Be(function(t){return(t=Oe.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var r=Oe.year(t).getDay();return Math.floor((Oe.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});Oe[t+\"s\"]=r.range,Oe[t+\"s\"].utc=r.utc.range,Oe[t+\"OfYear\"]=function(t){var r=Oe.year(t).getDay();return Math.floor((Oe.dayOfYear(t)+(r+e)%7)/7)}}),Oe.week=Oe.sunday,Oe.weeks=Oe.sunday.range,Oe.weeks.utc=Oe.sunday.utc.range,Oe.weekOfYear=Oe.sundayOfYear;var Ne={\"-\":\"\",_:\" \",0:\"0\"},je=/^\\s*\\d+/,Ve=/^%/;function Ue(t,e,r){var n=t<0?\"-\":\"\",i=(n?-t:t)+\"\",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function qe(e){return new RegExp(\"^(?:\"+e.map(t.requote).join(\"|\")+\")\",\"i\")}function He(t){for(var e=new b,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Ge(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function We(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Ye(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Xe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Ze(t,e,r){je.lastIndex=0;var n,i=je.exec(e.slice(r,r+2));return i?(t.y=(n=+i[0])+(n>68?1900:2e3),r+i[0].length):-1}function $e(t,e,r){return/^[+-]\\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Je(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ir(t){var e=t.getTimezoneOffset(),r=e>0?\"-\":\"+\",n=y(e)/60|0,i=y(e)%60;return r+Ue(n,\"0\",2)+Ue(i,\"0\",2)}function ar(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r<e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}t.locale=function(e){return{numberFormat:function(e){var r=e.decimal,n=e.thousands,i=e.grouping,a=e.currency,o=i&&n?function(t,e){for(var r=t.length,a=[],o=0,s=i[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:z;return function(e){var n=Le.exec(e),i=n[1]||\" \",s=n[2]||\">\",l=n[3]||\"-\",c=n[4]||\"\",u=n[5],f=+n[6],h=n[7],p=n[8],d=n[9],g=1,m=\"\",v=\"\",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||\"0\"===i&&\"=\"===s)&&(u=i=\"0\",s=\"=\"),d){case\"n\":h=!0,d=\"g\";break;case\"%\":g=100,v=\"%\",d=\"f\";break;case\"p\":g=100,v=\"%\",d=\"r\";break;case\"b\":case\"o\":case\"x\":case\"X\":\"#\"===c&&(m=\"0\"+d.toLowerCase());case\"c\":x=!1;case\"d\":y=!0,p=0;break;case\"s\":g=-1,d=\"r\"}\"$\"===c&&(m=a[0],v=a[1]),\"r\"!=d||p||(d=\"g\"),null!=p&&(\"g\"==d?p=Math.max(1,Math.min(21,p)):\"e\"!=d&&\"f\"!=d||(p=Math.max(0,Math.min(20,p)))),d=ze.get(d)||Pe;var b=u&&h;return function(e){var n=v;if(y&&e%1)return\"\";var a=e<0||0===e&&1/e<0?(e=-e,\"-\"):\"-\"===l?\"\":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+v}else e*=g;var _,w,k=(e=d(e,p)).lastIndexOf(\".\");if(k<0){var M=x?e.lastIndexOf(\"e\"):-1;M<0?(_=e,w=\"\"):(_=e.substring(0,M),w=e.substring(M))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&h&&(_=o(_,1/0));var A=m.length+_.length+w.length+(b?0:a.length),T=A<f?new Array(A=f-A+1).join(i):\"\";return b&&(_=o(T+_,T.length?f-w.length:1/0)),a+=m,e=_+w,(\"<\"===s?a+e+T:\">\"===s?T+a+e:\"^\"===s?T.substring(0,A>>=1)+a+e+T.substring(A):a+(b?e:T+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,i=e.time,a=e.periods,o=e.days,s=e.shortDays,l=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,i,a,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(a=_[n])&&(n=a(r,null==i?\"e\"===n?\" \":\"0\":i)),o.push(n),l=s+1);return o.push(t.slice(l,s)),o.join(\"\")}return r.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(f(r,t,e,0)!=e.length)return null;\"p\"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&Ie!==De,i=new(n?De:Ie);return\"j\"in r?i.setFullYear(r.y,0,r.j):\"W\"in r||\"U\"in r?(\"w\"in r||(r.w=\"W\"in r?1:0),i.setFullYear(r.y,0,1),i.setFullYear(r.y,0,\"W\"in r?(r.w+6)%7+7*r.W-(i.getDay()+5)%7:r.w+7*r.U-(i.getDay()+6)%7)):i.setFullYear(r.y,r.m,r.d),i.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?i._:i},r.toString=function(){return t},r}function f(t,e,r,n){for(var i,a,o,s=0,l=e.length,c=r.length;s<l;){if(n>=c)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=w[o in Ne?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(Ie=De);return r._=t,e(r)}finally{Ie=Date}}return r.parse=function(t){try{Ie=De;var r=e.parse(t);return r&&r._}finally{Ie=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var h=t.map(),p=qe(o),d=He(o),g=qe(s),m=He(s),v=qe(l),y=He(l),x=qe(c),b=He(c);a.forEach(function(t,e){h.set(t.toLowerCase(),e)});var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+Oe.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return a[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(Oe.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(Oe.mondayOfYear(t),e,2)},x:u(n),X:u(i),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ir,\"%\":function(){return\"%\"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=m.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){v.lastIndex=0;var n=v.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return f(t,_.c.toString(),e,r)},d:Ke,e:Ke,H:tr,I:tr,j:Qe,L:nr,m:Je,M:er,p:function(t,e,r){var n=h.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:We,w:Ge,W:Ye,x:function(t,e,r){return f(t,_.x.toString(),e,r)},X:function(t,e,r){return f(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:$e,\"%\":ar};return u}(e)}};var sr=t.locale({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],dateTime:\"%a %b %e %X %Y\",date:\"%m/%d/%Y\",time:\"%H:%M:%S\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){ur(t,this.t,cr),ur(cr.s,this.s,this),this.s?this.t+=cr.t:this.s=cr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cr=new lr;function ur(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function fr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&hr.hasOwnProperty(t.type)?hr[t.type](t,e):fr(t,e)};var hr={Feature:function(t,e){fr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)fr(r[n].geometry,e)}},pr={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){dr(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)fr(r[n],e)}};function dr(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function gr(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)dr(t[r],e,1);e.polygonEnd()}t.geo.area=function(e){return mr=0,t.geo.stream(e,Cr),mr};var mr,vr,yr,xr,br,_r,wr,kr,Mr,Ar,Tr,Sr,Er=new lr,Cr={sphere:function(){mr+=4*At},point:D,lineStart:D,lineEnd:D,polygonStart:function(){Er.reset(),Cr.lineStart=Lr},polygonEnd:function(){var t=2*Er;mr+=t<0?4*At+t:t,Cr.lineStart=Cr.lineEnd=Cr.point=D}};function Lr(){var t,e,r,n,i;function a(t,e){e=e*Ct/2+At/4;var a=(t*=Ct)-r,o=a>=0?1:-1,s=o*a,l=Math.cos(e),c=Math.sin(e),u=i*c,f=n*l+u*Math.cos(s),h=u*o*Math.sin(s);Er.add(Math.atan2(h,f)),r=t,n=l,i=c}Cr.point=function(o,s){Cr.point=a,r=(t=o)*Ct,n=Math.cos(s=(e=s)*Ct/2+At/4),i=Math.sin(s)},Cr.lineEnd=function(){a(t,e)}}function zr(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Pr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Or(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Ir(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Dr(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Br(t){return[Math.atan2(t[1],t[0]),It(t[2])]}function Fr(t,e){return y(t[0]-e[0])<kt&&y(t[1]-e[1])<kt}t.geo.bounds=function(){var e,r,n,i,a,o,s,l,c,u,f,h={point:p,lineStart:g,lineEnd:m,polygonStart:function(){h.point=v,h.lineStart=x,h.lineEnd=b,c=0,Cr.polygonStart()},polygonEnd:function(){Cr.polygonEnd(),h.point=p,h.lineStart=g,h.lineEnd=m,Er<0?(e=-(n=180),r=-(i=90)):c>kt?i=90:c<-kt&&(r=-90),f[0]=e,f[1]=n}};function p(t,a){u.push(f=[e=t,n=t]),a<r&&(r=a),a>i&&(i=a)}function d(t,o){var s=zr([t*Ct,o*Ct]);if(l){var c=Or(l,s),u=Or([c[1],-c[0],0],c);Rr(u),u=Br(u);var f=t-a,h=f>0?1:-1,d=u[0]*Lt*h,g=y(f)>180;if(g^(h*a<d&&d<h*t))(m=u[1]*Lt)>i&&(i=m);else if(g^(h*a<(d=(d+360)%360-180)&&d<h*t)){var m;(m=-u[1]*Lt)<r&&(r=m)}else o<r&&(r=o),o>i&&(i=o);g?t<a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,a=t}function g(){h.point=d}function m(){f[0]=e,f[1]=n,h.point=p,l=null}function v(t,e){if(l){var r=t-a;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Cr.point(t,e),d(t,e)}function x(){Cr.lineStart()}function b(){v(o,s),Cr.lineEnd(),y(c)>kt&&(e=-(n=180)),f[0]=e,f[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(a){if(i=n=-(e=r=1/0),u=[],t.geo.stream(a,h),c=u.length){u.sort(w);for(var o=1,s=[g=u[0]];o<c;++o)k((p=u[o])[0],g)||k(p[1],g)?(_(g[0],p[1])>_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=f=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){vr=yr=xr=br=_r=wr=kr=Mr=Ar=Tr=Sr=0,t.geo.stream(e,Nr);var r=Ar,n=Tr,i=Sr,a=r*r+n*n+i*i;return a<Mt&&(r=wr,n=kr,i=Mr,yr<kt&&(r=xr,n=br,i=_r),(a=r*r+n*n+i*i)<Mt)?[NaN,NaN]:[Math.atan2(n,r)*Lt,It(i/Math.sqrt(a))*Lt]};var Nr={sphere:D,point:jr,lineStart:Ur,lineEnd:qr,polygonStart:function(){Nr.lineStart=Hr},polygonEnd:function(){Nr.lineStart=Ur}};function jr(t,e){t*=Ct;var r=Math.cos(e*=Ct);Vr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Vr(t,e,r){xr+=(t-xr)/++vr,br+=(e-br)/vr,_r+=(r-_r)/vr}function Ur(){var t,e,r;function n(n,i){n*=Ct;var a=Math.cos(i*=Ct),o=a*Math.cos(n),s=a*Math.sin(n),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=e*l-r*s)*c+(c=r*o-t*l)*c+(c=t*s-e*o)*c),t*o+e*s+r*l);yr+=c,wr+=c*(t+(t=o)),kr+=c*(e+(e=s)),Mr+=c*(r+(r=l)),Vr(t,e,r)}Nr.point=function(i,a){i*=Ct;var o=Math.cos(a*=Ct);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(a),Nr.point=n,Vr(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,i;function a(t,e){t*=Ct;var a=Math.cos(e*=Ct),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(e),c=n*l-i*s,u=i*o-r*l,f=r*s-n*o,h=Math.sqrt(c*c+u*u+f*f),p=r*o+n*s+i*l,d=h&&-Ot(p)/h,g=Math.atan2(h,p);Ar+=d*c,Tr+=d*u,Sr+=d*f,yr+=g,wr+=g*(r+(r=o)),kr+=g*(n+(n=s)),Mr+=g*(i+(i=l)),Vr(r,n,i)}Nr.point=function(o,s){t=o,e=s,Nr.point=a,o*=Ct;var l=Math.cos(s*=Ct);r=l*Math.cos(o),n=l*Math.sin(o),i=Math.sin(s),Vr(r,n,i)},Nr.lineEnd=function(){a(t,e),Nr.lineEnd=qr,Nr.point=jr}}function Gr(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return(r=e.invert(r,n))&&t.invert(r[0],r[1])}),r}function Wr(){return!0}function Yr(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Fr(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new Zr(r,t,null,!0),c=new Zr(r,null,l,!1);l.o=c,a.push(l),o.push(c),l=new Zr(n,t,null,!1),c=new Zr(n,null,l,!0),l.o=c,a.push(l),o.push(c)}}}),o.sort(e),Xr(a),Xr(o),a.length){for(var s=0,l=r,c=o.length;s<c;++s)o[s].e=l=!l;for(var u,f,h=a[0];;){for(var p=h,d=!0;p.v;)if((p=p.n)===h)return;u=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,c=u.length;s<c;++s)i.point((f=u[s])[0],f[1]);else n(p.x,p.n.x,1,i);p=p.n}else{if(d)for(s=(u=p.p.z).length-1;s>=0;--s)i.point((f=u[s])[0],f[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function Zr(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function $r(e,r,n,i){return function(a,o){var s,l=r(o),c=a.invert(i[0],i[1]),u={point:f,lineStart:p,lineEnd:d,polygonStart:function(){u.point=b,u.lineStart=_,u.lineEnd=w,s=[],g=[]},polygonEnd:function(){u.point=f,u.lineStart=p,u.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Er.reset();for(var s=0,l=e.length;s<l;++s){var c=e[s],u=c.length;if(u)for(var f=c[0],h=f[0],p=f[1]/2+At/4,d=Math.sin(p),g=Math.cos(p),m=1;;){m===u&&(m=0);var v=(t=c[m])[0],y=t[1]/2+At/4,x=Math.sin(y),b=Math.cos(y),_=v-h,w=_>=0?1:-1,k=w*_,M=k>At,A=d*x;if(Er.add(Math.atan2(A*w*Math.sin(k),g*b+A*Math.cos(k))),a+=M?_+w*Tt:_,M^h>=r^v>=r){var T=Or(zr(f),zr(t));Rr(T);var S=Or(i,T);Rr(S);var E=(M^_>=0?-1:1)*It(S[2]);(n>E||n===E&&(T[0]||T[1]))&&(o+=M^_>=0?1:-1)}if(!m++)break;h=v,d=x,g=b,f=t}}return(a<-kt||a<kt&&Er<-kt)^1&o}(c,g);s.length?(x||(o.polygonStart(),x=!0),Yr(s,Qr,e,n,o)):e&&(x||(o.polygonStart(),x=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),s=g=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function f(t,r){var n=a(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function h(t,e){var r=a(t,e);l.point(r[0],r[1])}function p(){u.point=h,l.lineStart()}function d(){u.point=f,l.lineEnd()}var g,m,v=Kr(),y=r(v),x=!1;function b(t,e){m.push([t,e]);var r=a(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),m=[]}function w(){b(m[0][0],m[0][1]),y.lineEnd();var t,e=y.clean(),r=v.buffer(),n=r.length;if(m.pop(),g.push(m),m=null,n)if(1&e){var i,a=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a<n;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Jr))}return u}}function Jr(t){return t.length>1}function Kr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:D,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function Qr(t,e){return((t=t.x)[0]<0?t[1]-Et-kt:Et-t[1])-((e=e.x)[0]<0?e[1]-Et-kt:Et-e[1])}var tn=$r(Wr,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?At:-At,l=y(a-r);y(l-At)<kt?(t.point(r,n=(n+o)/2>0?Et:-Et),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=At&&(y(r-i)<kt&&(r-=i*kt),y(a-s)<kt&&(a-=s*kt),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return y(o)>kt?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var i;if(null==t)i=r*Et,n.point(-At,i),n.point(0,i),n.point(At,i),n.point(At,0),n.point(At,-i),n.point(0,-i),n.point(-At,-i),n.point(-At,0),n.point(-At,i);else if(y(t[0]-e[0])>kt){var a=t[0]<e[0]?At:-At;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])},[-At,-At/2]);function en(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,c=o.y,u=0,f=1,h=s.x-l,p=s.y-c;if(a=t-l,h||!(a>0)){if(a/=h,h<0){if(a<u)return;a<f&&(f=a)}else if(h>0){if(a>f)return;a>u&&(u=a)}if(a=r-l,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>u&&(u=a)}else if(h>0){if(a<u)return;a<f&&(f=a)}if(a=e-c,p||!(a>0)){if(a/=p,p<0){if(a<u)return;a<f&&(f=a)}else if(p>0){if(a>f)return;a>u&&(u=a)}if(a=n-c,p||!(a<0)){if(a/=p,p<0){if(a>f)return;a>u&&(u=a)}else if(p>0){if(a<u)return;a<f&&(f=a)}return u>0&&(i.a={x:l+u*h,y:c+u*p}),f<1&&(i.b={x:l+f*h,y:c+f*p}),i}}}}}}var rn=1e9;function nn(e,r,n,i){return function(l){var c,u,f,h,p,d,g,m,v,y,x,b=l,_=Kr(),w=en(e,r,n,i),k={point:T,lineStart:function(){k.point=S,u&&u.push(f=[]);y=!0,v=!1,g=m=NaN},lineEnd:function(){c&&(S(h,p),d&&v&&_.rejoin(),c.push(_.buffer()));k.point=T,v&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],i=0;i<r;++i)for(var a,o=1,s=u[i],l=s.length,c=s[0];o<l;++o)a=s[o],c[1]<=n?a[1]>n&&Pt(c,a,t)>0&&++e:a[1]<=n&&Pt(c,a,t)<0&&--e,c=a;return 0!==e}([e,i]),n=x&&r,a=c.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),M(null,null,1,l),l.lineEnd()),a&&Yr(c,o,r,M,l),l.polygonEnd()),c=u=f=null}};function M(t,o,l,c){var u=0,f=0;if(null==t||(u=a(t,l))!==(f=a(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?i:r)}while((u=(u+l+4)%4)!==f);else c.point(o[0],o[1])}function A(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function T(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(u&&f.push([t,e]),y)h=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&v)l.point(t,e);else{var n={a:{x:g,y:m},b:{x:t,y:e}};w(n)?(v||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,m=e,v=r}return k};function a(t,i){return y(t[0]-e)<kt?i>0?0:3:y(t[0]-n)<kt?i>0?2:1:y(t[1]-r)<kt?i>0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function an(t){var e=0,r=At/3,n=Cn(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*At/180,r=t[1]*At/180):[e/At*180,r/At*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,It((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,i,a=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return c.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},c.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},c.precision=function(t){return arguments.length?(a.precision(t),o.precision(t),s.precision(t),c):a.precision()},c.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),c.translate(a.translate())):a.scale()},c.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),u=+t[0],f=+t[1];return r=a.translate(t).clipExtent([[u-.455*e,f-.238*e],[u+.455*e,f+.238*e]]).stream(l).point,n=o.translate([u-.307*e,f+.201*e]).clipExtent([[u-.425*e+kt,f+.12*e+kt],[u-.214*e-kt,f+.234*e-kt]]).stream(l).point,i=s.translate([u-.205*e,f+.212*e]).clipExtent([[u-.214*e+kt,f+.166*e+kt],[u-.115*e-kt,f+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,fn,hn,pn={point:D,lineStart:D,lineEnd:D,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=D,sn+=y(ln/2)}};function dn(){var t,e,r,n;function i(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(a,o){pn.point=i,t=r=a,e=n=o},pn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){t<cn&&(cn=t);t>fn&&(fn=t);e<un&&(un=e);e>hn&&(hn=e)},lineStart:D,lineEnd:D,polygonStart:D,polygonEnd:D};function mn(){var t=vn(4.5),e=[],r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=vn(e),r},result:function(){if(e.length){var t=e.join(\"\");return e=[],t}}};function n(r,n){e.push(\"M\",r,\",\",n,t)}function i(t,n){e.push(\"M\",t,\",\",n),r.point=a}function a(t,r){e.push(\"L\",t,\",\",r)}function o(){r.point=n}function s(){e.push(\"Z\")}return r}function vn(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}var yn,xn={point:bn,lineStart:_n,lineEnd:wn,polygonStart:function(){xn.lineStart=kn},polygonEnd:function(){xn.point=bn,xn.lineStart=_n,xn.lineEnd=wn}};function bn(t,e){xr+=t,br+=e,++_r}function _n(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,kr+=o*(e+n)/2,Mr+=o,bn(t=r,e=n)}xn.point=function(n,i){xn.point=r,bn(t=n,e=i)}}function wn(){xn.point=bn}function kn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,kr+=o*(n+e)/2,Mr+=o,Ar+=(o=n*t-r*e)*(r+t),Tr+=o*(n+e),Sr+=3*o,bn(r=t,n=e)}xn.point=function(a,o){xn.point=i,bn(t=r=a,e=n=o)},xn.lineEnd=function(){i(t,e)}}function Mn(t){var e=4.5,r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:D};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,Tt)}function i(e,n){t.moveTo(e,n),r.point=a}function a(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function An(t){var e=.5,r=Math.cos(30*Ct),n=16;function i(e){return(n?function(e){var r,i,o,s,l,c,u,f,h,p,d,g,m={point:v,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),m.lineStart=_},polygonEnd:function(){e.polygonEnd(),m.lineStart=y}};function v(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){f=NaN,m.point=x,e.lineStart()}function x(r,i){var o=zr([r,i]),s=t(r,i);a(f,h,u,p,d,g,f=s[0],h=s[1],u=r,p=o[0],d=o[1],g=o[2],n,e),e.point(f,h)}function b(){m.point=v,e.lineEnd()}function _(){y(),m.point=w,m.lineEnd=k}function w(t,e){x(r=t,e),i=f,o=h,s=p,l=d,c=g,m.point=x}function k(){a(f,h,u,p,d,g,i,o,r,s,l,c,n,e),m.lineEnd=b,b()}return m}:function(e){return Sn(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function a(n,i,o,s,l,c,u,f,h,p,d,g,m,v){var x=u-n,b=f-i,_=x*x+b*b;if(_>4*e&&m--){var w=s+p,k=l+d,M=c+g,A=Math.sqrt(w*w+k*k+M*M),T=Math.asin(M/=A),S=y(y(M)-1)<kt||y(o-h)<kt?(o+h)/2:Math.atan2(k,w),E=t(S,T),C=E[0],L=E[1],z=C-n,P=L-i,O=b*z-x*P;(O*O/_>e||y((x*z+b*P)/_-.5)>.3||s*p+l*d+c*g<r)&&(a(n,i,o,s,l,c,C,L,S,w/=A,k/=A,M,m,v),v.point(C,L),a(C,L,S,w,k,M,u,f,h,p,d,g,m,v))}}return i.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,i):Math.sqrt(e)},i}function Tn(t){this.stream=t}function Sn(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function En(t){return Cn(function(){return t})()}function Cn(e){var r,n,i,a,o,s,l=An(function(t,e){return[(t=r(t,e))[0]*c+a,o-t[1]*c]}),c=150,u=480,f=250,h=0,p=0,d=0,g=0,m=0,v=tn,x=z,b=null,_=null;function w(t){return[(t=i(t[0]*Ct,t[1]*Ct))[0]*c+a,o-t[1]*c]}function k(t){return(t=i.invert((t[0]-a)/c,(o-t[1])/c))&&[t[0]*Lt,t[1]*Lt]}function M(){i=Gr(n=On(d,g,m),r);var t=r(h,p);return a=u-t[0]*c,o=f+t[1]*c,A()}function A(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=Ln(v(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(v=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return $r(i,function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(f,h){var p,d=[f,h],g=i(f,h),m=r?g?0:o(f,h):g?o(f+(f<0?At:-At),h):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=a(e,d),(Fr(e,p)||Fr(d,p))&&(d[0]+=kt,d[1]+=kt,g=i(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var v;m&s||!(v=a(d,e,!0))||(u=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!g||e&&Fr(e,d)||t.point(d[0],d[1]),e=d,l=g,s=m},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}},Bn(t,6*Ct),r?[0,-t]:[-At,t-At]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=Or(zr(t),zr(r)),o=Pr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,f=Or(i,a),h=Dr(i,c);Ir(h,Dr(a,u));var p=f,d=Pr(h,p),g=Pr(p,p),m=d*d-g*(Pr(h,h)-1);if(!(m<0)){var v=Math.sqrt(m),x=Dr(p,(-d-v)/g);if(Ir(x,h),x=Br(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],M=r[1];w<_&&(b=_,_=w,w=b);var A=w-_,T=y(A-At)<kt;if(!T&&M<k&&(b=k,k=M,M=b),T||A<kt?T?k+M>0^x[1]<(y(x[0]-_)<kt?k:M):k<=x[1]&&x[1]<=M:A>At^(_<=x[0]&&x[0]<=w)){var S=Dr(p,(-d+v)/g);return Ir(S,h),[x,Br(S)]}}}function o(e,n){var i=r?t:At-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}((b=+t)*Ct),A()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):z,A()):_},w.scale=function(t){return arguments.length?(c=+t,M()):c},w.translate=function(t){return arguments.length?(u=+t[0],f=+t[1],M()):[u,f]},w.center=function(t){return arguments.length?(h=t[0]%360*Ct,p=t[1]%360*Ct,M()):[h*Lt,p*Lt]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Ct,g=t[1]%360*Ct,m=t.length>2?t[2]%360*Ct:0,M()):[d*Lt,g*Lt,m*Lt]},t.rebind(w,l,\"precision\"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,M()}}function Ln(t){return Sn(t,function(e,r){t.point(e*Ct,r*Ct)})}function zn(t,e){return[t,e]}function Pn(t,e){return[t>At?t-Tt:t<-At?t+Tt:t,e]}function On(t,e,r){return t?e||r?Gr(Dn(t),Rn(e,r)):Dn(t):e||r?Rn(e,r):Pn}function In(t){return function(e,r){return[(e+=t)>At?e-Tt:e<-At?e+Tt:e,r]}}function Dn(t){var e=In(t);return e.invert=In(-t),e}function Rn(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*i-u*a,s*r-c*n),It(u*i+l*a)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*i-l*a;return[Math.atan2(l*i+c*a,s*r+u*n),It(u*r-s*n)]},o}function Bn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Fn(r,i),a=Fn(r,a),(o>0?i<a:i>a)&&(i+=o*Tt)):(i=t+o*Tt,a=t-.5*l);for(var c,u=i;o>0?u>a:u<a;u-=l)s.point((c=Br([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Fn(t,e){var r=zr(e);r[0]-=t,Rr(r);var n=Ot(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-kt)%(2*Math.PI)}function Nn(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map(function(e){return[t,e]})}}function jn(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map(function(e){return[e,t]})}}function Vn(t){return t.source}function Un(t){return t.target}t.geo.path=function(){var e,r,n,i,a,o=4.5;function s(e){return e&&(\"function\"==typeof o&&i.pointRadius(+o.apply(this,arguments)),a&&a.valid||(a=n(i)),t.geo.stream(e,a)),i.result()}function l(){return a=null,s}return s.area=function(e){return sn=0,t.geo.stream(e,n(pn)),sn},s.centroid=function(e){return xr=br=_r=wr=kr=Mr=Ar=Tr=Sr=0,t.geo.stream(e,n(xn)),Sr?[Ar/Sr,Tr/Sr]:Mr?[wr/Mr,kr/Mr]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return fn=hn=-(cn=un=1/0),t.geo.stream(e,n(gn)),[[cn,un],[fn,hn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||(r=t,i=An(function(t,e){return r([t*Lt,e*Lt])}),function(t){return Ln(i(t))}):z,l()):e;var r,i},s.context=function(t){return arguments.length?(i=null==(r=t)?new mn:new Mn(t),\"function\"!=typeof o&&i.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o=\"function\"==typeof t?t:(i.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new Tn(e);for(var n in t)r[n]=t[n];return r}}},Tn.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},t.geo.projection=En,t.geo.projectionMutator=Cn,(t.geo.equirectangular=function(){return En(zn)}).raw=zn.invert=zn,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e}return t=On(t[0]%360*Ct,t[1]*Ct,t.length>2?t[2]*Ct:0),e.invert=function(e){return(e=t.invert(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e},e},Pn.invert=zn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t=\"function\"==typeof r?r.apply(this,arguments):r,n=On(-t[0]*Ct,-t[1]*Ct,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Lt,t[1]*=Lt}}),{type:\"Polygon\",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=Bn((t=+r)*Ct,n*Ct),i):t},i.precision=function(r){return arguments.length?(e=Bn(t*Ct,(n=+r)*Ct),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ct,i=t[1]*Ct,a=e[1]*Ct,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),c=Math.cos(i),u=Math.sin(a),f=Math.cos(a);return Math.atan2(Math.sqrt((r=f*o)*r+(r=c*u-l*f*s)*r),l*u+c*f*s)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,c,u,f,h,p=10,d=p,g=90,m=360,v=2.5;function x(){return{type:\"MultiLineString\",coordinates:b()}}function b(){return t.range(Math.ceil(i/g)*g,n,g).map(f).concat(t.range(Math.ceil(l/m)*m,s,m).map(h)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>kt}).map(c)).concat(t.range(Math.ceil(o/d)*d,a,d).filter(function(t){return y(t%m)>kt}).map(u))}return x.lines=function(){return b().map(function(t){return{type:\"LineString\",coordinates:t}})},x.outline=function(){return{type:\"Polygon\",coordinates:[f(i).concat(h(s).slice(1),f(n).reverse().slice(1),h(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(v)):[[i,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),x.precision(v)):[[r,o],[e,a]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],m=+t[1],x):[g,m]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(v=+t,c=Nn(o,a,90),u=jn(r,e,v),f=Nn(l,s,90),h=jn(i,n,v),x):v},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Vn,i=Un;function a(){return{type:\"LineString\",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e=\"function\"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r=\"function\"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Ct,n=t[1]*Ct,i=e[0]*Ct,a=e[1]*Ct,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),c=Math.sin(a),u=o*Math.cos(r),f=o*Math.sin(r),h=l*Math.cos(i),p=l*Math.sin(i),d=2*Math.asin(Math.sqrt(Rt(a-n)+o*l*Rt(i-r))),g=1/Math.sin(d),(m=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*h,i=r*f+e*p,a=r*s+e*c;return[Math.atan2(i,n)*Lt,Math.atan2(a,Math.sqrt(n*n+i*i))*Lt]}:function(){return[r*Lt,n*Lt]}).distance=d,m;var r,n,i,a,o,s,l,c,u,f,h,p,d,g,m},t.geo.length=function(e){return yn=0,t.geo.stream(e,qn),yn};var qn={sphere:D,point:D,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Ct),o=Math.cos(i),s=y((n*=Ct)-t),l=Math.cos(s);yn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}qn.point=function(i,a){t=i*Ct,e=Math.sin(a*=Ct),r=Math.cos(a),qn.point=n},qn.lineEnd=function(){qn.point=qn.lineEnd=D}},lineEnd:D,polygonStart:D,polygonEnd:D};function Hn(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}var Gn=Hn(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return En(Gn)}).raw=Gn;var Wn=Hn(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},z);function Yn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(At/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return $n;function o(t,e){a>0?e<-Et+kt&&(e=-Et+kt):e>Et-kt&&(e=Et-kt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=zt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-Et]},o}function Xn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)<kt)return zn;function a(t,e){var r=i-e;return[r*Math.sin(n*t),i-r*Math.cos(n*t)]}return a.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,i-zt(n)*Math.sqrt(t*t+r*r)]},a}(t.geo.azimuthalEquidistant=function(){return En(Wn)}).raw=Wn,(t.geo.conicConformal=function(){return an(Yn)}).raw=Yn,(t.geo.conicEquidistant=function(){return an(Xn)}).raw=Xn;var Zn=Hn(function(t){return 1/t},Math.atan);function $n(t,e){return[t,Math.log(Math.tan(At/4+e/2))]}function Jn(t){var e,r=En(t),n=r.scale,i=r.translate,a=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=At*n(),l=i();a([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}(t.geo.gnomonic=function(){return En(Zn)}).raw=Zn,$n.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Et]},(t.geo.mercator=function(){return Jn($n)}).raw=$n;var Kn=Hn(function(){return 1},Math.asin);(t.geo.orthographic=function(){return En(Kn)}).raw=Kn;var Qn=Hn(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function ti(t,e){return[Math.log(Math.tan(At/4+e/2)),-t]}function ei(t){return t[0]}function ri(t){return t[1]}function ni(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&Pt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ii(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return En(Qn)}).raw=Qn,ti.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Et]},(t.geo.transverseMercator=function(){var t=Jn(ti),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ti,t.geom={},t.geom.hull=function(t){var e=ei,r=ri;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=me(e),a=me(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(s.sort(ii),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var c=ni(s),u=ni(l),f=u[0]===c[0],h=u[u.length-1]===c[c.length-1],p=[];for(n=c.length-1;n>=0;--n)p.push(t[s[c[n]][2]]);for(n=+f;n<u.length-h;++n)p.push(t[s[u[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},t.geom.polygon=function(t){return U(t,ai),t};var ai=t.geom.polygon.prototype=[];function oi(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function si(t,e,r,n){var i=t[0],a=r[0],o=e[0]-i,s=n[0]-a,l=t[1],c=r[1],u=e[1]-l,f=n[1]-c,h=(s*(l-c)-f*(i-a))/(f*o-s*u);return[i+h*o,l+h*u]}function li(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}ai.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},ai.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},ai.clip=function(t){for(var e,r,n,i,a,o,s=li(t),l=-1,c=this.length-li(this),u=this[c-1];++l<c;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)oi(o=e[r],u,i)?(oi(a,u,i)||t.push(si(a,o,u,i)),t.push(o)):oi(a,u,i)&&t.push(si(a,o,u,i)),a=o;s&&t.push(t[0]),u=i}return t};var ci,ui,fi,hi,pi,di=[],gi=[];function mi(){Ii(this),this.edge=this.site=this.circle=null}function vi(t){var e=di.pop()||new mi;return e.site=t,e}function yi(t){Si(t),fi.remove(t),di.push(t),Ii(t)}function xi(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];yi(t);for(var l=a;l.circle&&y(r-l.circle.x)<kt&&y(n-l.circle.cy)<kt;)a=l.P,s.unshift(l),yi(l),l=a;s.unshift(l),Si(l);for(var c=o;c.circle&&y(r-c.circle.x)<kt&&y(n-c.circle.cy)<kt;)o=c.N,s.push(c),yi(c),c=o;s.push(c),Si(c);var u,f=s.length;for(u=1;u<f;++u)c=s[u],l=s[u-1],zi(c.edge,l.site,c.site,i);l=s[0],(c=s[f-1]).edge=Li(l.site,c.site,null,i),Ti(l),Ti(c)}function bi(t){for(var e,r,n,i,a=t.x,o=t.y,s=fi._;s;)if((n=_i(s,o)-a)>kt)s=s.L;else{if(!((i=a-wi(s,o))>kt)){n>-kt?(e=s.P,r=s):i>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=vi(t);if(fi.insert(e,l),e||r){if(e===r)return Si(e),r=vi(e.site),fi.insert(l,r),l.edge=r.edge=Li(e.site,l.site),Ti(e),void Ti(r);if(r){Si(e),Si(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,p=t.y-f,d=r.site,g=d.x-u,m=d.y-f,v=2*(h*m-p*g),y=h*h+p*p,x=g*g+m*m,b={x:(m*y-p*x)/v+u,y:(h*x-g*y)/v+f};zi(r.edge,c,d,b),l.edge=Li(c,t,null,b),r.edge=Li(t,d,null,b),Ti(e),Ti(r)}else l.edge=Li(e.site,l.site)}}function _i(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,f=1/a-1/c,h=u/c;return f?(-h+Math.sqrt(h*h-2*f*(u*u/(-2*c)-l+c/2+i-a/2)))/f+n:(n+s)/2}function wi(t,e){var r=t.N;if(r)return _i(r,e);var n=t.site;return n.y===e?n.x:1/0}function ki(t){this.site=t,this.edges=[]}function Mi(t,e){return e.angle-t.angle}function Ai(){Ii(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ti(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,f=2*(l*(m=a.y-s)-c*u);if(!(f>=-Mt)){var h=l*l+c*c,p=u*u+m*m,d=(m*h-c*p)/f,g=(l*p-u*h)/f,m=g+s,v=gi.pop()||new Ai;v.arc=t,v.site=i,v.x=d+o,v.y=m+Math.sqrt(d*d+g*g),v.cy=m,t.circle=v;for(var y=null,x=pi._;x;)if(v.y<x.y||v.y===x.y&&v.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}pi.insert(y,v),y||(hi=v)}}}}function Si(t){var e=t.circle;e&&(e.P||(hi=e.N),pi.remove(e),gi.push(e),Ii(e),t.circle=null)}function Ei(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],c=e[1][1],u=t.l,f=t.r,h=u.x,p=u.y,d=f.x,g=f.y,m=(h+d)/2,v=(p+g)/2;if(g===p){if(m<o||m>=s)return;if(h>d){if(a){if(a.y>=c)return}else a={x:m,y:l};r={x:m,y:c}}else{if(a){if(a.y<l)return}else a={x:m,y:c};r={x:m,y:l}}}else if(i=v-(n=(h-d)/(g-p))*m,n<-1||n>1)if(h>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y<l)return}else a={x:(c-i)/n,y:c};r={x:(l-i)/n,y:l}}else if(p<g){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function Ci(t,e){this.l=t,this.r=e,this.a=this.b=null}function Li(t,e,r,n){var i=new Ci(t,e);return ci.push(i),r&&zi(i,t,e,r),n&&zi(i,e,t,n),ui[t.i].edges.push(new Pi(i,t,e)),ui[e.i].edges.push(new Pi(i,e,t)),i}function zi(t,e,r,n){t.a||t.b?t.l===r?t.b=n:t.a=n:(t.a=n,t.l=e,t.r=r)}function Pi(t,e,r){var n=t.a,i=t.b;this.edge=t,this.site=e,this.angle=r?Math.atan2(r.y-e.y,r.x-e.x):t.l===e?Math.atan2(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function Oi(){this._=null}function Ii(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Di(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Ri(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Bi(t){for(;t.L;)t=t.L;return t}function Fi(t,e){var r,n,i,a=t.sort(Ni).pop();for(ci=[],ui=new Array(t.length),fi=new Oi,pi=new Oi;;)if(i=hi,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(ui[a.i]=new ki(a),bi(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;xi(i.arc)}e&&(function(t){for(var e,r=ci,n=en(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!Ei(e=r[i],t)||!n(e)||y(e.a.x-e.b.x)<kt&&y(e.a.y-e.b.y)<kt)&&(e.a=e.b=null,r.splice(i,1))}(e),function(t){for(var e,r,n,i,a,o,s,l,c,u,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],g=ui,m=g.length;m--;)if((a=g[m])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(u=s[o].end()).x,i=u.y,e=(c=s[++o%l].start()).x,r=c.y,(y(n-e)>kt||y(i-r)>kt)&&(s.splice(o,0,new Pi((v=a.site,x=u,b=y(n-f)<kt&&d-i>kt?{x:f,y:y(e-f)<kt?r:d}:y(i-d)<kt&&h-n>kt?{x:y(r-d)<kt?e:h,y:d}:y(n-h)<kt&&i-p>kt?{x:h,y:y(e-h)<kt?r:p}:y(i-p)<kt&&n-f>kt?{x:y(r-p)<kt?e:f,y:p}:null,_=void 0,_=new Ci(v,null),_.a=x,_.b=b,ci.push(_),_),a.site,null)),++l);var v,x,b,_}(e));var o={cells:ui,edges:ci};return fi=pi=ci=ui=null,o}function Ni(t,e){return e.y-t.y||e.x-t.x}ki.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(Mi),e.length},Pi.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},Oi.prototype={insert:function(t,e){var r,n,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=Bi(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)r===(n=r.U).L?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(Di(this,r),r=(t=r).U),r.C=!1,n.C=!0,Ri(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(Ri(this,r),r=(t=r).U),r.C=!1,n.C=!0,Di(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,i=t.U,a=t.L,o=t.R;if(r=a?o?Bi(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,Di(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Ri(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,Di(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,Ri(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Di(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Ri(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=ei,r=ri,n=e,i=r,a=ji;if(t)return o(t);function o(t){var e=new Array(t.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return Fi(s(t),a).cells.forEach(function(a,s){var l=a.edges,c=a.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):c.x>=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(i(t,e)/kt)*kt,i:e}})}return o.links=function(t){return Fi(s(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},o.triangles=function(t){var e=[];return Fi(s(t)).cells.forEach(function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(Mi),u=-1,f=c.length,h=c[f-1].edge,p=h.l===l?h.r:h.l;++u<f;)h,i=p,p=(h=c[u].edge).l===l?h.r:h.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&e.push([t[n],t[i.i],t[p.i]])}),e},o.x=function(t){return arguments.length?(n=me(e=t),o):e},o.y=function(t){return arguments.length?(i=me(r=t),o):r},o.clipExtent=function(t){return arguments.length?(a=null==t?ji:t,o):a===ji?null:a},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):a===ji?null:a&&a[1]},o};var ji=[[-1e6,-1e6],[1e6,1e6]];function Vi(t){return t.x}function Ui(t){return t.y}function qi(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,i=e.g,a=e.b,o=r.r-n,s=r.g-i,l=r.b-a;return function(t){return\"#\"+ce(Math.round(n+o*t))+ce(Math.round(i+s*t))+ce(Math.round(a+l*t))}}function Hi(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Zi(t[r],e[r]):i[r]=t[r];for(r in e)r in t||(i[r]=e[r]);return function(t){for(r in n)i[r]=n[r](t);return i}}function Gi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Wi(t,e){var r,n,i,a=Yi.lastIndex=Xi.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=Yi.exec(t))&&(n=Xi.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Gi(r,n)})),a=Xi.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+\"\"}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join(\"\")})}t.geom.delaunay=function(e){return t.geom.voronoi().triangles(e)},t.geom.quadtree=function(t,e,r,n,i){var a,o=ei,s=ri;if(a=arguments.length)return o=Vi,s=Ui,3===a&&(i=r,n=e,r=e=0),l(t);function l(t){var l,c,u,f,h,p,d,g,m,v=me(o),x=me(s);if(null!=e)p=e,d=r,g=n,m=i;else if(g=m=-(p=d=1/0),c=[],u=[],h=t.length,a)for(f=0;f<h;++f)(l=t[f]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>g&&(g=l.x),l.y>m&&(m=l.y),c.push(l.x),u.push(l.y);else for(f=0;f<h;++f){var b=+v(l=t[f],f),_=+x(l,f);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>m&&(m=_),c.push(b),u.push(_)}var w=g-p,k=m-d;function M(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)A(t,e,r,n,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,f=n>=c,h=f<<1|u;t.leaf=!1,u?i=l:o=l,f?a=c:s=c,M(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}}),e,r,n,i,a,o,s)}w>k?m=d+w:g=p+k;var T={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}};if(T.visit=function(t){!function t(e,r,n,i,a,o){if(!e(r,n,i,a,o)){var s=.5*(n+a),l=.5*(i+o),c=r.nodes;c[0]&&t(e,c[0],n,i,s,l),c[1]&&t(e,c[1],s,i,a,l),c[2]&&t(e,c[2],n,l,s,o),c[3]&&t(e,c[3],s,l,a,o)}}(t,T,p,d,g,m)},T.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,p){if(!(u>a||f>o||h<n||p<i)){if(d=c.point){var d,g=e-c.x,m=r-c.y,v=g*g+m*m;if(v<l){var y=Math.sqrt(l=v);n=e-y,i=r-y,a=e+y,o=r+y,s=d}}for(var x=c.nodes,b=.5*(u+h),_=.5*(f+p),w=(r>=_)<<1|e>=b,k=w+4;w<k;++w)if(c=x[3&w])switch(3&w){case 0:t(c,u,f,b,_);break;case 1:t(c,b,f,h,_);break;case 2:t(c,u,_,b,p);break;case 3:t(c,b,_,h,p)}}}(t,n,i,a,o),s}(T,t[0],t[1],p,d,g,m)},f=-1,null==e){for(;++f<h;)M(T,t[f],c[f],u[f],p,d,g,m);--f}else t.forEach(T.add);return c=u=t=l=null,T}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.extent=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),l):null==e?null:[[e,r],[n,i]]},l.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),l):null==e?null:[n-e,i-r]},l},t.interpolateRgb=qi,t.interpolateObject=Hi,t.interpolateNumber=Gi,t.interpolateString=Wi;var Yi=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,Xi=new RegExp(Yi.source,\"g\");function Zi(e,r){for(var n,i=t.interpolators.length;--i>=0&&!(n=t.interpolators[i](e,r)););return n}function $i(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(Zi(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}t.interpolate=Zi,t.interpolators=[function(t,e){var r=typeof e;return(\"string\"===r?ge.has(e.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(e)?qi:Wi:e instanceof Vt?qi:Array.isArray(e)?$i:\"object\"===r&&isNaN(e)?Hi:Gi)(t,e)}],t.interpolateArray=$i;var Ji=function(){return z},Ki=t.map({linear:Ji,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return ra},cubic:function(){return na},sin:function(){return aa},exp:function(){return oa},circle:function(){return sa},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/Tt*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Tt/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return la}}),Qi=t.map({in:z,out:ta,\"in-out\":ea,\"out-in\":function(t){return ea(ta(t))}});function ta(t){return function(e){return 1-t(1-e)}}function ea(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function ra(t){return t*t}function na(t){return t*t*t}function ia(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function aa(t){return 1-Math.cos(t*Et)}function oa(t){return Math.pow(2,10*(t-1))}function sa(t){return 1-Math.sqrt(1-t*t)}function la(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function ca(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function ua(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=ha(i),s=fa(i,a),l=ha(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*Lt,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Lt:0}function fa(t,e){return t[0]*e[0]+t[1]*e[1]}function ha(t){var e=Math.sqrt(fa(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e,n=t.indexOf(\"-\"),i=n>=0?t.slice(0,n):t,a=n>=0?t.slice(n+1):\"in\";return i=Ki.get(i)||Ji,a=Qi.get(a)||z,e=a(i.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Yt(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return te(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateRound=ca,t.transform=function(e){var r=i.createElementNS(t.ns.prefix.svg,\"g\");return(t.transform=function(t){if(null!=t){r.setAttribute(\"transform\",t);var e=r.transform.baseVal.consolidate()}return new ua(e?e.matrix:pa)})(e)},ua.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var pa={a:1,b:0,c:0,d:1,e:0,f:0};function da(t){return t.length?t.pop()+\",\":\"\"}function ga(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\"translate(\",null,\",\",null,\")\");n.push({i:i-4,x:Gi(t[0],e[0])},{i:i-2,x:Gi(t[1],e[1])})}else(e[0]||e[1])&&r.push(\"translate(\"+e+\")\")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(da(r)+\"rotate(\",null,\")\")-2,x:Gi(t,e)})):e&&r.push(da(r)+\"rotate(\"+e+\")\")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(da(r)+\"skewX(\",null,\")\")-2,x:Gi(t,e)}):e&&r.push(da(r)+\"skewX(\"+e+\")\")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(da(r)+\"scale(\",null,\",\",null,\")\");n.push({i:i-4,x:Gi(t[0],e[0])},{i:i-2,x:Gi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(da(r)+\"scale(\"+e+\")\")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join(\"\")}}function ma(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function va(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function ya(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=xa(t),n=xa(e),i=r.pop(),a=n.pop(),o=null;for(;i===a;)o=i,i=r.pop(),a=n.pop();return o}(e,r),i=[e];e!==n;)e=e.parent,i.push(e);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function xa(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function ba(t){t.fixed|=2}function _a(t){t.fixed&=-7}function wa(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ka(t){t.fixed&=-5}t.interpolateTransform=ga,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(ya(t[r]));return e}},t.layout.chord=function(){var e,r,n,i,a,o,s,l={},c=0;function u(){var l,u,h,p,d,g={},m=[],v=t.range(i),y=[];for(e=[],r=[],l=0,p=-1;++p<i;){for(u=0,d=-1;++d<i;)u+=n[p][d];m.push(u),y.push(t.range(i)),l+=u}for(a&&v.sort(function(t,e){return a(m[t],m[e])}),o&&y.forEach(function(t,e){t.sort(function(t,r){return o(n[e][t],n[e][r])})}),l=(Tt-c*i)/l,u=0,p=-1;++p<i;){for(h=u,d=-1;++d<i;){var x=v[p],b=y[x][d],_=n[x][b],w=u,k=u+=_*l;g[x+\"-\"+b]={index:x,subindex:b,startAngle:w,endAngle:k,value:_}}r[x]={index:x,startAngle:h,endAngle:u,value:m[x]},u+=c}for(p=-1;++p<i;)for(d=p-1;++d<i;){var M=g[p+\"-\"+d],A=g[d+\"-\"+p];(M.value||A.value)&&e.push(M.value<A.value?{source:A,target:M}:{source:M,target:A})}s&&f()}function f(){e.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}return l.matrix=function(t){return arguments.length?(i=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&f(),l):s},l.chords=function(){return e||u(),e},l.groups=function(){return r||u(),r},l},t.layout.force=function(){var e,r,n,i,a,o,s={},l=t.dispatch(\"start\",\"tick\",\"end\"),c=[1,1],u=.9,f=Ma,h=Aa,p=-30,d=Ta,g=.1,m=.64,v=[],y=[];function x(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/m<l){if(l<d){var c=e.charge/l;t.px-=a*c,t.py-=o*c}return!0}if(e.point&&l&&l<d){c=e.pointCharge/l;t.px-=a*c,t.py-=o*c}}return!e.charge}}function b(e){e.px=t.event.x,e.py=t.event.y,s.resume()}return s.tick=function(){if((n*=.99)<.005)return e=null,l.end({type:\"end\",alpha:n=0}),!0;var r,s,f,h,d,m,b,_,w,k=v.length,M=y.length;for(s=0;s<M;++s)h=(f=y[s]).source,(m=(_=(d=f.target).x-h.x)*_+(w=d.y-h.y)*w)&&(_*=m=n*a[s]*((m=Math.sqrt(m))-i[s])/m,w*=m,d.x-=_*(b=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=w*b,h.x+=_*(b=1-b),h.y+=w*b);if((b=n*g)&&(_=c[0]/2,w=c[1]/2,s=-1,b))for(;++s<k;)(f=v[s]).x+=(_-f.x)*b,f.y+=(w-f.y)*b;if(p)for(!function t(e,r,n){var i=0,a=0;e.charge=0;if(!e.leaf)for(var o,s=e.nodes,l=s.length,c=-1;++c<l;)null!=(o=s[c])&&(t(o,r,n),e.charge+=o.charge,i+=o.charge*o.cx,a+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var u=r*n[e.point.index];e.charge+=e.pointCharge=u,i+=u*e.point.x,a+=u*e.point.y}e.cx=i/e.charge;e.cy=a/e.charge}(r=t.geom.quadtree(v),n,o),s=-1;++s<k;)(f=v[s]).fixed||r.visit(x(f));for(s=-1;++s<k;)(f=v[s]).fixed?(f.x=f.px,f.y=f.py):(f.x-=(f.px-(f.px=f.x))*u,f.y-=(f.py-(f.py=f.y))*u);l.tick({type:\"tick\",alpha:n})},s.nodes=function(t){return arguments.length?(v=t,s):v},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(f=\"function\"==typeof t?t:+t,s):f},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(h=\"function\"==typeof t?t:+t,s):h},s.friction=function(t){return arguments.length?(u=+t,s):u},s.charge=function(t){return arguments.length?(p=\"function\"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(m=t*t,s):Math.sqrt(m)},s.alpha=function(t){return arguments.length?(t=+t,n?t>0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:\"end\",alpha:n=0})):t>0&&(l.start({type:\"start\",alpha:n=t}),e=Me(s.tick)),s):n},s.start=function(){var t,e,r,n=v.length,l=y.length,u=c[0],d=c[1];for(t=0;t<n;++t)(r=v[t]).index=t,r.weight=0;for(t=0;t<l;++t)\"number\"==typeof(r=y[t]).source&&(r.source=v[r.source]),\"number\"==typeof r.target&&(r.target=v[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=v[t],isNaN(r.x)&&(r.x=g(\"x\",u)),isNaN(r.y)&&(r.y=g(\"y\",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],\"function\"==typeof f)for(t=0;t<l;++t)i[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=f;if(a=[],\"function\"==typeof h)for(t=0;t<l;++t)a[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=h;if(o=[],\"function\"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,v[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,i){if(!e){for(e=new Array(n),c=0;c<n;++c)e[c]=[];for(c=0;c<l;++c){var a=y[c];e[a.source.index].push(a.target),e[a.target.index].push(a.source)}}for(var o,s=e[t],c=-1,u=s.length;++c<u;)if(!isNaN(o=s[c][r]))return o;return Math.random()*i}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=t.behavior.drag().origin(z).on(\"dragstart.force\",ba).on(\"drag.force\",b).on(\"dragend.force\",_a)),!arguments.length)return r;this.on(\"mouseover.force\",wa).on(\"mouseout.force\",ka).call(r)},t.rebind(s,l,\"on\")};var Ma=20,Aa=1,Ta=1/0;function Sa(e,r){return t.rebind(e,r,\"sort\",\"children\",\"value\"),e.nodes=e,e.links=Oa,e}function Ea(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function Ca(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function La(t){return t.children}function za(t){return t.value}function Pa(t,e){return e.value-t.value}function Oa(e){return t.merge(e.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}t.layout.hierarchy=function(){var t=Pa,e=La,r=za;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(c=e.call(n,a,a.depth))&&(l=c.length)){for(var l,c,u;--l>=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return Ca(i,function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)}),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ea(t,function(t){t.children&&(t.value=0)}),Ca(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c<o;)t(s=a[c],r,l=s.value*n,i),r+=l}}(i[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,t(r[a]));return 1+n}(i[0])),i}return n.size=function(t){return arguments.length?(r=t,n):r},Sa(n,e)},t.layout.pie=function(){var e=Number,r=Ia,n=0,i=Tt,a=0;function o(s){var l,c=s.length,u=s.map(function(t,r){return+e.call(o,t,r)}),f=+(\"function\"==typeof n?n.apply(this,arguments):n),h=(\"function\"==typeof i?i.apply(this,arguments):i)-f,p=Math.min(Math.abs(h)/c,+(\"function\"==typeof a?a.apply(this,arguments):a)),d=p*(h<0?-1:1),g=t.sum(u),m=g?(h-c*d)/g:0,v=t.range(c),y=[];return null!=r&&v.sort(r===Ia?function(t,e){return u[e]-u[t]}:function(t,e){return r(s[t],s[e])}),v.forEach(function(t){y[t]={data:s[t],value:l=u[t],startAngle:f,endAngle:f+=l*m+d,padAngle:p}}),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(t){return arguments.length?(r=t,o):r},o.startAngle=function(t){return arguments.length?(n=t,o):n},o.endAngle=function(t){return arguments.length?(i=t,o):i},o.padAngle=function(t){return arguments.length?(a=t,o):a},o};var Ia={};function Da(t){return t.x}function Ra(t){return t.y}function Ba(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=z,r=ja,n=Va,i=Ba,a=Da,o=Ra;function s(l,c){if(!(p=l.length))return l;var u=l.map(function(t,r){return e.call(s,t,r)}),f=u.map(function(t){return t.map(function(t,e){return[a.call(s,t,e),o.call(s,t,e)]})}),h=r.call(s,f,c);u=t.permute(u,h),f=t.permute(f,h);var p,d,g,m,v=n.call(s,f,c),y=u[0].length;for(g=0;g<y;++g)for(i.call(s,u[0][g],m=v[g],f[0][g][1]),d=1;d<p;++d)i.call(s,u[d][g],m+=f[d-1][g][1],f[d][g][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(t){return arguments.length?(r=\"function\"==typeof t?t:Fa.get(t)||ja,s):r},s.offset=function(t){return arguments.length?(n=\"function\"==typeof t?t:Na.get(t)||Va,s):n},s.x=function(t){return arguments.length?(a=t,s):a},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(i=t,s):i},s};var Fa=t.map({\"inside-out\":function(e){var r,n,i=e.length,a=e.map(Ua),o=e.map(qa),s=t.range(i).sort(function(t,e){return a[t]-a[e]}),l=0,c=0,u=[],f=[];for(r=0;r<i;++r)n=s[r],l<c?(l+=o[n],u.push(n)):(c+=o[n],f.push(n));return f.reverse().concat(u)},reverse:function(e){return t.range(e.length).reverse()},default:ja}),Na=t.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,c,u=t.length,f=t[0],h=f.length,p=[];for(p[0]=l=c=0,r=1;r<h;++r){for(e=0,i=0;e<u;++e)i+=t[e][r][1];for(e=0,a=0,s=f[r][0]-f[r-1][0];e<u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;a+=o*t[e][r][1]}p[r]=l-=i?a/i*s:0,l<c&&(c=l)}for(r=0;r<h;++r)p[r]-=c;return p},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:Va});function ja(e){return t.range(e.length)}function Va(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Ua(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function qa(t){return t.reduce(Ha,0)}function Ha(t,e){return t+e[1]}function Ga(t,e){return Wa(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Wa(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Ya(e){return[t.min(e),t.max(e)]}function Xa(t,e){return t.value-e.value}function Za(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function $a(t,e){t._pack_next=e,e._pack_prev=t}function Ja(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Ka(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,f=1/0,h=-1/0;if(e.forEach(Qa),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(eo(r,n,i=e[2]),x(i),Za(r,i),r._pack_prev=i,Za(i,n),n=r._pack_next,a=3;a<l;a++){eo(r,n,i=e[a]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(Ja(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!Ja(s,i);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?$a(r,n=o):$a(r=s,n),a--):(Za(r,i),n=i,x(i))}var m=(c+u)/2,v=(f+h)/2,y=0;for(a=0;a<l;a++)(i=e[a]).x-=m,i.y-=v,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=y,e.forEach(to)}function x(t){c=Math.min(t.x-t.r,c),u=Math.max(t.x+t.r,u),f=Math.min(t.y-t.r,f),h=Math.max(t.y+t.r,h)}}function Qa(t){t._pack_next=t._pack_prev=t}function to(t){delete t._pack_next,delete t._pack_prev}function eo(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a,l=.5+((n*=n)-(o*=o))/(2*s),c=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*i+c*a,r.y=t.y+l*a-c*i}else r.x=t.x+n,r.y=t.y}function ro(t,e){return t.parent==e.parent?1:2}function no(t){var e=t.children;return e.length?e[0]:t.t}function io(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function ao(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function oo(t,e,r){return t.a.parent===e.parent?t.a:r}function so(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function lo(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function co(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function uo(t){return t.rangeExtent?t.rangeExtent():co(t.range())}function fo(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function ho(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function po(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:go}t.layout.histogram=function(){var e=!0,r=Number,n=Ya,i=Ga;function a(a,o){for(var s,l,c=[],u=a.map(r,this),f=n.call(this,u,o),h=i.call(this,f,u,o),p=(o=-1,u.length),d=h.length-1,g=e?1:1/p;++o<d;)(s=c[o]=[]).dx=h[o+1]-(s.x=h[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=u[o])>=f[0]&&l<=f[1]&&((s=c[t.bisect(h,l,1,d)-1]).y+=g,s.push(a[o]));return c}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=me(t),a):n},a.bins=function(t){return arguments.length?(i=\"number\"==typeof t?function(e){return Wa(e,t)}:me(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Xa),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:\"function\"==typeof e?e:function(){return e};if(s.x=s.y=0,Ca(s,function(t){t.r=+u(t.value)}),Ca(s,Ka),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Ca(s,function(t){t.r+=f}),Ca(s,Ka),Ca(s,function(t){t.r-=f})}return function t(e,r,n,i){var a=e.children;e.x=r+=i*e.x;e.y=n+=i*e.y;e.r*=i;if(a)for(var o=-1,s=a.length;++o<s;)t(a[o],r,n,i)}(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return a.size=function(t){return arguments.length?(i=t,a):i},a.radius=function(t){return arguments.length?(e=null==t||\"function\"==typeof t?t:+t,a):e},a.padding=function(t){return arguments.length?(n=+t,a):n},Sa(a,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],i=null;function a(t,a){var c=e.call(this,t,a),u=c[0],f=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}(u);if(Ca(f,o),f.parent.m=-f.z,Ea(f,s),i)Ea(u,l);else{var h=u,p=u,d=u;Ea(u,function(t){t.x<h.x&&(h=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(h,p)/2-h.x,m=n[0]/(p.x+r(p,h)/2+g),v=n[1]/(d.depth||1);Ea(u,function(t){t.x=(t.x+g)*m,t.y=t.depth*v})}return c}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=io(s),a=no(a),s&&a;)l=no(l),(o=io(o)).a=t,(i=s.z+f-a.z-c+r(s._,a._))>0&&(ao(oo(s,t,n),t,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!io(o)&&(o.t=s,o.m+=f-u),a&&!no(l)&&(l.t=a,l.m+=c-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},Sa(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),c=l[0],u=0;Ca(c,function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(n),e.y=function(e){return 1+t.max(e,function(t){return t.y})}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)});var f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=f.x-r(f,h)/2,d=h.x+r(h,f)/2;return Ca(c,i?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},Sa(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=so,s=!1,l=\"squarify\",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function f(t){var e=t.children;if(e&&e.length){var r,n,i,a=o(t),s=[],c=e.slice(),h=1/0,g=\"slice\"===l?a.dx:\"dice\"===l?a.dy:\"slice-dice\"===l?1&t.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(u(c,a.dx*a.dy/t.value),s.area=0;(i=c.length)>0;)s.push(r=c[i-1]),s.area+=r.area,\"squarify\"!==l||(n=p(s,g))<=h?(c.pop(),h=n):(s.area-=s.pop().area,d(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,g,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((i||u>r.dy)&&(u=r.dy);++o<s;)(a=t[o]).x=l,a.y=c,a.dy=u,l+=a.dx=Math.min(r.x+r.dx-l,u?n(a.area/u):0);a.z=!0,a.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((i||u>r.dx)&&(u=r.dx);++o<s;)(a=t[o]).x=l,a.y=c,a.dx=u,c+=a.dy=Math.min(r.y+r.dy-c,u?n(a.area/u):0);a.z=!1,a.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function g(t){var n=e||r(t),a=n[0];return a.x=a.y=0,a.value?(a.dx=i[0],a.dy=i[1]):a.dx=a.dy=0,e&&r.revalue(a),u([a],a.dx*a.dy/a.value),(e?h:f)(a),s&&(e=n),n}return g.size=function(t){return arguments.length?(i=t,g):i},g.padding=function(t){if(!arguments.length)return a;function e(e){return lo(e,t)}var r;return o=null==(a=t)?so:\"function\"==(r=typeof t)?function(e){var r=t.call(g,e,e.depth);return null==r?so(e):lo(e,\"number\"==typeof r?[r,r,r,r]:r)}:\"number\"===r?(t=[t,t,t,t],e):e,g},g.round=function(t){return arguments.length?(n=t?Math.round:Number,g):n!=Number},g.sticky=function(t){return arguments.length?(s=t,e=null,g):s},g.ratio=function(t){return arguments.length?(c=t,g):c},g.mode=function(t){return arguments.length?(l=t+\"\",g):l},Sa(g,r)},t.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},t.scale={};var go={floor:z,ceil:z};function mo(e,r,n,i){var a=[],o=[],s=0,l=Math.min(e.length,r.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),r=r.slice().reverse());++s<=l;)a.push(n(e[s-1],e[s])),o.push(i(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](a[n](r))}}function vo(e,r){return t.rebind(e,r,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function yo(t,e){return ho(t,po(xo(t,e)[2])),ho(t,po(xo(t,e)[2])),t}function xo(t,e){null==e&&(e=10);var r=co(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function bo(e,r){return t.range.apply(t,xo(e,r))}function _o(e,r,n){var i=xo(e,r);if(n){var a=Le.exec(n);if(a.shift(),\"s\"===a[8]){var o=t.formatPrefix(Math.max(y(i[0]),y(i[1])));return a[7]||(a[7]=\".\"+ko(o.scale(i[2]))),a[8]=\"f\",n=t.format(a.join(\"\")),function(t){return n(o.scale(t))+o.symbol}}a[7]||(a[7]=\".\"+function(t,e){var r=ko(e[2]);return t in wo?Math.abs(r-ko(Math.max(y(e[0]),y(e[1]))))+ +(\"e\"!==t):r-2*(\"%\"===t)}(a[8],i)),n=a.join(\"\")}else n=\",.\"+ko(i[2])+\"f\";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,i){var a,o;function s(){var t=Math.min(e.length,r.length)>2?mo:fo,s=i?va:ma;return a=t(e,r,s,n),o=t(r,e,s,Zi),l}function l(t){return a(t)}l.invert=function(t){return o(t)};l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e};l.range=function(t){return arguments.length?(r=t,s()):r};l.rangeRound=function(t){return l.range(t).interpolate(ca)};l.clamp=function(t){return arguments.length?(i=t,s()):i};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return bo(e,t)};l.tickFormat=function(t,r){return _o(e,t,r)};l.nice=function(t){return yo(e,t),s()};l.copy=function(){return t(e,r,n,i)};return s()}([0,1],[0,1],Zi,!1)};var wo={s:1,g:1,p:1,r:1,e:1};function ko(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a};l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n};l.nice=function(){var t=ho(a.map(o),i?Math:Ao);return r.domain(t),a=t.map(s),l};l.ticks=function(){var t=co(a),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),f=n%1?2:n;if(isFinite(u-c)){if(i){for(;c<u;c++)for(var h=1;h<f;h++)e.push(s(c)*h);e.push(s(c))}else for(e.push(s(c));c++<u;)for(var h=f-1;h>0;h--)e.push(s(c)*h);for(c=0;e[c]<r;c++);for(u=e.length;e[u-1]>l;u--);e=e.slice(c,u)}return e};l.tickFormat=function(e,r){if(!arguments.length)return Mo;arguments.length<2?r=Mo:\"function\"!=typeof r&&(r=t.format(r));var i=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n<n-.5&&(e*=n),e<=i?r(t):\"\"}};l.copy=function(){return e(r.copy(),n,i,a)};return vo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var Mo=t.format(\".0e\"),Ao={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function To(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var i=To(r),a=To(1/r);function o(t){return e(i(t))}o.invert=function(t){return a(e.invert(t))};o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n};o.ticks=function(t){return bo(n,t)};o.tickFormat=function(t,e){return _o(n,t,e)};o.nice=function(t){return o.domain(yo(n,t))};o.exponent=function(t){return arguments.length?(i=To(r=t),a=To(1/r),e.domain(n.map(i)),o):r};o.copy=function(){return t(e.copy(),r,n)};return vo(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var i,a,o;function s(t){return a[((i.get(t)||(\"range\"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map(function(t){return e+n*t})}s.domain=function(t){if(!arguments.length)return r;r=[],i=new b;for(var e,a=-1,o=t.length;++a<o;)i.has(e=t[a])||i.set(e,r.push(e));return s[n.t].apply(s,n.a)};s.range=function(t){return arguments.length?(a=t,o=0,n={t:\"range\",a:arguments},s):a};s.rangePoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=(i+c)/2,0):(c-i)/(r.length-1+e);return a=l(i+u*e/2,u),o=0,n={t:\"rangePoints\",a:arguments},s};s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=c=Math.round((i+c)/2),0):(c-i)/(r.length-1+e)|0;return a=l(i+Math.round(u*e/2+(c-i-(r.length-1+e)*u)/2),u),o=0,n={t:\"rangeRoundPoints\",a:arguments},s};s.rangeBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=(f-u)/(r.length-e+2*i);return a=l(u+h*i,h),c&&a.reverse(),o=h*(1-e),n={t:\"rangeBands\",a:arguments},s};s.rangeRoundBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=Math.floor((f-u)/(r.length-e+2*i));return a=l(u+Math.round((f-u-(r.length-e)*h)/2),h),c&&a.reverse(),o=Math.round(h*(1-e)),n={t:\"rangeRoundBands\",a:arguments},s};s.rangeBand=function(){return o};s.rangeExtent=function(){return co(n.a[0])};s.copy=function(){return e(r,n)};return s.domain(r)}([],{t:\"range\",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(So)},t.scale.category20=function(){return t.scale.ordinal().range(Eo)},t.scale.category20b=function(){return t.scale.ordinal().range(Co)},t.scale.category20c=function(){return t.scale.ordinal().range(Lo)};var So=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(se),Eo=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(se),Co=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(se),Lo=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(se);function zo(){return 0}t.scale.quantile=function(){return function e(r,n){var i;function a(){var e=0,a=n.length;for(i=[];++e<a;)i[e-1]=t.quantile(r,e/a);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(i,e)]}o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(h),a()):r};o.range=function(t){return arguments.length?(n=t,a()):n};o.quantiles=function(){return i};o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?i[t-1]:r[0],t<i.length?i[t]:r[r.length-1]]};o.copy=function(){return e(r,n)};return a()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var i,a;function o(t){return n[Math.max(0,Math.min(a,Math.floor(i*(t-e))))]}function s(){return i=n.length/(r-e),a=n.length-1,o}o.domain=function(t){return arguments.length?(e=+t[0],r=+t[t.length-1],s()):[e,r]};o.range=function(t){return arguments.length?(n=t,s()):n};o.invertExtent=function(t){return[t=(t=n.indexOf(t))<0?NaN:t/i+e,t+1/i]};o.copy=function(){return t(e,r,n)};return s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function i(e){if(e<=e)return n[t.bisect(r,e)]}i.domain=function(t){return arguments.length?(r=t,i):r};i.range=function(t){return arguments.length?(n=t,i):n};i.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]};i.copy=function(){return e(r,n)};return i}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}r.invert=r;r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e};r.ticks=function(t){return bo(e,t)};r.tickFormat=function(t,r){return _o(e,t,r)};r.copy=function(){return t(e)};return r}([0,1])},t.svg={},t.svg.arc=function(){var t=Oo,e=Io,r=zo,n=Po,i=Do,a=Ro,o=Bo;function s(){var s=Math.max(0,+t.apply(this,arguments)),c=Math.max(0,+e.apply(this,arguments)),u=i.apply(this,arguments)-Et,f=a.apply(this,arguments)-Et,h=Math.abs(f-u),p=u>f?0:1;if(c<s&&(d=c,c=s,s=d),h>=St)return l(c,p)+(s?l(s,1-p):\"\")+\"Z\";var d,g,m,v,y,x,b,_,w,k,M,A,T=0,S=0,E=[];if((v=(+o.apply(this,arguments)||0)/2)&&(m=n===Po?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=It(m/c*Math.sin(v))),s&&(T=It(m/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(f-S),_=c*Math.sin(f-S);var C=Math.abs(f-u-2*S)<=At?0:1;if(S&&Fo(y,x,b,_)===p^C){var L=(u+f)/2;y=c*Math.cos(L),x=c*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(f-T),k=s*Math.sin(f-T),M=s*Math.cos(u+T),A=s*Math.sin(u+T);var z=Math.abs(u-f+2*T)<=At?0:1;if(T&&Fo(w,k,M,A)===1-p^z){var P=(u+f)/2;w=s*Math.cos(P),k=s*Math.sin(P),M=A=null}}else w=k=0;if(h>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s<c^p?0:1;var O=d,I=d;if(h<At){var D=null==M?[w,k]:null==b?[y,x]:si([y,x],[M,A],[b,_],[w,k]),R=y-D[0],B=x-D[1],F=b-D[0],N=_-D[1],j=1/Math.sin(Math.acos((R*F+B*N)/(Math.sqrt(R*R+B*B)*Math.sqrt(F*F+N*N)))/2),V=Math.sqrt(D[0]*D[0]+D[1]*D[1]);I=Math.min(d,(s-V)/(j-1)),O=Math.min(d,(c-V)/(j+1))}if(null!=b){var U=No(null==M?[w,k]:[M,A],[y,x],c,O,p),q=No([b,_],[w,k],c,O,p);d===O?E.push(\"M\",U[0],\"A\",O,\",\",O,\" 0 0,\",g,\" \",U[1],\"A\",c,\",\",c,\" 0 \",1-p^Fo(U[1][0],U[1][1],q[1][0],q[1][1]),\",\",p,\" \",q[1],\"A\",O,\",\",O,\" 0 0,\",g,\" \",q[0]):E.push(\"M\",U[0],\"A\",O,\",\",O,\" 0 1,\",g,\" \",q[0])}else E.push(\"M\",y,\",\",x);if(null!=M){var H=No([y,x],[M,A],s,-I,p),G=No([w,k],null==b?[y,x]:[b,_],s,-I,p);d===I?E.push(\"L\",G[0],\"A\",I,\",\",I,\" 0 0,\",g,\" \",G[1],\"A\",s,\",\",s,\" 0 \",p^Fo(G[1][0],G[1][1],H[1][0],H[1][1]),\",\",1-p,\" \",H[1],\"A\",I,\",\",I,\" 0 0,\",g,\" \",H[0]):E.push(\"L\",G[0],\"A\",I,\",\",I,\" 0 0,\",g,\" \",H[0])}else E.push(\"L\",w,\",\",k)}else E.push(\"M\",y,\",\",x),null!=b&&E.push(\"A\",c,\",\",c,\" 0 \",C,\",\",p,\" \",b,\",\",_),E.push(\"L\",w,\",\",k),null!=M&&E.push(\"A\",s,\",\",s,\" 0 \",z,\",\",1-p,\" \",M,\",\",A);return E.push(\"Z\"),E.join(\"\")}function l(t,e){return\"M0,\"+t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+-t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+t}return s.innerRadius=function(e){return arguments.length?(t=me(e),s):t},s.outerRadius=function(t){return arguments.length?(e=me(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=me(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Po?Po:me(t),s):n},s.startAngle=function(t){return arguments.length?(i=me(t),s):i},s.endAngle=function(t){return arguments.length?(a=me(t),s):a},s.padAngle=function(t){return arguments.length?(o=me(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Et;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Po=\"auto\";function Oo(t){return t.innerRadius}function Io(t){return t.outerRadius}function Do(t){return t.startAngle}function Ro(t){return t.endAngle}function Bo(t){return t&&t.padAngle}function Fo(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function No(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,f=t[1]+c,h=e[0]+l,p=e[1]+c,d=(u+h)/2,g=(f+p)/2,m=h-u,v=p-f,y=m*m+v*v,x=r-n,b=u*p-h*f,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-m*_)/y,k=(-b*m-v*_)/y,M=(b*v+m*_)/y,A=(-b*m+v*_)/y,T=w-d,S=k-g,E=M-d,C=A-g;return T*T+S*S>E*E+C*C&&(w=M,k=A),[[w-l,k-c],[w*r/x,k*r/x]]}function jo(t){var e=ei,r=ri,n=Wr,i=Uo,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,f=a.length,h=me(e),p=me(r);function d(){l.push(\"M\",i(t(c),o))}for(;++u<f;)n.call(this,s=a[u],u)?c.push([+h.call(this,s,u),+p.call(this,s,u)]):c.length&&(d(),c=[]);return c.length&&d(),l.length?l.join(\"\"):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(a=\"function\"==typeof t?i=t:(i=Vo.get(t)||Uo).key,s):a},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return jo(z)};var Vo=t.map({linear:Uo,\"linear-closed\":qo,step:function(t){var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];for(;++e<r;)i.push(\"H\",(n[0]+(n=t[e])[0])/2,\"V\",n[1]);r>1&&i.push(\"H\",n[0]);return i.join(\"\")},\"step-before\":Ho,\"step-after\":Go,basis:Xo,\"basis-open\":function(t){if(t.length<4)return Uo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(Zo(Ko,a)+\",\"+Zo(Ko,o)),--n;for(;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Qo(r,a,o);return r.join(\"\")},\"basis-closed\":function(t){var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];for(;++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);e=[Zo(Ko,o),\",\",Zo(Ko,s)],--n;for(;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Qo(e,o,s);return e.join(\"\")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,c=-1;++c<=r;)n=t[c],i=c/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return Xo(t)},cardinal:function(t,e){return t.length<3?Uo(t):t[0]+Wo(t,Yo(t,e))},\"cardinal-open\":function(t,e){return t.length<4?Uo(t):t[1]+Wo(t.slice(1,-1),Yo(t,e))},\"cardinal-closed\":function(t,e){return t.length<3?qo(t):t[0]+Wo((t.push(t[0]),t),Yo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Uo(t):t[0]+Wo(t,function(t){var e,r,n,i,a=[],o=function(t){var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=ts(i,a);for(;++e<r;)n[e]=(o+(o=ts(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=ts(t[s],t[s+1]),y(e)<kt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(i=r*r+n*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Uo(t){return t.length>1?t.join(\"L\"):t+\"Z\"}function qo(t){return t.join(\"L\")+\"Z\"}function Ho(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e<r;)i.push(\"V\",(n=t[e])[1],\"H\",n[0]);return i.join(\"\")}function Go(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e<r;)i.push(\"H\",(n=t[e])[0],\"V\",n[1]);return i.join(\"\")}function Wo(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Uo(t);var r=t.length!=e.length,n=\"\",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+=\"Q\"+(a[0]-2*o[0]/3)+\",\"+(a[1]-2*o[1]/3)+\",\"+a[0]+\",\"+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+=\"C\"+(i[0]+o[0])+\",\"+(i[1]+o[1])+\",\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1];for(var c=2;c<e.length;c++,l++)a=t[l],s=e[c],n+=\"S\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1]}if(r){var u=t[l];n+=\"Q\"+(a[0]+2*s[0]/3)+\",\"+(a[1]+2*s[1]/3)+\",\"+u[0]+\",\"+u[1]}return n}function Yo(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function Xo(t){if(t.length<3)return Uo(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,\",\",a,\"L\",Zo(Ko,o),\",\",Zo(Ko,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Qo(l,o,s);return t.pop(),l.push(\"L\",n),l.join(\"\")}function Zo(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Vo.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var $o=[0,2/3,1/3,0],Jo=[0,1/3,2/3,0],Ko=[0,1/6,2/3,1/6];function Qo(t,e,r){t.push(\"C\",Zo($o,e),\",\",Zo($o,r),\",\",Zo(Jo,e),\",\",Zo(Jo,r),\",\",Zo(Ko,e),\",\",Zo(Ko,r))}function ts(t,e){return(e[1]-t[1])/(e[0]-t[0])}function es(t){for(var e,r,n,i=-1,a=t.length;++i<a;)r=(e=t[i])[0],n=e[1]-Et,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function rs(t){var e=ei,r=ei,n=0,i=ri,a=Wr,o=Uo,s=o.key,l=o,c=\"L\",u=.7;function f(s){var f,h,p,d=[],g=[],m=[],v=-1,y=s.length,x=me(e),b=me(n),_=e===r?function(){return h}:me(r),w=n===i?function(){return p}:me(i);function k(){d.push(\"M\",o(t(m),u),c,l(t(g.reverse()),u),\"Z\")}for(;++v<y;)a.call(this,f=s[v],v)?(g.push([h=+x.call(this,f,v),p=+b.call(this,f,v)]),m.push([+_.call(this,f,v),+w.call(this,f,v)])):g.length&&(k(),g=[],m=[]);return g.length&&k(),d.length?d.join(\"\"):null}return f.x=function(t){return arguments.length?(e=r=t,f):r},f.x0=function(t){return arguments.length?(e=t,f):e},f.x1=function(t){return arguments.length?(r=t,f):r},f.y=function(t){return arguments.length?(n=i=t,f):i},f.y0=function(t){return arguments.length?(n=t,f):n},f.y1=function(t){return arguments.length?(i=t,f):i},f.defined=function(t){return arguments.length?(a=t,f):a},f.interpolate=function(t){return arguments.length?(s=\"function\"==typeof t?o=t:(o=Vo.get(t)||Uo).key,l=o.reverse||o,c=o.closed?\"M\":\"L\",f):s},f.tension=function(t){return arguments.length?(u=t,f):u},f}function ns(t){return t.radius}function is(t){return[t.x,t.y]}function as(){return 64}function os(){return\"circle\"}function ss(t){var e=Math.sqrt(t/At);return\"M0,\"+e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+-e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+e+\"Z\"}t.svg.line.radial=function(){var t=jo(es);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Ho.reverse=Go,Go.reverse=Ho,t.svg.area=function(){return rs(z)},t.svg.area.radial=function(){var t=rs(es);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},t.svg.chord=function(){var t=Vn,e=Un,r=ns,n=Do,i=Ro;function a(r,n){var i,a,c=o(this,t,r,n),u=o(this,e,r,n);return\"M\"+c.p0+s(c.r,c.p1,c.a1-c.a0)+(a=u,(i=c).a0==a.a0&&i.a1==a.a1?l(c.r,c.p1,c.r,c.p0):l(c.r,c.p1,u.r,u.p0)+s(u.r,u.p1,u.a1-u.a0)+l(u.r,u.p1,c.r,c.p0))+\"Z\"}function o(t,e,a,o){var s=e.call(t,a,o),l=r.call(t,s,o),c=n.call(t,s,o)-Et,u=i.call(t,s,o)-Et;return{r:l,a0:c,a1:u,p0:[l*Math.cos(c),l*Math.sin(c)],p1:[l*Math.cos(u),l*Math.sin(u)]}}function s(t,e,r){return\"A\"+t+\",\"+t+\" 0 \"+ +(r>At)+\",1 \"+e}function l(t,e,r,n){return\"Q 0,0 \"+n}return a.radius=function(t){return arguments.length?(r=me(t),a):r},a.source=function(e){return arguments.length?(t=me(e),a):t},a.target=function(t){return arguments.length?(e=me(t),a):e},a.startAngle=function(t){return arguments.length?(n=me(t),a):n},a.endAngle=function(t){return arguments.length?(i=me(t),a):i},a},t.svg.diagonal=function(){var t=Vn,e=Un,r=is;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return\"M\"+(l=l.map(r))[0]+\"C\"+l[1]+\" \"+l[2]+\" \"+l[3]}return n.source=function(e){return arguments.length?(t=me(e),n):t},n.target=function(t){return arguments.length?(e=me(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=is,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Et;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=os,e=as;function r(r,n){return(ls.get(t.call(this,r,n))||ss)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=me(e),r):t},r.size=function(t){return arguments.length?(e=me(t),r):e},r};var ls=t.map({circle:ss,cross:function(t){var e=Math.sqrt(t/5)/2;return\"M\"+-3*e+\",\"+-e+\"H\"+-e+\"V\"+-3*e+\"H\"+e+\"V\"+-e+\"H\"+3*e+\"V\"+e+\"H\"+e+\"V\"+3*e+\"H\"+-e+\"V\"+e+\"H\"+-3*e+\"Z\"},diamond:function(t){var e=Math.sqrt(t/(2*us)),r=e*us;return\"M0,\"+-e+\"L\"+r+\",0 0,\"+e+\" \"+-r+\",0Z\"},square:function(t){var e=Math.sqrt(t)/2;return\"M\"+-e+\",\"+-e+\"L\"+e+\",\"+-e+\" \"+e+\",\"+e+\" \"+-e+\",\"+e+\"Z\"},\"triangle-down\":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return\"M0,\"+r+\"L\"+e+\",\"+-r+\" \"+-e+\",\"+-r+\"Z\"},\"triangle-up\":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return\"M0,\"+-r+\"L\"+e+\",\"+r+\" \"+-e+\",\"+r+\"Z\"}});t.svg.symbolTypes=ls.keys();var cs=Math.sqrt(3),us=Math.tan(30*Ct);Y.transition=function(t){for(var e,r,n=ds||++vs,i=bs(t),a=[],o=gs||{time:Date.now(),ease:ia,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(r=c[u])&&_s(r,u,i,n,o),e.push(r)}return ps(a,i,n)},Y.interrupt=function(t){return this.each(null==t?fs:hs(bs(t)))};var fs=hs(bs());function hs(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function ps(t,e,r){return U(t,ms),t.namespace=e,t.id=r,t}var ds,gs,ms=[],vs=0;function ys(t,e,r,n){var i=t.id,a=t.namespace;return ut(t,\"function\"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function xs(t){return null==t&&(t=\"\"),function(){this.textContent=t}}function bs(t){return null==t?\"__transition__\":\"__transition_\"+t+\"__\"}function _s(t,e,r,n,i){var a,o,s,l,c,u=t[r]||(t[r]={active:0,count:0}),f=u[n];function h(r){var i=u.active,h=u[i];for(var d in h&&(h.timer.c=null,h.timer.t=NaN,--u.count,delete u[i],h.event&&h.event.interrupt.call(t,t.__data__,h.index)),u)if(+d<n){var g=u[d];g.timer.c=null,g.timer.t=NaN,--u.count,delete u[d]}o.c=p,Me(function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1},0,a),u.active=n,f.event&&f.event.start.call(t,t.__data__,e),c=[],f.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&c.push(n)}),l=f.ease,s=f.duration}function p(i){for(var a=i/s,o=l(a),h=c.length;h>0;)c[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}f||(a=i.time,o=Me(function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h},0,a),f=u[n]={tween:new b,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}ms.call=Y.call,ms.empty=Y.empty,ms.node=Y.node,ms.size=Y.size,t.transition=function(e,r){return e&&e.transition?ds?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=ms,ms.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(n=c[u])&&(r=t.call(n,n.__data__,u,s))?(\"__data__\"in n&&(r.__data__=n.__data__),_s(r,u,a,i,n[a][i]),e.push(r)):e.push(null)}return ps(o,a,i)},ms.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=Z(t);for(var c=-1,u=this.length;++c<u;)for(var f=this[c],h=-1,p=f.length;++h<p;)if(n=f[h]){a=n[s][o],r=t.call(n,n.__data__,h,c),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(i=r[d])&&_s(i,d,s,o,a),e.push(i)}return ps(l,s,o)},ms.filter=function(t){var e,r,n=[];\"function\"!=typeof t&&(t=ct(t));for(var i=0,a=this.length;i<a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,i)&&e.push(r)}return ps(n,this.namespace,this.id)},ms.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ut(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},ms.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n=\"transform\"==e?ga:Zi,i=t.ns.qualify(e);function a(){this.removeAttribute(i)}function o(){this.removeAttributeNS(i.space,i.local)}return ys(this,\"attr.\"+e,r,i.local?function(t){return null==t?o:(t+=\"\",function(){var e,r=this.getAttributeNS(i.space,i.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(i.space,i.local,e(t))})})}:function(t){return null==t?a:(t+=\"\",function(){var e,r=this.getAttribute(i);return r!==t&&(e=n(r,t),function(t){this.setAttribute(i,e(t))})})})},ms.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween(\"attr.\"+e,n.local?function(t,e){var i=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return i&&function(t){this.setAttributeNS(n.space,n.local,i(t))}}:function(t,e){var i=r.call(this,t,e,this.getAttribute(n));return i&&function(t){this.setAttribute(n,i(t))}})},ms.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.style(r,t[r],e);return this}r=\"\"}function i(){this.style.removeProperty(t)}return ys(this,\"style.\"+t,e,function(e){return null==e?i:(e+=\"\",function(){var n,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(n=Zi(i,e),function(e){this.style.setProperty(t,n(e),r)})})})},ms.styleTween=function(t,e,r){return arguments.length<3&&(r=\"\"),this.tween(\"style.\"+t,function(n,i){var a=e.call(this,n,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}})},ms.text=function(t){return ys(this,\"text\",t,xs)},ms.remove=function(){var t=this.namespace;return this.each(\"end.transition\",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},ms.ease=function(e){var r=this.id,n=this.namespace;return arguments.length<1?this.node()[n][r].ease:(\"function\"!=typeof e&&(e=t.ease.apply(t,arguments)),ut(this,function(t){t[n][r].ease=e}))},ms.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ut(this,\"function\"==typeof t?function(n,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},ms.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ut(this,\"function\"==typeof t?function(n,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},ms.each=function(e,r){var n=this.id,i=this.namespace;if(arguments.length<2){var a=gs,o=ds;try{ds=n,ut(this,function(t,r,a){gs=t[i][n],e.call(t,t.__data__,r,a)})}finally{gs=a,ds=o}}else ut(this,function(a){var o=a[i][n];(o.event||(o.event=t.dispatch(\"start\",\"end\",\"interrupt\"))).on(e,r)});return this},ms.transition=function(){for(var t,e,r,n=this.id,i=++vs,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var c,u=0,f=(c=this[s]).length;u<f;u++)(e=c[u])&&_s(e,u,a,i,{time:(r=e[a][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return ps(o,a,i)},t.svg.axis=function(){var e,r=t.scale.linear(),i=ws,a=6,o=6,s=3,l=[10],c=null;function u(n){n.each(function(){var n,u=t.select(this),f=this.__chart__||r,h=this.__chart__=r.copy(),p=null==c?h.ticks?h.ticks.apply(h,l):h.domain():c,d=null==e?h.tickFormat?h.tickFormat.apply(h,l):z:e,g=u.selectAll(\".tick\").data(p,h),m=g.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",kt),v=t.transition(g.exit()).style(\"opacity\",kt).remove(),y=t.transition(g.order()).style(\"opacity\",1),x=Math.max(a,0)+s,b=uo(h),_=u.selectAll(\".domain\").data([0]),w=(_.enter().append(\"path\").attr(\"class\",\"domain\"),t.transition(_));m.append(\"line\"),m.append(\"text\");var k,M,A,T,S=m.select(\"line\"),E=y.select(\"line\"),C=g.select(\"text\").text(d),L=m.select(\"text\"),P=y.select(\"text\"),O=\"top\"===i||\"left\"===i?-1:1;if(\"bottom\"===i||\"top\"===i?(n=Ms,k=\"x\",A=\"y\",M=\"x2\",T=\"y2\",C.attr(\"dy\",O<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),w.attr(\"d\",\"M\"+b[0]+\",\"+O*o+\"V0H\"+b[1]+\"V\"+O*o)):(n=As,k=\"y\",A=\"x\",M=\"y2\",T=\"x2\",C.attr(\"dy\",\".32em\").style(\"text-anchor\",O<0?\"end\":\"start\"),w.attr(\"d\",\"M\"+O*o+\",\"+b[0]+\"H0V\"+b[1]+\"H\"+O*o)),S.attr(T,O*a),L.attr(A,O*x),E.attr(M,0).attr(T,O*a),P.attr(k,0).attr(A,O*x),h.rangeBand){var I=h,D=I.rangeBand()/2;f=h=function(t){return I(t)+D}}else f.rangeBand?f=h:v.call(n,h,f);m.call(n,f,h),y.call(n,h,h)})}return u.scale=function(t){return arguments.length?(r=t,u):r},u.orient=function(t){return arguments.length?(i=t in ks?t+\"\":ws,u):i},u.ticks=function(){return arguments.length?(l=n(arguments),u):l},u.tickValues=function(t){return arguments.length?(c=t,u):c},u.tickFormat=function(t){return arguments.length?(e=t,u):e},u.tickSize=function(t){var e=arguments.length;return e?(a=+t,o=+arguments[e-1],u):a},u.innerTickSize=function(t){return arguments.length?(a=+t,u):a},u.outerTickSize=function(t){return arguments.length?(o=+t,u):o},u.tickPadding=function(t){return arguments.length?(s=+t,u):s},u.tickSubdivide=function(){return arguments.length&&u},u};var ws=\"bottom\",ks={top:1,right:1,bottom:1,left:1};function Ms(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(\"+(isFinite(n)?n:r(t))+\",0)\"})}function As(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(0,\"+(isFinite(n)?n:r(t))+\")\"})}t.svg.brush=function(){var e,r,n=j(h,\"brushstart\",\"brush\",\"brushend\"),i=null,a=null,s=[0,0],l=[0,0],c=!0,u=!0,f=Ss[0];function h(e){e.each(function(){var e=t.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",m).on(\"touchstart.brush\",m),r=e.selectAll(\".background\").data([0]);r.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),e.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var n=e.selectAll(\".resize\").data(f,z);n.exit().remove(),n.enter().append(\"g\").attr(\"class\",function(t){return\"resize \"+t}).style(\"cursor\",function(t){return Ts[t]}).append(\"rect\").attr(\"x\",function(t){return/[ew]$/.test(t)?-3:null}).attr(\"y\",function(t){return/^[ns]/.test(t)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),n.style(\"display\",h.empty()?\"none\":null);var o,s=t.transition(e),l=t.transition(r);i&&(o=uo(i),l.attr(\"x\",o[0]).attr(\"width\",o[1]-o[0]),d(s)),a&&(o=uo(a),l.attr(\"y\",o[0]).attr(\"height\",o[1]-o[0]),g(s)),p(s)})}function p(t){t.selectAll(\".resize\").attr(\"transform\",function(t){return\"translate(\"+s[+/e$/.test(t)]+\",\"+l[+/^s/.test(t)]+\")\"})}function d(t){t.select(\".extent\").attr(\"x\",s[0]),t.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",s[1]-s[0])}function g(t){t.select(\".extent\").attr(\"y\",l[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",l[1]-l[0])}function m(){var f,m,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,k=!/^(e|w)$/.test(_)&&a,M=y.classed(\"extent\"),A=xt(v),T=t.mouse(v),S=t.select(o(v)).on(\"keydown.brush\",function(){32==t.event.keyCode&&(M||(f=null,T[0]-=s[1],T[1]-=l[1],M=2),F())}).on(\"keyup.brush\",function(){32==t.event.keyCode&&2==M&&(T[0]+=s[1],T[1]+=l[1],M=0,F())});if(t.event.changedTouches?S.on(\"touchmove.brush\",L).on(\"touchend.brush\",P):S.on(\"mousemove.brush\",L).on(\"mouseup.brush\",P),b.interrupt().selectAll(\"*\").interrupt(),M)T[0]=s[0]-T[0],T[1]=l[0]-T[1];else if(_){var E=+/w$/.test(_),C=+/^n/.test(_);m=[s[1-E]-T[0],l[1-C]-T[1]],T[0]=s[E],T[1]=l[C]}else t.event.altKey&&(f=T.slice());function L(){var e=t.mouse(v),r=!1;m&&(e[0]+=m[0],e[1]+=m[1]),M||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),T[0]=s[+(e[0]<f[0])],T[1]=l[+(e[1]<f[1])]):f=null),w&&z(e,i,0)&&(d(b),r=!0),k&&z(e,a,1)&&(g(b),r=!0),r&&(p(b),x({type:\"brush\",mode:M?\"move\":\"resize\"}))}function z(t,n,i){var a,o,h=uo(n),p=h[0],d=h[1],g=T[i],m=i?l:s,v=m[1]-m[0];if(M&&(p-=g,d-=v+g),a=(i?u:c)?Math.max(p,Math.min(d,t[i])):t[i],M?o=(a+=g)+v:(f&&(g=Math.max(p,Math.min(d,2*f[i]-a))),g<a?(o=a,a=g):o=g),m[0]!=a||m[1]!=o)return i?r=null:e=null,m[0]=a,m[1]=o,!0}function P(){L(),b.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",h.empty()?\"none\":null),t.select(\"body\").style(\"cursor\",null),S.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),A(),x({type:\"brushend\"})}b.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),t.select(\"body\").style(\"cursor\",y.style(\"cursor\")),x({type:\"brushstart\"}),L()}return h.event=function(i){i.each(function(){var i=n.of(this,arguments),a={x:s,y:l,i:e,j:r},o=this.__chart__||a;this.__chart__=a,ds?t.select(this).transition().each(\"start.brush\",function(){e=o.i,r=o.j,s=o.x,l=o.y,i({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var t=$i(s,a.x),n=$i(l,a.y);return e=r=null,function(e){s=a.x=t(e),l=a.y=n(e),i({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){e=a.i,r=a.j,i({type:\"brush\",mode:\"resize\"}),i({type:\"brushend\"})}):(i({type:\"brushstart\"}),i({type:\"brush\",mode:\"resize\"}),i({type:\"brushend\"}))})},h.x=function(t){return arguments.length?(f=Ss[!(i=t)<<1|!a],h):i},h.y=function(t){return arguments.length?(f=Ss[!i<<1|!(a=t)],h):a},h.clamp=function(t){return arguments.length?(i&&a?(c=!!t[0],u=!!t[1]):i?c=!!t:a&&(u=!!t),h):i&&a?[c,u]:i?c:a?u:null},h.extent=function(t){var n,o,c,u,f;return arguments.length?(i&&(n=t[0],o=t[1],a&&(n=n[0],o=o[0]),e=[n,o],i.invert&&(n=i(n),o=i(o)),o<n&&(f=n,n=o,o=f),n==s[0]&&o==s[1]||(s=[n,o])),a&&(c=t[0],u=t[1],i&&(c=c[1],u=u[1]),r=[c,u],a.invert&&(c=a(c),u=a(u)),u<c&&(f=c,c=u,u=f),c==l[0]&&u==l[1]||(l=[c,u])),h):(i&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],i.invert&&(n=i.invert(n),o=i.invert(o)),o<n&&(f=n,n=o,o=f))),a&&(r?(c=r[0],u=r[1]):(c=l[0],u=l[1],a.invert&&(c=a.invert(c),u=a.invert(u)),u<c&&(f=c,c=u,u=f))),i&&a?[[n,c],[o,u]]:i?[n,o]:a&&[c,u])},h.clear=function(){return h.empty()||(s=[0,0],l=[0,0],e=r=null),h},h.empty=function(){return!!i&&s[0]==s[1]||!!a&&l[0]==l[1]},t.rebind(h,n,\"on\")};var Ts={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},Ss=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]],Es=Oe.format=sr.timeFormat,Cs=Es.utc,Ls=Cs(\"%Y-%m-%dT%H:%M:%S.%LZ\");function zs(t){return t.toISOString()}function Ps(e,r,n){function i(t){return e(t)}function a(e,n){var i=(e[1]-e[0])/n,a=t.bisect(Is,i);return a==Is.length?[r.year,xo(e.map(function(t){return t/31536e6}),n)[2]]:a?r[i/Is[a-1]<Is[a]/i?a-1:a]:[Bs,xo(e,n)[2]]}return i.invert=function(t){return Os(e.invert(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain().map(Os)},i.nice=function(t,e){var r=i.domain(),n=co(r),o=null==t?a(n,10):\"number\"==typeof t&&a(n,t);function s(r){return!isNaN(r)&&!t.range(r,Os(+r+1),e).length}return o&&(t=o[0],e=o[1]),i.domain(ho(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=Os(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Os(+e+1);return e}}:t))},i.ticks=function(t,e){var r=co(i.domain()),n=null==t?a(r,10):\"number\"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Os(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Ps(e.copy(),r,n)},vo(i,e)}function Os(t){return new Date(t)}Es.iso=Date.prototype.toISOString&&+new Date(\"2000-01-01T00:00:00.000Z\")?zs:Ls,zs.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},zs.toString=Ls.toString,Oe.second=Be(function(t){return new Ie(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),Oe.seconds=Oe.second.range,Oe.seconds.utc=Oe.second.utc.range,Oe.minute=Be(function(t){return new Ie(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),Oe.minutes=Oe.minute.range,Oe.minutes.utc=Oe.minute.utc.range,Oe.hour=Be(function(t){var e=t.getTimezoneOffset()/60;return new Ie(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),Oe.hours=Oe.hour.range,Oe.hours.utc=Oe.hour.utc.range,Oe.month=Be(function(t){return(t=Oe.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),Oe.months=Oe.month.range,Oe.months.utc=Oe.month.utc.range;var Is=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ds=[[Oe.second,1],[Oe.second,5],[Oe.second,15],[Oe.second,30],[Oe.minute,1],[Oe.minute,5],[Oe.minute,15],[Oe.minute,30],[Oe.hour,1],[Oe.hour,3],[Oe.hour,6],[Oe.hour,12],[Oe.day,1],[Oe.day,2],[Oe.week,1],[Oe.month,1],[Oe.month,3],[Oe.year,1]],Rs=Es.multi([[\".%L\",function(t){return t.getMilliseconds()}],[\":%S\",function(t){return t.getSeconds()}],[\"%I:%M\",function(t){return t.getMinutes()}],[\"%I %p\",function(t){return t.getHours()}],[\"%a %d\",function(t){return t.getDay()&&1!=t.getDate()}],[\"%b %d\",function(t){return 1!=t.getDate()}],[\"%B\",function(t){return t.getMonth()}],[\"%Y\",Wr]]),Bs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Os)},floor:z,ceil:z};Ds.year=Oe.year,Oe.scale=function(){return Ps(t.scale.linear(),Ds,Rs)};var Fs=Ds.map(function(t){return[t[0].utc,t[1]]}),Ns=Cs.multi([[\".%L\",function(t){return t.getUTCMilliseconds()}],[\":%S\",function(t){return t.getUTCSeconds()}],[\"%I:%M\",function(t){return t.getUTCMinutes()}],[\"%I %p\",function(t){return t.getUTCHours()}],[\"%a %d\",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],[\"%b %d\",function(t){return 1!=t.getUTCDate()}],[\"%B\",function(t){return t.getUTCMonth()}],[\"%Y\",Wr]]);function js(t){return JSON.parse(t.responseText)}function Vs(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Fs.year=Oe.year.utc,Oe.scale.utc=function(){return Ps(t.scale.linear(),Fs,Ns)},t.text=ve(function(t){return t.responseText}),t.json=function(t,e){return ye(t,\"application/json\",js,e)},t.html=function(t,e){return ye(t,\"text/html\",Vs,e)},t.xml=ve(function(t){return t.responseXML}),\"object\"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],148:[function(t,e,r){e.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],149:[function(t,e,r){\"use strict\";var n=t(\"incremental-convex-hull\"),i=t(\"uniq\");function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];if(o)return o}return 0}e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s<1)return[];if(1===s)return function(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map(function(t,e){return[t[0],e]});n.sort(function(t,e){return t[0]-e[0]});for(var i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}r&&i.push([-1,i[0][1]],[i[t-1][1],-1]);return i}(r,t,e);for(var l=new Array(r),c=1,u=0;u<r;++u){for(var f=t[u],h=new Array(s+1),p=0,d=0;d<s;++d){var g=f[d];h[d]=g,p+=g*g}h[s]=p,l[u]=new a(h,u),c=Math.max(p,c)}i(l,o),r=l.length;for(var m=new Array(r+s+1),v=new Array(r+s+1),y=(s+1)*(s+1)*c,x=new Array(s+1),u=0;u<=s;++u)x[u]=0;x[s]=y,m[0]=x.slice(),v[0]=-1;for(var u=0;u<=s;++u){var h=x.slice();h[u]=1,m[u+1]=h,v[u+1]=-1}for(var u=0;u<r;++u){var b=l[u];m[u+s+1]=b.point,v[u+s+1]=b.index}var _=n(m,!1);_=e?_.filter(function(t){for(var e=0,r=0;r<=s;++r){var n=v[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e<=s;++e){var r=v[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&s)for(var u=0;u<_.length;++u){var b=_[u],h=b[0];b[0]=b[1],b[1]=h}return _}},{\"incremental-convex-hull\":394,uniq:521}],150:[function(t,e,r){\"use strict\";e.exports=a;var n=(a.canvas=document.createElement(\"canvas\")).getContext(\"2d\"),i=o([32,126]);function a(t,e){Array.isArray(t)&&(t=t.join(\", \"));var r,a={},s=16,l=.05;e&&(2===e.length&&\"number\"==typeof e[0]?r=o(e):Array.isArray(e)?r=e:(e.o?r=o(e.o):e.pairs&&(r=e.pairs),e.fontSize&&(s=e.fontSize),null!=e.threshold&&(l=e.threshold))),r||(r=i),n.font=s+\"px \"+t;for(var c=0;c<r.length;c++){var u=r[c],f=n.measureText(u[0]).width+n.measureText(u[1]).width,h=n.measureText(u).width;if(Math.abs(f-h)>s*l){var p=(h-f)/s;a[u]=1e3*p}}return a}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i<t[1];i++){var a=n+String.fromCharCode(i);e.push(a)}return e}a.createPairs=o,a.ascii=i},{}],151:[function(t,e,r){(function(t){var r=!1;if(\"undefined\"!=typeof Float64Array){var n=new Float64Array(1),i=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===i[1]){e.exports=function(t){return n[0]=t,[i[0],i[1]]},e.exports.pack=function(t,e){return i[0]=t,i[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[0]},e.exports.hi=function(t){return n[0]=t,i[1]}}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]},e.exports.pack=function(t,e){return i[1]=t,i[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[1]},e.exports.hi=function(t){return n[0]=t,i[0]}}else r=!1}if(!r){var a=new t(8);e.exports=function(t){return a.writeDoubleLE(t,0,!0),[a.readUInt32LE(0,!0),a.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return a.writeUInt32LE(t,0,!0),a.writeUInt32LE(e,4,!0),a.readDoubleLE(0,!0)},e.exports.lo=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(0,!0)},e.exports.hi=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t(\"buffer\").Buffer)},{buffer:92}],152:[function(t,e,r){var n=t(\"abs-svg-path\"),i=t(\"normalize-svg-path\"),a={M:\"moveTo\",C:\"bezierCurveTo\"};e.exports=function(t,e){t.beginPath(),i(n(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[a[r]].apply(t,n)}),t.closePath()}},{\"abs-svg-path\":47,\"normalize-svg-path\":432}],153:[function(t,e,r){e.exports=function(t){switch(t){case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"uint8\":return Uint8Array;case\"uint16\":return Uint16Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;case\"array\":return Array;case\"uint8_clamped\":return Uint8ClampedArray}}},{}],154:[function(t,e,r){\"use strict\";e.exports=function(t,e){switch(\"undefined\"==typeof e&&(e=0),typeof t){case\"number\":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case\"object\":if(\"number\"==typeof t.length)return function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],155:[function(t,e,r){\"use strict\";function n(t,e,r){r=r||2;var n,s,l,c,u,p,g,m=e&&e.length,v=m?e[0]*r:t.length,y=i(t,0,v,r,!0),x=[];if(!y)return x;if(m&&(y=function(t,e,r,n){var o,s,l,c,u,p=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,c=o<s-1?e[o+1]*n:t.length,(u=i(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(d(u));for(p.sort(f),o=0;o<p.length;o++)h(p[o],r),r=a(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=c=t[1];for(var b=r;b<v;b+=r)(u=t[b])<n&&(n=u),(p=t[b+1])<s&&(s=p),u>l&&(l=u),p>c&&(c=p);g=0!==(g=Math.max(l-n,c-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===A(t,e,r,n)>0)for(a=e;a<r;a+=n)o=w(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==v(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var d,g,m=t;t.prev!==t.next;)if(d=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),k(t),t=g.next,m=g.next;else if((t=g)===m){h?1===h?o(t=c(t,e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(v(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&v(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(v(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=p(s,l,e,r,n),h=p(c,u,e,r,n),d=t.prevZ,m=t.nextZ;d&&d.z>=f&&m&&m.z<=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;d&&d.z>=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),k(n),k(n.next),n=t=a),n=n.next}while(n!==t);return n}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=_(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r.prev;var l,c=r,u=r.x,f=r.y,h=1/0;n=r.next;for(;n!==c;)i>=n.x&&n.x>=u&&i!==n.x&&g(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<h||l===h&&n.x>r.x)&&b(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function g(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function m(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function v(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||v(t,e,r)>0!=v(t,e,n)>0&&v(r,n,t)>0!=v(r,n,e)>0}function b(t,e){return v(t.prev,t,t.next)<0?v(t,e,t.next)>=0&&v(t,t.prev,e)>=0:v(t,e,t.prev)<0||v(t,t.next,e)<0}function _(t,e){var r=new M(t.i,t.x,t.y),n=new M(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new M(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function M(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function A(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(A(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(A(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],156:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t.length;if(\"number\"!=typeof e){e=0;for(var i=0;i<r;++i){var a=t[i];e=Math.max(e,a[0],a[1])}e=1+(0|e)}e|=0;for(var o=new Array(e),i=0;i<e;++i)o[i]=[];for(var i=0;i<r;++i){var a=t[i];o[a[0]].push(a[1]),o[a[1]].push(a[0])}for(var s=0;s<e;++s)n(o[s],function(t,e){return t-e});return o};var n=t(\"uniq\")},{uniq:521}],157:[function(t,e,r){\"use strict\";var n=t(\"../../object/valid-value\");e.exports=function(){return n(this).length=0,this}},{\"../../object/valid-value\":189}],158:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Array.from:t(\"./shim\")},{\"./is-implemented\":159,\"./shim\":160}],159:[function(t,e,r){\"use strict\";e.exports=function(){var t,e,r=Array.from;return\"function\"==typeof r&&(e=r(t=[\"raz\",\"dwa\"]),Boolean(e&&e!==t&&\"dwa\"===e[1]))}},{}],160:[function(t,e,r){\"use strict\";var n=t(\"es6-symbol\").iterator,i=t(\"../../function/is-arguments\"),a=t(\"../../function/is-function\"),o=t(\"../../number/to-pos-integer\"),s=t(\"../../object/valid-callable\"),l=t(\"../../object/valid-value\"),c=t(\"../../object/is-value\"),u=t(\"../../string/is-string\"),f=Array.isArray,h=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(t){var e,r,g,m,v,y,x,b,_,w,k=arguments[1],M=arguments[2];if(t=Object(l(t)),c(k)&&s(k),this&&this!==Array&&a(this))e=this;else{if(!k){if(i(t))return 1!==(v=t.length)?Array.apply(null,t):((m=new Array(1))[0]=t[0],m);if(f(t)){for(m=new Array(v=t.length),r=0;r<v;++r)m[r]=t[r];return m}}m=[]}if(!f(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(m=new e),b=x.next(),r=0;!b.done;)w=k?h.call(k,M,b.value,r):b.value,e?(p.value=w,d(m,r,p)):m[r]=w,b=x.next(),++r;v=r}else if(u(t)){for(v=t.length,e&&(m=new e),r=0,g=0;r<v;++r)w=t[r],r+1<v&&(y=w.charCodeAt(0))>=55296&&y<=56319&&(w+=t[++r]),w=k?h.call(k,M,w,g):w,e?(p.value=w,d(m,g,p)):m[g]=w,++g;v=g}if(void 0===v)for(v=o(t.length),e&&(m=new e(v)),r=0;r<v;++r)w=k?h.call(k,M,t[r],r):t[r],e?(p.value=w,d(m,r,p)):m[r]=w;return e&&(p.value=null,m.length=v),m}},{\"../../function/is-arguments\":161,\"../../function/is-function\":162,\"../../number/to-pos-integer\":168,\"../../object/is-value\":178,\"../../object/valid-callable\":187,\"../../object/valid-value\":189,\"../../string/is-string\":193,\"es6-symbol\":203}],161:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,i=n.call(function(){return arguments}());e.exports=function(t){return n.call(t)===i}},{}],162:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,i=n.call(t(\"./noop\"));e.exports=function(t){return\"function\"==typeof t&&n.call(t)===i}},{\"./noop\":163}],163:[function(t,e,r){\"use strict\";e.exports=function(){}},{}],164:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Math.sign:t(\"./shim\")},{\"./is-implemented\":165,\"./shim\":166}],165:[function(t,e,r){\"use strict\";e.exports=function(){var t=Math.sign;return\"function\"==typeof t&&(1===t(10)&&-1===t(-20))}},{}],166:[function(t,e,r){\"use strict\";e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},{}],167:[function(t,e,r){\"use strict\";var n=t(\"../math/sign\"),i=Math.abs,a=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},{\"../math/sign\":164}],168:[function(t,e,r){\"use strict\";var n=t(\"./to-integer\"),i=Math.max;e.exports=function(t){return i(0,n(t))}},{\"./to-integer\":167}],169:[function(t,e,r){\"use strict\";var n=t(\"./valid-callable\"),i=t(\"./valid-value\"),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(c),u=s(r),h&&u.sort(\"function\"==typeof h?a.call(h,r):void 0),\"function\"!=typeof t&&(t=u[t]),o.call(t,u,function(t,n){return l.call(r,t)?o.call(c,f,r[t],t,r,n):e})}}},{\"./valid-callable\":187,\"./valid-value\":189}],170:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.assign:t(\"./shim\")},{\"./is-implemented\":171,\"./shim\":172}],171:[function(t,e,r){\"use strict\";e.exports=function(){var t,e=Object.assign;return\"function\"==typeof e&&(e(t={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}},{}],172:[function(t,e,r){\"use strict\";var n=t(\"../keys\"),i=t(\"../valid-value\"),a=Math.max;e.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o<l;++o)e=arguments[o],n(e).forEach(s);if(void 0!==r)throw r;return t}},{\"../keys\":179,\"../valid-value\":189}],173:[function(t,e,r){\"use strict\";var n=t(\"../array/from\"),i=t(\"./assign\"),a=t(\"./valid-value\");e.exports=function(t){var e=Object(a(t)),r=arguments[1],o=Object(arguments[2]);if(e!==t&&!r)return e;var s={};return r?n(r,function(e){(o.ensure||e in t)&&(s[e]=t[e])}):i(s,t),s}},{\"../array/from\":158,\"./assign\":170,\"./valid-value\":189}],174:[function(t,e,r){\"use strict\";var n,i,a,o,s=Object.create;t(\"./set-prototype-of/is-implemented\")()||(n=t(\"./set-prototype-of/shim\")),e.exports=n?1!==n.level?s:(i={},a={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(t){a[t]=\"__proto__\"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}}),Object.defineProperties(i,a),Object.defineProperty(n,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:i}),function(t,e){return s(null===t?i:t,e)}):s},{\"./set-prototype-of/is-implemented\":185,\"./set-prototype-of/shim\":186}],175:[function(t,e,r){\"use strict\";e.exports=t(\"./_iterate\")(\"forEach\")},{\"./_iterate\":169}],176:[function(t,e,r){\"use strict\";e.exports=function(t){return\"function\"==typeof t}},{}],177:[function(t,e,r){\"use strict\";var n=t(\"./is-value\"),i={function:!0,object:!0};e.exports=function(t){return n(t)&&i[typeof t]||!1}},{\"./is-value\":178}],178:[function(t,e,r){\"use strict\";var n=t(\"../function/noop\")();e.exports=function(t){return t!==n&&null!==t}},{\"../function/noop\":163}],179:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.keys:t(\"./shim\")},{\"./is-implemented\":180,\"./shim\":181}],180:[function(t,e,r){\"use strict\";e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(t){return!1}}},{}],181:[function(t,e,r){\"use strict\";var n=t(\"../is-value\"),i=Object.keys;e.exports=function(t){return i(n(t)?Object(t):t)}},{\"../is-value\":178}],182:[function(t,e,r){\"use strict\";var n=t(\"./valid-callable\"),i=t(\"./for-each\"),a=Function.prototype.call;e.exports=function(t,e){var r={},o=arguments[2];return n(e),i(t,function(t,n,i,s){r[n]=a.call(e,o,t,n,i,s)}),r}},{\"./for-each\":175,\"./valid-callable\":187}],183:[function(t,e,r){\"use strict\";var n=t(\"./is-value\"),i=Array.prototype.forEach,a=Object.create;e.exports=function(t){var e=a(null);return i.call(arguments,function(t){n(t)&&function(t,e){var r;for(r in t)e[r]=t[r]}(Object(t),e)}),e}},{\"./is-value\":178}],184:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.setPrototypeOf:t(\"./shim\")},{\"./is-implemented\":185,\"./shim\":186}],185:[function(t,e,r){\"use strict\";var n=Object.create,i=Object.getPrototypeOf,a={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return\"function\"==typeof t&&i(t(e(null),a))===a}},{}],186:[function(t,e,r){\"use strict\";var n,i,a,o,s=t(\"../is-object\"),l=t(\"../valid-value\"),c=Object.prototype.isPrototypeOf,u=Object.defineProperty,f={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(l(t),null===e||s(e))return t;throw new TypeError(\"Prototype must be null or an object\")},e.exports=(i=function(){var t,e=Object.create(null),r={},n=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(n){try{(t=n.set).call(e,r)}catch(t){}if(Object.getPrototypeOf(e)===r)return{set:t,level:2}}return e.__proto__=r,Object.getPrototypeOf(e)===r?{level:2}:((e={}).__proto__=r,Object.getPrototypeOf(e)===r&&{level:1})}())?(2===i.level?i.set?(o=i.set,a=function(t,e){return o.call(n(t,e),e),t}):a=function(t,e){return n(t,e).__proto__=e,t}:a=function t(e,r){var i;return n(e,r),(i=c.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,i&&u(t.nullPolyfill,\"__proto__\",f),e},Object.defineProperty(a,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:i.level})):null,t(\"../create\")},{\"../create\":174,\"../is-object\":177,\"../valid-value\":189}],187:[function(t,e,r){\"use strict\";e.exports=function(t){if(\"function\"!=typeof t)throw new TypeError(t+\" is not a function\");return t}},{}],188:[function(t,e,r){\"use strict\";var n=t(\"./is-object\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not an Object\");return t}},{\"./is-object\":177}],189:[function(t,e,r){\"use strict\";var n=t(\"./is-value\");e.exports=function(t){if(!n(t))throw new TypeError(\"Cannot use null or undefined\");return t}},{\"./is-value\":178}],190:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?String.prototype.contains:t(\"./shim\")},{\"./is-implemented\":191,\"./shim\":192}],191:[function(t,e,r){\"use strict\";var n=\"razdwatrzy\";e.exports=function(){return\"function\"==typeof n.contains&&(!0===n.contains(\"dwa\")&&!1===n.contains(\"foo\"))}},{}],192:[function(t,e,r){\"use strict\";var n=String.prototype.indexOf;e.exports=function(t){return n.call(this,t,arguments[1])>-1}},{}],193:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,i=n.call(\"\");e.exports=function(t){return\"string\"==typeof t||t&&\"object\"==typeof t&&(t instanceof String||n.call(t)===i)||!1}},{}],194:[function(t,e,r){\"use strict\";var n=Object.create(null),i=Math.random;e.exports=function(){var t;do{t=i().toString(36).slice(2)}while(n[t]);return t}},{}],195:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/set-prototype-of\"),a=t(\"es5-ext/string/#/contains\"),o=t(\"d\"),s=t(\"es6-symbol\"),l=t(\"./\"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");l.call(this,t),e=e?a.call(e,\"key+value\")?\"key+value\":a.call(e,\"key\")?\"key\":\"value\":\"value\",c(this,\"__kind__\",o(\"\",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o(function(t){return\"value\"===this.__kind__?this.__list__[t]:\"key+value\"===this.__kind__?[t,this.__list__[t]]:t})}),c(n.prototype,s.toStringTag,o(\"c\",\"Array Iterator\"))},{\"./\":198,d:138,\"es5-ext/object/set-prototype-of\":184,\"es5-ext/string/#/contains\":190,\"es6-symbol\":203}],196:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/object/valid-callable\"),a=t(\"es5-ext/string/is-string\"),o=t(\"./get\"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,f,h,p,d,g,m,v=arguments[2];if(s(t)||n(t)?r=\"array\":a(t)?r=\"string\":t=o(t),i(e),f=function(){h=!0},\"array\"!==r)if(\"string\"!==r)for(u=t.next();!u.done;){if(l.call(e,v,u.value,f),h)return;u=t.next()}else for(d=t.length,p=0;p<d&&(g=t[p],p+1<d&&(m=g.charCodeAt(0))>=55296&&m<=56319&&(g+=t[++p]),l.call(e,v,g,f),!h);++p);else c.call(t,function(t){return l.call(e,v,t,f),h})}},{\"./get\":197,\"es5-ext/function/is-arguments\":161,\"es5-ext/object/valid-callable\":187,\"es5-ext/string/is-string\":193}],197:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/string/is-string\"),a=t(\"./array\"),o=t(\"./string\"),s=t(\"./valid-iterable\"),l=t(\"es6-symbol\").iterator;e.exports=function(t){return\"function\"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},{\"./array\":195,\"./string\":200,\"./valid-iterable\":201,\"es5-ext/function/is-arguments\":161,\"es5-ext/string/is-string\":193,\"es6-symbol\":203}],198:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/array/#/clear\"),a=t(\"es5-ext/object/assign\"),o=t(\"es5-ext/object/valid-callable\"),s=t(\"es5-ext/object/valid-value\"),l=t(\"d\"),c=t(\"d/auto-bind\"),u=t(\"es6-symbol\"),f=Object.defineProperty,h=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");h(this,{__list__:l(\"w\",s(t)),__context__:l(\"w\",e),__nextIndex__:l(\"w\",0)}),e&&(o(e.on),e.on(\"_add\",this._onAdd),e.on(\"_delete\",this._onDelete),e.on(\"_clear\",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l(function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()}),next:l(function(){return this._createResult(this._next())}),_createResult:l(function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}}),_resolve:l(function(t){return this.__list__[t]}),_unBind:l(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off(\"_add\",this._onAdd),this.__context__.off(\"_delete\",this._onDelete),this.__context__.off(\"_clear\",this._onClear),this.__context__=null)}),toString:l(function(){return\"[object \"+(this[u.toStringTag]||\"Object\")+\"]\"})},c({_onAdd:l(function(t){t>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(e,r){e>=t&&(this.__redo__[r]=++e)},this),this.__redo__.push(t)):f(this,\"__redo__\",l(\"c\",[t])))}),_onDelete:l(function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach(function(e,r){e>t&&(this.__redo__[r]=--e)},this)))}),_onClear:l(function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0})}))),f(n.prototype,u.iterator,l(function(){return this}))},{d:138,\"d/auto-bind\":137,\"es5-ext/array/#/clear\":157,\"es5-ext/object/assign\":170,\"es5-ext/object/valid-callable\":187,\"es5-ext/object/valid-value\":189,\"es6-symbol\":203}],199:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/object/is-value\"),a=t(\"es5-ext/string/is-string\"),o=t(\"es6-symbol\").iterator,s=Array.isArray;e.exports=function(t){return!!i(t)&&(!!s(t)||(!!a(t)||(!!n(t)||\"function\"==typeof t[o])))}},{\"es5-ext/function/is-arguments\":161,\"es5-ext/object/is-value\":178,\"es5-ext/string/is-string\":193,\"es6-symbol\":203}],200:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/set-prototype-of\"),a=t(\"d\"),o=t(\"es6-symbol\"),s=t(\"./\"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");t=String(t),s.call(this,t),l(this,\"__length__\",a(\"\",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a(function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()}),_resolve:a(function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0))>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r})}),l(n.prototype,o.toStringTag,a(\"c\",\"String Iterator\"))},{\"./\":198,d:138,\"es5-ext/object/set-prototype-of\":184,\"es6-symbol\":203}],201:[function(t,e,r){\"use strict\";var n=t(\"./is-iterable\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not iterable\");return t}},{\"./is-iterable\":199}],202:[function(t,e,r){(function(n,i){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?e.exports=n():t.ES6Promise=n()}(this,function(){\"use strict\";function e(t){return\"function\"==typeof t}var r=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},a=0,o=void 0,s=void 0,l=function(t,e){g[a]=t,g[a+1]=e,2===(a+=2)&&(s?s(m):_())};var c=\"undefined\"!=typeof window?window:void 0,u=c||{},f=u.MutationObserver||u.WebKitMutationObserver,h=\"undefined\"==typeof self&&\"undefined\"!=typeof n&&\"[object process]\"==={}.toString.call(n),p=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(m,1)}}var g=new Array(1e3);function m(){for(var t=0;t<a;t+=2){(0,g[t])(g[t+1]),g[t]=void 0,g[t+1]=void 0}a=0}var v,y,x,b,_=void 0;function w(t,e){var r=arguments,n=this,i=new this.constructor(A);void 0===i[M]&&U(i);var a,o=n._state;return o?(a=r[o-1],l(function(){return j(o,i,a,n._result)})):R(n,i,t,e),i}function k(t){if(t&&\"object\"==typeof t&&t.constructor===this)return t;var e=new this(A);return P(e,t),e}h?_=function(){return n.nextTick(m)}:f?(y=0,x=new f(m),b=document.createTextNode(\"\"),x.observe(b,{characterData:!0}),_=function(){b.data=y=++y%2}):p?((v=new MessageChannel).port1.onmessage=m,_=function(){return v.port2.postMessage(0)}):_=void 0===c&&\"function\"==typeof t?function(){try{var e=t(\"vertx\");return o=e.runOnLoop||e.runOnContext,function(){o(m)}}catch(t){return d()}}():d();var M=Math.random().toString(36).substring(16);function A(){}var T=void 0,S=1,E=2,C=new F;function L(t){try{return t.then}catch(t){return C.error=t,C}}function z(t,r,n){r.constructor===t.constructor&&n===w&&r.constructor.resolve===k?function(t,e){e._state===S?I(t,e._result):e._state===E?D(t,e._result):R(e,void 0,function(e){return P(t,e)},function(e){return D(t,e)})}(t,r):n===C?D(t,C.error):void 0===n?I(t,r):e(n)?function(t,e,r){l(function(t){var n=!1,i=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?P(t,r):I(t,r))},function(e){n||(n=!0,D(t,e))},t._label);!n&&i&&(n=!0,D(t,i))},t)}(t,r,n):I(t,r)}function P(t,e){var r;t===e?D(t,new TypeError(\"You cannot resolve a promise with itself\")):\"function\"==typeof(r=e)||\"object\"==typeof r&&null!==r?z(t,e,L(e)):I(t,e)}function O(t){t._onerror&&t._onerror(t._result),B(t)}function I(t,e){t._state===T&&(t._result=e,t._state=S,0!==t._subscribers.length&&l(B,t))}function D(t,e){t._state===T&&(t._state=E,t._result=e,l(O,t))}function R(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+S]=r,i[a+E]=n,0===a&&t._state&&l(B,t)}function B(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o<e.length;o+=3)n=e[o],i=e[o+r],n?j(r,n,i,a):i(a);t._subscribers.length=0}}function F(){this.error=null}var N=new F;function j(t,r,n,i){var a=e(n),o=void 0,s=void 0,l=void 0,c=void 0;if(a){if((o=function(t,e){try{return t(e)}catch(t){return N.error=t,N}}(n,i))===N?(c=!0,s=o.error,o=null):l=!0,r===o)return void D(r,new TypeError(\"A promises callback cannot return that same promise.\"))}else o=i,l=!0;r._state!==T||(a&&l?P(r,o):c?D(r,s):t===S?I(r,o):t===E&&D(r,o))}var V=0;function U(t){t[M]=V++,t._state=void 0,t._result=void 0,t._subscribers=[]}function q(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[M]||U(this.promise),r(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?I(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&I(this.promise,this._result))):D(this.promise,new Error(\"Array Methods must be provided an Array\"))}function H(t){this[M]=V++,this._result=this._state=void 0,this._subscribers=[],A!==t&&(\"function\"!=typeof t&&function(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}(),this instanceof H?function(t,e){try{e(function(e){P(t,e)},function(e){D(t,e)})}catch(e){D(t,e)}}(this,t):function(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}())}function G(){var t=void 0;if(\"undefined\"!=typeof i)t=i;else if(\"undefined\"!=typeof self)t=self;else try{t=Function(\"return this\")()}catch(t){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if(\"[object Promise]\"===r&&!e.cast)return}t.Promise=H}return q.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===T&&r<t;r++)this._eachEntry(e[r],r)},q.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===k){var i=L(t);if(i===w&&t._state!==T)this._settledAt(t._state,e,t._result);else if(\"function\"!=typeof i)this._remaining--,this._result[e]=t;else if(r===H){var a=new r(A);z(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},q.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===T&&(this._remaining--,t===E?D(n,r):this._result[e]=r),0===this._remaining&&I(n,this._result)},q.prototype._willSettleAt=function(t,e){var r=this;R(t,void 0,function(t){return r._settledAt(S,e,t)},function(t){return r._settledAt(E,e,t)})},H.all=function(t){return new q(this,t).promise},H.race=function(t){var e=this;return r(t)?new e(function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)}):new e(function(t,e){return e(new TypeError(\"You must pass an array to race.\"))})},H.resolve=k,H.reject=function(t){var e=new this(A);return D(e,t),e},H._setScheduler=function(t){s=t},H._setAsap=function(t){l=t},H._asap=l,H.prototype={constructor:H,then:w,catch:function(t){return this.then(null,t)}},G(),H.polyfill=G,H.Promise=H,H})}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{_process:462}],203:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Symbol:t(\"./polyfill\")},{\"./is-implemented\":204,\"./polyfill\":206}],204:[function(t,e,r){\"use strict\";var n={object:!0,symbol:!0};e.exports=function(){var t;if(\"function\"!=typeof Symbol)return!1;t=Symbol(\"test symbol\");try{String(t)}catch(t){return!1}return!!n[typeof Symbol.iterator]&&(!!n[typeof Symbol.toPrimitive]&&!!n[typeof Symbol.toStringTag])}},{}],205:[function(t,e,r){\"use strict\";e.exports=function(t){return!!t&&(\"symbol\"==typeof t||!!t.constructor&&(\"Symbol\"===t.constructor.name&&\"Symbol\"===t[t.constructor.toStringTag]))}},{}],206:[function(t,e,r){\"use strict\";var n,i,a,o,s=t(\"d\"),l=t(\"./validate-symbol\"),c=Object.create,u=Object.defineProperties,f=Object.defineProperty,h=Object.prototype,p=c(null);if(\"function\"==typeof Symbol){n=Symbol;try{String(n()),o=!0}catch(t){}}var d,g=(d=c(null),function(t){for(var e,r,n=0;d[t+(n||\"\")];)++n;return d[t+=n||\"\"]=!0,f(h,e=\"@@\"+t,s.gs(null,function(t){r||(r=!0,f(this,e,s(t)),r=!1)})),e});a=function(t){if(this instanceof a)throw new TypeError(\"Symbol is not a constructor\");return i(t)},e.exports=i=function t(e){var r;if(this instanceof t)throw new TypeError(\"Symbol is not a constructor\");return o?n(e):(r=c(a.prototype),e=void 0===e?\"\":String(e),u(r,{__description__:s(\"\",e),__name__:s(\"\",g(e))}))},u(i,{for:s(function(t){return p[t]?p[t]:p[t]=i(String(t))}),keyFor:s(function(t){var e;for(e in l(t),p)if(p[e]===t)return e}),hasInstance:s(\"\",n&&n.hasInstance||i(\"hasInstance\")),isConcatSpreadable:s(\"\",n&&n.isConcatSpreadable||i(\"isConcatSpreadable\")),iterator:s(\"\",n&&n.iterator||i(\"iterator\")),match:s(\"\",n&&n.match||i(\"match\")),replace:s(\"\",n&&n.replace||i(\"replace\")),search:s(\"\",n&&n.search||i(\"search\")),species:s(\"\",n&&n.species||i(\"species\")),split:s(\"\",n&&n.split||i(\"split\")),toPrimitive:s(\"\",n&&n.toPrimitive||i(\"toPrimitive\")),toStringTag:s(\"\",n&&n.toStringTag||i(\"toStringTag\")),unscopables:s(\"\",n&&n.unscopables||i(\"unscopables\"))}),u(a.prototype,{constructor:s(i),toString:s(\"\",function(){return this.__name__})}),u(i.prototype,{toString:s(function(){return\"Symbol (\"+l(this).__description__+\")\"}),valueOf:s(function(){return l(this)})}),f(i.prototype,i.toPrimitive,s(\"\",function(){var t=l(this);return\"symbol\"==typeof t?t:t.toString()})),f(i.prototype,i.toStringTag,s(\"c\",\"Symbol\")),f(a.prototype,i.toStringTag,s(\"c\",i.prototype[i.toStringTag])),f(a.prototype,i.toPrimitive,s(\"c\",i.prototype[i.toPrimitive]))},{\"./validate-symbol\":207,d:138}],207:[function(t,e,r){\"use strict\";var n=t(\"./is-symbol\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not a symbol\");return t}},{\"./is-symbol\":205}],208:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?WeakMap:t(\"./polyfill\")},{\"./is-implemented\":209,\"./polyfill\":211}],209:[function(t,e,r){\"use strict\";e.exports=function(){var t,e;if(\"function\"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(t){return!1}return\"[object WeakMap]\"===String(t)&&(\"function\"==typeof t.set&&(t.set({},1)===t&&(\"function\"==typeof t.delete&&(\"function\"==typeof t.has&&\"one\"===t.get(e)))))}},{}],210:[function(t,e,r){\"use strict\";e.exports=\"function\"==typeof WeakMap&&\"[object WeakMap]\"===Object.prototype.toString.call(new WeakMap)},{}],211:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/set-prototype-of\"),a=t(\"es5-ext/object/valid-object\"),o=t(\"es5-ext/object/valid-value\"),s=t(\"es5-ext/string/random-uniq\"),l=t(\"d\"),c=t(\"es6-iterator/get\"),u=t(\"es6-iterator/for-of\"),f=t(\"es6-symbol\").toStringTag,h=t(\"./is-native-implemented\"),p=Array.isArray,d=Object.defineProperty,g=Object.prototype.hasOwnProperty,m=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");return t=h&&i&&WeakMap!==n?i(new WeakMap,m(this)):this,null!=e&&(p(e)||(e=c(e))),d(t,\"__weakMapData__\",l(\"c\",\"$weakMap$\"+s())),e?(u(e,function(e){o(e),t.set(e[0],e[1])}),t):t},h&&(i&&i(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:l(n)})),Object.defineProperties(n.prototype,{delete:l(function(t){return!!g.call(a(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)}),get:l(function(t){if(g.call(a(t),this.__weakMapData__))return t[this.__weakMapData__]}),has:l(function(t){return g.call(a(t),this.__weakMapData__)}),set:l(function(t,e){return d(a(t),this.__weakMapData__,l(\"c\",e)),this}),toString:l(function(){return\"[object WeakMap]\"})}),d(n.prototype,f,l(\"c\",\"WeakMap\"))},{\"./is-native-implemented\":210,d:138,\"es5-ext/object/set-prototype-of\":184,\"es5-ext/object/valid-object\":188,\"es5-ext/object/valid-value\":189,\"es5-ext/string/random-uniq\":194,\"es6-iterator/for-of\":196,\"es6-iterator/get\":197,\"es6-symbol\":203}],212:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n=e||0,i=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}},{}],213:[function(t,e,r){\"use strict\";e.exports=function(t){var e=typeof t;if(\"string\"===e){var r=t;if(0===(t=+t)&&function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}(r))return!1}else if(\"number\"!==e)return!1;return t-t<1}},{}],214:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:if(\"number\"==typeof t){var n=l(t);return new o(n,n,0)}return new o(t,l(t.length),0);case 2:if(\"number\"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error(\"state and velocity lengths must match\");return new o(t,e,r)}};var n=t(\"cubic-hermite\"),i=t(\"binary-search-bounds\");function a(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-1/0,this.bounds[1][n]=1/0;this._state=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}var s=o.prototype;function l(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}s.flush=function(t){var e=i.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},s.curve=function(t){var e=this._time,r=e.length,o=i.le(e,t),s=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,f=this.bounds;if(o<0)for(var h=u-1,p=0;p<u;++p,--h)s[p]=l[h];else if(o>=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p<u;++p,--h)s[p]=l[h]+d*c[h]}else{h=u*(o+1)-1;var g=e[o],m=e[o+1]-g||1,v=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(p=0;p<u;++p,--h)v[p]=l[h],x[p]=c[h]*m,y[p]=l[h+u],b[p]=c[h+u]*m,_=_&&v[p]===y[p]&&x[p]===b[p]&&0===x[p];if(_)for(p=0;p<u;++p)s[p]=v[p];else n(v,x,y,b,(t-g)/m,s)}var w=f[0],k=f[1];for(p=0;p<u;++p)s[p]=a(w[p],k[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,a=i.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,c=this.dimension;if(a>=r-1)for(var u=s.length-1,f=(e[r-1],0);f<c;++f,--u)o[f]=l[u];else{u=c*(a+1)-1;var h=e[a],p=e[a+1]-h||1,d=this._scratch[1],g=this._scratch[2],m=this._scratch[3],v=this._scratch[4],y=!0;for(f=0;f<c;++f,--u)d[f]=s[u],m[f]=l[u]*p,g[f]=s[u+c],v[f]=l[u+c]*p,y=y&&d[f]===g[f]&&m[f]===v[f]&&0===m[f];if(y)for(f=0;f<c;++f)o[f]=0;else{n.derivative(d,m,g,v,(t-h)/p,o);for(f=0;f<c;++f)o[f]/=p}}return o},s.lastT=function(){var t=this._time;return t[t.length-1]},s.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var f=0;f<r;++f)n.push(n[o++]),i.push(0);this._time.push(t);for(f=r;f>0;--f)n.push(a(l[f-1],c[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],f=s>1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(c[h-1],u[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,i=this.bounds,o=i[0],s=i[1];this._time.push(t);for(var l=e;l>0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],c[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,i=this._velocity,o=n.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var f=r-1;f>=0;--f)n.push(a(l[f],c[f],n[o]+u*i[o])),i.push(0),o+=1}}},{\"binary-search-bounds\":78,\"cubic-hermite\":132}],215:[function(t,e,r){var n=t(\"dtype\");e.exports=function(t,e,r){if(!t)throw new TypeError(\"must specify data as first parameter\");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&\"number\"==typeof t[0][0]){var i,a,o,s,l=t[0].length,c=t.length*l;e&&\"string\"!=typeof e||(e=new(n(e||\"float32\"))(c+r));var u=e.length-r;if(c!==u)throw new Error(\"source length \"+c+\" (\"+l+\"x\"+t.length+\") does not match destination length \"+u);for(i=0,o=r;i<t.length;i++)for(a=0;a<l;a++)e[o++]=null===t[i][a]?NaN:t[i][a]}else if(e&&\"string\"!=typeof e)e.set(t,r);else{var f=n(e||\"float32\");if(Array.isArray(t)||\"array\"===e)for(e=new f(t.length+r),i=0,o=r,s=e.length;o<s;o++,i++)e[o]=null===t[i]?NaN:t[i];else 0===r?e=new f(t):(e=new f(t.length+r)).set(t,r)}return e}},{dtype:153}],216:[function(t,e,r){\"use strict\";var n=t(\"css-font/stringify\"),i=[32,126];e.exports=function(t){var e=(t=t||{}).shape?t.shape:t.canvas?[t.canvas.width,t.canvas.height]:[512,512],r=t.canvas||document.createElement(\"canvas\"),a=t.font,o=\"number\"==typeof t.step?[t.step,t.step]:t.step||[32,32],s=t.chars||i;a&&\"string\"!=typeof a&&(a=n(a));if(Array.isArray(s)){if(2===s.length&&\"number\"==typeof s[0]&&\"number\"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split(\"\");e=e.slice(),r.width=e[0],r.height=e[1];var f=r.getContext(\"2d\");f.fillStyle=\"#000\",f.fillRect(0,0,r.width,r.height),f.font=a,f.textAlign=\"center\",f.textBaseline=\"middle\",f.fillStyle=\"#fff\";for(var h=o[0]/2,p=o[1]/2,c=0;c<s.length;c++)f.fillText(s[c],h,p),(h+=o[0])>e[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},{\"css-font/stringify\":129}],217:[function(t,e,r){\"use strict\";function n(t,e){e||(e={}),(\"string\"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(\", \"):e.family;if(!r)throw Error(\"`family` must be defined\");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||\"\",c=(t=[e.style||e.fontStyle||\"\",l,s].join(\" \")+\"px \"+r,e.origin||\"top\");if(n.cache[r]&&s<=n.cache[r].em)return i(n.cache[r],c);var u=e.canvas||n.canvas,f=u.getContext(\"2d\"),h={upper:void 0!==e.upper?e.upper:\"H\",lower:void 0!==e.lower?e.lower:\"x\",descent:void 0!==e.descent?e.descent:\"p\",ascent:void 0!==e.ascent?e.ascent:\"h\",tittle:void 0!==e.tittle?e.tittle:\"i\",overshoot:void 0!==e.overshoot?e.overshoot:\"O\"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,f.font=t;var d={top:0};f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillStyle=\"black\",f.fillText(\"H\",0,0);var g=a(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline=\"bottom\",f.fillText(\"H\",0,p);var m=a(f.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-m+g,f.clearRect(0,0,p,p),f.textBaseline=\"alphabetic\",f.fillText(\"H\",0,p);var v=p-a(f.getImageData(0,0,p,p))-1+g;d.baseline=d.alphabetic=v,f.clearRect(0,0,p,p),f.textBaseline=\"middle\",f.fillText(\"H\",0,.5*p);var y=a(f.getImageData(0,0,p,p));d.median=d.middle=p-y-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"hanging\",f.fillText(\"H\",0,.5*p);var x=a(f.getImageData(0,0,p,p));d.hanging=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"ideographic\",f.fillText(\"H\",0,p);var b=a(f.getImageData(0,0,p,p));if(d.ideographic=p-b-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.upper,0,0),d.upper=a(f.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.lower,0,0),d.lower=a(f.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.tittle,0,0),d.tittle=a(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.ascent,0,0),d.ascent=a(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.descent,0,0),d.descent=o(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.overshoot,0,0);var _=o(f.getImageData(0,0,p,p));d.overshoot=_-v}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,i(d,c)}function i(t,e){var r={};for(var n in\"string\"==typeof e&&(e=t[e]),t)\"em\"!==n&&(r[n]=t[n]-e);return r}function a(t){for(var e=t.height,r=t.data,n=3;n<r.length;n+=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}function o(t){for(var e=t.height,r=t.data,n=r.length-1;n>0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement(\"canvas\"),n.cache={}},{}],218:[function(t,e,r){\"use strict\";e.exports=function(t){return new c(t||d,null)};var n=0,i=1;function a(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function o(t){return new a(t._color,t.key,t.value,t.left,t.right,t._count)}function s(t,e){return new a(t,e.key,e.value,e.left,e.right,e._count)}function l(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function c(t,e){this._compare=t,this.root=e}var u=c.prototype;function f(t,e){this.tree=t,this._stack=e}Object.defineProperty(u,\"keys\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(u,\"values\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(u,\"length\",{get:function(){return this.root?this.root._count:0}}),u.insert=function(t,e){for(var r=this._compare,o=this.root,u=[],f=[];o;){var h=r(t,o.key);u.push(o),f.push(h),o=h<=0?o.left:o.right}u.push(new a(n,t,e,null,null,1));for(var p=u.length-2;p>=0;--p){o=u[p];f[p]<=0?u[p]=new a(o._color,o.key,o.value,u[p+1],o.right,o._count+1):u[p]=new a(o._color,o.key,o.value,o.left,u[p+1],o._count+1)}for(p=u.length-1;p>1;--p){var d=u[p-1];o=u[p];if(d._color===i||o._color===i)break;var g=u[p-2];if(g.left===d)if(d.left===o){if(!(m=g.right)||m._color!==n){if(g._color=n,g.left=d.right,d._color=i,d.right=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).left===g?v.left=d:v.right=d;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else{if(!(m=g.right)||m._color!==n){if(d.right=o.left,g._color=n,g.left=o.right,o._color=i,o.left=d,o.right=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).left===g?v.left=o:v.right=o;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else if(d.right===o){if(!(m=g.left)||m._color!==n){if(g._color=n,g.right=d.left,d._color=i,d.left=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).right===g?v.right=d:v.left=d;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}else{var m;if(!(m=g.left)||m._color!==n){var v;if(d.left=o.right,g._color=n,g.right=o.left,o._color=i,o.right=d,o.left=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).right===g?v.right=o:v.left=o;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}}return u[0]._color=i,new c(r,u[0])},u.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,i){if(r(e,i.key)<=0){var a;if(i.left&&(a=t(e,r,n,i.left)))return a;if(a=n(i.key,i.value))return a}if(i.right)return t(e,r,n,i.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,i,a){var o,s=n(e,a.key),l=n(r,a.key);if(s<=0){if(a.left&&(o=t(e,r,n,i,a.left)))return o;if(l>0&&(o=i(a.key,a.value)))return o}if(l>0&&a.right)return t(e,r,n,i,a.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(u,\"begin\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(u,\"end\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),u.at=function(t){if(t<0)return new f(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new f(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new f(this,[])},u.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new f(this,n);r=i<=0?r.left:r.right}return new f(this,[])},u.remove=function(t){var e=this.find(t);return e?e.remove():this},u.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var h=f.prototype;function p(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function d(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(h,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new f(this.tree,this._stack.slice())},h.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new a(r._color,r.key,r.value,r.left,r.right,r._count);for(var u=t.length-2;u>=0;--u){(r=t[u]).left===t[u+1]?e[u]=new a(r._color,r.key,r.value,e[u+1],r.right,r._count):e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count)}if((r=e[e.length-1]).left&&r.right){var f=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var h=e[f-1];e.push(new a(r._color,h.key,h.value,r.left,r.right,r._count)),e[f-1].key=r.key,e[f-1].value=r.value;for(u=e.length-2;u>=f;--u)r=e[u],e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count);e[f-1].left=e[f]}if((r=e[e.length-1])._color===n){var d=e[e.length-2];d.left===r?d.left=null:d.right===r&&(d.right=null),e.pop();for(u=0;u<e.length;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(r.left||r.right){r.left?p(r,r.left):r.right&&p(r,r.right),r._color=i;for(u=0;u<e.length-1;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(1===e.length)return new c(this.tree._compare,null);for(u=0;u<e.length;++u)e[u]._count--;var g=e[e.length-2];return function(t){for(var e,r,a,c,u=t.length-1;u>=0;--u){if(e=t[u],0===u)return void(e._color=i);if((r=t[u-1]).left===e){if((a=r.right).right&&a.right._color===n)return c=(a=r.right=o(a)).right=o(a.right),r.right=a.left,a.left=r,a.right=c,a._color=r._color,e._color=i,r._color=i,c._color=i,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),void(t[u-1]=a);if(a.left&&a.left._color===n)return c=(a=r.right=o(a)).left=o(a.left),r.right=c.left,a.left=c.right,c.left=r,c.right=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).left===r?f.left=c:f.right=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.right=s(n,a));r.right=s(n,a);continue}a=o(a),r.right=a.left,a.left=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),t[u-1]=a,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}else{if((a=r.left).left&&a.left._color===n)return c=(a=r.left=o(a)).left=o(a.left),r.left=a.right,a.right=r,a.left=c,a._color=r._color,e._color=i,r._color=i,c._color=i,l(r),l(a),u>1&&((f=t[u-2]).right===r?f.right=a:f.left=a),void(t[u-1]=a);if(a.right&&a.right._color===n)return c=(a=r.left=o(a)).right=o(a.right),r.left=c.right,a.right=c.left,c.right=r,c.left=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).right===r?f.right=c:f.left=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.left=s(n,a));r.left=s(n,a);continue}var f;a=o(a),r.left=a.right,a.right=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).right===r?f.right=a:f.left=a),t[u-1]=a,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}}}(e),g.left===r?g.left=null:g.right=null,new c(this.tree._compare,e[0])},Object.defineProperty(h,\"key\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,\"index\",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),h.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,\"hasNext\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),h.update=function(t){var e=this._stack;if(0===e.length)throw new Error(\"Can't update empty node!\");var r=new Array(e.length),n=e[e.length-1];r[r.length-1]=new a(n._color,n.key,t,n.left,n.right,n._count);for(var i=e.length-2;i>=0;--i)(n=e[i]).left===e[i+1]?r[i]=new a(n._color,n.key,n.value,r[i+1],n.right,n._count):r[i]=new a(n._color,n.key,n.value,n.left,r[i+1],n._count);return new c(this.tree._compare,r[0])},h.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,\"hasPrev\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],219:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],i=607/128,a=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function o(t){if(t<0)return Number(\"0/0\");for(var e=a[0],r=a.length-1;r>0;--r)e+=a[r]/(t+r);var n=t+i+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(o(e));e-=1;for(var r=n[0],i=1;i<9;i++)r+=n[i]/(e+i);var a=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(a,e+.5)*Math.exp(-a)*r},e.exports.log=o},{}],220:[function(t,e,r){e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"must specify type string\");if(e=e||{},\"undefined\"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement(\"canvas\");\"number\"==typeof e.width&&(r.width=e.width);\"number\"==typeof e.height&&(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf(\"webgl\")&&a.push(\"experimental-\"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}},{}],221:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=new u(t);return r.update(e),r};var n=t(\"./lib/text.js\"),i=t(\"./lib/lines.js\"),a=t(\"./lib/background.js\"),o=t(\"./lib/cube.js\"),s=t(\"./lib/ticks.js\"),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function c(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function u(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=\"sans-serif\",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(t)}var f=u.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),c=e.bind(this,!0,function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]}),u=!1,f=!1;if(\"bounds\"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if(\"ticks\"in t){r=t.ticks,u=!0,this.autoTicks=!1;for(p=0;p<3;++p)this.tickSpacing[p]=0}else a(\"tickSpacing\")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&(\"ticks\"in t||\"tickSpacing\"in t||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(p=0;p<3;++p)r[p].sort(function(t,e){return t.x-e.x});s.equal(r,this.ticks)?u=!1:this.ticks=r}o(\"tickEnable\"),l(\"tickFont\")&&(u=!0),a(\"tickSize\"),a(\"tickAngle\"),a(\"tickPad\"),c(\"tickColor\");var g=l(\"labels\");l(\"labelFont\")&&(g=!0),o(\"labelEnable\"),a(\"labelSize\"),a(\"labelPad\"),c(\"labelColor\"),o(\"lineEnable\"),o(\"lineMirror\"),a(\"lineWidth\"),c(\"lineColor\"),o(\"lineTickEnable\"),o(\"lineTickMirror\"),a(\"lineTickLength\"),a(\"lineTickWidth\"),c(\"lineTickColor\"),o(\"gridEnable\"),a(\"gridWidth\"),c(\"gridColor\"),o(\"zeroEnable\"),c(\"zeroLineColor\"),a(\"zeroLineWidth\"),o(\"backgroundEnable\"),c(\"backgroundColor\"),this._text?this._text&&(g||u)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var f=a,h=s,p=o,d=l;c&1<<u&&(f=s,h=a,p=l,d=o),f[u]=r[0][u],h[u]=r[1][u],i[u]>0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],m={model:l,view:l,projection:l};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||m;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=o(r,n,i,a),u=s.cubeEdges,f=s.axis,h=n[12],b=n[13],_=n[14],w=n[15],k=this.pixelRatio*(i[3]*h+i[7]*b+i[11]*_+i[15]*w)/e.drawingBufferHeight,M=0;M<3;++M)this.lastCubeProps.cubeEdges[M]=u[M],this.lastCubeProps.axis[M]=f[M];var A=p;for(M=0;M<3;++M)d(p[M],M,this.bounds,u,f);e=this.gl;var T=g;for(M=0;M<3;++M)this.backgroundEnable[M]?T[M]=f[M]:T[M]=0;this._background.draw(r,n,i,a,T,this.backgroundColor),this._lines.bind(r,n,i,this);for(M=0;M<3;++M){var S=[0,0,0];f[M]>0?S[M]=a[1][M]:S[M]=a[0][M];for(var E=0;E<2;++E){var C=(M+1+E)%3,L=(M+1+(1^E))%3;this.gridEnable[C]&&this._lines.drawGrid(C,L,this.bounds,S,this.gridColor[C],this.gridWidth[C]*this.pixelRatio)}for(E=0;E<2;++E){C=(M+1+E)%3,L=(M+1+(1^E))%3;this.zeroEnable[L]&&a[0][L]<=0&&a[1][L]>=0&&this._lines.drawZero(C,L,this.bounds,S,this.zeroLineColor[L],this.zeroLineWidth[L]*this.pixelRatio)}}for(M=0;M<3;++M){this.lineEnable[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].primalOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio),this.lineMirror[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].mirrorOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio);var z=c(v,A[M].primalMinor),P=c(y,A[M].mirrorMinor),O=this.lineTickLength;for(E=0;E<3;++E){var I=k/r[5*E];z[E]*=O[E]*I,P[E]*=O[E]*I}this.lineTickEnable[M]&&this._lines.drawAxisTicks(M,A[M].primalOffset,z,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio),this.lineTickMirror[M]&&this._lines.drawAxisTicks(M,A[M].mirrorOffset,P,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);for(M=0;M<3;++M){var D=A[M].primalMinor,R=c(x,A[M].primalOffset);for(E=0;E<3;++E)this.lineTickEnable[M]&&(R[E]+=k*D[E]*Math.max(this.lineTickLength[E],0)/r[5*E]);if(this.tickEnable[M]){for(E=0;E<3;++E)R[E]+=k*D[E]*this.tickPad[E]/r[5*E];this._text.drawTicks(M,this.tickSize[M],this.tickAngle[M],R,this.tickColor[M])}if(this.labelEnable[M]){for(E=0;E<3;++E)R[E]+=k*D[E]*this.labelPad[E]/r[5*E];R[M]+=.5*(a[0][M]+a[1][M]),this._text.drawLabel(M,this.labelSize[M],this.labelAngle[M],R,this.labelColor[M])}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{\"./lib/background.js\":222,\"./lib/cube.js\":223,\"./lib/lines.js\":224,\"./lib/text.js\":226,\"./lib/ticks.js\":227}],222:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[c]=d;for(var g=-1;g<=1;g+=2)f[u]=g,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var m=c;c=u,u=m}var v=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders\").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\"./shaders\":225,\"gl-buffer\":229,\"gl-vao\":308}],223:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a){i(s,e,t),i(s,r,s);for(var p=0,y=0;y<2;++y){u[2]=a[y][2];for(var x=0;x<2;++x){u[1]=a[x][1];for(var b=0;b<2;++b)u[0]=a[b][0],h(l[p],u,s),p+=1}}for(var _=-1,y=0;y<8;++y){for(var w=l[y][3],k=0;k<3;++k)c[y][k]=l[y][k]/w;w<0&&(_<0?_=y:c[y][2]<c[_][2]&&(_=y))}if(_<0){_=0;for(var M=0;M<3;++M){for(var A=(M+2)%3,T=(M+1)%3,S=-1,E=-1,C=0;C<2;++C){var L=C<<M,z=L+(C<<A)+(1-C<<T),P=L+(1-C<<A)+(C<<T);o(c[L],c[z],c[P],f)<0||(C?S=1:E=1)}if(S<0||E<0)E>S&&(_|=1<<M);else{for(var C=0;C<2;++C){var L=C<<M,z=L+(C<<A)+(1-C<<T),P=L+(1-C<<A)+(C<<T),O=d([l[L],l[z],l[P],l[L+(1<<A)+(1<<T)]]);C?S=O:E=O}E>S&&(_|=1<<M)}}}for(var I=7^_,D=-1,y=0;y<8;++y)y!==_&&y!==I&&(D<0?D=y:c[D][1]>c[y][1]&&(D=y));for(var R=-1,y=0;y<3;++y){var B=D^1<<y;if(B!==_&&B!==I){R<0&&(R=B);var T=c[B];T[0]<c[R][0]&&(R=B)}}for(var F=-1,y=0;y<3;++y){var B=D^1<<y;if(B!==_&&B!==I&&B!==R){F<0&&(F=B);var T=c[B];T[0]>c[F][0]&&(F=B)}}var N=g;N[0]=N[1]=N[2]=0,N[n.log2(R^D)]=D&R,N[n.log2(D^F)]=D&F;var j=7^F;j===_||j===I?(j=7^R,N[n.log2(F^j)]=j&F):N[n.log2(R^j)]=j&R;for(var V=m,U=_,M=0;M<3;++M)V[M]=U&1<<M?-1:1;return v};var n=t(\"bit-twiddle\"),i=t(\"gl-mat4/multiply\"),a=(t(\"gl-mat4/invert\"),t(\"split-polygon\")),o=t(\"robust-orientation\"),s=new Array(16),l=(new Array(16),new Array(8)),c=new Array(8),u=new Array(3),f=[0,0,0];function h(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+n]}}!function(){for(var t=0;t<8;++t)l[t]=[1,1,1,1],c[t]=[1,1,1]}();var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function d(t){for(var e=0;e<p.length;++e)if((t=a.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],o=0;for(e=1;e+1<t.length;++e){var s=t[e],l=t[e+1],c=s[0]/s[3]-n,u=s[1]/s[3]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;o+=Math.abs(c*h-u*f)}return o}var g=[1,1,1],m=[0,0,0],v={cubeEdges:g,axis:m}},{\"bit-twiddle\":79,\"gl-mat4/invert\":253,\"gl-mat4/multiply\":255,\"robust-orientation\":483,\"split-polygon\":500}],224:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var o=[],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[0,0,0];o.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var f=0;f<3;++f){for(var h=o.length/3|0,d=0;d<r[f].length;++d){var g=+r[f][d].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var m=o.length/3|0;s[f]=h,l[f]=m-h;for(var h=o.length/3|0,v=0;v<r[f].length;++v){var g=+r[f][v].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var m=o.length/3|0;c[f]=h,u[f]=m-h}var y=n(t,new Float32Array(o)),x=i(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=a(t);return b.attributes.position.location=0,new p(t,y,x,b,l,s,u,c)};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders\").line,o=[0,0,0],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[1,1];function f(t){return t[0]=t[1]=t[2]=0,t}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}var d=p.prototype;d.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,u[0]=this.gl.drawingBufferWidth,u[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=u,this.vao.bind()},d.unbind=function(){this.vao.unbind()},d.drawAxisLine=function(t,e,r,n,i){var a=f(s);this.shader.uniforms.majorAxis=s,a[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=a;var o,u=h(c,r);u[t]+=e[0][t],this.shader.uniforms.offset=u,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=f(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=f(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=f(o);a[t]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var s=f(l);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},d.drawGrid=function(t,e,r,n,i,a){if(this.gridCount[t]){var u=f(s);u[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=u;var p=h(c,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=f(o);d[t]=1,this.shader.uniforms.majorAxis=d;var g=f(l);g[t]=1,this.shader.uniforms.screenAxis=g,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,i,a){var o=f(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var u=h(c,n);u[t]+=r[0][t],this.shader.uniforms.offset=u;var p=f(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{\"./shaders\":225,\"gl-buffer\":229,\"gl-vao\":308}],225:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"#define GLSLIFY 1\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\\nuniform float lineWidth;\\nuniform vec2 screenShape;\\n\\nvec3 project(vec3 p) {\\n  vec4 pp = projection * view * model * vec4(p, 1.0);\\n  return pp.xyz / max(pp.w, 0.0001);\\n}\\n\\nvoid main() {\\n  vec3 major = position.x * majorAxis;\\n  vec3 minor = position.y * minorAxis;\\n\\n  vec3 vPosition = major + minor + offset;\\n  vec3 pPosition = project(vPosition);\\n  vec3 offset = project(vPosition + screenAxis * position.z);\\n\\n  vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\\n\\n  gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\\n}\\n\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\"]);r.line=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec3\"}])};var s=n([\"#define GLSLIFY 1\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, axis;\\nuniform float scale, angle, pixelScale;\\nuniform vec2 resolution;\\n\\nvoid main() {  \\n  //Compute plane offset\\n  vec2 planeCoord = position.xy * pixelScale;\\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\\n                                -sin(angle), cos(angle));\\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\n\\n  //Compute world offset\\n  float axisDistance = position.z;\\n  vec3 dataPosition = axisDistance * axis + offset;\\n  vec4 worldPosition = model * vec4(dataPosition, 1);\\n  \\n  //Compute clip position\\n  vec4 viewPosition = view * worldPosition;\\n  vec4 clipPosition = projection * viewPosition;\\n  clipPosition /= clipPosition.w;\\n\\n  //Apply text offset in clip coordinates\\n  clipPosition += vec4(viewOffset, 0, 0);\\n\\n  //Done\\n  gl_Position = clipPosition;\\n}\"]),l=n([\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\"]);r.text=function(t){return i(t,s,l,null,[{name:\"position\",type:\"vec3\"}])};var c=n([\"#define GLSLIFY 1\\nattribute vec3 position;\\nattribute vec3 normal;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 enable;\\nuniform vec3 bounds[2];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n  if(dot(normal, enable) > 0.0) {\\n    vec3 nPosition = mix(bounds[0], bounds[1], 0.5 * (position + 1.0));\\n    gl_Position = projection * view * model * vec4(nPosition, 1.0);\\n  } else {\\n    gl_Position = vec4(0,0,0,0);\\n  }\\n  colorChannel = abs(normal);\\n}\"]),u=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 colors[3];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n  gl_FragColor = colorChannel.x * colors[0] + \\n                 colorChannel.y * colors[1] +\\n                 colorChannel.z * colors[2];\\n}\"]);r.bg=function(t){return i(t,c,u,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},{\"gl-shader\":286,glslify:390}],226:[function(t,e,r){(function(r){\"use strict\";e.exports=function(t,e,r,a,s,l){var u=n(t),f=i(t,[{buffer:u,size:3}]),h=o(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,a,s,l),p};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"vectorize-text\"),o=t(\"./shaders\").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,f=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,i){this.gl;var o=[];function s(t,e,r,n){var i=l[r];i||(i=l[r]={});var s=i[e];s||(s=i[e]=function(t,e){try{return a(t,e)}catch(t){return console.warn(\"error vectorizing text:\",t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:\"center\",textBaseline:\"middle\"}));for(var c=(n||12)/12,u=s.positions,f=s.cells,h=0,p=f.length;h<p;++h)for(var d=f[h],g=2;g>=0;--g){var m=u[d[g]];o.push(c*m[0],-c*m[1],t)}}for(var c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],p=0;p<3;++p){f[p]=o.length/3|0,s(.5*(t[0][p]+t[1][p]),e[p],r),h[p]=(o.length/3|0)-f[p],c[p]=o.length/3|0;for(var d=0;d<n[p].length;++d)n[p][d].text&&s(n[p][d].x,n[p][d].text,n[p][d].font||i,n[p][d].fontSize||12);u[p]=(o.length/3|0)-c[p]}this.buffer.update(o),this.tickOffset=c,this.tickCount=u,this.labelOffset=f,this.labelCount=h};var h=[0,0,0];u.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=h;a[0]=a[1]=a[2]=0,a[t]=1,this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var p=[0,0,0];u.drawLabel=function(t,e,r,n,i){this.labelCount[t]&&(this.shader.uniforms.axis=p,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},u.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,t(\"_process\"))},{\"./shaders\":225,_process:462,\"gl-buffer\":229,\"gl-vao\":308,\"vectorize-text\":524}],227:[function(t,e,r){\"use strict\";function n(t,e){var r=t+\"\",n=r.indexOf(\".\"),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\"\";if(s.indexOf(\"e\")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=\"\"+l;if(o<0&&(u=\"-\"+u),i){for(var f=\"\"+c;f.length<i;)f=\"0\"+f;return u+\".\"+f}return u}r.create=function(t,e){for(var r=[],i=0;i<3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]<=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(var o=-1;o*e[i]>=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}},{}],228:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,l,f){var h=e.model||c,p=e.view||c,v=e.projection||c,y=t.bounds,x=(f=f||a(h,p,v,y)).axis;f.edges;o(u,p,h),o(u,v,u);for(var b=g,_=0;_<3;++_)b[_].lo=1/0,b[_].hi=-1/0,b[_].pixelsPerDataUnit=1/0;var w=n(s(u,u));s(u,u);for(var k=0;k<3;++k){var M=(k+1)%3,A=(k+2)%3,T=m;t:for(var _=0;_<2;++_){var S=[];if(x[k]<0!=!!_){T[k]=y[_][k];for(var E=0;E<2;++E){T[M]=y[E^_][M];for(var C=0;C<2;++C)T[A]=y[C^E^_][A],S.push(T.slice())}for(var E=0;E<w.length;++E){if(0===S.length)continue t;S=i.positive(S,w[E])}for(var E=0;E<S.length;++E)for(var A=S[E],L=d(m,u,A,r,l),C=0;C<3;++C)b[C].lo=Math.min(b[C].lo,A[C]),b[C].hi=Math.max(b[C].hi,A[C]),C!==k&&(b[C].pixelsPerDataUnit=Math.min(b[C].pixelsPerDataUnit,Math.abs(L[C])))}}}return b};var n=t(\"extract-frustum-planes\"),i=t(\"split-polygon\"),a=t(\"./lib/cube.js\"),o=t(\"gl-mat4/multiply\"),s=t(\"gl-mat4/transpose\"),l=t(\"gl-vec4/transformMat4\"),c=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=new Float32Array(16);function f(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var h=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=h,s=p,c=0;c<3;++c)s[c]=o[c]=r[c];s[3]=o[3]=1,s[a]+=1,l(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,l(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+f*f)}return t}var g=[new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0)],m=[0,0,0]},{\"./lib/cube.js\":223,\"extract-frustum-planes\":212,\"gl-mat4/multiply\":255,\"gl-mat4/transpose\":263,\"gl-vec4/transformMat4\":379,\"split-polygon\":500}],229:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\"),i=t(\"ndarray-ops\"),a=t(\"ndarray\"),o=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function s(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}var l=s.prototype;function c(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a<i;++a)r[a]=t[a];return r}l.bind=function(){this.gl.bindBuffer(this.type,this.handle)},l.unbind=function(){this.gl.bindBuffer(this.type,null)},l.dispose=function(){this.gl.deleteBuffer(this.handle)},l.update=function(t,e){if(\"number\"!=typeof e&&(e=-1),this.bind(),\"object\"==typeof t&&\"undefined\"!=typeof t.shape){var r=t.dtype;if(o.indexOf(r)<0&&(r=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER)r=gl.getExtension(\"OES_element_index_uint\")&&\"uint16\"!==r?\"uint32\":\"uint16\";if(r===t.dtype&&function(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,\"uint16\"):u(t,\"float32\"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if(\"object\"==typeof t&&\"number\"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if(\"number\"!=typeof t&&void 0!==t)throw new Error(\"gl-buffer: Invalid data type\");if(e>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error(\"gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER\");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error(\"gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW\");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},{ndarray:430,\"ndarray-ops\":424,\"typedarray-pool\":519}],230:[function(t,e,r){\"use strict\";var n=t(\"gl-vec3\"),i=(t(\"gl-vec4\"),function(t,e){for(var r=0;r<t.length;r++)if(t[r]>=e)return r-1;return r}),a=n.create(),o=n.create(),s=function(t,e,r){return t<e?e:t>r?r:t},l=function(t,e,r,l){var c=t[0],u=t[1],f=t[2],h=r[0].length,p=r[1].length,d=r[2].length,g=i(r[0],c),m=i(r[1],u),v=i(r[2],f),y=g+1,x=m+1,b=v+1;if(l&&(g=s(g,0,h-1),y=s(y,0,h-1),m=s(m,0,p-1),x=s(x,0,p-1),v=s(v,0,d-1),b=s(b,0,d-1)),g<0||m<0||v<0||y>=h||x>=p||b>=d)return n.create();var _=(c-r[0][g])/(r[0][y]-r[0][g]),w=(u-r[1][m])/(r[1][x]-r[1][m]),k=(f-r[2][v])/(r[2][b]-r[2][v]);(_<0||_>1||isNaN(_))&&(_=0),(w<0||w>1||isNaN(w))&&(w=0),(k<0||k>1||isNaN(k))&&(k=0);var M=v*h*p,A=b*h*p,T=m*h,S=x*h,E=g,C=y,L=e[T+M+E],z=e[T+M+C],P=e[S+M+E],O=e[S+M+C],I=e[T+A+E],D=e[T+A+C],R=e[S+A+E],B=e[S+A+C],F=n.create();return n.lerp(F,L,z,_),n.lerp(a,P,O,_),n.lerp(F,F,a,w),n.lerp(a,I,D,_),n.lerp(o,R,B,_),n.lerp(a,a,o,w),n.lerp(F,F,a,k),F};e.exports=function(t,e){var r;r=t.positions?t.positions:function(t){for(var e=t[0],r=t[1],n=t[2],i=[],a=0;a<n.length;a++)for(var o=0;o<r.length;o++)for(var s=0;s<e.length;s++)i.push([n[a],r[o],e[s]]);return i}(t.meshgrid);var i=t.meshgrid,a=t.vectors,o={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vertexNormals:[],vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),o;for(var s=0,c=1/0,u=-1/0,f=1/0,h=-1/0,p=1/0,d=-1/0,g=null,m=null,v=[],y=1/0,x=0;x<r.length;x++){var b,_=r[x];c=Math.min(_[0],c),u=Math.max(_[0],u),f=Math.min(_[1],f),h=Math.max(_[1],h),p=Math.min(_[2],p),d=Math.max(_[2],d),b=i?l(_,a,i,!0):a[x],n.length(b)>s&&(s=n.length(b)),x&&(y=Math.min(y,2*n.distance(g,_)/(n.length(m)+n.length(b)))),g=_,m=b,v.push(b)}var w=[c,f,p],k=[u,h,d];e&&(e[0]=w,e[1]=k),0===s&&(s=1);var M=1/s;isFinite(y)&&!isNaN(y)||(y=1),o.vectorScale=y;var A=function(t,e,r){var i=n.create();return void 0!==t&&n.set(i,t,e,r),i}(0,1,0),T=t.coneSize||.5;t.absoluteConeSize&&(T=t.absoluteConeSize*M),o.coneScale=T;x=0;for(var S=0;x<r.length;x++)for(var E=(_=r[x])[0],C=_[1],L=_[2],z=v[x],P=n.length(z)*M,O=0;O<8;O++){o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.vectors.push(z),o.vectors.push(z),o.vectors.push(z),o.vectors.push(z),o.vectors.push(z),o.vectors.push(z),o.vertexIntensity.push(P,P,P),o.vertexIntensity.push(P,P,P),o.vertexNormals.push(A,A,A),o.vertexNormals.push(A,A,A);var I=o.positions.length;o.cells.push([I-6,I-5,I-4],[I-3,I-2,I-1])}return o},e.exports.createConeMesh=t(\"./lib/conemesh\")},{\"./lib/conemesh\":232,\"gl-vec3\":327,\"gl-vec4\":363}],231:[function(t,e,r){\"use strict\";var n=t(\"barycentric\"),i=t(\"polytope-closest-point/lib/closest_point_2d.js\");function a(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function o(t,e,r,n,i){for(var o=a(n,a(r,a(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*i[0]*(1+o[0]),.5*i[1]*(1-o[1])]}e.exports=function(t,e,r,a,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u<t.length;++u)c[u]=o(t[u],r,a,s,l);for(var f=0,h=1/0,u=0;u<c.length;++u){for(var p=0,d=0;d<2;++d)p+=Math.pow(c[u][d]-e[d],2);p<h&&(h=p,f=u)}for(var g=function(t,e){if(2===t.length){for(var r=0,a=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),a+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),a=Math.sqrt(a),r+a<1e-6?[1,0]:[a/(r+a),r/(a+r)]}if(3===t.length){var s=[0,0];return i(t[0],t[1],t[2],e,s),n(t,s)}return[]}(c,e),m=0,u=0;u<3;++u){if(g[u]<-.001||g[u]>1.0001)return null;m+=g[u]}if(Math.abs(m-1)>.001)return null;return[f,function(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}(t,g),g]}},{barycentric:60,\"polytope-closest-point/lib/closest_point_2d.js\":461}],232:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"normals\"),l=t(\"gl-mat4/multiply\"),c=t(\"gl-mat4/invert\"),u=t(\"ndarray\"),f=t(\"colormap\"),h=t(\"simplicial-complex-contour\"),p=t(\"typedarray-pool\"),d=t(\"./shaders\"),g=(t(\"./closest-point\"),d.meshShader),m=d.pickShader,v=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function y(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,y,x,b,_,w,k,M,A,T,S,E){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleVectors=c,this.triangleColors=f,this.triangleNormals=p,this.triangleUVs=h,this.triangleIds=u,this.triangleVAO=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=g,this.edgeColors=y,this.edgeUVs=x,this.edgeIds=m,this.edgeVAO=b,this.edgeCount=0,this.pointPositions=_,this.pointColors=k,this.pointUVs=M,this.pointSizes=A,this.pointIds=w,this.pointVAO=T,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=S,this.contourVAO=E,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=v,this._view=v,this._projection=v,this._resolution=[1,1]}var x=y.prototype;function b(t){var e=n(t,m.vertex,m.fragment,null,m.attributes);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.vector.location=5,e}x.isOpaque=function(){return this.opacity>=1},x.isTransparent=function(){return this.opacity<1},x.pickSlots=1,x.setPickBase=function(t){this.pickId=t},x.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],g=n[f][1],m=i[f],v=1-m,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=m*y[b]+v*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},x.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"contourEnable\"in t&&(this.contourEnable=t.contourEnable),\"contourColor\"in t&&(this.contourColor=t.contourColor),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),\"opacity\"in t&&(this.opacity=t.opacity),\"ambient\"in t&&(this.ambientLight=t.ambient),\"diffuse\"in t&&(this.diffuseLight=t.diffuse),\"specular\"in t&&(this.specularLight=t.specular),\"roughness\"in t&&(this.roughness=t.roughness),\"fresnel\"in t&&(this.fresnel=t.fresnel),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=f({colormap:t,nshades:256,format:\"rgba\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],l=[],c=[],h=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[],w=[],k=[];this.cells=r,this.positions=n;var M=t.vertexNormals,A=t.cellNormals,T=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,S=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!A&&(A=s.faceNormals(r,n,S)),A||M||(M=s.vertexNormals(r,n,T));var E=t.vertexColors,C=t.cellColors,L=t.meshColor||[1,1,1,1],z=t.vertexUVs,P=t.vertexIntensity,O=t.cellUVs,I=t.cellIntensity,D=1/0,R=-1/0;if(!z&&!O)if(P)if(t.vertexIntensityBounds)D=+t.vertexIntensityBounds[0],R=+t.vertexIntensityBounds[1];else for(var B=0;B<P.length;++B){var F=P[B];D=Math.min(D,F),R=Math.max(R,F)}else if(I)for(B=0;B<I.length;++B){F=I[B];D=Math.min(D,F),R=Math.max(R,F)}else for(B=0;B<n.length;++B){F=n[B][2];D=Math.min(D,F),R=Math.max(R,F)}this.intensity=P||(I?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,I):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var N=t.pointSizes,j=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(B=0;B<n.length;++B)for(var V=n[B],U=0;U<3;++U)!isNaN(V[U])&&isFinite(V[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],V[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],V[U]));var q=0,H=0,G=0;t:for(B=0;B<r.length;++B){var W=r[B];switch(W.length){case 1:for(V=n[X=W[0]],U=0;U<3;++U)if(isNaN(V[U])||!isFinite(V[U]))continue t;x.push(V[0],V[1],V[2],V[3]),3===(Z=E?E[X]:C?C[B]:L).length?b.push(Z[0],Z[1],Z[2],1):b.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],_.push($[0],$[1]),N?w.push(N[X]):w.push(j),k.push(B),G+=1;break;case 2:for(U=0;U<2;++U){V=n[X=W[U]];for(var Y=0;Y<3;++Y)if(isNaN(V[Y])||!isFinite(V[Y]))continue t}for(U=0;U<2;++U){V=n[X=W[U]];g.push(V[0],V[1],V[2]),3===(Z=E?E[X]:C?C[B]:L).length?m.push(Z[0],Z[1],Z[2],1):m.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],v.push($[0],$[1]),y.push(B)}H+=1;break;case 3:for(U=0;U<3;++U)for(V=n[X=W[U]],Y=0;Y<3;++Y)if(isNaN(V[Y])||!isFinite(V[Y]))continue t;for(U=0;U<3;++U){var X;V=n[X=W[U]];a.push(V[0],V[1],V[2],V[3]);var Z,$,J,K=i[X];l.push(K[0],K[1],K[2]),3===(Z=E?E[X]:C?C[B]:L).length?c.push(Z[0],Z[1],Z[2],1):c.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],p.push($[0],$[1]),J=M?M[X]:A[B],h.push(J[0],J[1],J[2]),d.push(B)}q+=1}}this.pointCount=G,this.edgeCount=H,this.triangleCount=q,this.pointPositions.update(x),this.pointColors.update(b),this.pointUVs.update(_),this.pointSizes.update(w),this.pointIds.update(new Uint32Array(k)),this.edgePositions.update(g),this.edgeColors.update(m),this.edgeUVs.update(v),this.edgeIds.update(new Uint32Array(y)),this.trianglePositions.update(a),this.triangleVectors.update(l),this.triangleColors.update(c),this.triangleUVs.update(p),this.triangleNormals.update(h),this.triangleIds.update(new Uint32Array(d))}},x.drawTransparent=x.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||v,n=t.view||v,i=t.projection||v,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,contourColor:this.contourColor,texture:0};this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var f,h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},x.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||v,n=t.view||v,i=t.projection||v,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},x.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3);return{index:Math.floor(r[1]/48),position:n,dataCoordinate:n}},x.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose()},e.exports=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=e.triShader||function(t){var e=n(t,g.vertex,g.fragment,null,g.attributes);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.vector.location=5,e}(t),s=b(t),l=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));l.generateMipmap(),l.minFilter=t.LINEAR_MIPMAP_LINEAR,l.magFilter=t.LINEAR;var c=i(t),f=i(t),h=i(t),p=i(t),d=i(t),m=i(t),v=a(t,[{buffer:c,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:h,type:t.FLOAT,size:4},{buffer:p,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:3},{buffer:f,type:t.FLOAT,size:3}]),x=i(t),_=i(t),w=i(t),k=i(t),M=a(t,[{buffer:x,type:t.FLOAT,size:3},{buffer:k,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2}]),A=i(t),T=i(t),S=i(t),E=i(t),C=i(t),L=a(t,[{buffer:A,type:t.FLOAT,size:3},{buffer:C,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:T,type:t.FLOAT,size:4},{buffer:S,type:t.FLOAT,size:2},{buffer:E,type:t.FLOAT,size:1}]),z=i(t),P=new y(t,l,r,null,null,s,null,null,c,f,m,h,p,d,v,x,k,_,w,M,A,C,T,S,E,L,z,a(t,[{buffer:z,type:t.FLOAT,size:3}]));return P.update(e),P}},{\"./closest-point\":231,\"./shaders\":233,colormap:113,\"gl-buffer\":229,\"gl-mat4/invert\":253,\"gl-mat4/multiply\":255,\"gl-shader\":286,\"gl-texture2d\":303,\"gl-vao\":308,ndarray:430,normals:433,\"simplicial-complex-contour\":491,\"typedarray-pool\":519}],233:[function(t,e,r){var n=t(\"glslify\"),i=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat inverse(float m) {\\n  return 1.0 / m;\\n}\\n\\nmat2 inverse(mat2 m) {\\n  return mat2(m[1][1],-m[0][1],\\n             -m[1][0], m[0][0]) / (m[0][0]*m[1][1] - m[0][1]*m[1][0]);\\n}\\n\\nmat3 inverse(mat3 m) {\\n  float a00 = m[0][0], a01 = m[0][1], a02 = m[0][2];\\n  float a10 = m[1][0], a11 = m[1][1], a12 = m[1][2];\\n  float a20 = m[2][0], a21 = m[2][1], a22 = m[2][2];\\n\\n  float b01 = a22 * a11 - a12 * a21;\\n  float b11 = -a22 * a10 + a12 * a20;\\n  float b21 = a21 * a10 - a11 * a20;\\n\\n  float det = a00 * b01 + a01 * b11 + a02 * b21;\\n\\n  return mat3(b01, (-a22 * a01 + a02 * a21), (a12 * a01 - a02 * a11),\\n              b11, (a22 * a00 - a02 * a20), (-a12 * a00 + a02 * a10),\\n              b21, (-a21 * a00 + a01 * a20), (a11 * a00 - a01 * a10)) / det;\\n}\\n\\nmat4 inverse(mat4 m) {\\n  float\\n      a00 = m[0][0], a01 = m[0][1], a02 = m[0][2], a03 = m[0][3],\\n      a10 = m[1][0], a11 = m[1][1], a12 = m[1][2], a13 = m[1][3],\\n      a20 = m[2][0], a21 = m[2][1], a22 = m[2][2], a23 = m[2][3],\\n      a30 = m[3][0], a31 = m[3][1], a32 = m[3][2], a33 = m[3][3],\\n\\n      b00 = a00 * a11 - a01 * a10,\\n      b01 = a00 * a12 - a02 * a10,\\n      b02 = a00 * a13 - a03 * a10,\\n      b03 = a01 * a12 - a02 * a11,\\n      b04 = a01 * a13 - a03 * a11,\\n      b05 = a02 * a13 - a03 * a12,\\n      b06 = a20 * a31 - a21 * a30,\\n      b07 = a20 * a32 - a22 * a30,\\n      b08 = a20 * a33 - a23 * a30,\\n      b09 = a21 * a32 - a22 * a31,\\n      b10 = a21 * a33 - a23 * a31,\\n      b11 = a22 * a33 - a23 * a32,\\n\\n      det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\\n\\n  return mat4(\\n      a11 * b11 - a12 * b10 + a13 * b09,\\n      a02 * b10 - a01 * b11 - a03 * b09,\\n      a31 * b05 - a32 * b04 + a33 * b03,\\n      a22 * b04 - a21 * b05 - a23 * b03,\\n      a12 * b08 - a10 * b11 - a13 * b07,\\n      a00 * b11 - a02 * b08 + a03 * b07,\\n      a32 * b02 - a30 * b05 - a33 * b01,\\n      a20 * b05 - a22 * b02 + a23 * b01,\\n      a10 * b10 - a11 * b08 + a13 * b06,\\n      a01 * b08 - a00 * b10 - a03 * b06,\\n      a30 * b04 - a31 * b02 + a33 * b00,\\n      a21 * b02 - a20 * b04 - a23 * b00,\\n      a11 * b07 - a10 * b09 - a12 * b06,\\n      a00 * b09 - a01 * b07 + a02 * b06,\\n      a31 * b01 - a30 * b03 - a32 * b00,\\n      a20 * b03 - a21 * b01 + a22 * b00) / det;\\n}\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n//   segment + 0 top vertex\\n//   segment + 1 perimeter vertex a+1\\n//   segment + 2 perimeter vertex a\\n//   segment + 3 center base vertex\\n//   segment + 4 perimeter vertex a\\n//   segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float index, float coneOffset, out vec3 normal) {\\n\\n  const float segmentCount = 8.0;\\n\\n  index = mod(index, segmentCount * 6.0);\\n\\n  float segment = floor(index/6.0);\\n  float segmentIndex = index - (segment*6.0);\\n\\n  normal = -normalize(d);\\n\\n  if (segmentIndex == 3.0) {\\n    return mix(vec3(0.0), -d, coneOffset);\\n  }\\n\\n  // angle = 2pi * ((segment + ((segmentIndex == 1.0 || segmentIndex == 5.0) ? 1.0 : 0.0)) / segmentCount)\\n  float nextAngle = float(segmentIndex == 1.0 || segmentIndex == 5.0);\\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n  vec3 v2 = v1 - d;\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d)*0.25;\\n  vec3 y = v * sin(angle) * length(d)*0.25;\\n  vec3 v3 = v2 + x + y;\\n  if (segmentIndex <= 2.0) {\\n    vec3 tx = u * sin(angle);\\n    vec3 ty = v * -cos(angle);\\n    vec3 tangent = tx + ty;\\n    normal = normalize(cross(v3 - v1, tangent));\\n  }\\n\\n  if (segmentIndex == 0.0) {\\n    return mix(d, vec3(0.0), coneOffset);\\n  }\\n  return v3;\\n}\\n\\nattribute vec3 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\nuniform float vectorScale;\\nuniform float coneScale;\\n\\nuniform float coneOffset;\\n\\nuniform mat4 model\\n           , view\\n           , projection;\\nuniform vec3 eyePosition\\n           , lightPosition;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  // Scale the vector magnitude to stay constant with\\n  // model & view changes.\\n  vec3 normal;\\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal), 0.0);\\n  normal = normalize(normal * inverse(mat3(model)));\\n\\n  // vec4 m_position  = model * vec4(conePosition, 1.0);\\n  vec4 t_position  = view * conePosition;\\n  gl_Position      = projection * t_position;\\n  f_color          = color; //vec4(position.w, color.r, 0, 0);\\n  f_normal         = normal;\\n  f_data           = conePosition.xyz;\\n  f_eyeDirection   = eyePosition   - conePosition.xyz;\\n  f_lightDirection = lightPosition - conePosition.xyz;\\n  f_uv             = uv;\\n}\\n\"]),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n            , fresnel\\n            , kambient\\n            , kdiffuse\\n            , kspecular\\n            , opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  //if(any(lessThan(f_data, clipBounds[0])) || \\n  //   any(greaterThan(f_data, clipBounds[1]))) {\\n  //  discard;\\n  //}\\n\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n  \\n  if(!gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = cookTorranceSpecular(L, V, N, roughness, fresnel);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor =  texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * opacity;\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n//   segment + 0 top vertex\\n//   segment + 1 perimeter vertex a+1\\n//   segment + 2 perimeter vertex a\\n//   segment + 3 center base vertex\\n//   segment + 4 perimeter vertex a\\n//   segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float index, float coneOffset, out vec3 normal) {\\n\\n  const float segmentCount = 8.0;\\n\\n  index = mod(index, segmentCount * 6.0);\\n\\n  float segment = floor(index/6.0);\\n  float segmentIndex = index - (segment*6.0);\\n\\n  normal = -normalize(d);\\n\\n  if (segmentIndex == 3.0) {\\n    return mix(vec3(0.0), -d, coneOffset);\\n  }\\n\\n  // angle = 2pi * ((segment + ((segmentIndex == 1.0 || segmentIndex == 5.0) ? 1.0 : 0.0)) / segmentCount)\\n  float nextAngle = float(segmentIndex == 1.0 || segmentIndex == 5.0);\\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n  vec3 v2 = v1 - d;\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d)*0.25;\\n  vec3 y = v * sin(angle) * length(d)*0.25;\\n  vec3 v3 = v2 + x + y;\\n  if (segmentIndex <= 2.0) {\\n    vec3 tx = u * sin(angle);\\n    vec3 ty = v * -cos(angle);\\n    vec3 tangent = tx + ty;\\n    normal = normalize(cross(v3 - v1, tangent));\\n  }\\n\\n  if (segmentIndex == 0.0) {\\n    return mix(d, vec3(0.0), coneOffset);\\n  }\\n  return v3;\\n}\\n\\nattribute vec3 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nuniform float vectorScale;\\nuniform float coneScale;\\nuniform float coneOffset;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  vec3 normal;\\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal), 0.0);\\n  gl_Position = projection * view * conePosition;\\n  f_id        = id;\\n  f_position  = position.xyz;\\n}\\n\"]),s=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if(any(lessThan(f_position, clipBounds[0])) || \\n     any(greaterThan(f_position, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},{glslify:390}],234:[function(t,e,r){e.exports={0:\"NONE\",1:\"ONE\",2:\"LINE_LOOP\",3:\"LINE_STRIP\",4:\"TRIANGLES\",5:\"TRIANGLE_STRIP\",6:\"TRIANGLE_FAN\",256:\"DEPTH_BUFFER_BIT\",512:\"NEVER\",513:\"LESS\",514:\"EQUAL\",515:\"LEQUAL\",516:\"GREATER\",517:\"NOTEQUAL\",518:\"GEQUAL\",519:\"ALWAYS\",768:\"SRC_COLOR\",769:\"ONE_MINUS_SRC_COLOR\",770:\"SRC_ALPHA\",771:\"ONE_MINUS_SRC_ALPHA\",772:\"DST_ALPHA\",773:\"ONE_MINUS_DST_ALPHA\",774:\"DST_COLOR\",775:\"ONE_MINUS_DST_COLOR\",776:\"SRC_ALPHA_SATURATE\",1024:\"STENCIL_BUFFER_BIT\",1028:\"FRONT\",1029:\"BACK\",1032:\"FRONT_AND_BACK\",1280:\"INVALID_ENUM\",1281:\"INVALID_VALUE\",1282:\"INVALID_OPERATION\",1285:\"OUT_OF_MEMORY\",1286:\"INVALID_FRAMEBUFFER_OPERATION\",2304:\"CW\",2305:\"CCW\",2849:\"LINE_WIDTH\",2884:\"CULL_FACE\",2885:\"CULL_FACE_MODE\",2886:\"FRONT_FACE\",2928:\"DEPTH_RANGE\",2929:\"DEPTH_TEST\",2930:\"DEPTH_WRITEMASK\",2931:\"DEPTH_CLEAR_VALUE\",2932:\"DEPTH_FUNC\",2960:\"STENCIL_TEST\",2961:\"STENCIL_CLEAR_VALUE\",2962:\"STENCIL_FUNC\",2963:\"STENCIL_VALUE_MASK\",2964:\"STENCIL_FAIL\",2965:\"STENCIL_PASS_DEPTH_FAIL\",2966:\"STENCIL_PASS_DEPTH_PASS\",2967:\"STENCIL_REF\",2968:\"STENCIL_WRITEMASK\",2978:\"VIEWPORT\",3024:\"DITHER\",3042:\"BLEND\",3088:\"SCISSOR_BOX\",3089:\"SCISSOR_TEST\",3106:\"COLOR_CLEAR_VALUE\",3107:\"COLOR_WRITEMASK\",3317:\"UNPACK_ALIGNMENT\",3333:\"PACK_ALIGNMENT\",3379:\"MAX_TEXTURE_SIZE\",3386:\"MAX_VIEWPORT_DIMS\",3408:\"SUBPIXEL_BITS\",3410:\"RED_BITS\",3411:\"GREEN_BITS\",3412:\"BLUE_BITS\",3413:\"ALPHA_BITS\",3414:\"DEPTH_BITS\",3415:\"STENCIL_BITS\",3553:\"TEXTURE_2D\",4352:\"DONT_CARE\",4353:\"FASTEST\",4354:\"NICEST\",5120:\"BYTE\",5121:\"UNSIGNED_BYTE\",5122:\"SHORT\",5123:\"UNSIGNED_SHORT\",5124:\"INT\",5125:\"UNSIGNED_INT\",5126:\"FLOAT\",5386:\"INVERT\",5890:\"TEXTURE\",6401:\"STENCIL_INDEX\",6402:\"DEPTH_COMPONENT\",6406:\"ALPHA\",6407:\"RGB\",6408:\"RGBA\",6409:\"LUMINANCE\",6410:\"LUMINANCE_ALPHA\",7680:\"KEEP\",7681:\"REPLACE\",7682:\"INCR\",7683:\"DECR\",7936:\"VENDOR\",7937:\"RENDERER\",7938:\"VERSION\",9728:\"NEAREST\",9729:\"LINEAR\",9984:\"NEAREST_MIPMAP_NEAREST\",9985:\"LINEAR_MIPMAP_NEAREST\",9986:\"NEAREST_MIPMAP_LINEAR\",9987:\"LINEAR_MIPMAP_LINEAR\",10240:\"TEXTURE_MAG_FILTER\",10241:\"TEXTURE_MIN_FILTER\",10242:\"TEXTURE_WRAP_S\",10243:\"TEXTURE_WRAP_T\",10497:\"REPEAT\",10752:\"POLYGON_OFFSET_UNITS\",16384:\"COLOR_BUFFER_BIT\",32769:\"CONSTANT_COLOR\",32770:\"ONE_MINUS_CONSTANT_COLOR\",32771:\"CONSTANT_ALPHA\",32772:\"ONE_MINUS_CONSTANT_ALPHA\",32773:\"BLEND_COLOR\",32774:\"FUNC_ADD\",32777:\"BLEND_EQUATION_RGB\",32778:\"FUNC_SUBTRACT\",32779:\"FUNC_REVERSE_SUBTRACT\",32819:\"UNSIGNED_SHORT_4_4_4_4\",32820:\"UNSIGNED_SHORT_5_5_5_1\",32823:\"POLYGON_OFFSET_FILL\",32824:\"POLYGON_OFFSET_FACTOR\",32854:\"RGBA4\",32855:\"RGB5_A1\",32873:\"TEXTURE_BINDING_2D\",32926:\"SAMPLE_ALPHA_TO_COVERAGE\",32928:\"SAMPLE_COVERAGE\",32936:\"SAMPLE_BUFFERS\",32937:\"SAMPLES\",32938:\"SAMPLE_COVERAGE_VALUE\",32939:\"SAMPLE_COVERAGE_INVERT\",32968:\"BLEND_DST_RGB\",32969:\"BLEND_SRC_RGB\",32970:\"BLEND_DST_ALPHA\",32971:\"BLEND_SRC_ALPHA\",33071:\"CLAMP_TO_EDGE\",33170:\"GENERATE_MIPMAP_HINT\",33189:\"DEPTH_COMPONENT16\",33306:\"DEPTH_STENCIL_ATTACHMENT\",33635:\"UNSIGNED_SHORT_5_6_5\",33648:\"MIRRORED_REPEAT\",33901:\"ALIASED_POINT_SIZE_RANGE\",33902:\"ALIASED_LINE_WIDTH_RANGE\",33984:\"TEXTURE0\",33985:\"TEXTURE1\",33986:\"TEXTURE2\",33987:\"TEXTURE3\",33988:\"TEXTURE4\",33989:\"TEXTURE5\",33990:\"TEXTURE6\",33991:\"TEXTURE7\",33992:\"TEXTURE8\",33993:\"TEXTURE9\",33994:\"TEXTURE10\",33995:\"TEXTURE11\",33996:\"TEXTURE12\",33997:\"TEXTURE13\",33998:\"TEXTURE14\",33999:\"TEXTURE15\",34000:\"TEXTURE16\",34001:\"TEXTURE17\",34002:\"TEXTURE18\",34003:\"TEXTURE19\",34004:\"TEXTURE20\",34005:\"TEXTURE21\",34006:\"TEXTURE22\",34007:\"TEXTURE23\",34008:\"TEXTURE24\",34009:\"TEXTURE25\",34010:\"TEXTURE26\",34011:\"TEXTURE27\",34012:\"TEXTURE28\",34013:\"TEXTURE29\",34014:\"TEXTURE30\",34015:\"TEXTURE31\",34016:\"ACTIVE_TEXTURE\",34024:\"MAX_RENDERBUFFER_SIZE\",34041:\"DEPTH_STENCIL\",34055:\"INCR_WRAP\",34056:\"DECR_WRAP\",34067:\"TEXTURE_CUBE_MAP\",34068:\"TEXTURE_BINDING_CUBE_MAP\",34069:\"TEXTURE_CUBE_MAP_POSITIVE_X\",34070:\"TEXTURE_CUBE_MAP_NEGATIVE_X\",34071:\"TEXTURE_CUBE_MAP_POSITIVE_Y\",34072:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",34073:\"TEXTURE_CUBE_MAP_POSITIVE_Z\",34074:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",34076:\"MAX_CUBE_MAP_TEXTURE_SIZE\",34338:\"VERTEX_ATTRIB_ARRAY_ENABLED\",34339:\"VERTEX_ATTRIB_ARRAY_SIZE\",34340:\"VERTEX_ATTRIB_ARRAY_STRIDE\",34341:\"VERTEX_ATTRIB_ARRAY_TYPE\",34342:\"CURRENT_VERTEX_ATTRIB\",34373:\"VERTEX_ATTRIB_ARRAY_POINTER\",34466:\"NUM_COMPRESSED_TEXTURE_FORMATS\",34467:\"COMPRESSED_TEXTURE_FORMATS\",34660:\"BUFFER_SIZE\",34661:\"BUFFER_USAGE\",34816:\"STENCIL_BACK_FUNC\",34817:\"STENCIL_BACK_FAIL\",34818:\"STENCIL_BACK_PASS_DEPTH_FAIL\",34819:\"STENCIL_BACK_PASS_DEPTH_PASS\",34877:\"BLEND_EQUATION_ALPHA\",34921:\"MAX_VERTEX_ATTRIBS\",34922:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",34930:\"MAX_TEXTURE_IMAGE_UNITS\",34962:\"ARRAY_BUFFER\",34963:\"ELEMENT_ARRAY_BUFFER\",34964:\"ARRAY_BUFFER_BINDING\",34965:\"ELEMENT_ARRAY_BUFFER_BINDING\",34975:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",35040:\"STREAM_DRAW\",35044:\"STATIC_DRAW\",35048:\"DYNAMIC_DRAW\",35632:\"FRAGMENT_SHADER\",35633:\"VERTEX_SHADER\",35660:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",35661:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",35663:\"SHADER_TYPE\",35664:\"FLOAT_VEC2\",35665:\"FLOAT_VEC3\",35666:\"FLOAT_VEC4\",35667:\"INT_VEC2\",35668:\"INT_VEC3\",35669:\"INT_VEC4\",35670:\"BOOL\",35671:\"BOOL_VEC2\",35672:\"BOOL_VEC3\",35673:\"BOOL_VEC4\",35674:\"FLOAT_MAT2\",35675:\"FLOAT_MAT3\",35676:\"FLOAT_MAT4\",35678:\"SAMPLER_2D\",35680:\"SAMPLER_CUBE\",35712:\"DELETE_STATUS\",35713:\"COMPILE_STATUS\",35714:\"LINK_STATUS\",35715:\"VALIDATE_STATUS\",35716:\"INFO_LOG_LENGTH\",35717:\"ATTACHED_SHADERS\",35718:\"ACTIVE_UNIFORMS\",35719:\"ACTIVE_UNIFORM_MAX_LENGTH\",35720:\"SHADER_SOURCE_LENGTH\",35721:\"ACTIVE_ATTRIBUTES\",35722:\"ACTIVE_ATTRIBUTE_MAX_LENGTH\",35724:\"SHADING_LANGUAGE_VERSION\",35725:\"CURRENT_PROGRAM\",36003:\"STENCIL_BACK_REF\",36004:\"STENCIL_BACK_VALUE_MASK\",36005:\"STENCIL_BACK_WRITEMASK\",36006:\"FRAMEBUFFER_BINDING\",36007:\"RENDERBUFFER_BINDING\",36048:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",36049:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",36050:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",36051:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",36053:\"FRAMEBUFFER_COMPLETE\",36054:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",36055:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",36057:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",36061:\"FRAMEBUFFER_UNSUPPORTED\",36064:\"COLOR_ATTACHMENT0\",36096:\"DEPTH_ATTACHMENT\",36128:\"STENCIL_ATTACHMENT\",36160:\"FRAMEBUFFER\",36161:\"RENDERBUFFER\",36162:\"RENDERBUFFER_WIDTH\",36163:\"RENDERBUFFER_HEIGHT\",36164:\"RENDERBUFFER_INTERNAL_FORMAT\",36168:\"STENCIL_INDEX8\",36176:\"RENDERBUFFER_RED_SIZE\",36177:\"RENDERBUFFER_GREEN_SIZE\",36178:\"RENDERBUFFER_BLUE_SIZE\",36179:\"RENDERBUFFER_ALPHA_SIZE\",36180:\"RENDERBUFFER_DEPTH_SIZE\",36181:\"RENDERBUFFER_STENCIL_SIZE\",36194:\"RGB565\",36336:\"LOW_FLOAT\",36337:\"MEDIUM_FLOAT\",36338:\"HIGH_FLOAT\",36339:\"LOW_INT\",36340:\"MEDIUM_INT\",36341:\"HIGH_INT\",36346:\"SHADER_COMPILER\",36347:\"MAX_VERTEX_UNIFORM_VECTORS\",36348:\"MAX_VARYING_VECTORS\",36349:\"MAX_FRAGMENT_UNIFORM_VECTORS\",37440:\"UNPACK_FLIP_Y_WEBGL\",37441:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",37442:\"CONTEXT_LOST_WEBGL\",37443:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",37444:\"BROWSER_DEFAULT_WEBGL\"}},{}],235:[function(t,e,r){var n=t(\"./1.0/numbers\");e.exports=function(t){return n[t]}},{\"./1.0/numbers\":234}],236:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders/index\"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return this.opacity>=1},l.isTransparent=function(){return this.opacity<1},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]),r.capSize=this.capSize[f]*u,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=u[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}l.update=function(t){\"lineWidth\"in(t=t||{})&&(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),\"capSize\"in t&&(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),\"opacity\"in t&&(this.opacity=t.opacity);var e=t.color||[[0,0,0],[0,0,0],[0,0,0]],r=t.position,n=t.error;if(Array.isArray(e[0])||(e=[e,e,e]),r&&n){var i=[],a=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;t:for(var l=0;l<a;++l){for(var u=r[l],h=0;h<3;++h)if(isNaN(u[h])||!isFinite(u[h]))continue t;var p=n[l],d=e[s];if(Array.isArray(d[0])&&(d=e[l]),3===d.length&&(d=[d[0],d[1],d[2],1]),!isNaN(p[0][s])&&!isNaN(p[1][s])){var g;if(p[0][s]<0)(g=u.slice())[s]+=p[0][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+f(i,g,d,s);if(p[1][s]>0)(g=u.slice())[s]+=p[1][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+f(i,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{\"./shaders/index\":237,\"gl-buffer\":229,\"gl-vao\":308}],237:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, offset;\\nattribute vec4 color;\\nuniform mat4 model, view, projection;\\nuniform float capSize;\\nvarying vec4 fragColor;\\nvarying vec3 fragPosition;\\n\\nvoid main() {\\n  vec4 worldPosition  = model * vec4(position, 1.0);\\n  worldPosition       = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\\n  gl_Position         = projection * view * worldPosition;\\n  fragColor           = color;\\n  fragPosition        = position;\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec3 clipBounds[2];\\nuniform float opacity;\\nvarying vec3 fragPosition;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = opacity * fragColor;\\n}\"]);e.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},{\"gl-shader\":286,glslify:390}],238:[function(t,e,r){\"use strict\";var n=t(\"gl-texture2d\");e.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension(\"WEBGL_draw_buffers\");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(var a=n;a<r;++a)i[a]=t.NONE;l[n]=i}}(t,c);Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]);if(\"number\"!=typeof e)throw new Error(\"gl-fbo: Missing shape parameter\");var u=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>u||r<0||r>u)throw new Error(\"gl-fbo: Parameters are too large for FBO\");var f=1;if(\"color\"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(f>1){if(!c)throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\");if(f>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+f+\" draw buffers\")}}var h=t.UNSIGNED_BYTE,p=t.getExtension(\"OES_texture_float\");if(n.float&&f>0){if(!p)throw new Error(\"gl-fbo: Context does not support floating point textures\");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var g=!0;\"depth\"in n&&(g=!!n.depth);var m=!1;\"stencil\"in n&&(m=!!n.stencil);return new d(t,e,r,h,f,g,m,c)};var i,a,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error(\"gl-fbo: Framebuffer unsupported\");case a:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case o:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case s:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d<i;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var g=this,m=[0|e,0|r];Object.defineProperties(m,{0:{get:function(){return g._shape[0]},set:function(t){return g.width=t}},1:{get:function(){return g._shape[1]},set:function(t){return g.height=t}}}),this._shapeVector=m,function(t){var e=c(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),i=t._shape[0],a=t._shape[1],o=t.color.length,s=t._ext,d=t._useStencil,g=t._useDepth,m=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var v=0;v<o;++v)t.color[v]=h(r,i,a,m,r.RGBA,r.COLOR_ATTACHMENT0+v);0===o?(t._color_rb=p(r,i,a,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(l[0])):o>1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension(\"WEBGL_depth_texture\");y?d?t.depth=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),v=0;v<t.color.length;++v)t.color[v].dispose(),t.color[v]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),u(r,e),f(x)}u(r,e)}(this)}var g=d.prototype;function m(t,e,r){if(t._destroyed)throw new Error(\"gl-fbo: Can't resize destroyed FBO\");if(t._shape[0]!==e||t._shape[1]!==r){var n=t.gl,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");t._shape[0]=e,t._shape[1]=r;for(var a=c(n),o=0;o<t.color.length;++o)t.color[o].shape=t._shape;t._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,t._shape[0],t._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,t.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(t.dispose(),u(n,a),f(s)),u(n,a)}}Object.defineProperties(g,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(t){if(Array.isArray(t)||(t=[0|t,0|t]),2!==t.length)throw new Error(\"gl-fbo: Shape vector must be length 2\");var e=0|t[0],r=0|t[1];return m(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return m(this,t|=0,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,m(this,this._shape[0],t),t},enumerable:!1}}),g.bind=function(){if(!this._destroyed){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.handle),t.viewport(0,0,this._shape[0],this._shape[1])}},g.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e<this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&&(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{\"gl-texture2d\":303}],239:[function(t,e,r){var n=t(\"sprintf-js\").sprintf,i=t(\"gl-constants/lookup\"),a=t(\"glsl-shader-name\"),o=t(\"add-line-numbers\");e.exports=function(t,e,r){\"use strict\";var s=a(e)||\"of unknown name (see npm glsl-shader-name)\",l=\"unknown type\";void 0!==r&&(l=r===i.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var c=n(\"Error compiling %s shader %s:\\n\",l,s),u=n(\"%s%s\",c,t),f=t.split(\"\\n\"),h={},p=0;p<f.length;p++){var d=f[p];if(\"\"!==d&&\"\\0\"!==d){var g=parseInt(d.split(\":\")[2]);if(isNaN(g))throw new Error(n(\"Could not parse error: %s\",d));h[g]=d}}for(var m=o(e).split(\"\\n\"),p=0;p<m.length;p++)if(h[p+3]||h[p+2]||h[p+1]){var v=m[p];if(c+=v+\"\\n\",h[p+1]){var y=h[p+1];y=y.substr(y.split(\":\",3).join(\":\").length+1).trim(),c+=n(\"^^^ %s\\n\\n\",y)}}return{long:c.trim(),short:u.trim()}}},{\"add-line-numbers\":48,\"gl-constants/lookup\":235,\"glsl-shader-name\":382,\"sprintf-js\":501}],240:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t.gl,n=o(r,l.vertex,l.fragment),i=o(r,l.pickVertex,l.pickFragment),a=s(r),u=s(r),f=s(r),h=s(r),p=new c(t,n,i,a,u,f,h);return p.update(e),t.addObject(p),p};var n=t(\"binary-search-bounds\"),i=t(\"iota-array\"),a=t(\"typedarray-pool\"),o=t(\"gl-shader\"),s=t(\"gl-buffer\"),l=t(\"./lib/shaders\");function c(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}var u,f=c.prototype,h=[0,0,1,0,0,1,1,0,1,1,0,1];f.draw=(u=[1,0,0,0,1,0,0,0,1],function(){var t=this.plot,e=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var i=t.gl,a=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],c=a[3]-a[1];u[0]=2*o/l,u[4]=2*s/c,u[6]=2*(r[0]-a[0])/l-1,u[7]=2*(r[1]-a[1])/c-1,e.bind();var f=e.uniforms;f.viewTransform=u,f.shape=this.shape;var h=e.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),f.drawPick=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=this.plot,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,c=a[2]-a[0],u=a[3]-a[1],f=l[2]-l[0],h=l[3]-l[1];t[0]=2*c/f,t[4]=2*u/h,t[6]=2*(a[0]-l[0])/f-1,t[7]=2*(a[1]-l[1])/h-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=i.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=o;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,f=this.bounds,p=f[0]=r[0],d=f[1]=o[0],g=1/((f[2]=r[r.length-1])-p),m=1/((f[3]=o[o.length-1])-d),v=e[0],y=e[1];this.shape=[v,y];var x=(v-1)*(y-1)*(h.length>>>1);this.numVertices=x;for(var b=a.mallocUint8(4*x),_=a.mallocFloat32(2*x),w=a.mallocUint8(2*x),k=a.mallocUint32(x),M=0,A=0;A<y-1;++A)for(var T=m*(o[A]-d),S=m*(o[A+1]-d),E=0;E<v-1;++E)for(var C=g*(r[E]-p),L=g*(r[E+1]-p),z=0;z<h.length;z+=2){var P,O,I,D,R=h[z],B=h[z+1],F=s[(A+B)*v+(E+R)],N=n.le(l,F);if(N<0)P=c[0],O=c[1],I=c[2],D=c[3];else if(N===u-1)P=c[4*u-4],O=c[4*u-3],I=c[4*u-2],D=c[4*u-1];else{var j=(F-l[N])/(l[N+1]-l[N]),V=1-j,U=4*N,q=4*(N+1);P=V*c[U]+j*c[q],O=V*c[U+1]+j*c[q+1],I=V*c[U+2]+j*c[q+2],D=V*c[U+3]+j*c[q+3]}b[4*M]=255*P,b[4*M+1]=255*O,b[4*M+2]=255*I,b[4*M+3]=255*D,_[2*M]=.5*C+.5*L,_[2*M+1]=.5*T+.5*S,w[2*M]=R,w[2*M+1]=B,k[M]=A*v+E,M+=1}this.positionBuffer.update(_),this.weightBuffer.update(w),this.colorBuffer.update(b),this.idBuffer.update(k),a.free(_),a.free(b),a.free(w),a.free(k)},f.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{\"./lib/shaders\":241,\"binary-search-bounds\":242,\"gl-buffer\":229,\"gl-shader\":286,\"iota-array\":397,\"typedarray-pool\":519}],241:[function(t,e,r){\"use strict\";var n=t(\"glslify\");e.exports={fragment:n([\"precision lowp float;\\n#define GLSLIFY 1\\nvarying vec4 fragColor;\\nvoid main() {\\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\\n}\\n\"]),vertex:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 color;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n  fragColor = color;\\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"]),pickFragment:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nuniform vec2 shape;\\nuniform vec4 pickOffset;\\n\\nvoid main() {\\n  vec2 d = step(.5, vWeight);\\n  vec4 id = fragId + pickOffset;\\n  id.x += d.x + d.y*shape.x;\\n\\n  id.y += floor(id.x / 256.0);\\n  id.x -= floor(id.x / 256.0) * 256.0;\\n\\n  id.z += floor(id.y / 256.0);\\n  id.y -= floor(id.y / 256.0) * 256.0;\\n\\n  id.w += floor(id.z / 256.0);\\n  id.z -= floor(id.z / 256.0) * 256.0;\\n\\n  gl_FragColor = id/255.;\\n}\\n\"]),pickVertex:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nvoid main() {\\n  vWeight = weight;\\n\\n  fragId = pickId;\\n\\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"])}},{glslify:390}],242:[function(t,e,r){arguments[4][98][0].apply(r,arguments)},{dup:98}],243:[function(t,e,r){var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, nextPosition;\\nattribute float arcLength, lineWidth;\\nattribute vec4 color;\\n\\nuniform vec2 screenShape;\\nuniform float pixelRatio;\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 fragColor;\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\n\\nvoid main() {\\n  vec4 projected = projection * view * model * vec4(position, 1.0);\\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\\n\\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\\n\\n  worldPosition = position;\\n  pixelArcLength = arcLength;\\n  fragColor = color;\\n}\\n\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3      clipBounds[2];\\nuniform sampler2D dashTexture;\\nuniform float     dashScale;\\nuniform float     opacity;\\n\\nvarying vec3    worldPosition;\\nvarying float   pixelArcLength;\\nvarying vec4    fragColor;\\n\\nvoid main() {\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\n    discard;\\n  }\\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\\n  if(dashWeight < 0.5) {\\n    discard;\\n  }\\n  gl_FragColor = fragColor * opacity;\\n}\\n\"]),s=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\n#define FLOAT_MAX  1.70141184e38\\n#define FLOAT_MIN  1.17549435e-38\\n\\nlowp vec4 encode_float_1540259130(highp float v) {\\n  highp float av = abs(v);\\n\\n  //Handle special cases\\n  if(av < FLOAT_MIN) {\\n    return vec4(0.0, 0.0, 0.0, 0.0);\\n  } else if(v > FLOAT_MAX) {\\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\\n  } else if(v < -FLOAT_MAX) {\\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\\n  }\\n\\n  highp vec4 c = vec4(0,0,0,0);\\n\\n  //Compute exponent and mantissa\\n  highp float e = floor(log2(av));\\n  highp float m = av * pow(2.0, -e) - 1.0;\\n  \\n  //Unpack mantissa\\n  c[1] = floor(128.0 * m);\\n  m -= c[1] / 128.0;\\n  c[2] = floor(32768.0 * m);\\n  m -= c[2] / 32768.0;\\n  c[3] = floor(8388608.0 * m);\\n  \\n  //Unpack exponent\\n  highp float ebias = e + 127.0;\\n  c[0] = floor(ebias / 2.0);\\n  ebias -= c[0] * 2.0;\\n  c[1] += floor(ebias) * 128.0; \\n\\n  //Unpack sign bit\\n  c[0] += 128.0 * step(0.0, -v);\\n\\n  //Scale back to range\\n  return c / 255.0;\\n}\\n\\nuniform float pickId;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(pixelArcLength).xyz);\\n}\"]),l=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];r.createShader=function(t){return i(t,a,o,null,l)},r.createPickShader=function(t){return i(t,a,s,null,l)}},{\"gl-shader\":286,glslify:390}],244:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=u(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),c=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),h=l(new Array(1024),[256,1,4]),p=0;p<1024;++p)h.data[p]=255;var d=a(e,h);d.wrap=e.REPEAT;var g=new m(e,r,o,s,c,d);return g.update(t),g};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"gl-texture2d\"),o=t(\"glsl-read-float\"),s=t(\"binary-search-bounds\"),l=t(\"ndarray\"),c=t(\"./lib/shaders\"),u=c.createShader,f=c.createPickShader,h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function d(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function m(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.dirty=!0,this.pixelRatio=1}var v=m.prototype;v.isTransparent=function(){return this.opacity<1},v.isOpaque=function(){return this.opacity>=1},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,clipBounds:d(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},v.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,pickId:this.pickId,clipBounds:d(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},v.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;\"dashScale\"in t&&(this.dashScale=t.dashScale),\"opacity\"in t&&(this.opacity=+t.opacity);var i=t.position||t.positions;if(i){var a=t.color||t.colors||[0,0,0,1],o=t.lineWidth||1,c=[],u=[],f=[],h=0,d=0,g=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],m=!1;t:for(e=1;e<i.length;++e){var v,y,x,b=i[e-1],_=i[e];for(u.push(h),f.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&c.length>0){for(var w=0;w<24;++w)c.push(c[c.length-12]);d+=2,m=!0}continue t}g[0][r]=Math.min(g[0][r],b[r],_[r]),g[1][r]=Math.max(g[1][r],b[r],_[r])}Array.isArray(a[0])?(v=a[e-1],y=a[e]):v=y=a,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),x=Array.isArray(o)?o[e-1]:o;var k=h;if(h+=p(b,_),m){for(r=0;r<2;++r)c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3]);d+=2,m=!1}c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],h,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],h,x,y[0],y[1],y[2],y[3]),d+=4}if(this.buffer.update(c),u.push(h),f.push(i[i.length-1].slice()),this.bounds=g,this.vertexCount=d,this.points=f,this.arcLength=u,\"dashes\"in t){var M=t.dashes.slice();for(M.unshift(0),e=1;e<M.length;++e)M[e]=M[e-1]+M[e];var A=l(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)A.set(e,0,r,0);1&s.le(M,M[M.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}}},v.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},v.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=o(t.value[0],t.value[1],t.value[2],0),r=s.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new g(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],a=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),l=1-a,c=[0,0,0],u=0;u<3;++u)c[u]=l*n[u]+a*i[u];var f=Math.min(a<.5?r:r+1,this.points.length-1);return new g(e,c,f,this.points[f])}},{\"./lib/shaders\":243,\"binary-search-bounds\":78,\"gl-buffer\":229,\"gl-texture2d\":303,\"gl-vao\":308,\"glsl-read-float\":381,ndarray:430}],245:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null}},{}],246:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=u*o-s*c,h=-u*a+s*l,p=c*a-o*l,d=r*f+n*h+i*p;return d?(d=1/d,t[0]=f*d,t[1]=(-u*n+i*c)*d,t[2]=(s*n-i*o)*d,t[3]=h*d,t[4]=(u*r-i*l)*d,t[5]=(-s*r+i*a)*d,t[6]=p*d,t[7]=(-c*r+n*l)*d,t[8]=(o*r-n*a)*d,t):null}},{}],247:[function(t,e,r){e.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},{}],248:[function(t,e,r){e.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],249:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],f=t[10],h=t[11],p=t[12],d=t[13],g=t[14],m=t[15];return(e*o-r*a)*(f*m-h*g)-(e*s-n*a)*(u*m-h*d)+(e*l-i*a)*(u*g-f*d)+(r*s-n*o)*(c*m-h*p)-(r*l-i*o)*(c*g-f*p)+(n*l-i*s)*(c*d-u*p)}},{}],250:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,c=r*o,u=n*o,f=n*s,h=i*o,p=i*s,d=i*l,g=a*o,m=a*s,v=a*l;return t[0]=1-f-d,t[1]=u+v,t[2]=h-m,t[3]=0,t[4]=u-v,t[5]=1-c-d,t[6]=p+g,t[7]=0,t[8]=h+m,t[9]=p-g,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],251:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,c=a+a,u=n*s,f=n*l,h=n*c,p=i*l,d=i*c,g=a*c,m=o*s,v=o*l,y=o*c;return t[0]=1-(p+g),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+g),t[6]=d+m,t[7]=0,t[8]=h+v,t[9]=d-m,t[10]=1-(u+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},{}],252:[function(t,e,r){e.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],253:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,k=i*c-a*l,M=u*g-f*d,A=u*m-h*d,T=u*v-p*d,S=f*m-h*g,E=f*v-p*g,C=h*v-p*m,L=y*C-x*E+b*S+_*T-w*A+k*M;if(!L)return null;return L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*k-m*w+v*_)*L,t[3]=(h*w-f*k-p*_)*L,t[4]=(l*T-o*C-c*A)*L,t[5]=(r*C-i*T+a*A)*L,t[6]=(m*b-d*k-v*x)*L,t[7]=(u*k-h*b+p*x)*L,t[8]=(o*E-s*T+c*M)*L,t[9]=(n*T-r*E-a*M)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*A-o*S-l*M)*L,t[13]=(r*S-n*A+i*M)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t}},{}],254:[function(t,e,r){var n=t(\"./identity\");e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,g=e[0],m=e[1],v=e[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],k=r[2];if(Math.abs(g-_)<1e-6&&Math.abs(m-w)<1e-6&&Math.abs(v-k)<1e-6)return n(t);f=g-_,h=m-w,p=v-k,d=1/Math.sqrt(f*f+h*h+p*p),a=x*(p*=d)-b*(h*=d),o=b*(f*=d)-y*p,s=y*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0);l=h*s-p*o,c=p*a-f*s,u=f*o-h*a,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0);return t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=c,t[6]=h,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(a*g+o*m+s*v),t[13]=-(l*g+c*m+u*v),t[14]=-(f*g+h*m+p*v),t[15]=1,t}},{\"./identity\":252}],255:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],g=e[12],m=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}},{}],256:[function(t,e,r){e.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},{}],257:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,k,M,A,T,S,E=n[0],C=n[1],L=n[2],z=Math.sqrt(E*E+C*C+L*L);if(Math.abs(z)<1e-6)return null;E*=z=1/z,C*=z,L*=z,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],c=e[2],u=e[3],f=e[4],h=e[5],p=e[6],d=e[7],g=e[8],m=e[9],v=e[10],y=e[11],x=E*E*o+a,b=C*E*o+L*i,_=L*E*o-C*i,w=E*C*o-L*i,k=C*C*o+a,M=L*C*o+E*i,A=E*L*o+C*i,T=C*L*o-E*i,S=L*L*o+a,t[0]=s*x+f*b+g*_,t[1]=l*x+h*b+m*_,t[2]=c*x+p*b+v*_,t[3]=u*x+d*b+y*_,t[4]=s*w+f*k+g*M,t[5]=l*w+h*k+m*M,t[6]=c*w+p*k+v*M,t[7]=u*w+d*k+y*M,t[8]=s*A+f*T+g*S,t[9]=l*A+h*T+m*S,t[10]=c*A+p*T+v*S,t[11]=u*A+d*T+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t}},{}],258:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=e[11];e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},{}],259:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],f=e[10],h=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+c*i,t[9]=o*n+u*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},{}],260:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=e[7];e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},{}],261:[function(t,e,r){e.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},{}],262:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,g=r[0],m=r[1],v=r[2];e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]);return t}},{}],263:[function(t,e,r){e.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},{}],264:[function(t,e,r){\"use strict\";e.exports=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:n(t,e);break;case 9:i(t,e);break;case 16:a(t,e);break;default:throw new Error(\"currently supports matrices up to 4x4\")}return t};var n=t(\"gl-mat2/invert\"),i=t(\"gl-mat3/invert\"),a=t(\"gl-mat4/invert\")},{\"gl-mat2/invert\":245,\"gl-mat3/invert\":246,\"gl-mat4/invert\":253}],265:[function(t,e,r){\"use strict\";var n=t(\"barycentric\"),i=t(\"polytope-closest-point/lib/closest_point_2d.js\");function a(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function o(t,e,r,n,i){for(var o=a(n,a(r,a(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*i[0]*(1+o[0]),.5*i[1]*(1-o[1])]}e.exports=function(t,e,r,a,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u<t.length;++u)c[u]=o(t[u],r,a,s,l);for(var f=0,h=1/0,u=0;u<c.length;++u){for(var p=0,d=0;d<2;++d)p+=Math.pow(c[u][d]-e[d],2);p<h&&(h=p,f=u)}for(var g=function(t,e){if(2===t.length){for(var r=0,a=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),a+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),a=Math.sqrt(a),r+a<1e-6?[1,0]:[a/(r+a),r/(a+r)]}if(3===t.length){var s=[0,0];return i(t[0],t[1],t[2],e,s),n(t,s)}return[]}(c,e),m=0,u=0;u<3;++u){if(g[u]<-.001||g[u]>1.0001)return null;m+=g[u]}if(Math.abs(m-1)>.001)return null;return[f,function(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}(t,g),g]}},{barycentric:60,\"polytope-closest-point/lib/closest_point_2d.js\":461}],266:[function(t,e,r){var n=t(\"glslify\"),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, normal;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model\\n           , view\\n           , projection;\\nuniform vec3 eyePosition\\n           , lightPosition;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  vec4 m_position  = model * vec4(position, 1.0);\\n  vec4 t_position  = view * m_position;\\n  gl_Position      = projection * t_position;\\n  f_color          = color;\\n  f_normal         = normal;\\n  f_data           = position;\\n  f_eyeDirection   = eyePosition   - position;\\n  f_lightDirection = lightPosition - position;\\n  f_uv             = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nvec3 normals(vec3 pos) {\\n  vec3 fdx = dFdx(pos);\\n  vec3 fdy = dFdy(pos);\\n  return normalize(cross(fdx, fdy));\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n            , fresnel\\n            , kambient\\n            , kdiffuse\\n            , kspecular\\n            , opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if(any(lessThan(f_data, clipBounds[0])) ||\\n     any(greaterThan(f_data, clipBounds[1]))) {\\n    discard;\\n  }\\n\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n\\n  vec3 normal = normals(f_data);\\n\\n  if (\\n    dot(N, normal) < 0.0\\n    ) {\\n      N = -N;\\n  }\\n\\n  float specular = cookTorranceSpecular(L, V, N, roughness, fresnel);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n  f_color = color;\\n  f_data  = position;\\n  f_uv    = uv;\\n}\"]),s=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if(any(lessThan(f_data, clipBounds[0])) || \\n     any(greaterThan(f_data, clipBounds[1]))) {\\n    discard;\\n  }\\n\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),l=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\nattribute float pointSize;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0])) || \\n     any(greaterThan(position, clipBounds[1]))) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    gl_Position = projection * view * model * vec4(position, 1.0);\\n  }\\n  gl_PointSize = pointSize;\\n  f_color = color;\\n  f_uv = uv;\\n}\"]),c=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  vec2 pointR = gl_PointCoord.xy - vec2(0.5,0.5);\\n  if(dot(pointR, pointR) > 0.25) {\\n    discard;\\n  }\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),u=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n  f_id        = id;\\n  f_position  = position;\\n}\"]),f=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if(any(lessThan(f_position, clipBounds[0])) || \\n     any(greaterThan(f_position, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]),h=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3  position;\\nattribute float pointSize;\\nattribute vec4  id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0])) || \\n     any(greaterThan(position, clipBounds[1]))) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    gl_Position  = projection * view * model * vec4(position, 1.0);\\n    gl_PointSize = pointSize;\\n  }\\n  f_id         = id;\\n  f_position   = position;\\n}\"]),p=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n}\"]),d=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n  gl_FragColor = vec4(contourColor,1);\\n}\\n\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},r.pickShader={vertex:u,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},r.pointPickShader={vertex:h,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:\"position\",type:\"vec3\"}]}},{glslify:390}],267:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"normals\"),l=t(\"gl-mat4/multiply\"),c=t(\"gl-mat4/invert\"),u=t(\"ndarray\"),f=t(\"colormap\"),h=t(\"simplicial-complex-contour\"),p=t(\"typedarray-pool\"),d=t(\"./lib/shaders\"),g=t(\"./lib/closest-point\"),m=d.meshShader,v=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,k,M,A,T,S){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=m,this.edgeUVs=v,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=k,this.pointSizes=M,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=T,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var M=k.prototype;function A(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function T(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function S(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function E(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}M.isOpaque=function(){return this.opacity>=1},M.isTransparent=function(){return this.opacity<1},M.pickSlots=1,M.setPickBase=function(t){this.pickId=t},M.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],g=n[f][1],m=i[f],v=1-m,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=m*y[b]+v*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},M.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"contourEnable\"in t&&(this.contourEnable=t.contourEnable),\"contourColor\"in t&&(this.contourColor=t.contourColor),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),\"opacity\"in t&&(this.opacity=t.opacity),\"ambient\"in t&&(this.ambientLight=t.ambient),\"diffuse\"in t&&(this.diffuseLight=t.diffuse),\"specular\"in t&&(this.specularLight=t.specular),\"roughness\"in t&&(this.roughness=t.roughness),\"fresnel\"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=f({colormap:t,nshades:256,format:\"rgba\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var i=[],a=[],l=[],c=[],h=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,k=t.cellNormals,M=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,A=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!k&&(k=s.faceNormals(r,n,A)),k||w||(w=s.vertexNormals(r,n,M));var T=t.vertexColors,S=t.cellColors,E=t.meshColor||[1,1,1,1],C=t.vertexUVs,L=t.vertexIntensity,z=t.cellUVs,P=t.cellIntensity,O=1/0,I=-1/0;if(!C&&!z)if(L)if(t.vertexIntensityBounds)O=+t.vertexIntensityBounds[0],I=+t.vertexIntensityBounds[1];else for(var D=0;D<L.length;++D){var R=L[D];O=Math.min(O,R),I=Math.max(I,R)}else if(P)for(D=0;D<P.length;++D){R=P[D];O=Math.min(O,R),I=Math.max(I,R)}else for(D=0;D<n.length;++D){R=n[D][2];O=Math.min(O,R),I=Math.max(I,R)}this.intensity=L||(P?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,P):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var B=t.pointSizes,F=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(D=0;D<n.length;++D)for(var N=n[D],j=0;j<3;++j)!isNaN(N[j])&&isFinite(N[j])&&(this.bounds[0][j]=Math.min(this.bounds[0][j],N[j]),this.bounds[1][j]=Math.max(this.bounds[1][j],N[j]));var V=0,U=0,q=0;t:for(D=0;D<r.length;++D){var H=r[D];switch(H.length){case 1:for(N=n[W=H[0]],j=0;j<3;++j)if(isNaN(N[j])||!isFinite(N[j]))continue t;v.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[D]:E).length?y.push(Y[0],Y[1],Y[2],1):y.push(Y[0],Y[1],Y[2],Y[3]),X=C?C[W]:L?[(L[W]-O)/(I-O),0]:z?z[D]:P?[(P[D]-O)/(I-O),0]:[(N[2]-O)/(I-O),0],x.push(X[0],X[1]),B?b.push(B[W]):b.push(F),_.push(D),q+=1;break;case 2:for(j=0;j<2;++j){N=n[W=H[j]];for(var G=0;G<3;++G)if(isNaN(N[G])||!isFinite(N[G]))continue t}for(j=0;j<2;++j){N=n[W=H[j]];p.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[D]:E).length?d.push(Y[0],Y[1],Y[2],1):d.push(Y[0],Y[1],Y[2],Y[3]),X=C?C[W]:L?[(L[W]-O)/(I-O),0]:z?z[D]:P?[(P[D]-O)/(I-O),0]:[(N[2]-O)/(I-O),0],g.push(X[0],X[1]),m.push(D)}U+=1;break;case 3:for(j=0;j<3;++j)for(N=n[W=H[j]],G=0;G<3;++G)if(isNaN(N[G])||!isFinite(N[G]))continue t;for(j=0;j<3;++j){var W,Y,X,Z;N=n[W=H[j]];i.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[D]:E).length?a.push(Y[0],Y[1],Y[2],1):a.push(Y[0],Y[1],Y[2],Y[3]),X=C?C[W]:L?[(L[W]-O)/(I-O),0]:z?z[D]:P?[(P[D]-O)/(I-O),0]:[(N[2]-O)/(I-O),0],c.push(X[0],X[1]),Z=w?w[W]:k[D],l.push(Z[0],Z[1],Z[2]),h.push(D)}V+=1}}this.pointCount=q,this.edgeCount=U,this.triangleCount=V,this.pointPositions.update(v),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(p),this.edgeColors.update(d),this.edgeUVs.update(g),this.edgeIds.update(new Uint32Array(m)),this.trianglePositions.update(i),this.triangleColors.update(a),this.triangleUVs.update(c),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(h))}},M.drawTransparent=M.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,contourColor:this.contourColor,texture:0};this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var f,h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},M.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},M.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=g(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(a=0;a<r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},M.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},e.exports=function(t,e){if(1===arguments.length&&(t=(e=t).gl),!(t.getExtension(\"OES_standard_derivatives\")||t.getExtension(\"MOZ_OES_standard_derivatives\")||t.getExtension(\"WEBKIT_OES_standard_derivatives\")))throw new Error(\"derivatives not supported\");var r=function(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),s=function(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),l=A(t),c=T(t),f=S(t),h=E(t),p=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var d=i(t),g=i(t),y=i(t),x=i(t),b=i(t),_=a(t,[{buffer:d,type:t.FLOAT,size:3},{buffer:b,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:y,type:t.FLOAT,size:2},{buffer:x,type:t.FLOAT,size:3}]),w=i(t),M=i(t),C=i(t),L=i(t),z=a(t,[{buffer:w,type:t.FLOAT,size:3},{buffer:L,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:M,type:t.FLOAT,size:4},{buffer:C,type:t.FLOAT,size:2}]),P=i(t),O=i(t),I=i(t),D=i(t),R=i(t),B=a(t,[{buffer:P,type:t.FLOAT,size:3},{buffer:R,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:O,type:t.FLOAT,size:4},{buffer:I,type:t.FLOAT,size:2},{buffer:D,type:t.FLOAT,size:1}]),F=i(t),N=new k(t,p,r,s,l,c,f,h,d,b,g,y,x,_,w,L,M,C,z,P,R,O,I,D,B,F,a(t,[{buffer:F,type:t.FLOAT,size:3}]));return N.update(e),N}},{\"./lib/closest-point\":265,\"./lib/shaders\":266,colormap:113,\"gl-buffer\":229,\"gl-mat4/invert\":253,\"gl-mat4/multiply\":255,\"gl-shader\":286,\"gl-texture2d\":303,\"gl-vao\":308,ndarray:430,normals:433,\"simplicial-complex-contour\":491,\"typedarray-pool\":519}],268:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e,[0,0,0,1,1,0,1,1]),s=i(e,a.boxVert,a.lineFrag);return new o(t,r,s)};var n=t(\"gl-buffer\"),i=t(\"gl-shader\"),a=t(\"./shaders\");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawBox=(s=[0,0],l=[0,0],function(t,e,r,n,i){var a=this.plot,o=this.shader,c=a.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=i,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":271,\"gl-buffer\":229,\"gl-shader\":286}],269:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,o.gridVert,o.gridFrag),l=i(e,o.tickVert,o.gridFrag);return new s(t,r,a,l)};var n=t(\"gl-buffer\"),i=t(\"gl-shader\"),a=t(\"binary-search-bounds\"),o=t(\"./shaders\");function s(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function l(t,e){return t-e}var c,u,f,h,p,d=s.prototype;d.draw=(c=[0,0],u=[0,0],f=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,i=t.gl,a=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,h=t.gridLineColor,p=t.gridLineEnable,d=t.pixelRatio,g=0;g<2;++g){var m=a[g],v=a[g+2]-m,y=.5*(o[g+2]+o[g]),x=o[g+2]-o[g];u[g]=2*v/x,c[g]=2*(m-y)/x}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=c,r.uniforms.dataScale=u;var b=0;for(g=0;g<2;++g){f[0]=f[1]=0,f[g]=1,r.uniforms.dataAxis=f,r.uniforms.lineWidth=l[g]/(s[g+2]-s[g])*d,r.uniforms.color=h[g];var _=6*n[g].length;p[g]&&_&&i.drawArrays(i.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],i=[0,0],o=[0,0];return function(){for(var s=this.plot,c=this.vbo,u=this.tickShader,f=this.ticks,h=s.gl,p=s._tickBounds,d=s.dataBox,g=s.viewBox,m=s.pixelRatio,v=s.screenBox,y=v[2]-v[0],x=v[3]-v[1],b=g[2]-g[0],_=g[3]-g[1],w=0;w<2;++w){var k=p[w],M=p[w+2]-k,A=.5*(d[w+2]+d[w]),T=d[w+2]-d[w];e[w]=2*M/T,t[w]=2*(k-A)/T}e[0]*=b/y,t[0]*=b/y,e[1]*=_/x,t[1]*=_/x,u.bind(),c.bind(),u.attributes.dataCoord.pointer();var S=u.uniforms;S.dataShift=t,S.dataScale=e;var E=s.tickMarkLength,C=s.tickMarkWidth,L=s.tickMarkColor,z=6*f[0].length,P=Math.min(a.ge(f[0],(d[0]-p[0])/(p[2]-p[0]),l),f[0].length),O=Math.min(a.gt(f[0],(d[2]-p[0])/(p[2]-p[0]),l),f[0].length),I=0+6*P,D=6*Math.max(0,O-P),R=Math.min(a.ge(f[1],(d[1]-p[1])/(p[3]-p[1]),l),f[1].length),B=Math.min(a.gt(f[1],(d[3]-p[1])/(p[3]-p[1]),l),f[1].length),F=z+6*R,N=6*Math.max(0,B-R);i[0]=2*(g[0]-E[1])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=E[1]*m/y,o[1]=C[1]*m/x,N&&(S.color=L[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,F,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[1]-E[0])/x-1,o[0]=C[0]*m/y,o[1]=E[0]*m/x,D&&(S.color=L[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,I,D)),i[0]=2*(g[2]+E[3])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=E[3]*m/y,o[1]=C[3]*m/x,N&&(S.color=L[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,F,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[3]+E[2])/x-1,o[0]=C[2]*m/y,o[1]=E[2]*m/x,D&&(S.color=L[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,I,D))}}(),d.update=(h=[1,1,-1,-1,1,-1],p=[1,-1,1,1,-1,-1],function(t){for(var e=t.ticks,r=t.bounds,n=new Float32Array(18*(e[0].length+e[1].length)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=e[o],c=r[o],u=r[o+2],f=0;f<l.length;++f){var d=(l[f].x-c)/(u-c);s.push(d);for(var g=0;g<6;++g)n[i++]=d,n[i++]=h[g],n[i++]=p[g]}this.ticks=a,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{\"./shaders\":271,\"binary-search-bounds\":273,\"gl-buffer\":229,\"gl-shader\":286}],270:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e,[-1,-1,-1,1,1,-1,1,1]),s=i(e,a.lineVert,a.lineFrag);return new o(t,r,s)};var n=t(\"gl-buffer\"),i=t(\"gl-shader\"),a=t(\"./shaders\");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawLine=(s=[0,0],l=[0,0],function(t,e,r,n,i,a){var o=this.plot,c=this.shader,u=o.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,c.uniforms.start=s,c.uniforms.end=l,c.uniforms.width=i*o.pixelRatio,c.uniforms.color=a,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":271,\"gl-buffer\":229,\"gl-shader\":286}],271:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=n([\"precision lowp float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\\n}\\n\"]);e.exports={lineVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 start, end;\\nuniform float width;\\n\\nvec2 perp(vec2 v) {\\n  return vec2(v.y, -v.x);\\n}\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  vec2 delta = normalize(perp(start - end));\\n  vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\\n  gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\\n}\\n\"]),lineFrag:i,textVert:n([\"#define GLSLIFY 1\\nattribute vec3 textCoordinate;\\n\\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\\nuniform float angle;\\n\\nvoid main() {\\n  float dataOffset  = textCoordinate.z;\\n  vec2 glyphOffset  = textCoordinate.xy;\\n  mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\\n  vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\\n    glyphMatrix * glyphOffset * textScale + screenOffset;\\n  gl_Position = vec4(screenCoordinate, 0, 1);\\n}\\n\"]),textFrag:i,gridVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale;\\nuniform float lineWidth;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\\n  gl_Position = vec4(pos, 0, 1);\\n}\\n\"]),gridFrag:i,boxVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 lo, hi;\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\\n}\\n\"]),tickVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\\n}\\n\"])}},{glslify:390}],272:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,s.textVert,s.textFrag);return new l(t,r,a)};var n=t(\"gl-buffer\"),i=t(\"gl-shader\"),a=t(\"text-cache\"),o=t(\"binary-search-bounds\"),s=t(\"./shaders\");function l(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var c,u,f,h,p,d,g=l.prototype;g.drawTicks=(c=[0,0],u=[0,0],f=[0,0],function(t){var e=this.plot,r=this.shader,n=this.tickX[t],i=this.tickOffset[t],a=e.gl,s=e.viewBox,l=e.dataBox,h=e.screenBox,p=e.pixelRatio,d=e.tickEnable,g=e.tickPad,m=e.tickColor,v=e.tickAngle,y=e.labelEnable,x=e.labelPad,b=e.labelColor,_=e.labelAngle,w=this.labelOffset[t],k=this.labelCount[t],M=o.lt(n,l[t]),A=o.le(n,l[t+2]);c[0]=c[1]=0,c[t]=1,u[t]=(s[2+t]+s[t])/(h[2+t]-h[t])-1;var T=2/h[2+(1^t)]-h[1^t];u[1^t]=T*s[1^t]-1,d[t]&&(u[1^t]-=T*p*g[t],M<A&&i[A]>i[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t],r.uniforms.angle=v[t],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t]&&k&&(u[1^t]-=T*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,k)),u[1^t]=T*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=T*p*g[t+2],M<A&&i[A]>i[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t+2],r.uniforms.angle=v[t+2],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t+2]&&k&&(u[1^t]+=T*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,k))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],f=a[o],g=a[o+2]-f,m=i[o],v=i[o+2]-m;p[o]=2*l/u*g/v,h[o]=2*(s-c)/u*g/v}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e<h.length;++e){var p=h[e],d=p.x,g=p.text,m=p.font||\"sans-serif\";i=p.fontSize||12;for(var v=1/(c[o+2]-c[o]),y=c[o],x=g.split(\"\\n\"),b=0;b<x.length;b++)for(n=a(m,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(d-y)*v);u.push(Math.floor(s.length/3)),f.push(d)}this.tickOffset[o]=u,this.tickX[o]=f}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=a(t.labelFont[o],t.labels[o],{textAlign:\"center\"}).data,i=t.labelSize[o],e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=a(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},g.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":271,\"binary-search-bounds\":273,\"gl-buffer\":229,\"gl-shader\":286,\"text-cache\":510}],273:[function(t,e,r){arguments[4][98][0].apply(r,arguments)},{dup:98}],274:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e,[e.drawingBufferWidth,e.drawingBufferHeight]),c=new l(e,r);return c.grid=i(c),c.text=a(c),c.line=o(c),c.box=s(c),c.update(t),c};var n=t(\"gl-select-static\"),i=t(\"./lib/grid\"),a=t(\"./lib/text\"),o=t(\"./lib/line\"),s=t(\"./lib/box\");function l(t,e){this.gl=t,this.pickBuffer=e,this.screenBox=[0,0,t.drawingBufferWidth,t.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-1/0,-1/0],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}var c=l.prototype;function u(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function f(t,e){return t.x-e.x}c.setDirty=function(){this.dirty=this.pickDirty=!0},c.setOverlayDirty=function(){this.dirty=!0},c.nextDepthValue=function(){return this._depthCounter++/65536},c.draw=function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){if(this.dirty=!1,t.bindFramebuffer(t.FRAMEBUFFER,null),t.enable(t.SCISSOR_TEST),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.enable(t.BLEND),t.blendEquation(t.FUNC_ADD,t.FUNC_ADD),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),this.borderColor){t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var c=this.borderColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}t.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),t.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var u=this.backgroundColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),t.clear(t.COLOR_BUFFER_BIT),a.draw();var f=this.zeroLineEnable,h=this.zeroLineColor,p=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var d=0;d<2;++d)if(f[d]&&n[d]<=0&&n[d+2]>=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],h[d]):o.drawLine(e[0],g,e[2],g,p[d],h[d])}}for(d=0;d<l.length;++d)l[d].draw();t.viewport(e[0],e[1],e[2]-e[0],e[3]-e[1]),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),this.grid.drawTickMarks(),o.bind();var m=this.borderLineEnable,v=this.borderLineWidth,y=this.borderLineColor;for(m[1]&&o.drawLine(r[0],r[1]-.5*v[1]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),m[0]&&o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),m[3]&&o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),m[2]&&o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,r[3],v[2],y[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},c.drawPick=function(){if(!this.static){var t=this.pickBuffer;this.gl;this._pickTimeout=null,t.begin();for(var e=1,r=this.objects,n=0;n<r.length;++n)e=r[n].drawPick(e);t.end()}},c.pick=function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),c=this.objects,u=0;u<c.length;++u){var f=c[u].pick(a,o,l);if(f)return f}return null}},c.setScreenBox=function(t){var e=this.screenBox,r=this.pixelRatio;e[0]=0|Math.round(t[0]*r),e[1]=0|Math.round(t[1]*r),e[2]=0|Math.round(t[2]*r),e[3]=0|Math.round(t[3]*r),this.setDirty()},c.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},c.setViewBox=function(t){var e=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(t[0]*e),r[1]=0|Math.round(t[1]*e),r[2]=0|Math.round(t[2]*e),r[3]=0|Math.round(t[3]*e);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((t[2]-t[0])*n),0|Math.round((t[3]-t[1])*n)],this.setDirty()},c.update=function(t){t=t||{};var e=this.gl;this.pixelRatio=t.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(t.screenBox||[0,0,e.drawingBufferWidth/r,e.drawingBufferHeight/r]);this.screenBox;this.setViewBox(t.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/i,10,10/i]),this.borderColor=!1!==t.borderColor&&(t.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(t.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(t.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(t.gridLineWidth||[1,1]).slice(),this.gridLineColor=u(t.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(t.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(t.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=u(t.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(t.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(t.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=u(t.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(t.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!(\"titleEnable\"in t&&!t.titleEnable),this.titleAngle=t.titleAngle||0,this.titleColor=(t.titleColor||[0,0,0,1]).slice(),this.labelPad=(t.labelPad||[15,15,15,15]).slice(),this.labelAngle=(t.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(t.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=u(t.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(t.tickPad||[15,15,15,15]).slice(),this.tickAngle=(t.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(t.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=u(t.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(t.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(t.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=u(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var a=t.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=a[s].slice(0);0!==l.length&&(l.sort(f),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:a}),this.text.update({bounds:o,ticks:a,labels:t.labels||[\"x\",\"y\"],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||[\"sans-serif\",\"sans-serif\"],title:t.title||\"\",titleSize:t.titleSize||18,titleFont:t.titleFont||\"sans-serif\"}),this.static=!!t.static,this.setDirty()},c.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t>=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},c.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},c.removeOverlay=function(t){for(var e=this.overlays,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{\"./lib/box\":268,\"./lib/grid\":269,\"./lib/line\":270,\"./lib/text\":272,\"gl-select-static\":285}],275:[function(t,e,r){var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\nattribute vec2 position;\\nvarying vec2 uv;\\nvoid main() {\\n  uv = position;\\n  gl_Position = vec4(position, 0, 1);\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D accumBuffer;\\nvarying vec2 uv;\\n\\nvoid main() {\\n  vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\\n  gl_FragColor = min(vec4(1,1,1,1), accum);\\n}\"]);e.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec2\"}])}},{\"gl-shader\":286,glslify:390}],276:[function(t,e,r){\"use strict\";e.exports=function(t){var e=!1,r=((t=t||{}).pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);if(!r)if(r=document.createElement(\"canvas\"),t.container){var v=t.container;v.appendChild(r)}else document.body.appendChild(r);var y=t.gl;y||(y=function(t,e){var r=null;try{(r=t.getContext(\"webgl\",e))||(r=t.getContext(\"experimental-webgl\",e))}catch(t){return null}return r}(r,t.glOptions||{premultipliedAlpha:!0,antialias:!0}));if(!y)throw new Error(\"webgl not supported\");var x=t.bounds||[[-10,-10,-10],[10,10,10]],b=new d,_=l(y,[y.drawingBufferWidth,y.drawingBufferHeight],{preferFloat:!p}),w=h(y),k=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:\"turntable\"},M=t.axes||{},A=i(y,M);A.enable=!M.disable;var T=t.spikes||{},S=o(y,T),E=[],C=[],L=[],z=[],P=!0,O=!0,I=new Array(16),D=new Array(16),R={view:null,projection:I,model:D},O=!0,B=[y.drawingBufferWidth,y.drawingBufferHeight],F={gl:y,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:r,selection:b,camera:n(r,k),axes:A,axesPixels:null,spikes:S,bounds:x,objects:E,shape:B,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:m(t.autoResize),autoBounds:m(t.autoBounds),autoScale:!!t.autoScale,autoCenter:m(t.autoCenter),clipToBounds:m(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:R,oncontextloss:null,mouseListener:null},N=[y.drawingBufferWidth/F.pixelRatio|0,y.drawingBufferHeight/F.pixelRatio|0];function j(){if(!e&&F.autoResize){var t=r.parentNode,n=1,i=1;t&&t!==document.body?(n=t.clientWidth,i=t.clientHeight):(n=window.innerWidth,i=window.innerHeight);var a=0|Math.ceil(n*F.pixelRatio),o=0|Math.ceil(i*F.pixelRatio);if(a!==r.width||o!==r.height){r.width=a,r.height=o;var s=r.style;s.position=s.position||\"absolute\",s.left=\"0px\",s.top=\"0px\",s.width=n+\"px\",s.height=i+\"px\",P=!0}}}F.autoResize&&j();function V(){for(var t=E.length,e=z.length,r=0;r<e;++r)L[r]=0;t:for(var r=0;r<t;++r){var n=E[r],i=n.pickSlots;if(i){for(var a=0;a<e;++a)if(L[a]+i<255){C[r]=a,n.setPickBase(L[a]+1),L[a]+=i;continue t}var o=s(y,B);C[r]=e,z.push(o),L.push(i),n.setPickBase(1),e+=1}else C[r]=-1}for(;e>0&&0===L[e-1];)L.pop(),z.pop().dispose()}window.addEventListener(\"resize\",j),F.update=function(t){e||(t=t||{},P=!0,O=!0)},F.add=function(t){e||(t.axes=A,E.push(t),C.push(-1),P=!0,O=!0,V())},F.remove=function(t){if(!e){var r=E.indexOf(t);r<0||(E.splice(r,1),C.pop(),P=!0,O=!0,V())}},F.dispose=function(){if(!e&&(e=!0,window.removeEventListener(\"resize\",j),r.removeEventListener(\"webglcontextlost\",H),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;t<E.length;++t)E[t].dispose();_.dispose();for(var t=0;t<z.length;++t)z[t].dispose();w.dispose(),y=null,A=null,S=null,E=[]}};var U=!1,q=0;function H(){if(F.contextLost)return!0;y.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.mouseListener=u(r,function(t,r,n){if(!e){var i=z.length,a=E.length,o=b.object;b.distance=1/0,b.mouse[0]=r,b.mouse[1]=n,b.object=null,b.screen=null,b.dataCoordinate=b.dataPosition=null;var s=!1;if(t&&q)U=!0;else{U&&(O=!0),U=!1;for(var l=0;l<i;++l){var c=z[l].query(r,N[1]-n-1,F.pickRadius);if(c){if(c.distance>b.distance)continue;for(var u=0;u<a;++u){var f=E[u];if(C[u]===l){var h=f.pick(c);h&&(b.buttons=t,b.screen=c.coord,b.distance=c.distance,b.object=f,b.index=h.distance,b.dataPosition=h.position,b.dataCoordinate=h.dataCoordinate,b.data=h,s=!0)}}}}}o&&o!==b.object&&(o.highlight&&o.highlight(null),P=!0),b.object&&(b.object.highlight&&b.object.highlight(b.data),P=!0),(s=s||b.object!==o)&&F.onselect&&F.onselect(b),1&t&&!(1&q)&&F.onclick&&F.onclick(b),q=t}}),r.addEventListener(\"webglcontextlost\",H);var G=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],W=[G[0].slice(),G[1].slice()];function Y(){if(!H()){j();var t=F.camera.tick();R.view=F.camera.matrix,P=P||t,O=O||t,A.pixelRatio=F.pixelRatio,S.pixelRatio=F.pixelRatio;var e=E.length,r=G[0],n=G[1];r[0]=r[1]=r[2]=1/0,n[0]=n[1]=n[2]=-1/0;for(var i=0;i<e;++i){var o=E[i];o.pixelRatio=F.pixelRatio,o.axes=F.axes,P=P||!!o.dirty,O=O||!!o.dirty;var s=o.bounds;if(s)for(var l=s[0],u=s[1],h=0;h<3;++h)r[h]=Math.min(r[h],l[h]),n[h]=Math.max(n[h],u[h])}var p=F.bounds;if(F.autoBounds)for(var h=0;h<3;++h){if(n[h]<r[h])r[h]=-1,n[h]=1;else{r[h]===n[h]&&(r[h]-=1,n[h]+=1);var d=.05*(n[h]-r[h]);r[h]=r[h]-d,n[h]=n[h]+d}p[0][h]=r[h],p[1][h]=n[h]}for(var m=!1,h=0;h<3;++h)m=m||W[0][h]!==p[0][h]||W[1][h]!==p[1][h],W[0][h]=p[0][h],W[1][h]=p[1][h];if(O=O||m,P=P||m){if(m){for(var v=[0,0,0],i=0;i<3;++i)v[i]=g((p[1][i]-p[0][i])/10);A.autoTicks?A.update({bounds:p,tickSpacing:v}):A.update({bounds:p})}var x=y.drawingBufferWidth,k=y.drawingBufferHeight;B[0]=x,B[1]=k,N[0]=0|Math.max(x/F.pixelRatio,1),N[1]=0|Math.max(k/F.pixelRatio,1),f(I,F.fovy,x/k,F.zNear,F.zFar);for(var i=0;i<16;++i)D[i]=0;D[15]=1;for(var M=0,i=0;i<3;++i)M=Math.max(M,p[1][i]-p[0][i]);for(var i=0;i<3;++i)F.autoScale?D[5*i]=F.aspect[i]/(p[1][i]-p[0][i]):D[5*i]=1/M,F.autoCenter&&(D[12+i]=.5*-D[5*i]*(p[0][i]+p[1][i]));for(var i=0;i<e;++i){var o=E[i];o.axesBounds=p,F.clipToBounds&&(o.clipBounds=p)}b.object&&(F.snapToData?S.position=b.dataCoordinate:S.position=b.dataPosition,S.bounds=p),O&&(O=!1,function(){if(H())return;y.colorMask(!0,!0,!0,!0),y.depthMask(!0),y.disable(y.BLEND),y.enable(y.DEPTH_TEST);for(var t=E.length,e=z.length,r=0;r<e;++r){var n=z[r];n.shape=N,n.begin();for(var i=0;i<t;++i)if(C[i]===r){var a=E[i];a.drawPick&&(a.pixelRatio=1,a.drawPick(R))}n.end()}}()),F.axesPixels=a(F.axes,R,x,k),F.onrender&&F.onrender(),y.bindFramebuffer(y.FRAMEBUFFER,null),y.viewport(0,0,x,k);var T=F.clearColor;y.clearColor(T[0],T[1],T[2],T[3]),y.clear(y.COLOR_BUFFER_BIT|y.DEPTH_BUFFER_BIT),y.depthMask(!0),y.colorMask(!0,!0,!0,!0),y.enable(y.DEPTH_TEST),y.depthFunc(y.LEQUAL),y.disable(y.BLEND),y.disable(y.CULL_FACE);var L=!1;A.enable&&(L=L||A.isTransparent(),A.draw(R)),S.axes=A,b.object&&S.draw(R),y.disable(y.CULL_FACE);for(var i=0;i<e;++i){var o=E[i];o.axes=A,o.pixelRatio=F.pixelRatio,o.isOpaque&&o.isOpaque()&&o.draw(R),o.isTransparent&&o.isTransparent()&&(L=!0)}if(L){_.shape=B,_.bind(),y.clear(y.DEPTH_BUFFER_BIT),y.colorMask(!1,!1,!1,!1),y.depthMask(!0),y.depthFunc(y.LESS),A.enable&&A.isTransparent()&&A.drawTransparent(R);for(var i=0;i<e;++i){var o=E[i];o.isOpaque&&o.isOpaque()&&o.draw(R)}y.enable(y.BLEND),y.blendEquation(y.FUNC_ADD),y.blendFunc(y.ONE,y.ONE_MINUS_SRC_ALPHA),y.colorMask(!0,!0,!0,!0),y.depthMask(!1),y.clearColor(0,0,0,0),y.clear(y.COLOR_BUFFER_BIT),A.isTransparent()&&A.drawTransparent(R);for(var i=0;i<e;++i){var o=E[i];o.isTransparent&&o.isTransparent()&&o.drawTransparent(R)}y.bindFramebuffer(y.FRAMEBUFFER,null),y.blendFunc(y.ONE,y.ONE_MINUS_SRC_ALPHA),y.disable(y.DEPTH_TEST),w.bind(),_.color[0].bind(0),w.uniforms.accumBuffer=0,c(y),y.disable(y.BLEND)}P=!1;for(var i=0;i<e;++i)E[i].dirty=!1}}}return function t(){e||F.contextLost||(requestAnimationFrame(t),Y())}(),F.redraw=function(){e||(P=!0,Y())},F};var n=t(\"3d-view-controls\"),i=t(\"gl-axes3d\"),a=t(\"gl-axes3d/properties\"),o=t(\"gl-spikes3d\"),s=t(\"gl-select-static\"),l=t(\"gl-fbo\"),c=t(\"a-big-triangle\"),u=t(\"mouse-change\"),f=t(\"gl-mat4/perspective\"),h=t(\"./lib/shader\"),p=t(\"is-mobile\")();function d(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function m(t){return\"boolean\"!=typeof t||t}},{\"./lib/shader\":275,\"3d-view-controls\":43,\"a-big-triangle\":46,\"gl-axes3d\":221,\"gl-axes3d/properties\":228,\"gl-fbo\":238,\"gl-mat4/perspective\":256,\"gl-select-static\":285,\"gl-spikes3d\":295,\"is-mobile\":401,\"mouse-change\":415}],277:[function(t,e,r){var n=t(\"glslify\");r.pointVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform float pointCloud;\\n\\nhighp float rand(vec2 co) {\\n  highp float a = 12.9898;\\n  highp float b = 78.233;\\n  highp float c = 43758.5453;\\n  highp float d = dot(co.xy, vec2(a, b));\\n  highp float e = mod(d, 3.14);\\n  return fract(sin(e) * c);\\n}\\n\\nvoid main() {\\n  vec3 hgPosition = matrix * vec3(position, 1);\\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\\n    // if we don't jitter the point size a bit, overall point cloud\\n    // saturation 'jumps' on zooming, which is disturbing and confusing\\n  gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    // get the same square surface as circle would be\\n    gl_PointSize *= 0.886;\\n  }\\n}\"]),r.pointFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color, borderColor;\\nuniform float centerFraction;\\nuniform float pointCloud;\\n\\nvoid main() {\\n  float radius;\\n  vec4 baseColor;\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    if(centerFraction == 1.0) {\\n      gl_FragColor = color;\\n    } else {\\n      gl_FragColor = mix(borderColor, color, centerFraction);\\n    }\\n  } else {\\n    radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n    if(radius > 1.0) {\\n      discard;\\n    }\\n    baseColor = mix(borderColor, color, step(radius, centerFraction));\\n    gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\\n  }\\n}\\n\"]),r.pickVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform vec4 pickOffset;\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  vec3 hgPosition = matrix * vec3(position, 1);\\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\\n  gl_PointSize = pointSize;\\n\\n  vec4 id = pickId + pickOffset;\\n  id.y += floor(id.x / 256.0);\\n  id.x -= floor(id.x / 256.0) * 256.0;\\n\\n  id.z += floor(id.y / 256.0);\\n  id.y -= floor(id.y / 256.0) * 256.0;\\n\\n  id.w += floor(id.z / 256.0);\\n  id.z -= floor(id.z / 256.0) * 256.0;\\n\\n  fragId = id;\\n}\\n\"]),r.pickFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  float radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n  if(radius > 1.0) {\\n    discard;\\n  }\\n  gl_FragColor = fragId / 255.0;\\n}\\n\"])},{glslify:390}],278:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"typedarray-pool\"),o=t(\"./lib/shader\");function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,a=i(r),l=i(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),f=new s(t,a,l,c,u);return f.update(e),t.addObject(f),f};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r(\"sizeMin\",.5),this.sizeMax=r(\"sizeMax\",20),this.color=r(\"color\",[1,0,0,1]).slice(),this.areaRatio=r(\"areaRatio\",1),this.borderColor=r(\"borderColor\",[0,0,0,1]).slice(),this.blend=r(\"blend\",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e<n;e++)c[e]=e;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),i||a.free(l),o||a.free(c),this.pointCount=n,this.pickOffset=0},u.unifiedDraw=(l=[1,0,0,0,1,0,0,0,1],c=[0,0,0,0],function(t){var e=void 0!==t,r=e?this.pickShader:this.shader,n=this.plot.gl,i=this.plot.dataBox;if(0===this.pointCount)return t;var a=i[2]-i[0],o=i[3]-i[1],s=function(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{\"./lib/shader\":277,\"gl-buffer\":229,\"gl-shader\":286,\"typedarray-pool\":519}],279:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],p=r[0],d=r[1],g=r[2],m=r[3];(a=c*p+u*d+f*g+h*m)<0&&(a=-a,p=-p,d=-d,g=-g,m=-m);1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*f+l*g,t[3]=s*h+l*m,t}},{}],280:[function(t,e,r){\"use strict\";var n=t(\"vectorize-text\");e.exports=function(t,e){var r=i[e];r||(r=i[e]={});if(t in r)return r[t];for(var a=n(t,{textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e}),o=n(t,{triangles:!0,textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e}),s=[[1/0,1/0],[-1/0,-1/0]],l=0;l<a.positions.length;++l)for(var c=a.positions[l],u=0;u<2;++u)s[0][u]=Math.min(s[0][u],c[u]),s[1][u]=Math.max(s[1][u],c[u]);return r[t]=[o,a,s]};var i={}},{\"vectorize-text\":524}],281:[function(t,e,r){var n=t(\"gl-shader\"),i=t(\"glslify\"),a=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform vec4 highlightId;\\nuniform float highlightScale;\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0]))   || \\n     any(greaterThan(position, clipBounds[1])) ) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float scale = 1.0;\\n    if(distance(highlightId, id) < 0.0001) {\\n      scale = highlightScale;\\n    }\\n\\n    vec4 worldPosition = model * vec4(position, 1);\\n    vec4 viewPosition = view * worldPosition;\\n    viewPosition = viewPosition / viewPosition.w;\\n    vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\\n    \\n    gl_Position = clipPosition;\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = position;\\n  }\\n}\"]),o=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float highlightScale, pixelRatio;\\nuniform vec4 highlightId;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float scale = pixelRatio;\\n    if(distance(highlightId.bgr, id.bgr) < 0.001) {\\n      scale *= highlightScale;\\n    }\\n\\n    vec4 worldPosition = model * vec4(position, 1.0);\\n    vec4 viewPosition = view * worldPosition;\\n    vec4 clipPosition = projection * viewPosition;\\n    clipPosition /= clipPosition.w;\\n    \\n    gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = position;\\n  }\\n}\"]),s=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform float highlightScale;\\nuniform vec4 highlightId;\\nuniform vec3 axes[2];\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float scale, pixelRatio;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0]))   ||\\n     any(greaterThan(position, clipBounds[1])) ) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float lscale = pixelRatio * scale;\\n    if(distance(highlightId, id) < 0.0001) {\\n      lscale *= highlightScale;\\n    }\\n\\n    vec4 clipCenter   = projection * view * model * vec4(position, 1);\\n    vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\\n    vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\\n\\n    gl_Position = clipPosition;\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = dataPosition;\\n  }\\n}\\n\"]),l=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float opacity;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\n    discard;\\n  } else {\\n    gl_FragColor = interpColor * opacity;\\n  }\\n}\\n\"]),c=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float pickGroup;\\n\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\n    discard;\\n  } else {\\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\\n  }\\n}\"]),u=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],f={vertex:a,fragment:l,attributes:u},h={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,fragment:c,attributes:u},g={vertex:o,fragment:c,attributes:u},m={vertex:s,fragment:c,attributes:u};function v(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}r.createPerspective=function(t){return v(t,f)},r.createOrtho=function(t){return v(t,h)},r.createProject=function(t){return v(t,p)},r.createPickPerspective=function(t){return v(t,d)},r.createPickOrtho=function(t){return v(t,g)},r.createPickProject=function(t){return v(t,m)}},{\"gl-shader\":286,glslify:390}],282:[function(t,e,r){\"use strict\";var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"typedarray-pool\"),o=t(\"gl-mat4/multiply\"),s=t(\"./lib/shaders\"),l=t(\"./lib/glyphs\"),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function u(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function f(t,e,r,n){return u(n,n),u(n,n),u(n,n)}function h(t,e){this.index=t,this.dataCoordinate=this.position=e}function p(t,e,r,n,i,a,o,s,l,c,u,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=f,this.points=[],this._selectResult=new h(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=s.createPerspective(e),a=s.createOrtho(e),o=s.createProject(e),l=s.createPickPerspective(e),c=s.createPickOrtho(e),u=s.createPickProject(e),f=n(e),h=n(e),d=n(e),g=n(e),m=i(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:d,size:2,type:e.FLOAT},{buffer:g,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),v=new p(e,r,a,o,f,h,d,g,m,l,c,u);return v.update(t),v};var d=p.prototype;d.pickSlots=1,d.setPickBase=function(t){this.pickId=t},d.isTransparent=function(){if(this.opacity<1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]<1)return!0;return!1},d.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]>=1)return!0;return!1};var g=[0,0],m=[0,0,0],v=[0,0,0],y=[0,0,0,1],x=[0,0,0,1],b=c.slice(),_=[0,0,0],w=[[0,0,0],[0,0,0]];function k(t){return t[0]=t[1]=t[2]=0,t}function M(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function A(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function T(t,e,r,n,i){var a,s=e.axesProject,l=e.gl,u=t.uniforms,h=r.model||c,p=r.view||c,d=r.projection||c,T=e.axesBounds,S=function(t){for(var e=w,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],g[0]=2/l.drawingBufferWidth,g[1]=2/l.drawingBufferHeight,t.bind(),u.view=p,u.projection=d,u.screenSize=g,u.highlightId=e.highlightId,u.highlightScale=e.highlightScale,u.clipBounds=S,u.pickGroup=e.pickId/255,u.pixelRatio=e.pixelRatio;for(var E=0;E<3;++E)if(s[E]&&e.projectOpacity[E]<1===n){u.scale=e.projectScale[E],u.opacity=e.projectOpacity[E];for(var C=b,L=0;L<16;++L)C[L]=0;for(L=0;L<4;++L)C[5*L]=1;C[5*E]=0,a[E]<0?C[12+E]=T[0][E]:C[12+E]=T[1][E],o(C,h,C),u.model=C;var z=(E+1)%3,P=(E+2)%3,O=k(m),I=k(v);O[z]=1,I[P]=1;var D=f(0,0,0,M(y,O)),R=f(0,0,0,M(x,I));if(Math.abs(D[1])>Math.abs(R[1])){var B=D;D=R,R=B,B=O,O=I,I=B;var F=z;z=P,P=F}D[0]<0&&(O[z]=-1),R[1]>0&&(I[P]=-1);var N=0,j=0;for(L=0;L<4;++L)N+=Math.pow(h[4*z+L],2),j+=Math.pow(h[4*P+L],2);O[z]/=Math.sqrt(N),I[P]/=Math.sqrt(j),u.axes[0]=O,u.axes[1]=I,u.fragClipBounds[0]=A(_,S[0],E,-1e8),u.fragClipBounds[1]=A(_,S[1],E,1e8),e.vao.draw(l.TRIANGLES,e.vertexCount),e.lineWidth>0&&(l.lineWidth(e.lineWidth),e.vao.draw(l.LINES,e.lineVertexCount,e.vertexCount))}}var S=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function E(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity<1||a){t.bind();var s=t.uniforms;s.model=n.model||c,s.view=n.view||c,s.projection=n.projection||c,g[0]=2/o.drawingBufferWidth,g[1]=2/o.drawingBufferHeight,s.screenSize=g,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=S,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}T(e,r,n,i),r.vao.unbind()}d.draw=function(t){E(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},d.drawTransparent=function(t){E(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},d.drawPick=function(t){E(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},d.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},d.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},d.update=function(t){if(\"perspective\"in(t=t||{})&&(this.useOrtho=!t.perspective),\"orthographic\"in t&&(this.useOrtho=!!t.orthographic),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"project\"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if(\"projectScale\"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(\"projectOpacity\"in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}\"opacity\"in t&&(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||\"normal\",o=t.alignment||[0,0],s=[1/0,1/0,1/0],c=[-1/0,-1/0,-1/0],u=t.glyph,f=t.color,h=t.size,p=t.angle,d=t.lineColor,g=0,m=0,v=0,y=n.length;t:for(var x=0;x<y;++x){for(var b=n[x],_=0;_<3;++_)if(isNaN(b[_])||!isFinite(b[_]))continue t;var w=(B=Array.isArray(u)?l(u[x],i):l(u||\"\\u25cf\",i))[0],k=B[1],M=B[2];m+=3*w.cells.length,v+=2*k.edges.length}var A=m+v,T=a.mallocFloat(3*A),S=a.mallocFloat(4*A),E=a.mallocFloat(2*A),C=a.mallocUint32(A),L=[0,o[1]],z=0,P=m,O=[0,0,0,1],I=[0,0,0,1],D=Array.isArray(f)&&Array.isArray(f[0]),R=Array.isArray(d)&&Array.isArray(d[0]);t:for(x=0;x<y;++x){var B;for(b=n[x],_=0;_<3;++_){if(isNaN(b[_])||!isFinite(b[_])){g+=1;continue t}c[_]=Math.max(c[_],b[_]),s[_]=Math.min(s[_],b[_])}var F;w=(B=Array.isArray(u)?l(u[x],i):l(u||\"\\u25cf\",i))[0],k=B[1],M=B[2];if(Array.isArray(f)){if(3===(F=D?f[x]:f).length){for(_=0;_<3;++_)O[_]=F[_];O[3]=1}else if(4===F.length)for(_=0;_<4;++_)O[_]=F[_]}else O[0]=O[1]=O[2]=0,O[3]=1;if(Array.isArray(d)){if(3===(F=R?d[x]:d).length){for(_=0;_<3;++_)I[_]=F[_];I[_]=1}else if(4===F.length)for(_=0;_<4;++_)I[_]=F[_]}else I[0]=I[1]=I[2]=0,I[3]=1;var N=.5;Array.isArray(h)?N=+h[x]:h?N=+h:this.useOrtho&&(N=12);var j=0;Array.isArray(p)?j=+p[x]:p&&(j=+p);var V=Math.cos(j),U=Math.sin(j);for(b=n[x],_=0;_<3;++_)c[_]=Math.max(c[_],b[_]),s[_]=Math.min(s[_],b[_]);o[0]<0?L[0]=o[0]*(1+M[1][0]):o[0]>0&&(L[0]=-o[0]*(1+M[0][0]));var q=w.cells,H=w.positions;for(_=0;_<q.length;++_)for(var G=q[_],W=0;W<3;++W){for(var Y=0;Y<3;++Y)T[3*z+Y]=b[Y];for(Y=0;Y<4;++Y)S[4*z+Y]=O[Y];C[z]=g;var X=H[G[W]];E[2*z]=N*(V*X[0]-U*X[1]+L[0]),E[2*z+1]=N*(U*X[0]+V*X[1]+L[1]),z+=1}for(q=k.edges,H=k.positions,_=0;_<q.length;++_)for(G=q[_],W=0;W<2;++W){for(Y=0;Y<3;++Y)T[3*P+Y]=b[Y];for(Y=0;Y<4;++Y)S[4*P+Y]=I[Y];C[P]=g;X=H[G[W]];E[2*P]=N*(V*X[0]-U*X[1]+L[0]),E[2*P+1]=N*(U*X[0]+V*X[1]+L[1]),P+=1}g+=1}this.vertexCount=m,this.lineVertexCount=v,this.pointBuffer.update(T),this.colorBuffer.update(S),this.glyphBuffer.update(E),this.idBuffer.update(new Uint32Array(C)),a.free(T),a.free(S),a.free(E),a.free(C),this.bounds=[s,c],this.points=n,this.pointCount=n.length}},d.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},{\"./lib/glyphs\":280,\"./lib/shaders\":281,\"gl-buffer\":229,\"gl-mat4/multiply\":255,\"gl-vao\":308,\"typedarray-pool\":519}],283:[function(t,e,r){\"use strict\";var n=t(\"glslify\");r.boxVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 vertex;\\n\\nuniform vec2 cornerA, cornerB;\\n\\nvoid main() {\\n  gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\\n}\\n\"]),r.boxFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  gl_FragColor = color;\\n}\\n\"])},{glslify:390}],284:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"./lib/shaders\");function o(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}e.exports=function(t,e){var r=t.gl,s=i(r,[0,0,0,1,1,0,1,1]),l=n(r,a.boxVertex,a.boxFragment),c=new o(t,s,l);return c.update(e),t.addOverlay(c),c};var s=o.prototype;s.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,f=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],h=(e[1]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1],p=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],d=(e[3]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1];if(f=Math.max(f,c[0]),h=Math.max(h,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p<f||d<h)){o.bind();var g=s[2]-s[0],m=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,h,i),o.drawBox(0,h,f,d,i),o.drawBox(0,d,g,m,i),o.drawBox(p,h,g,d,i)),this.innerFill&&o.drawBox(f,h,p,d,n),r>0){var v=r*u;o.drawBox(f-v,h-v,p+v,h+v,a),o.drawBox(f-v,d-v,p+v,d+v,a),o.drawBox(f-v,h-v,f+v,d+v,a),o.drawBox(p-v,h-v,p+v,d+v,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{\"./lib/shaders\":283,\"gl-buffer\":229,\"gl-shader\":286}],285:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=n(t,e),a=i.mallocUint8(e[0]*e[1]*4);return new c(t,r,a)};var n=t(\"gl-fbo\"),i=t(\"typedarray-pool\"),a=t(\"ndarray\"),o=t(\"bit-twiddle\").nextPow2,s=t(\"cwise/lib/wrapper\")({args:[\"array\",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},\"scalar\",\"scalar\",\"index\"],pre:{body:\"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}\",args:[],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[]},body:{body:\"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f<this_closestD2&&(this_closestD2=_inline_16_f,this_closestX=_inline_16_arg6_[0],this_closestY=_inline_16_arg6_[1])}}\",args:[{name:\"_inline_16_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg4_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg5_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg6_\",lvalue:!1,rvalue:!0,count:4}],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[\"_inline_16_a\",\"_inline_16_f\",\"_inline_16_l\"]},post:{body:\"{return[this_closestX,this_closestY,this_closestD2]}\",args:[],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[]},debug:!1,funcName:\"cwise\",blockSize:64});function l(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function c(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=c.prototype;Object.defineProperty(u,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;a<r*e*4;++a)n[a]=255}return t}}}),u.begin=function(){var t=this.gl;this.shape;t&&(this.fbo.bind(),t.clearColor(1,1,1,1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT))},u.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},u.query=function(t,e,r){if(!this.gl)return null;var n=this.fbo.shape.slice();t|=0,e|=0,\"number\"!=typeof r&&(r=1);var i=0|Math.min(Math.max(t-r,0),n[0]),o=0|Math.min(Math.max(t+r,0),n[0]),c=0|Math.min(Math.max(e-r,0),n[1]),u=0|Math.min(Math.max(e+r,0),n[1]);if(o<=i||u<=c)return null;var f=[o-i,u-c],h=a(this.buffer,[f[0],f[1],4],[4,4*n[0],1],4*(i+n[0]*c)),p=s(h.hi(f[0],f[1],1),r,r),d=p[0],g=p[1];return d<0||Math.pow(this.radius,2)<p[2]?null:new l(d+i|0,g+c|0,h.get(d,g,0),[h.get(d,g,1),h.get(d,g,2),h.get(d,g,3)],Math.sqrt(p[2]))},u.dispose=function(){this.gl&&(this.fbo.dispose(),i.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{\"bit-twiddle\":79,\"cwise/lib/wrapper\":136,\"gl-fbo\":238,ndarray:430,\"typedarray-pool\":519}],286:[function(t,e,r){\"use strict\";var n=t(\"./lib/create-uniforms\"),i=t(\"./lib/create-attributes\"),a=t(\"./lib/reflect\"),o=t(\"./lib/shader-cache\"),s=t(\"./lib/runtime-reflect\"),l=t(\"./lib/GLError\");function c(t){this.gl=t,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var u=c.prototype;function f(t,e){return t.name<e.name?-1:1}u.bind=function(){var t;this.program||this._relink();var e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e>r)for(t=r;t<e;t++)this.gl.enableVertexAttribArray(t);else if(r>e)for(t=e;t<r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},u.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e<t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},u.update=function(t,e,r,c){if(!e||1===arguments.length){var u=t;t=u.vertex,e=u.fragment,r=u.uniforms,c=u.attributes}var h=this,p=h.gl,d=h._vref;h._vref=o.shader(p,p.VERTEX_SHADER,t),d&&d.dispose(),h.vertShader=h._vref.shader;var g=this._fref;if(h._fref=o.shader(p,p.FRAGMENT_SHADER,e),g&&g.dispose(),h.fragShader=h._fref.shader,!r||!c){var m=p.createProgram();if(p.attachShader(m,h.fragShader),p.attachShader(m,h.vertShader),p.linkProgram(m),!p.getProgramParameter(m,p.LINK_STATUS)){var v=p.getProgramInfoLog(m);throw new l(v,\"Error linking program:\"+v)}r=r||s.uniforms(p,m),c=c||s.attributes(p,m),p.deleteProgram(m)}(c=c.slice()).sort(f);var y,x=[],b=[],_=[];for(y=0;y<c.length;++y){var w=c[y];if(w.type.indexOf(\"mat\")>=0){for(var k=0|w.type.charAt(w.type.length-1),M=new Array(k),A=0;A<k;++A)M[A]=_.length,b.push(w.name+\"[\"+A+\"]\"),\"number\"==typeof w.location?_.push(w.location+A):Array.isArray(w.location)&&w.location.length===k&&\"number\"==typeof w.location[A]?_.push(0|w.location[A]):_.push(-1);x.push({name:w.name,type:w.type,locations:M})}else x.push({name:w.name,type:w.type,locations:[_.length]}),b.push(w.name),\"number\"==typeof w.location?_.push(0|w.location):_.push(-1)}var T=0;for(y=0;y<_.length;++y)if(_[y]<0){for(;_.indexOf(T)>=0;)T+=1;_[y]=T}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(h.program,r[t].name)}E(),h._relink=E,h.types={uniforms:a(r),attributes:a(c)},h.attributes=i(p,h,x,_),Object.defineProperty(h,\"uniforms\",n(p,h,r,S))},e.exports=function(t,e,r,n,i){var a=new c(t);return a.update(e,r,n,i),a}},{\"./lib/GLError\":287,\"./lib/create-attributes\":288,\"./lib/create-uniforms\":289,\"./lib/reflect\":290,\"./lib/runtime-reflect\":291,\"./lib/shader-cache\":292}],287:[function(t,e,r){function n(t,e,r){this.shortMessage=e||\"\",this.longMessage=r||\"\",this.rawError=t||\"\",this.message=\"gl-shader: \"+(e||t||\"\")+(r?\"\\n\"+r:\"\"),this.stack=(new Error).stack}n.prototype=new Error,n.prototype.name=\"GLError\",n.prototype.constructor=n,e.exports=n},{}],288:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i){for(var a={},l=0,c=r.length;l<c;++l){var u=r[l],f=u.name,h=u.type,p=u.locations;switch(h){case\"bool\":case\"int\":case\"float\":o(t,e,p[0],i,1,a,f);break;default:if(h.indexOf(\"vec\")>=0){var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+f+\": \"+h);o(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf(\"mat\")>=0))throw new n(\"\",\"Unknown data type for attribute \"+f+\": \"+h);var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+f+\": \"+h);s(t,e,p,i,d,a,f)}}}return a};var n=t(\"./GLError\");function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;function o(t,e,r,n,a,o,s){for(var l=[\"gl\",\"v\"],c=[],u=0;u<a;++u)l.push(\"x\"+u),c.push(\"x\"+u);l.push(\"if(x0.length===void 0){return gl.vertexAttrib\"+a+\"f(v,\"+c.join()+\")}else{return gl.vertexAttrib\"+a+\"fv(v,x0)}\");var f=Function.apply(null,l),h=new i(t,e,r,n,a,f);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(n[r]),f(t,n[r],e),e},get:function(){return h},enumerable:!0})}function s(t,e,r,n,i,a,s){for(var l=new Array(i),c=new Array(i),u=0;u<i;++u)o(t,e,r[u],n,i,l,u),c[u]=l[u];Object.defineProperty(l,\"location\",{set:function(t){if(Array.isArray(t))for(var e=0;e<i;++e)c[e].location=t[e];else for(e=0;e<i;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(i),e=0;e<i;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,a,o,s){e=e||t.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var c=n[r[l]];t.vertexAttribPointer(c,i,e,a,o,s+l*i),t.enableVertexAttribArray(c)}};var f=new Array(i),h=t[\"vertexAttrib\"+i+\"fv\"];Object.defineProperty(a,s,{set:function(e){for(var a=0;a<i;++a){var o=n[r[a]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[a]);else{for(var s=0;s<i;++s)f[s]=e[i*a+s];h.call(t,o,f)}}return e},get:function(){return l},enumerable:!0})}a.pointer=function(t,e,r,n){var i=this._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,\"location\",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{\"./GLError\":287}],289:[function(t,e,r){\"use strict\";var n=t(\"./reflect\"),i=t(\"./GLError\");function a(t){return new Function(\"y\",\"return function(){return y}\")(t)}function o(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}e.exports=function(t,e,r,s){function l(t,e,r){switch(r){case\"bool\":case\"int\":case\"sampler2D\":case\"samplerCube\":return\"gl.uniform1i(locations[\"+e+\"],obj\"+t+\")\";case\"float\":return\"gl.uniform1f(locations[\"+e+\"],obj\"+t+\")\";default:var n=r.indexOf(\"vec\");if(!(0<=n&&n<=1&&r.length===4+n)){if(0===r.indexOf(\"mat\")&&4===r.length){var a=r.charCodeAt(r.length-1)-48;if(a<2||a>4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+r);return\"gl.uniformMatrix\"+a+\"fv(locations[\"+e+\"],false,obj\"+t+\")\"}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+r)}var a=r.charCodeAt(r.length-1)-48;if(a<2||a>4)throw new i(\"\",\"Invalid data type\");switch(r.charAt(0)){case\"b\":case\"i\":return\"gl.uniform\"+a+\"iv(locations[\"+e+\"],obj\"+t+\")\";case\"v\":return\"gl.uniform\"+a+\"fv(locations[\"+e+\"],obj\"+t+\")\";default:throw new i(\"\",\"Unrecognized data type for vector \"+name+\": \"+r)}}}function c(e){for(var n=[\"return function updateProperty(obj){\"],i=function t(e,r){if(\"object\"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+\"\"===i?o+=\"[\"+i+\"]\":o+=\".\"+i,\"object\"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}(\"\",e),a=0;a<i.length;++a){var o=i[a],c=o[0],u=o[1];s[u]&&n.push(l(c,u,r[u].type))}n.push(\"return obj}\");var f=new Function(\"gl\",\"locations\",n.join(\"\\n\"));return f(t,s)}function u(n,l,u){if(\"object\"==typeof u){var h=f(u);Object.defineProperty(n,l,{get:a(h),set:c(u),enumerable:!0,configurable:!1})}else s[u]?Object.defineProperty(n,l,{get:(p=u,new Function(\"gl\",\"wrapper\",\"locations\",\"return function(){return gl.getUniform(wrapper.program,locations[\"+p+\"])}\")(t,e,s)),set:c(u),enumerable:!0,configurable:!1}):n[l]=function(t){switch(t){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":case\"float\":return 0;default:var e=t.indexOf(\"vec\");if(0<=e&&e<=1&&t.length===4+e){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new i(\"\",\"Invalid data type\");return\"b\"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf(\"mat\")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+t);return o(r*r,0)}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+t)}}(r[u].type);var p}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)u(e,r,t[r])}else for(var n in e={},t)u(e,n,t[n]);return e}var h=n(r,!0);return{get:a(f(h)),set:c(h),enumerable:!0,configurable:!0}}},{\"./GLError\":287,\"./reflect\":290}],290:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name,a=i.split(\".\"),o=r,s=0;s<a.length;++s){var l=a[s].split(\"[\");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var c=1;c<l.length;++c){var u=parseInt(l[c]);c<l.length-1||s<a.length-1?(u in o||(c<l.length-1?o[u]=[]:o[u]={}),o=o[u]):o[u]=e?n:t[n].type}}else s<a.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):o[l[0]]=e?n:t[n].type}return r}},{}],291:[function(t,e,r){\"use strict\";r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],i=0;i<r;++i){var o=t.getActiveUniform(e,i);if(o){var s=a(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)n.push({name:o.name.replace(\"[0]\",\"[\"+l+\"]\"),type:s});else n.push({name:o.name,type:s})}}return n},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],i=0;i<r;++i){var o=t.getActiveAttrib(e,i);o&&n.push({name:o.name,type:a(t,o.type)})}return n};var n={FLOAT:\"float\",FLOAT_VEC2:\"vec2\",FLOAT_VEC3:\"vec3\",FLOAT_VEC4:\"vec4\",INT:\"int\",INT_VEC2:\"ivec2\",INT_VEC3:\"ivec3\",INT_VEC4:\"ivec4\",BOOL:\"bool\",BOOL_VEC2:\"bvec2\",BOOL_VEC3:\"bvec3\",BOOL_VEC4:\"bvec4\",FLOAT_MAT2:\"mat2\",FLOAT_MAT3:\"mat3\",FLOAT_MAT4:\"mat4\",SAMPLER_2D:\"sampler2D\",SAMPLER_CUBE:\"samplerCube\"},i=null;function a(t,e){if(!i){var r=Object.keys(n);i={};for(var a=0;a<r.length;++a){var o=r[a];i[t[o]]=n[o]}}return i[e]}},{}],292:[function(t,e,r){\"use strict\";r.shader=function(t,e,r){return u(t).getShaderReference(e,r)},r.program=function(t,e,r,n,i){return u(t).getProgram(e,r,n,i)};var n=t(\"./GLError\"),i=t(\"gl-format-compiler-error\"),a=new(\"undefined\"==typeof WeakMap?t(\"weakmap-shim\"):WeakMap),o=0;function s(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function l(t){this.gl=t,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var c=l.prototype;function u(t){var e=a.get(t);return e||(e=new l(t),a.set(t,e)),e}c.getShaderReference=function(t,e){var r=this.gl,a=this.shaders[t===r.FRAGMENT_SHADER|0],l=a[e];if(l&&r.isShader(l.shader))l.count+=1;else{var c=function(t,e,r){var a=t.createShader(e);if(t.shaderSource(a,r),t.compileShader(a),!t.getShaderParameter(a,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(a);try{var s=i(o,r,e)}catch(t){throw console.warn(\"Failed to format compiler error: \"+t),new n(o,\"Error compiling shader:\\n\"+o)}throw new n(o,s.short,s.long)}return a}(r,t,e);l=a[e]=new s(o++,e,t,c,[],1,this)}return l},c.getProgram=function(t,e,r,i){var a=[t.id,e.id,r.join(\":\"),i.join(\":\")].join(\"@\"),o=this.programs[a];return o&&this.gl.isProgram(o)||(this.programs[a]=o=function(t,e,r,i,a){var o=t.createProgram();t.attachShader(o,e),t.attachShader(o,r);for(var s=0;s<i.length;++s)t.bindAttribLocation(o,a[s],i[s]);if(t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS)){var l=t.getProgramInfoLog(o);throw new n(l,\"Error linking program: \"+l)}return o}(this.gl,t.shader,e.shader,r,i),t.programs.push(a),e.programs.push(a)),o}},{\"./GLError\":287,\"gl-format-compiler-error\":239,\"weakmap-shim\":529}],293:[function(t,e,r){\"use strict\";function n(t){this.plot=t,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}e.exports=function(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r};var i=n.prototype;i.update=function(t){t=t||{},this.enable=(t.enable||[!0,!0,!1,!1]).slice(),this.width=(t.width||[1,1,1,1]).slice(),this.color=(t.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map(function(t){return t.slice()}),this.center=(t.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},i.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),c=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&a.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&&a.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&&a.drawLine(l,c,l,s[3],e[3],r[3])}},i.dispose=function(){this.plot.removeOverlay(this)}},{}],294:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, color;\\nattribute float weight;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 coordinates[3];\\nuniform vec4 colors[3];\\nuniform vec2 screenShape;\\nuniform float lineWidth;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  vec3 vertexPosition = mix(coordinates[0],\\n    mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\\n\\n  vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\\n  vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\\n  vec2 delta = weight * clipOffset * screenShape;\\n  vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\\n\\n  gl_Position   = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\\n  fragColor     = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\\n}\\n\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  gl_FragColor = fragColor;\\n}\"]);e.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])}},{\"gl-shader\":286,glslify:390}],295:[function(t,e,r){\"use strict\";var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders/index\");e.exports=function(t,e){var r=[];function o(t,e,n,i,a,o){var s=[t,e,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,r.push.apply(r,s)}o(0,0,0,0,0,1),o(0,0,0,1,0,1),o(0,0,0,2,0,1),o(1,0,0,1,-1,1),o(1,0,0,2,-1,1),o(0,1,0,0,-1,1),o(0,1,0,2,-1,1),o(0,0,1,0,-1,1),o(0,0,1,1,-1,1);var l=n(t,r),c=i(t,[{type:t.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:l,size:1,offset:24,stride:28}]),u=a(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var f=new s(t,l,c,u);return f.update(e),f};var o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var l=s.prototype,c=[0,0,0],u=[0,0,0],f=[0,0];l.isTransparent=function(){return!1},l.drawTransparent=function(t){},l.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||o,s=t.view||o,l=t.projection||o;this.axes&&(i=this.axes.lastCubeProps.axis);for(var h=c,p=u,d=0;d<3;++d)i&&i[d]<0?(h[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(h[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(d=0;d<3;++d)n.uniforms.lineWidth=this.lineWidth[d]*this.pixelRatio,this.enabled[d]&&(r.draw(e.TRIANGLES,6,6*d),this.drawSides[d]&&r.draw(e.TRIANGLES,12,18+12*d));r.unbind()},l.update=function(t){t&&(\"bounds\"in t&&(this.bounds=t.bounds),\"position\"in t&&(this.position=t.position),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"colors\"in t&&(this.colors=t.colors),\"enabled\"in t&&(this.enabled=t.enabled),\"drawSides\"in t&&(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\"./shaders/index\":294,\"gl-buffer\":229,\"gl-vao\":308}],296:[function(t,e,r){arguments[4][231][0].apply(r,arguments)},{barycentric:60,dup:231,\"polytope-closest-point/lib/closest_point_2d.js\":461}],297:[function(t,e,r){var n=t(\"glslify\"),i=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat inverse(float m) {\\n  return 1.0 / m;\\n}\\n\\nmat2 inverse(mat2 m) {\\n  return mat2(m[1][1],-m[0][1],\\n             -m[1][0], m[0][0]) / (m[0][0]*m[1][1] - m[0][1]*m[1][0]);\\n}\\n\\nmat3 inverse(mat3 m) {\\n  float a00 = m[0][0], a01 = m[0][1], a02 = m[0][2];\\n  float a10 = m[1][0], a11 = m[1][1], a12 = m[1][2];\\n  float a20 = m[2][0], a21 = m[2][1], a22 = m[2][2];\\n\\n  float b01 = a22 * a11 - a12 * a21;\\n  float b11 = -a22 * a10 + a12 * a20;\\n  float b21 = a21 * a10 - a11 * a20;\\n\\n  float det = a00 * b01 + a01 * b11 + a02 * b21;\\n\\n  return mat3(b01, (-a22 * a01 + a02 * a21), (a12 * a01 - a02 * a11),\\n              b11, (a22 * a00 - a02 * a20), (-a12 * a00 + a02 * a10),\\n              b21, (-a21 * a00 + a01 * a20), (a11 * a00 - a01 * a10)) / det;\\n}\\n\\nmat4 inverse(mat4 m) {\\n  float\\n      a00 = m[0][0], a01 = m[0][1], a02 = m[0][2], a03 = m[0][3],\\n      a10 = m[1][0], a11 = m[1][1], a12 = m[1][2], a13 = m[1][3],\\n      a20 = m[2][0], a21 = m[2][1], a22 = m[2][2], a23 = m[2][3],\\n      a30 = m[3][0], a31 = m[3][1], a32 = m[3][2], a33 = m[3][3],\\n\\n      b00 = a00 * a11 - a01 * a10,\\n      b01 = a00 * a12 - a02 * a10,\\n      b02 = a00 * a13 - a03 * a10,\\n      b03 = a01 * a12 - a02 * a11,\\n      b04 = a01 * a13 - a03 * a11,\\n      b05 = a02 * a13 - a03 * a12,\\n      b06 = a20 * a31 - a21 * a30,\\n      b07 = a20 * a32 - a22 * a30,\\n      b08 = a20 * a33 - a23 * a30,\\n      b09 = a21 * a32 - a22 * a31,\\n      b10 = a21 * a33 - a23 * a31,\\n      b11 = a22 * a33 - a23 * a32,\\n\\n      det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\\n\\n  return mat4(\\n      a11 * b11 - a12 * b10 + a13 * b09,\\n      a02 * b10 - a01 * b11 - a03 * b09,\\n      a31 * b05 - a32 * b04 + a33 * b03,\\n      a22 * b04 - a21 * b05 - a23 * b03,\\n      a12 * b08 - a10 * b11 - a13 * b07,\\n      a00 * b11 - a02 * b08 + a03 * b07,\\n      a32 * b02 - a30 * b05 - a33 * b01,\\n      a20 * b05 - a22 * b02 + a23 * b01,\\n      a10 * b10 - a11 * b08 + a13 * b06,\\n      a01 * b08 - a00 * b10 - a03 * b06,\\n      a30 * b04 - a31 * b02 + a33 * b00,\\n      a21 * b02 - a20 * b04 - a23 * b00,\\n      a11 * b07 - a10 * b09 - a12 * b06,\\n      a00 * b09 - a01 * b07 + a02 * b06,\\n      a31 * b01 - a30 * b03 - a32 * b00,\\n      a20 * b03 - a21 * b01 + a22 * b00) / det;\\n}\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n  float segmentCount = 8.0;\\n\\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d);\\n  vec3 y = v * sin(angle) * length(d);\\n  vec3 v3 = x + y;\\n\\n  normal = normalize(v3);\\n\\n  return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\nuniform float tubeScale;\\n\\nuniform mat4 model\\n           , view\\n           , projection;\\nuniform vec3 eyePosition\\n           , lightPosition;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  // Scale the vector magnitude to stay constant with\\n  // model & view changes.\\n  vec3 normal;\\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal), 0.0);\\n  normal = normalize(normal * inverse(mat3(model)));\\n\\n  vec4 t_position  = view * tubePosition;\\n  gl_Position      = projection * t_position;\\n  f_color          = color;\\n  f_normal         = normal;\\n  f_data           = tubePosition.xyz;\\n  f_eyeDirection   = eyePosition   - tubePosition.xyz;\\n  f_lightDirection = lightPosition - tubePosition.xyz;\\n  f_uv             = uv;\\n}\\n\"]),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n            , fresnel\\n            , kambient\\n            , kdiffuse\\n            , kspecular\\n            , opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n  \\n  if(!gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = cookTorranceSpecular(L, V, N, roughness, fresnel);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor =  texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * opacity;\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n  float segmentCount = 8.0;\\n\\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d);\\n  vec3 y = v * sin(angle) * length(d);\\n  vec3 v3 = x + y;\\n\\n  normal = normalize(v3);\\n\\n  return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float tubeScale;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  vec3 normal;\\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal), 0.0);\\n  gl_Position = projection * view * tubePosition;\\n  f_id        = id;\\n  f_position  = position.xyz;\\n}\\n\"]),s=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},{glslify:390}],298:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"normals\"),l=t(\"gl-mat4/multiply\"),c=t(\"gl-mat4/invert\"),u=t(\"ndarray\"),f=t(\"colormap\"),h=t(\"simplicial-complex-contour\"),p=t(\"typedarray-pool\"),d=t(\"./shaders\"),g=(t(\"./closest-point\"),d.meshShader),m=d.pickShader,v=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function y(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,y,x,b,_,w,k,M,A,T,S,E){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleVectors=c,this.triangleColors=f,this.triangleNormals=p,this.triangleUVs=h,this.triangleIds=u,this.triangleVAO=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=g,this.edgeColors=y,this.edgeUVs=x,this.edgeIds=m,this.edgeVAO=b,this.edgeCount=0,this.pointPositions=_,this.pointColors=k,this.pointUVs=M,this.pointSizes=A,this.pointIds=w,this.pointVAO=T,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=S,this.contourVAO=E,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!1,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.tubeScale=1,this._model=v,this._view=v,this._projection=v,this._resolution=[1,1]}var x=y.prototype;function b(t){var e=n(t,m.vertex,m.fragment,null,m.attributes);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.vector.location=5,e}x.isOpaque=function(){return this.opacity>=1},x.isTransparent=function(){return this.opacity<1},x.pickSlots=1,x.setPickBase=function(t){this.pickId=t},x.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],g=n[f][1],m=i[f],v=1-m,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=m*y[b]+v*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},x.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"contourEnable\"in t&&(this.contourEnable=t.contourEnable),\"contourColor\"in t&&(this.contourColor=t.contourColor),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),\"opacity\"in t&&(this.opacity=t.opacity),\"ambient\"in t&&(this.ambientLight=t.ambient),\"diffuse\"in t&&(this.diffuseLight=t.diffuse),\"specular\"in t&&(this.specularLight=t.specular),\"roughness\"in t&&(this.roughness=t.roughness),\"fresnel\"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=f({colormap:t,nshades:256,format:\"rgba\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale);var a=[],l=[],c=[],h=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[],w=[],k=[];this.cells=r,this.positions=n,this.vectors=i;var M=t.vertexNormals,A=t.cellNormals,T=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,S=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!A&&(A=s.faceNormals(r,n,S)),A||M||(M=s.vertexNormals(r,n,T));var E=t.vertexColors,C=t.cellColors,L=t.meshColor||[1,1,1,1],z=t.vertexUVs,P=t.vertexIntensity,O=t.cellUVs,I=t.cellIntensity,D=1/0,R=-1/0;if(!z&&!O)if(P)if(t.vertexIntensityBounds)D=+t.vertexIntensityBounds[0],R=+t.vertexIntensityBounds[1];else for(var B=0;B<P.length;++B){var F=P[B];D=Math.min(D,F),R=Math.max(R,F)}else if(I)for(B=0;B<I.length;++B){F=I[B];D=Math.min(D,F),R=Math.max(R,F)}else for(B=0;B<n.length;++B){F=n[B][2];D=Math.min(D,F),R=Math.max(R,F)}this.intensity=P||(I?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,I):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var N=t.pointSizes,j=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(B=0;B<n.length;++B)for(var V=n[B],U=0;U<3;++U)!isNaN(V[U])&&isFinite(V[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],V[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],V[U]));var q=0,H=0,G=0;t:for(B=0;B<r.length;++B){var W=r[B];switch(W.length){case 1:for(V=n[X=W[0]],U=0;U<3;++U)if(isNaN(V[U])||!isFinite(V[U]))continue t;x.push(V[0],V[1],V[2],V[3]),3===(Z=E?E[X]:C?C[B]:L).length?b.push(Z[0],Z[1],Z[2],1):b.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],_.push($[0],$[1]),N?w.push(N[X]):w.push(j),k.push(B),G+=1;break;case 2:for(U=0;U<2;++U){V=n[X=W[U]];for(var Y=0;Y<3;++Y)if(isNaN(V[Y])||!isFinite(V[Y]))continue t}for(U=0;U<2;++U){V=n[X=W[U]];g.push(V[0],V[1],V[2]),3===(Z=E?E[X]:C?C[B]:L).length?m.push(Z[0],Z[1],Z[2],1):m.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],v.push($[0],$[1]),y.push(B)}H+=1;break;case 3:for(U=0;U<3;++U)for(V=n[X=W[U]],Y=0;Y<3;++Y)if(isNaN(V[Y])||!isFinite(V[Y]))continue t;for(U=0;U<3;++U){var X;V=n[X=W[U]];a.push(V[0],V[1],V[2],V[3]);var Z,$,J,K=i[X];l.push(K[0],K[1],K[2],K[3]),3===(Z=E?E[X]:C?C[B]:L).length?c.push(Z[0],Z[1],Z[2],1):c.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],p.push($[0],$[1]),J=M?M[X]:A[B],h.push(J[0],J[1],J[2]),d.push(B)}q+=1}}this.pointCount=G,this.edgeCount=H,this.triangleCount=q,this.pointPositions.update(x),this.pointColors.update(b),this.pointUVs.update(_),this.pointSizes.update(w),this.pointIds.update(new Uint32Array(k)),this.edgePositions.update(g),this.edgeColors.update(m),this.edgeUVs.update(v),this.edgeIds.update(new Uint32Array(y)),this.trianglePositions.update(a),this.triangleVectors.update(l),this.triangleColors.update(c),this.triangleUVs.update(p),this.triangleNormals.update(h),this.triangleIds.update(new Uint32Array(d))}},x.drawTransparent=x.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||v,n=t.view||v,i=t.projection||v,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,contourColor:this.contourColor,texture:0};this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var f,h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},x.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||v,n=t.view||v,i=t.projection||v,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},x.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3);return{index:e,position:n,intensity:this.intensity[r[1]],velocity:this.vectors[r[1]].slice(0,3),divergence:this.vectors[r[1]][3],dataCoordinate:n}},x.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose()},e.exports=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=e.triShader||function(t){var e=n(t,g.vertex,g.fragment,null,g.attributes);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.vector.location=5,e}(t),s=b(t),l=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));l.generateMipmap(),l.minFilter=t.LINEAR_MIPMAP_LINEAR,l.magFilter=t.LINEAR;var c=i(t),f=i(t),h=i(t),p=i(t),d=i(t),m=i(t),v=a(t,[{buffer:c,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:h,type:t.FLOAT,size:4},{buffer:p,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:3},{buffer:f,type:t.FLOAT,size:4}]),x=i(t),_=i(t),w=i(t),k=i(t),M=a(t,[{buffer:x,type:t.FLOAT,size:3},{buffer:k,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2}]),A=i(t),T=i(t),S=i(t),E=i(t),C=i(t),L=a(t,[{buffer:A,type:t.FLOAT,size:3},{buffer:C,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:T,type:t.FLOAT,size:4},{buffer:S,type:t.FLOAT,size:2},{buffer:E,type:t.FLOAT,size:1}]),z=i(t),P=new y(t,l,r,null,null,s,null,null,c,f,m,h,p,d,v,x,k,_,w,M,A,C,T,S,E,L,z,a(t,[{buffer:z,type:t.FLOAT,size:3}]));return P.update(e),P}},{\"./closest-point\":296,\"./shaders\":297,colormap:113,\"gl-buffer\":229,\"gl-mat4/invert\":253,\"gl-mat4/multiply\":255,\"gl-shader\":286,\"gl-texture2d\":303,\"gl-vao\":308,ndarray:430,normals:433,\"simplicial-complex-contour\":491,\"typedarray-pool\":519}],299:[function(t,e,r){\"use strict\";var n=t(\"gl-vec3\"),i=t(\"gl-vec4\"),a=function(t,e,r,a){for(var o=0,s=0;s<t.length;s++)for(var l=t[s].velocities,c=0;c<l.length;c++){var u=n.length(l[c]);u>o&&(o=u)}var f=t.map(function(t){return function(t,e,r,a){var o,s,l,c=t.points,u=t.velocities,f=t.divergences;n.set(n.create(),0,1,0),n.create(),n.create();n.create();for(var h=[],p=[],d=[],g=[],m=[],v=[],y=0,x=0,b=i.create(),_=i.create(),w=0;w<c.length;w++){o=c[w],s=u[w],l=f[w],0===e&&(l=.05*r),x=n.length(s)/a,b=i.create(),n.copy(b,s),b[3]=l;for(var k=0;k<8;k++)m[k]=[o[0],o[1],o[2],k];if(g.length>0)for(k=0;k<8;k++){var M=(k+1)%8;h.push(g[k],m[k],m[M],m[M],g[M],g[k]),d.push(_,b,b,b,_,_),v.push(y,x,x,x,y,y),p.push([h.length-6,h.length-5,h.length-4],[h.length-3,h.length-2,h.length-1])}var A=g;g=m,m=A,A=_,_=b,b=A,A=y,y=x,x=A}return{positions:h,cells:p,vectors:d,vertexIntensity:v}}(t,r,a,o)}),h=[],p=[],d=[],g=[];for(s=0;s<f.length;s++){var m=f[s],v=h.length;h=h.concat(m.positions),d=d.concat(m.vectors),g=g.concat(m.vertexIntensity);for(c=0;c<m.cells.length;c++){var y=m.cells[c],x=[];p.push(x);for(var b=0;b<y.length;b++)x.push(y[b]+v)}}return{positions:h,cells:p,vectors:d,vertexIntensity:g,colormap:e}},o=function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=this.getVelocity(r);n.subtract(a,a,e),n.scale(a,a,1e4),n.add(r,t,[0,i,0]);var o=this.getVelocity(r);n.subtract(o,o,e),n.scale(o,o,1e4),n.add(r,t,[0,0,i]);var s=this.getVelocity(r);return n.subtract(s,s,e),n.scale(s,s,1e4),n.add(r,a,o),n.add(r,r,s),r},s=function(t){return h(t,this.vectors,this.meshgrid,this.clampBorders)},l=function(t,e){for(var r=0;r<t.length;r++){var n=t[r];if(n===e)return r;if(n>e)return r-1}return r},c=n.create(),u=n.create(),f=function(t,e,r){return t<e?e:t>r?r:t},h=function(t,e,r,i){var a=t[0],o=t[1],s=t[2],h=r[0].length,p=r[1].length,d=r[2].length,g=l(r[0],a),m=l(r[1],o),v=l(r[2],s),y=g+1,x=m+1,b=v+1;if(r[0][g]===a&&(y=g),r[1][m]===o&&(x=m),r[2][v]===s&&(b=v),i&&(g=f(g,0,h-1),y=f(y,0,h-1),m=f(m,0,p-1),x=f(x,0,p-1),v=f(v,0,d-1),b=f(b,0,d-1)),g<0||m<0||v<0||y>=h||x>=p||b>=d)return n.create();var _=(a-r[0][g])/(r[0][y]-r[0][g]),w=(o-r[1][m])/(r[1][x]-r[1][m]),k=(s-r[2][v])/(r[2][b]-r[2][v]);(_<0||_>1||isNaN(_))&&(_=0),(w<0||w>1||isNaN(w))&&(w=0),(k<0||k>1||isNaN(k))&&(k=0);var M=v*h*p,A=b*h*p,T=m*h,S=x*h,E=g,C=y,L=e[T+M+E],z=e[T+M+C],P=e[S+M+E],O=e[S+M+C],I=e[T+A+E],D=e[T+A+C],R=e[S+A+E],B=e[S+A+C],F=n.create();return n.lerp(F,L,z,_),n.lerp(c,P,O,_),n.lerp(F,F,c,w),n.lerp(c,I,D,_),n.lerp(u,R,B,_),n.lerp(c,c,u,w),n.lerp(F,F,c,k),F},p=function(t){var e=1/0;t.sort(function(t,e){return t-e});for(var r=1;r<t.length;r++){var n=Math.abs(t[r]-t[r-1]);n<e&&(e=n)}return e};e.exports=function(t,e){var r=t.startingPositions,i=t.maxLength||1e3,l=t.tubeSize||1,c=t.absoluteTubeSize;t.getDivergence||(t.getDivergence=o),t.getVelocity||(t.getVelocity=s),void 0===t.clampBorders&&(t.clampBorders=!0);var u=[],f=e[0][0],h=e[0][1],d=e[0][2],g=e[1][0],m=e[1][1],v=e[1][2],y=function(t,e){var r=e[0],n=e[1],i=e[2];return r>=f&&r<=g&&n>=h&&n<=m&&i>=d&&i<=v},x=10*n.distance(e[0],e[1])/i,b=x*x,_=1,w=0;n.create();r.length>=2&&(_=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=0;s<t.length;s++){var l=t[s],c=l[0],u=l[1],f=l[2];i[c]||(e.push(c),i[c]=!0),a[u]||(r.push(u),a[u]=!0),o[f]||(n.push(f),o[f]=!0)}var h=p(e),d=p(r),g=p(n),m=Math.min(h,d,g);return isFinite(m)?m:1}(r));for(var k=0;k<r.length;k++){var M=n.create();n.copy(M,r[k]);var A=[M],T=[],S=t.getVelocity(M),E=M;T.push(S);var C=[],L=t.getDivergence(M,S);(I=n.length(L))>w&&!isNaN(I)&&isFinite(I)&&(w=I),C.push(I),u.push({points:A,velocities:T,divergences:C});for(var z=0;z<100*i&&A.length<i&&y(0,M);){z++;var P=n.clone(S),O=n.squaredLength(P);if(0===O)break;if(O>b&&n.scale(P,P,x/Math.sqrt(O)),n.add(P,P,M),S=t.getVelocity(P),n.squaredDistance(E,P)-b>-1e-4*b){A.push(P),E=P,T.push(S);L=t.getDivergence(P,S);(I=n.length(L))>w&&!isNaN(I)&&isFinite(I)&&(w=I),C.push(I)}M=P}}for(k=0;k<C.length;k++){var I=C[k];!isNaN(I)&&isFinite(I)||(C[k]=w)}var D=a(u,t.colormap,w,_);return c?D.tubeScale=c:(0===w&&(w=1),D.tubeScale=.5*l*_/w),D},e.exports.createTubeMesh=t(\"./lib/tubemesh\")},{\"./lib/tubemesh\":298,\"gl-vec3\":327,\"gl-vec4\":363}],300:[function(t,e,r){var n=t(\"gl-shader\"),i=t(\"glslify\"),a=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute vec3 f;\\nattribute vec3 normal;\\n\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 lightPosition, eyePosition;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  worldCoordinate = vec3(uv.zw, f.x);\\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n  vec4 clipPosition = projection * view * worldPosition;\\n  gl_Position = clipPosition;\\n  kill = f.y;\\n  value = f.z;\\n  planeCoordinate = uv.xy;\\n\\n  vColor = texture2D(colormap, vec2(value, value));\\n\\n  //Lighting geometry parameters\\n  vec4 cameraCoordinate = view * worldPosition;\\n  cameraCoordinate.xyz /= cameraCoordinate.w;\\n  lightDirection = lightPosition - cameraCoordinate.xyz;\\n  eyeDirection   = eyePosition - cameraCoordinate.xyz;\\n  surfaceNormal  = normalize((vec4(normal,0) * inverseModel).xyz);\\n}\\n\"]),o=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat beckmannSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness) {\\n  return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\n}\\n\\nuniform vec3 lowerBound, upperBound;\\nuniform float contourTint;\\nuniform vec4 contourColor;\\nuniform sampler2D colormap;\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform float vertexColor;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  if (kill > 0.0 ||\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\n    discard;\\n  }\\n\\n  vec3 N = normalize(surfaceNormal);\\n  vec3 V = normalize(eyeDirection);\\n  vec3 L = normalize(lightDirection);\\n\\n  if(gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  //decide how to interpolate color \\u2014 in vertex or in fragment\\n  vec4 surfaceColor = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + step(.5, vertexColor) * vColor;\\n\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\\n}\\n\"]),s=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute float f;\\n\\nuniform mat3 permutation;\\nuniform mat4 model, view, projection;\\nuniform float height, zOffset;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  vec3 dataCoordinate = permutation * vec3(uv.xy, height);\\n  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\\n\\n  vec4 clipPosition = projection * view * worldPosition;\\n  clipPosition.z = clipPosition.z + zOffset;\\n\\n  gl_Position = clipPosition;\\n  value = f;\\n  kill = -1.0;\\n  worldCoordinate = dataCoordinate;\\n  planeCoordinate = uv.zw;\\n\\n  vColor = texture2D(colormap, vec2(value, value));\\n\\n  //Don't do lighting for contours\\n  surfaceNormal   = vec3(1,0,0);\\n  eyeDirection    = vec3(0,1,0);\\n  lightDirection  = vec3(0,0,1);\\n}\\n\"]),l=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec2 shape;\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 surfaceNormal;\\n\\nvec2 splitFloat(float v) {\\n  float vh = 255.0 * v;\\n  float upper = floor(vh);\\n  float lower = fract(vh);\\n  return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\\n}\\n\\nvoid main() {\\n  if(kill > 0.0 ||\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\n    discard;\\n  }\\n  vec2 ux = splitFloat(planeCoordinate.x / shape.x);\\n  vec2 uy = splitFloat(planeCoordinate.y / shape.y);\\n  gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\\n}\\n\"]);r.createShader=function(t){var e=n(t,a,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,a,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{\"gl-shader\":286,glslify:390}],301:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=i(e),u=a(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var m=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,f,h,p,d),v={levels:[[],[],[]]};for(var k in t)v[k]=t[k];return v.colormap=v.colormap||\"jet\",m.update(v),m};var n=t(\"bit-twiddle\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"typedarray-pool\"),l=t(\"colormap\"),c=t(\"ndarray-ops\"),u=t(\"ndarray-pack\"),f=t(\"ndarray\"),h=t(\"surface-nets\"),p=t(\"gl-mat4/multiply\"),d=t(\"gl-mat4/invert\"),g=t(\"binary-search-bounds\"),m=t(\"ndarray-gradient\"),v=t(\"./lib/shaders\"),y=v.createShader,x=v.createContourShader,b=v.createPickShader,_=v.createPickContourShader,w=40,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],M=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function T(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,i,a,o,l,c,u,h,p,d,g){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new T([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var C=E.prototype;C.isTransparent=function(){return this.opacity<1},C.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},C.pickSlots=1,C.setPickBase=function(t){this.pickId=t};var L=[0,0,0],z={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function P(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||L,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=z.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var c=z.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return z.showSurface=o,z.showContour=s,z}var O={model:k,view:k,projection:k,inverseModel:k.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},I=k.slice(),D=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=O;n.model=t.model||k,n.view=t.view||k,n.projection=t.projection||k,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=I;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=P(n,this);if(u.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour&&!e){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]),o=0;o<this.contourLevels[i].length;++o)o===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),this._contourCounts[i][o]&&(f.uniforms.height=this.contourLevels[i][o],h.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(f.uniforms.model=u.projections[i],f.uniforms.clipBounds=u.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){f.uniforms.permutation=A[o],r.lineWidth(this.contourWidth[o]);for(var g=0;g<this.contourLevels[o].length;++g)g===this.highlightLevel[o]?(f.uniforms.contourColor=this.highlightColor[o],f.uniforms.contourTint=this.highlightTint[o]):0!==g&&g-1!==this.highlightLevel[o]||(f.uniforms.contourColor=this.contourColor[o],f.uniforms.contourTint=this.contourTint[o]),f.uniforms.height=this.contourLevels[o][g],h.draw(r.LINES,this._contourCounts[o][g],this._contourOffsets[o][g])}for(h.unbind(),(h=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=A[i],r.lineWidth(this.dynamicWidth[i]),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(f.uniforms.model=u.projections[o],f.uniforms.clipBounds=u.clipBounds[o],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));h.unbind()}}C.draw=function(t){return R.call(this,t,!1)},C.drawTransparent=function(t){return R.call(this,t,!0)};var B={model:k,view:k,projection:k,inverseModel:k,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function F(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))}function N(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function j(t){return Array.isArray(t)?3===t.length?[t[0],t[1],t[2],1]:[t[0],t[1],t[2],t[3]]:[0,0,0,1]}function V(t){if(Array.isArray(t)){if(Array.isArray(t))return[j(t[0]),j(t[1]),j(t[2])];var e=j(t);return[e.slice(),e.slice(),e.slice()]}}C.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=B;r.model=t.model||k,r.view=t.view||k,r.projection=t.projection||k,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=D;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var o=P(r,this);if(o.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]),s.uniforms.permutation=A[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=A[a],e.lineWidth(this.contourWidth[a]);for(var c=0;c<this.contourLevels[a].length;++c)this._contourCounts[a][c]&&(s.uniforms.height=this.contourLevels[a][c],l.draw(e.LINES,this._contourCounts[a][c],this._contourOffsets[a][c]))}l.unbind()}},C.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=this._field[2].shape,r=this._pickResult,n=e[0]*(t.value[0]+(t.value[2]>>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var f=u?a:1-a,h=0;h<2;++h)for(var p=i+u,d=s+h,m=f*(h?l:1-l),v=0;v<3;++v)c[v]+=this._field[v].get(p,d)*m;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=g.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]<this.contourLevels[x].length-1){var b=this.contourLevels[x][y[x]],_=this.contourLevels[x][y[x]+1];Math.abs(b-c[x])>Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},C.update=function(t){t=t||{},this.dirty=!0,\"contourWidth\"in t&&(this.contourWidth=N(t.contourWidth,Number)),\"showContour\"in t&&(this.showContour=N(t.showContour,Boolean)),\"showSurface\"in t&&(this.showSurface=!!t.showSurface),\"contourTint\"in t&&(this.contourTint=N(t.contourTint,Boolean)),\"contourColor\"in t&&(this.contourColor=V(t.contourColor)),\"contourProject\"in t&&(this.contourProject=N(t.contourProject,function(t){return N(t,Boolean)})),\"surfaceProject\"in t&&(this.surfaceProject=t.surfaceProject),\"dynamicColor\"in t&&(this.dynamicColor=V(t.dynamicColor)),\"dynamicTint\"in t&&(this.dynamicTint=N(t.dynamicTint,Number)),\"dynamicWidth\"in t&&(this.dynamicWidth=N(t.dynamicWidth,Number)),\"opacity\"in t&&(this.opacity=t.opacity),\"colorBounds\"in t&&(this.colorBounds=t.colorBounds),\"vertexColor\"in t&&(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),\"field\"in t||\"coords\"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),F(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var p=t.coords;if(!Array.isArray(p)||3!==p.length)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(o=0;o<2;++o){var d=p[o];for(b=0;b<2;++b)if(d.shape[b]!==a[b])throw new Error(\"gl-surface: coords have incorrect shape\");F(this._field[o],d)}}else if(t.ticks){var g=t.ticks;if(!Array.isArray(g)||2!==g.length)throw new Error(\"gl-surface: invalid ticks\");for(o=0;o<2;++o){var v=g[o];if((Array.isArray(v)||v.length)&&(v=f(v)),v.shape[0]!==a[o])throw new Error(\"gl-surface: invalid tick length\");var y=f(v.data,a);y.stride[o]=v.stride[0],y.stride[1^o]=0,F(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b<a[0];++b)this._field[0].set(b+1,0,b);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),b=0;b<a[1];++b)this._field[1].set(0,b+1,b);this._field[1].set(0,a[1]+1,a[1]-1)}var _=this._field,w=f(s.mallocFloat(3*_[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)m(w.pick(o),_[o],\"mirror\");var k=f(s.mallocFloat(3*_[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(b=0;b<a[1]+2;++b){var A=w.get(0,o,b,0),T=w.get(0,o,b,1),E=w.get(1,o,b,0),C=w.get(1,o,b,1),L=w.get(2,o,b,0),z=w.get(2,o,b,1),P=E*z-C*L,O=L*T-z*A,I=A*C-T*E,D=Math.sqrt(P*P+O*O+I*I);D<1e-8?(D=Math.max(Math.abs(P),Math.abs(O),Math.abs(I)))<1e-8?(I=1,O=P=0,D=1):D=1/D:D=1/Math.sqrt(D),k.set(o,b,0,P*D),k.set(o,b,1,O*D),k.set(o,b,2,I*D)}s.free(w.data);var R=[1/0,1/0,1/0],B=[-1/0,-1/0,-1/0],j=1/0,U=-1/0,q=(a[0]-1)*(a[1]-1)*6,H=s.mallocFloat(n.nextPow2(10*q)),G=0,W=0;for(o=0;o<a[0]-1;++o)t:for(b=0;b<a[1]-1;++b){for(var Y=0;Y<2;++Y)for(var X=0;X<2;++X)for(var Z=0;Z<3;++Z){var $=this._field[Z].get(1+o+Y,1+b+X);if(isNaN($)||!isFinite($))continue t}for(Z=0;Z<6;++Z){var J=o+M[Z][0],K=b+M[Z][1],Q=this._field[0].get(J+1,K+1),tt=this._field[1].get(J+1,K+1),et=$=this._field[2].get(J+1,K+1);P=k.get(J+1,K+1,0),O=k.get(J+1,K+1,1),I=k.get(J+1,K+1,2),t.intensity&&(et=t.intensity.get(J,K)),H[G++]=J,H[G++]=K,H[G++]=Q,H[G++]=tt,H[G++]=$,H[G++]=0,H[G++]=et,H[G++]=P,H[G++]=O,H[G++]=I,R[0]=Math.min(R[0],Q),R[1]=Math.min(R[1],tt),R[2]=Math.min(R[2],$),j=Math.min(j,et),B[0]=Math.max(B[0],Q),B[1]=Math.max(B[1],tt),B[2]=Math.max(B[2],$),U=Math.max(U,et),W+=1}}for(t.intensityBounds&&(j=+t.intensityBounds[0],U=+t.intensityBounds[1]),o=6;o<G;o+=10)H[o]=(H[o]-j)/(U-j);this._vertexCount=W,this._coordinateBuffer.update(H.subarray(0,G)),s.freeFloat(H),s.free(k.data),this.bounds=[R,B],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===j&&this.intensityBounds[1]===U||(r=!0),this.intensityBounds=[j,U]}if(\"levels\"in t){var rt=t.levels;for(rt=Array.isArray(rt[0])?rt.slice():[[],[],rt],o=0;o<3;++o)rt[o]=rt[o].slice(),rt.sort(function(t,e){return t-e});t:for(o=0;o<3;++o){if(rt[o].length!==this.contourLevels[o].length){r=!0;break}for(b=0;b<rt[o].length;++b)if(rt[o][b]!==this.contourLevels[o][b]){r=!0;break t}}this.contourLevels=rt}if(r){_=this._field,a=this.shape;for(var nt=[],it=0;it<3;++it){rt=this.contourLevels[it];var at=[],ot=[],st=[0,0,0];for(o=0;o<rt.length;++o){var lt=h(this._field[it],rt[o]);at.push(nt.length/5|0),W=0;t:for(b=0;b<lt.cells.length;++b){var ct=lt.cells[b];for(Z=0;Z<2;++Z){var ut=lt.positions[ct[Z]],ft=ut[0],ht=0|Math.floor(ft),pt=ft-ht,dt=ut[1],gt=0|Math.floor(dt),mt=dt-gt,vt=!1;e:for(var yt=0;yt<3;++yt){st[yt]=0;var xt=(it+yt+1)%3;for(Y=0;Y<2;++Y){var bt=Y?pt:1-pt;for(J=0|Math.min(Math.max(ht+Y,0),a[0]),X=0;X<2;++X){var _t=X?mt:1-mt;if(K=0|Math.min(Math.max(gt+X,0),a[1]),$=yt<2?this._field[xt].get(J,K):(this.intensity.get(J,K)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite($)||isNaN($)){vt=!0;break e}var wt=bt*_t;st[yt]+=wt*$}}}if(vt){if(Z>0){for(var kt=0;kt<5;++kt)nt.pop();W-=1}continue t}nt.push(st[0],st[1],ut[0],ut[1],st[2]),W+=1}}ot.push(W)}this._contourOffsets[it]=at,this._contourCounts[it]=ot}var Mt=s.mallocFloat(nt.length);for(o=0;o<nt.length;++o)Mt[o]=nt[o];this._contourBuffer.update(Mt),s.freeFloat(Mt)}t.colormap&&this._colorMap.setPixels(function(t){var e=u([l({colormap:t,nshades:S,format:\"rgba\"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return c.divseq(e,255),e}(t.colormap))},C.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},C.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,c=(o+2)%3,u=this._field[o],f=this._field[l],p=this._field[c],d=(this.intensity,h(u,r[o])),g=d.cells,m=d.positions;for(this._dynamicOffsets[o]=n,e=0;e<g.length;++e)for(var v=g[e],y=0;y<2;++y){var x=m[v[y]],b=+x[0],_=0|b,w=0|Math.min(_+1,i[0]),k=b-_,M=1-k,A=+x[1],T=0|A,S=0|Math.min(T+1,i[1]),E=A-T,C=1-E,L=M*C,z=M*E,P=k*C,O=k*E,I=L*f.get(_,T)+z*f.get(_,S)+P*f.get(w,T)+O*f.get(w,S),D=L*p.get(_,T)+z*p.get(_,S)+P*p.get(w,T)+O*p.get(w,S);if(isNaN(I)||isNaN(D)){y&&(n-=1);break}a[2*n+0]=I,a[2*n+1]=D,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),s.freeFloat(a)}}},{\"./lib/shaders\":300,\"binary-search-bounds\":78,\"bit-twiddle\":79,colormap:113,\"gl-buffer\":229,\"gl-mat4/invert\":253,\"gl-mat4/multiply\":255,\"gl-texture2d\":303,\"gl-vao\":308,ndarray:430,\"ndarray-gradient\":421,\"ndarray-ops\":424,\"ndarray-pack\":425,\"surface-nets\":505,\"typedarray-pool\":519}],302:[function(t,e,r){\"use strict\";var n=t(\"css-font\"),i=t(\"pick-by-alias\"),a=t(\"regl\"),o=t(\"gl-util/context\"),s=t(\"es6-weak-map\"),l=t(\"color-normalize\"),c=t(\"font-atlas\"),u=t(\"typedarray-pool\"),f=t(\"parse-rect\"),h=t(\"is-plain-obj\"),p=t(\"parse-unit\"),d=t(\"to-px\"),g=t(\"detect-kerning\"),m=t(\"object-assign\"),v=t(\"font-measure\"),y=t(\"flatten-vertex-data\"),x=t(\"bit-twiddle\").nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement(\"div\"));w.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var k=function(t){!function(t){return\"function\"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:\"uint8\",usage:\"stream\"}),this.sizeBuffer=this.regl.buffer({type:\"float\",usage:\"stream\"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};k.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop(\"count\"),offset:t.prop(\"offset\"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this(\"sizeBuffer\")},width:{offset:0,stride:8,buffer:t.this(\"sizeBuffer\")},char:t.this(\"charBuffer\"),position:t.this(\"position\")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop(\"color\"),opacity:t.prop(\"opacity\"),viewport:t.this(\"viewportArray\"),scale:t.this(\"scale\"),align:t.prop(\"align\"),baseline:t.prop(\"baseline\"),translate:t.this(\"translate\"),positionOffset:t.prop(\"positionOffset\")},primitive:\"points\",viewport:t.this(\"viewport\"),vert:\"\\n\\t\\t\\tprecision highp float;\\n\\t\\t\\tattribute float width, charOffset, char;\\n\\t\\t\\tattribute vec2 position;\\n\\t\\t\\tuniform float fontSize, charStep, em, align, baseline;\\n\\t\\t\\tuniform vec4 viewport;\\n\\t\\t\\tuniform vec4 color;\\n\\t\\t\\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\\n\\t\\t\\tvarying vec2 charCoord, charId;\\n\\t\\t\\tvarying float charWidth;\\n\\t\\t\\tvarying vec4 fontColor;\\n\\t\\t\\tvoid main () {\\n\\t\\t\\t\\t\"+(k.normalViewport?\"\":\"vec2 positionOffset = vec2(positionOffset.x,- positionOffset.y);\")+\"\\n\\n\\t\\t\\t\\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\\n\\t\\t\\t\\t\\t+ positionOffset))\\n\\t\\t\\t\\t\\t/ (viewport.zw * scale.xy);\\n\\n\\t\\t\\t\\tvec2 position = (position + translate) * scale;\\n\\t\\t\\t\\tposition += offset * scale;\\n\\n\\t\\t\\t\\t\"+(k.normalViewport?\"position.y = 1. - position.y;\":\"\")+\"\\n\\n\\t\\t\\t\\tcharCoord = position * viewport.zw + viewport.xy;\\n\\n\\t\\t\\t\\tgl_Position = vec4(position * 2. - 1., 0, 1);\\n\\n\\t\\t\\t\\tgl_PointSize = charStep;\\n\\n\\t\\t\\t\\tcharId.x = mod(char, atlasDim.x);\\n\\t\\t\\t\\tcharId.y = floor(char / atlasDim.x);\\n\\n\\t\\t\\t\\tcharWidth = width * em;\\n\\n\\t\\t\\t\\tfontColor = color / 255.;\\n\\t\\t\\t}\",frag:\"\\n\\t\\t\\tprecision highp float;\\n\\t\\t\\tuniform sampler2D atlas;\\n\\t\\t\\tuniform float fontSize, charStep, opacity;\\n\\t\\t\\tuniform vec2 atlasSize;\\n\\t\\t\\tuniform vec4 viewport;\\n\\t\\t\\tvarying vec4 fontColor;\\n\\t\\t\\tvarying vec2 charCoord, charId;\\n\\t\\t\\tvarying float charWidth;\\n\\n\\t\\t\\tfloat lightness(vec4 color) {\\n\\t\\t\\t\\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main () {\\n\\t\\t\\t\\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\\n\\t\\t\\t\\tfloat halfCharStep = floor(charStep * .5 + .5);\\n\\n\\t\\t\\t\\t// invert y and shift by 1px (FF expecially needs that)\\n\\t\\t\\t\\tuv.y = charStep - uv.y;\\n\\n\\t\\t\\t\\t// ignore points outside of character bounding box\\n\\t\\t\\t\\tfloat halfCharWidth = ceil(charWidth * .5);\\n\\t\\t\\t\\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\\n\\t\\t\\t\\t\\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\\n\\n\\t\\t\\t\\tuv += charId * charStep;\\n\\t\\t\\t\\tuv = uv / atlasSize;\\n\\n\\t\\t\\t\\tvec4 color = fontColor;\\n\\t\\t\\t\\tvec4 mask = texture2D(atlas, uv);\\n\\n\\t\\t\\t\\tfloat maskY = lightness(mask);\\n\\t\\t\\t\\t// float colorY = lightness(color);\\n\\t\\t\\t\\tcolor.a *= maskY;\\n\\t\\t\\t\\tcolor.a *= opacity;\\n\\n\\t\\t\\t\\t// color.a += .1;\\n\\n\\t\\t\\t\\t// antialiasing, see yiq color space y-channel formula\\n\\t\\t\\t\\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\\n\\n\\t\\t\\t\\tgl_FragColor = color;\\n\\t\\t\\t}\"});return{regl:t,draw:e,atlas:{}}},k.prototype.update=function(t){var e=this;if(\"string\"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:\"position positions coord coords coordinates\",font:\"font fontFace fontface typeface cssFont css-font family fontFamily\",fontSize:\"fontSize fontsize size font-size\",text:\"text texts chars characters value values symbols\",align:\"align alignment textAlign textbaseline\",baseline:\"baseline textBaseline textbaseline\",direction:\"dir direction textDirection\",color:\"color colour fill fill-color fillColor textColor textcolor\",kerning:\"kerning kern\",range:\"range dataBox\",viewport:\"vp viewport viewBox viewbox viewPort\",opacity:\"opacity alpha transparency visible visibility opaque\",offset:\"offset positionOffset padding shift indent indentation\"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(t){return parseFloat(t)}):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),k.normalViewport&&(this.viewport.y=this.canvas.height-this.viewport.y-this.viewport.height),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&(\"number\"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=y(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=k.baseFontSize+\"px sans-serif\");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(t,r){if(\"string\"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(k.baseFontSize+\"px \"+t)}else t=n.parse(n.stringify(t));var i=n.stringify({size:k.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&i==e.font[r].baseString||(a=!0,e.font[r]=k.fonts[i],e.font[r]))){var c=t.family.join(\", \"),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:i,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:v(c,{origin:\"top\",fontSize:k.baseFontSize,fontStyle:u.join(\" \")})},k.fonts[i]=e.font[r]}}),(a||o)&&this.font.forEach(function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)}),\"string\"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h<s.length;h++)s[h]=t.text;t.text=s}if(null!=t.text||a){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var b=1;b<t.text.length;b++)e.textOffsets[b]=e.textOffsets[b-1]+t.text[b-1].length,e.count+=t.text[b].length,e.counts.push(t.text[b].length);this.text=t.text.join(\"\")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];r=[],this.font.forEach(function(t,n){k.atlasContext.font=t.baseString;for(var i=e.fontAtlas[n],a=0;a<e.text.length;a++){var o=e.text.charAt(a);if(null==i.ids[o]&&(i.ids[o]=i.chars.length,i.chars.push(o),r.push(o)),null==t.width[o]&&(t.width[o]=k.atlasContext.measureText(o).width/k.baseFontSize,e.kerning)){var s=[];for(var l in t.width)s.push(l+o,o+l);m(t.kerning,g(t.family,{pairs:s}))}}})}if(t.position)if(t.position.length>2){for(var w=!t.position[0].length,M=u.mallocFloat(2*this.count),A=0,T=0;A<this.counts.length;A++){var S=e.counts[A];if(w)for(var E=0;E<S;E++)M[T++]=t.position[2*A],M[T++]=t.position[2*A+1];else for(var C=0;C<S;C++)M[T++]=t.position[A][0],M[T++]=t.position[A][1]}this.position.call?this.position({type:\"float\",data:M}):this.position=this.regl.buffer({type:\"float\",data:M}),u.freeFloat(M)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||a){var L=u.mallocUint8(this.count),z=u.mallocFloat(2*this.count);this.textWidth=[];for(var P=0,O=0;P<this.counts.length;P++){for(var I=e.counts[P],D=e.font[P]||e.font[0],R=e.fontAtlas[P]||e.fontAtlas[0],B=0;B<I;B++){var F=e.text.charAt(O),N=e.text.charAt(O-1);if(L[O]=R.ids[F],z[2*O]=D.width[F],B){var j=z[2*O-2],V=z[2*O],U=z[2*O-1]+.5*j+.5*V;if(e.kerning){var q=D.kerning[N+F];q&&(U+=.001*q)}z[2*O+1]=U}else z[2*O+1]=.5*z[2*O];O++}e.textWidth.push(z.length?.5*z[2*O-2]+z[2*O-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:L,type:\"uint8\",usage:\"stream\"}),this.sizeBuffer({data:z,type:\"float\",usage:\"stream\"}),u.freeUint8(L),u.freeFloat(z),r.length&&this.font.forEach(function(t,r){var n=e.fontAtlas[r],i=n.step,a=Math.floor(k.maxAtlasSize/i),o=Math.min(a,n.chars.length),s=Math.ceil(n.chars.length/o),l=x(o*i),u=x(s*i);n.width=l,n.height=u,n.rows=s,n.cols=o,n.em&&n.texture({data:c({canvas:k.atlasCanvas,font:n.fontString,chars:n.chars,shape:[l,u],step:[i,i]})})})}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map(function(t,r){var n=Array.isArray(e.align)?e.align.length>1?e.align[r]:e.align[0]:e.align;if(\"number\"==typeof n)return n;switch(n){case\"right\":case\"end\":return-t;case\"center\":case\"centre\":case\"middle\":return.5*-t}return 0})),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,i+=\"number\"==typeof t?t-n.baseline:-n[t],k.normalViewport||(i*=-1),i})),null!=t.color)if(t.color||(t.color=\"transparent\"),\"string\"!=typeof t.color&&isNaN(t.color)){var H;if(\"number\"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var W=(t.color.subarray||t.color.slice).bind(t.color),Y=0;Y<G;Y+=4)H.set(l(W(Y,Y+4),\"uint8\"),Y)}else{var X=t.color.length;H=u.mallocUint8(4*X);for(var Z=0;Z<X;Z++)H.set(l(t.color[Z]||0,\"uint8\"),4*Z)}this.color=H}else this.color=l(t.color,\"uint8\");if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity)if(this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var $=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array($);for(var J=0;J<this.batch.length;J++)e.batch[J]={count:e.counts.length>1?e.counts[J]:e.counts[0],offset:e.textOffsets.length>1?e.textOffsets[J]:e.textOffsets[0],color:e.color?e.color.length<=4?e.color:e.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(e.opacity)?e.opacity[J]:e.opacity,baseline:null!=e.baselineOffset[J]?e.baselineOffset[J]:e.baselineOffset[0],align:e.align?null!=e.alignOffset[J]?e.alignOffset[J]:e.alignOffset[0]:0,atlas:e.fontAtlas[J]||e.fontAtlas[0],positionOffset:e.positionOffset.length>2?e.positionOffset.subarray(2*J,2*J+2):e.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},k.prototype.destroy=function(){},k.prototype.kerning=!0,k.prototype.position={constant:new Float32Array(2)},k.prototype.translate=null,k.prototype.scale=null,k.prototype.font=null,k.prototype.text=\"\",k.prototype.positionOffset=[0,0],k.prototype.opacity=1,k.prototype.color=new Uint8Array([0,0,0,255]),k.prototype.alignOffset=[0,0],k.normalViewport=!1,k.maxAtlasSize=1024,k.atlasCanvas=document.createElement(\"canvas\"),k.atlasContext=k.atlasCanvas.getContext(\"2d\",{alpha:!1}),k.baseFontSize=64,k.fonts={},e.exports=k},{\"bit-twiddle\":79,\"color-normalize\":107,\"css-font\":126,\"detect-kerning\":150,\"es6-weak-map\":208,\"flatten-vertex-data\":215,\"font-atlas\":216,\"font-measure\":217,\"gl-util/context\":304,\"is-plain-obj\":403,\"object-assign\":434,\"parse-rect\":439,\"parse-unit\":441,\"pick-by-alias\":445,regl:475,\"to-px\":513,\"typedarray-pool\":519}],303:[function(t,e,r){\"use strict\";var n=t(\"ndarray\"),i=t(\"ndarray-ops\"),a=t(\"typedarray-pool\");e.exports=function(t){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");o||function(t){o=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],s=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],l=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t);if(\"number\"==typeof arguments[1])return m(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return m(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(\"object\"==typeof arguments[1]){var e=arguments[1],r=c(e)?e:e.raw;if(r)return function(t,e,r,n,i,a){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new h(t,o,r,n,i,a)}(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return function(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error(\"gl-texture2d: Invalid texture size\");var l=d(o,e.stride.slice()),c=0;\"float32\"===r?c=t.FLOAT:\"float64\"===r?(c=t.FLOAT,l=!1,r=\"float32\"):\"uint8\"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r=\"uint8\");var f,p,m=0;if(2===o.length)m=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===o[2])m=t.ALPHA;else if(2===o[2])m=t.LUMINANCE_ALPHA;else if(3===o[2])m=t.RGB;else{if(4!==o[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");m=t.RGBA}}c!==t.FLOAT||t.getExtension(\"OES_texture_float\")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)f=0===e.offset&&e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[o[2],o[2]*o[0],1];p=a.malloc(v,r);var x=n(p,o,y,0);\"float32\"!==r&&\"float64\"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):u(x,e),f=p.subarray(0,v)}var b=g(t);t.texImage2D(t.TEXTURE_2D,0,m,o[0],o[1],0,m,c,f),l||a.free(p);return new h(t,b,o[0],o[1],m,c)}(t,e)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")};var o=null,s=null,l=null;function c(t){return\"undefined\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||\"undefined\"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||\"undefined\"!=typeof ImageData&&t instanceof ImageData}var u=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\"gl-texture2d: Invalid texture size\");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=h.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function g(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function m(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\"gl-texture2d: Invalid texture shape\");if(i===t.FLOAT&&!t.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error(\"gl-texture2d: Invalid texture shape\")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error(\"gl-texture2d: Unsupported data type\");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");!function(t,e,r,o,s,l,c,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var g=0,m=0,v=d(p,f.stride.slice());\"float32\"===h?g=t.FLOAT:\"float64\"===h?(g=t.FLOAT,v=!1,h=\"float32\"):\"uint8\"===h?g=t.UNSIGNED_BYTE:(g=t.UNSIGNED_BYTE,v=!1,h=\"uint8\");if(2===p.length)m=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.offset);else{if(3!==p.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===p[2])m=t.ALPHA;else if(2===p[2])m=t.LUMINANCE_ALPHA;else if(3===p[2])m=t.RGB;else{if(4!==p[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");m=t.RGBA}p[2]}m!==t.LUMINANCE&&m!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(m=s);if(m!==s)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var y=f.size,x=c.indexOf(o)<0;x&&c.push(o);if(g===l&&v)0===f.offset&&f.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+y));else{var b;b=l===t.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);g===t.FLOAT&&l===t.UNSIGNED_BYTE?u(_,f):i.assign(_,f),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:430,\"ndarray-ops\":424,\"typedarray-pool\":519}],304:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\");function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*window.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*window.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return\"function\"==typeof t.getContext&&\"width\"in t&&\"height\"in t}e.exports=function(t){var e;if(t?\"string\"==typeof t&&(t={container:t}):t={},a(t)?t={container:t}:t=\"string\"==typeof(e=t).nodeName&&\"function\"==typeof e.appendChild&&\"function\"==typeof e.getBoundingClientRect?{container:t}:function(t){return\"function\"==typeof t.drawArrays||\"function\"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:\"container target element el canvas holder parent parentNode wrapper use ref root node\",gl:\"gl context webgl glContext\",attrs:\"attributes attrs contextAttributes\",pixelRatio:\"pixelRatio pxRatio px ratio pxratio pixelratio\"},!0),t.pixelRatio||(t.pixelRatio=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(\"string\"==typeof t.container){var r=document.querySelector(t.container);if(!r)throw Error(\"Element \"+t.container+\" is not found\");t.container=r}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=document.createElement(\"canvas\"),t.container.appendChild(t.canvas),i(t))}else t.canvas||(t.container=document.body||document.documentElement,t.canvas=document.createElement(\"canvas\"),t.canvas.style.position=\"absolute\",t.canvas.style.top=0,t.canvas.style.left=0,t.container.appendChild(t.canvas),i(t));if(!t.gl)try{t.gl=t.canvas.getContext(\"webgl\",t.attrs)}catch(e){try{t.gl=t.canvas.getContext(\"experimental-webgl\",t.attrs)}catch(e){t.gl=t.canvas.getContext(\"webgl-experimental\",t.attrs)}}return t.gl}},{\"pick-by-alias\":445}],305:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error(\"gl-vao: Too many vertex attributes\");for(var i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,c=!!a.normalized,u=a.stride||0,f=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,c,u,f)}else{if(\"number\"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error(\"gl-vao: Invalid vertex attribute\");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i<n;++i)t.disableVertexAttribArray(i)}},{}],306:[function(t,e,r){\"use strict\";var n=t(\"./do-bind.js\");function i(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},i.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.dispose=function(){},i.prototype.unbind=function(){},i.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._elements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t){return new i(t)}},{\"./do-bind.js\":305}],307:[function(t,e,r){\"use strict\";var n=t(\"./do-bind.js\");function i(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function a(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(t){switch(this.dimension){case 1:t.vertexAttrib1f(this.location,this.a);break;case 2:t.vertexAttrib2f(this.location,this.a,this.b);break;case 3:t.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:t.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},a.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},a.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},a.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},a.prototype.update=function(t,e,r){if(this.bind(),n(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var a=0;a<t.length;++a){var o=t[a];\"number\"==typeof o?this._attribs.push(new i(a,1,o)):Array.isArray(o)&&this._attribs.push(new i(a,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t,e){return new a(t,e,e.createVertexArrayOES())}},{\"./do-bind.js\":305}],308:[function(t,e,r){\"use strict\";var n=t(\"./lib/vao-native.js\"),i=t(\"./lib/vao-emulated.js\");function a(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}e.exports=function(t,e,r,o){var s,l=t.createVertexArray?new a(t):t.getExtension(\"OES_vertex_array_object\");return(s=l?n(t,l):i(t)).update(e,r,o),s}},{\"./lib/vao-emulated.js\":306,\"./lib/vao-native.js\":307}],309:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}},{}],310:[function(t,e,r){e.exports=function(t,e){var r=n(t[0],t[1],t[2]),o=n(e[0],e[1],e[2]);i(r,r),i(o,o);var s=a(r,o);return s>1?0:Math.acos(s)};var n=t(\"./fromValues\"),i=t(\"./normalize\"),a=t(\"./dot\")},{\"./dot\":320,\"./fromValues\":326,\"./normalize\":337}],311:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],312:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],313:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],314:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],315:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},{}],316:[function(t,e,r){e.exports=t(\"./distance\")},{\"./distance\":317}],317:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},{}],318:[function(t,e,r){e.exports=t(\"./divide\")},{\"./divide\":319}],319:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],320:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],321:[function(t,e,r){e.exports=1e-6},{}],322:[function(t,e,r){e.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=t(\"./epsilon\")},{\"./epsilon\":321}],323:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],324:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],325:[function(t,e,r){e.exports=function(t,e,r,i,a,o){var s,l;e||(e=3);r||(r=0);l=i?Math.min(i*e+r,t.length):t.length;for(s=r;s<l;s+=e)n[0]=t[s],n[1]=t[s+1],n[2]=t[s+2],a(n,n,o),t[s]=n[0],t[s+1]=n[1],t[s+2]=n[2];return t};var n=t(\"./create\")()},{\"./create\":314}],326:[function(t,e,r){e.exports=function(t,e,r){var n=new Float32Array(3);return n[0]=t,n[1]=e,n[2]=r,n}},{}],327:[function(t,e,r){e.exports={EPSILON:t(\"./epsilon\"),create:t(\"./create\"),clone:t(\"./clone\"),angle:t(\"./angle\"),fromValues:t(\"./fromValues\"),copy:t(\"./copy\"),set:t(\"./set\"),equals:t(\"./equals\"),exactEquals:t(\"./exactEquals\"),add:t(\"./add\"),subtract:t(\"./subtract\"),sub:t(\"./sub\"),multiply:t(\"./multiply\"),mul:t(\"./mul\"),divide:t(\"./divide\"),div:t(\"./div\"),min:t(\"./min\"),max:t(\"./max\"),floor:t(\"./floor\"),ceil:t(\"./ceil\"),round:t(\"./round\"),scale:t(\"./scale\"),scaleAndAdd:t(\"./scaleAndAdd\"),distance:t(\"./distance\"),dist:t(\"./dist\"),squaredDistance:t(\"./squaredDistance\"),sqrDist:t(\"./sqrDist\"),length:t(\"./length\"),len:t(\"./len\"),squaredLength:t(\"./squaredLength\"),sqrLen:t(\"./sqrLen\"),negate:t(\"./negate\"),inverse:t(\"./inverse\"),normalize:t(\"./normalize\"),dot:t(\"./dot\"),cross:t(\"./cross\"),lerp:t(\"./lerp\"),random:t(\"./random\"),transformMat4:t(\"./transformMat4\"),transformMat3:t(\"./transformMat3\"),transformQuat:t(\"./transformQuat\"),rotateX:t(\"./rotateX\"),rotateY:t(\"./rotateY\"),rotateZ:t(\"./rotateZ\"),forEach:t(\"./forEach\")}},{\"./add\":309,\"./angle\":310,\"./ceil\":311,\"./clone\":312,\"./copy\":313,\"./create\":314,\"./cross\":315,\"./dist\":316,\"./distance\":317,\"./div\":318,\"./divide\":319,\"./dot\":320,\"./epsilon\":321,\"./equals\":322,\"./exactEquals\":323,\"./floor\":324,\"./forEach\":325,\"./fromValues\":326,\"./inverse\":328,\"./len\":329,\"./length\":330,\"./lerp\":331,\"./max\":332,\"./min\":333,\"./mul\":334,\"./multiply\":335,\"./negate\":336,\"./normalize\":337,\"./random\":338,\"./rotateX\":339,\"./rotateY\":340,\"./rotateZ\":341,\"./round\":342,\"./scale\":343,\"./scaleAndAdd\":344,\"./set\":345,\"./sqrDist\":346,\"./sqrLen\":347,\"./squaredDistance\":348,\"./squaredLength\":349,\"./sub\":350,\"./subtract\":351,\"./transformMat3\":352,\"./transformMat4\":353,\"./transformQuat\":354}],328:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},{}],329:[function(t,e,r){e.exports=t(\"./length\")},{\"./length\":330}],330:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}},{}],331:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t}},{}],332:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}},{}],333:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}},{}],334:[function(t,e,r){e.exports=t(\"./multiply\")},{\"./multiply\":335}],335:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}},{}],336:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},{}],337:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],338:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},{}],339:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=i+o*c-s*l,t[2]=a+o*l+s*c,t}},{}],340:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+s*l+o*c,t[1]=e[1],t[2]=a+s*c-o*l,t}},{}],341:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+o*c-s*l,t[1]=a+o*l+s*c,t[2]=e[2],t}},{}],342:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],343:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],344:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],345:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],346:[function(t,e,r){e.exports=t(\"./squaredDistance\")},{\"./squaredDistance\":348}],347:[function(t,e,r){e.exports=t(\"./squaredLength\")},{\"./squaredLength\":349}],348:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},{}],349:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],350:[function(t,e,r){e.exports=t(\"./subtract\")},{\"./subtract\":351}],351:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],352:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},{}],353:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},{}],354:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t}},{}],355:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],356:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],357:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],358:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],359:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},{}],360:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],361:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],362:[function(t,e,r){e.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},{}],363:[function(t,e,r){e.exports={create:t(\"./create\"),clone:t(\"./clone\"),fromValues:t(\"./fromValues\"),copy:t(\"./copy\"),set:t(\"./set\"),add:t(\"./add\"),subtract:t(\"./subtract\"),multiply:t(\"./multiply\"),divide:t(\"./divide\"),min:t(\"./min\"),max:t(\"./max\"),scale:t(\"./scale\"),scaleAndAdd:t(\"./scaleAndAdd\"),distance:t(\"./distance\"),squaredDistance:t(\"./squaredDistance\"),length:t(\"./length\"),squaredLength:t(\"./squaredLength\"),negate:t(\"./negate\"),inverse:t(\"./inverse\"),normalize:t(\"./normalize\"),dot:t(\"./dot\"),lerp:t(\"./lerp\"),random:t(\"./random\"),transformMat4:t(\"./transformMat4\"),transformQuat:t(\"./transformQuat\")}},{\"./add\":355,\"./clone\":356,\"./copy\":357,\"./create\":358,\"./distance\":359,\"./divide\":360,\"./dot\":361,\"./fromValues\":362,\"./inverse\":364,\"./length\":365,\"./lerp\":366,\"./max\":367,\"./min\":368,\"./multiply\":369,\"./negate\":370,\"./normalize\":371,\"./random\":372,\"./scale\":373,\"./scaleAndAdd\":374,\"./set\":375,\"./squaredDistance\":376,\"./squaredLength\":377,\"./subtract\":378,\"./transformMat4\":379,\"./transformQuat\":380}],364:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],365:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},{}],366:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],367:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],368:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],369:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],370:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],371:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o);return t}},{}],372:[function(t,e,r){var n=t(\"./normalize\"),i=t(\"./scale\");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},{\"./normalize\":371,\"./scale\":373}],373:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],374:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],375:[function(t,e,r){e.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},{}],376:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},{}],377:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},{}],378:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],379:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},{}],380:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t[3]=e[3],t}},{}],381:[function(t,e,r){e.exports=function(t,e,r,a){return n[0]=a,n[1]=r,n[2]=e,n[3]=t,i[0]};var n=new Uint8Array(4),i=new Float32Array(n.buffer)},{}],382:[function(t,e,r){var n=t(\"glsl-tokenizer\"),i=t(\"atob-lite\");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r<e.length;r++){var a=e[r];if(\"preprocessor\"===a.type){var o=a.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},{\"atob-lite\":59,\"glsl-tokenizer\":389}],383:[function(t,e,r){e.exports=function(t){var e,r,k,M=0,A=0,T=l,S=[],E=[],C=1,L=0,z=0,P=!1,O=!1,I=\"\",D=a,R=n;\"300 es\"===(t=t||{}).version&&(D=s,R=o);return function(t){return E=[],null!==t?function(t){var r;M=0,k=(I+=t).length;for(;e=I[M],M<k;){switch(r=M,T){case u:M=V();break;case f:case h:M=j();break;case p:M=U();break;case d:M=G();break;case _:M=H();break;case g:M=W();break;case c:M=Y();break;case x:M=N();break;case l:M=F()}if(r!==M)switch(I[r]){case\"\\n\":L=0,++C;break;default:++L}}return A+=M,I=I.slice(M),E}(t.replace?t.replace(/\\r\\n/g,\"\\n\"):t):function(t){S.length&&B(S.join(\"\"));return T=b,B(\"(eof)\"),E}()};function B(t){t.length&&E.push({type:w[T],data:t,position:z,line:C,column:L})}function F(){return S=S.length?[]:S,\"/\"===r&&\"*\"===e?(z=A+M-1,T=u,r=e,M+1):\"/\"===r&&\"/\"===e?(z=A+M-1,T=f,r=e,M+1):\"#\"===e?(T=h,z=A+M,M):/\\s/.test(e)?(T=x,z=A+M,M):(P=/\\d/.test(e),O=/[^\\w_]/.test(e),z=A+M,T=P?d:O?p:c,M)}function N(){return/[^\\s]/g.test(e)?(B(S.join(\"\")),T=l,M):(S.push(e),r=e,M+1)}function j(){return\"\\r\"!==e&&\"\\n\"!==e||\"\\\\\"===r?(S.push(e),r=e,M+1):(B(S.join(\"\")),T=l,M)}function V(){return\"/\"===e&&\"*\"===r?(S.push(e),B(S.join(\"\")),T=l,M+1):(S.push(e),r=e,M+1)}function U(){if(\".\"===r&&/\\d/.test(e))return T=g,M;if(\"/\"===r&&\"*\"===e)return T=u,M;if(\"/\"===r&&\"/\"===e)return T=f,M;if(\".\"===e&&S.length){for(;q(S););return T=g,M}if(\";\"===e||\")\"===e||\"(\"===e){if(S.length)for(;q(S););return B(e),T=l,M+1}var t=2===S.length&&\"=\"!==e;if(/[\\w_\\d\\s]/.test(e)||t){for(;q(S););return T=l,M}return S.push(e),r=e,M+1}function q(t){for(var e,r,n=0;;){if(e=i.indexOf(t.slice(0,t.length+n).join(\"\")),r=i[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join(\"\")}return B(r),z+=r.length,(S=S.slice(r.length)).length}}function H(){return/[^a-fA-F0-9]/.test(e)?(B(S.join(\"\")),T=l,M):(S.push(e),r=e,M+1)}function G(){return\".\"===e?(S.push(e),T=g,r=e,M+1):/[eE]/.test(e)?(S.push(e),T=g,r=e,M+1):\"x\"===e&&1===S.length&&\"0\"===S[0]?(T=_,S.push(e),r=e,M+1):/[^\\d]/.test(e)?(B(S.join(\"\")),T=l,M):(S.push(e),r=e,M+1)}function W(){return\"f\"===e&&(S.push(e),r=e,M+=1),/[eE]/.test(e)?(S.push(e),r=e,M+1):\"-\"===e&&/[eE]/.test(r)?(S.push(e),r=e,M+1):/[^\\d]/.test(e)?(B(S.join(\"\")),T=l,M):(S.push(e),r=e,M+1)}function Y(){if(/[^\\d\\w_]/.test(e)){var t=S.join(\"\");return T=R.indexOf(t)>-1?y:D.indexOf(t)>-1?v:m,B(S.join(\"\")),T=l,M}return S.push(e),r=e,M+1}};var n=t(\"./lib/literals\"),i=t(\"./lib/operators\"),a=t(\"./lib/builtins\"),o=t(\"./lib/literals-300es\"),s=t(\"./lib/builtins-300es\"),l=999,c=9999,u=0,f=1,h=2,p=3,d=4,g=5,m=6,v=7,y=8,x=9,b=10,_=11,w=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"]},{\"./lib/builtins\":385,\"./lib/builtins-300es\":384,\"./lib/literals\":387,\"./lib/literals-300es\":386,\"./lib/operators\":388}],384:[function(t,e,r){var n=t(\"./builtins\");n=n.slice().filter(function(t){return!/^(gl\\_|texture)/.test(t)}),e.exports=n.concat([\"gl_VertexID\",\"gl_InstanceID\",\"gl_Position\",\"gl_PointSize\",\"gl_FragCoord\",\"gl_FrontFacing\",\"gl_FragDepth\",\"gl_PointCoord\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexUniformVectors\",\"gl_MaxVertexOutputVectors\",\"gl_MaxFragmentInputVectors\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxTextureImageUnits\",\"gl_MaxFragmentUniformVectors\",\"gl_MaxDrawBuffers\",\"gl_MinProgramTexelOffset\",\"gl_MaxProgramTexelOffset\",\"gl_DepthRangeParameters\",\"gl_DepthRange\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"])},{\"./builtins\":385}],385:[function(t,e,r){e.exports=[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]},{}],386:[function(t,e,r){var n=t(\"./literals\");e.exports=n.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uint\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\"])},{\"./literals\":387}],387:[function(t,e,r){e.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"]},{}],388:[function(t,e,r){e.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},{}],389:[function(t,e,r){var n=t(\"./index\");e.exports=function(t,e){var r=n(e),i=[];return i=(i=i.concat(r(t))).concat(r(null))}},{\"./index\":383}],390:[function(t,e,r){e.exports=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||\"\");return r.push(t[n]),r.join(\"\")}},{}],391:[function(t,e,r){(function(r){\"use strict\";var n,i=t(\"is-browser\");n=\"function\"==typeof r.matchMedia?!r.matchMedia(\"(hover: none)\").matches:i,e.exports=n}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"is-browser\":398}],392:[function(t,e,r){\"use strict\";var n=t(\"is-browser\");e.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"test\",null,e),window.removeEventListener(\"test\",null,e)}catch(e){t=!1}return t}()},{\"is-browser\":398}],393:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],394:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error(\"Must have at least d+1 points\");var i=t[0].length;if(r<=i)throw new Error(\"Must input at least d+1 points\");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error(\"Input not in general position\");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);for(var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2),u=0;u<=i;++u){for(var d=l.slice(),g=0;g<=i;++g)g===u&&(d[g]=-1);var m=d[0];d[0]=d[1],d[1]=m;var v=new a(d,new Array(i+1),!0);h[u]=v,p[u]=v}p[i+1]=f;for(var u=0;u<=i;++u)for(var d=h[u].vertices,y=h[u].adjacent,g=0;g<=i;++g){var x=d[g];if(x<0)y[g]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(y[g]=h[b])}for(var _=new c(i,o,p),w=!!e,u=i+1;u<r;++u)_.insert(t[u],w);return _.boundary()};var n=t(\"robust-orientation\"),i=t(\"simplicial-complex\").compareCells;function a(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function o(t,e,r){this.vertices=t,this.cell=e,this.index=r}function s(t,e){return i(t.vertices,e.vertices)}a.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=t;var e=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=e};var l=[];function c(t,e,r){this.dimension=t,this.vertices=e,this.simplices=r,this.interior=r.filter(function(t){return!t.boundary}),this.tuple=new Array(t+1);for(var i=0;i<=t;++i)this.tuple[i]=this.vertices[i];var a=l[t];a||(a=l[t]=function(t){for(var e=[\"function orient(){var tuple=this.tuple;return test(\"],r=0;r<=t;++r)r>0&&e.push(\",\"),e.push(\"tuple[\",r,\"]\");e.push(\")}return orient\");var i=new Function(\"test\",e.join(\"\")),a=n[t+1];return a||(a=n),i(a)}(t)),this.orient=a}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,f=0;f<=r;++f){var h=u[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var f=c[u];if(!(f.lastVisited>=r)){var h=a[u];a[u]=t;var p=this.orient();if(a[u]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,g=p.indexOf(r);if(!(g<0))for(var m=0;m<=n;++m)if(m!==g){var v=d[m];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=i[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),k=d.slice(),M=new a(w,k,!0);u.push(M);var A=_.indexOf(e);if(!(A<0)){_[A]=M,k[g]=v,w[m]=-1,k[m]=e,d[m]=M,M.flip();for(b=0;b<=n;++b){var T=w[b];if(!(T<0||T===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var L=w[C];L<0||C===b||(S[E++]=L)}h.push(new o(S,M,b))}}}}}}h.sort(s);for(m=0;m+1<h.length;m+=2){var z=h[m],P=h[m+1],O=z.index,I=P.index;O<0||I<0||(z.cell.adjacent[z.index]=P.cell,P.cell.adjacent[P.index]=z.cell)}},u.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.vertices,l=0,c=0,u=0;u<=t;++u)s[u]>=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{\"robust-orientation\":483,\"simplicial-complex\":493}],395:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),i=0,a=1;function o(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new x(null);return new x(y(t))};var s=o.prototype;function l(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function c(t,e){var r=y(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function u(t,e){var r=t.intervals([]);r.push(e),c(t,r)}function f(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?i:(r.splice(n,1),c(t,r),a)}function h(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function p(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function d(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function g(t,e){return t-e}function m(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function v(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function y(t){if(0===t.length)return null;for(var e=[],r=0;r<t.length;++r)e.push(t[r][0],t[r][1]);e.sort(g);var n=e[e.length>>1],i=[],a=[],s=[];for(r=0;r<t.length;++r){var l=t[r];l[1]<n?i.push(l):n<l[0]?a.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(m),u.sort(v),new o(n,y(i),y(a),c,u)}function x(t){this.root=t}s.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},s.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?u(this,t):this.left.insert(t):this.left=y([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?u(this,t):this.right.insert(t):this.right=y([t]);else{var r=n.ge(this.leftPoints,t,m),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},s.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid)return this.left?4*(this.right?this.right.count:0)>3*(e-1)?f(this,t):2===(c=this.left.remove(t))?(this.left=null,this.count-=1,a):(c===a&&(this.count-=1),c):i;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?f(this,t):2===(c=this.right.remove(t))?(this.right=null,this.count-=1,a):(c===a&&(this.count-=1),c):i;if(1===this.count)return this.leftPoints[0]===t?2:i;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,o=this.left;o.right;)r=o,o=o.right;if(r===this)o.right=this.right;else{var s=this.left,c=this.right;r.count-=o.count,r.right=o.left,o.left=s,o.right=c}l(this,o),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?l(this,this.left):l(this,this.right);return a}for(s=n.ge(this.leftPoints,t,m);s<this.leftPoints.length&&this.leftPoints[s][0]===t[0];++s)if(this.leftPoints[s]===t){this.count-=1,this.leftPoints.splice(s,1);for(c=n.ge(this.rightPoints,t,v);c<this.rightPoints.length&&this.rightPoints[c][1]===t[1];++c)if(this.rightPoints[c]===t)return this.rightPoints.splice(c,1),a}return i},s.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return h(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return p(this.rightPoints,t,e)}return d(this.leftPoints,e)},s.queryInterval=function(t,e,r){var n;if(t<this.mid&&this.left&&(n=this.left.queryInterval(t,e,r)))return n;if(e>this.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return e<this.mid?h(this.leftPoints,e,r):t>this.mid?p(this.rightPoints,t,r):d(this.leftPoints,r)};var b=x.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new o(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==i}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}})},{\"binary-search-bounds\":78}],396:[function(t,e,r){\"use strict\";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e}},{}],397:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}},{}],398:[function(t,e,r){e.exports=!0},{}],399:[function(t,e,r){function n(t){return!!t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}e.exports=function(t){return null!=t&&(n(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],400:[function(t,e,r){\"use strict\";e.exports=\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))},{}],401:[function(t,e,r){e.exports=function(t){t||\"undefined\"==typeof navigator||(t=navigator.userAgent);t&&t.headers&&\"string\"==typeof t.headers[\"user-agent\"]&&(t=t.headers[\"user-agent\"]);return\"string\"==typeof t&&(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(t.substr(0,4)))}},{}],402:[function(t,e,r){\"use strict\";e.exports=function(t){var e=typeof t;return null!==t&&(\"object\"===e||\"function\"===e)}},{}],403:[function(t,e,r){\"use strict\";var n=Object.prototype.toString;e.exports=function(t){var e;return\"[object Object]\"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],404:[function(t,e,r){\"use strict\";e.exports=function(t){return\"string\"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}},{}],405:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],406:[function(t,e,r){(function(t){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?e.exports=n():t.mapboxgl=n()}(this,function(){\"use strict\";var e,r,n;function i(t,i){if(e)if(r){var a=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+r+\")(sharedChunk);\",o={};e(o),(n=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:\"text/javascript\"}))}else r=i;else e=i}return i(0,function(e){var r=\"undefined\"!=typeof window?window:\"undefined\"!=typeof t?t:\"undefined\"!=typeof self?self:{};function n(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}function i(t,e){return t(e={exports:{}},e.exports),e.exports}var a=o;function o(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}o.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},o.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},o.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},o.prototype.solveCurveX=function(t,e){var r,n,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if((i=t)<(r=0))return r;if(i>(n=1))return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},o.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var s=function(t,e,r){this.column=t,this.row=e,this.zoom=r};s.prototype.clone=function(){return new s(this.column,this.row,this.zoom)},s.prototype.zoomTo=function(t){return this.clone()._zoomTo(t)},s.prototype.sub=function(t){return this.clone()._sub(t)},s.prototype._zoomTo=function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},s.prototype._sub=function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this};var l=c;function c(t,e){this.x=t,this.y=e}function u(t,e,r,n){var i=new a(t,e,r,n);return function(t){return i.solve(t)}}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(t){return t instanceof c?t:Array.isArray(t)?new c(t[0],t[1]):t};var f=u(.25,.1,.25,1);function h(t,e,r){return Math.min(r,Math.max(e,t))}function p(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}var d=1;function g(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})}function m(t,e){return-1!==t.indexOf(e,t.length-e.length)}function v(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function y(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function x(t){return Array.isArray(t)?t.map(x):\"object\"==typeof t&&t?v(t,x):t}var b={};function _(t){b[t]||(\"undefined\"!=typeof console&&console.warn(t),b[t]=!0)}function w(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)a=t[r],e+=((o=t[i]).x-a.x)*(a.y+o.y);return e}var M={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(M);var A=function(t){function e(e,r,n){t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},e}(Error);function T(t){var e=new self.XMLHttpRequest;for(var r in e.open(\"GET\",t.url,!0),t.headers)e.setRequestHeader(r,t.headers[r]);return e.withCredentials=\"include\"===t.credentials,e}var S=function(t,e){var r=T(t);return r.responseType=\"arraybuffer\",r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){var n=r.response;if(0===n.byteLength&&200===r.status)return e(new Error(\"http status 200 returned without content.\"));r.status>=200&&r.status<300&&r.response?e(null,{data:n,cacheControl:r.getResponseHeader(\"Cache-Control\"),expires:r.getResponseHeader(\"Expires\")}):e(new A(r.statusText,r.status,t.url))},r.send(),r};function E(t,e,r){r[t]=r[t]||[],r[t].push(e)}function C(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var L=function(t,e){void 0===e&&(e={}),p(this,e),this.type=t},z=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,\"error\",p({error:e},r))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(L),P=function(){};P.prototype.on=function(t,e){return this._listeners=this._listeners||{},E(t,e,this._listeners),this},P.prototype.off=function(t,e){return C(t,e,this._listeners),C(t,e,this._oneTimeListeners),this},P.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},E(t,e,this._oneTimeListeners),this},P.prototype.fire=function(t){\"string\"==typeof t&&(t=new L(t,arguments[1]||{}));var e=t.type;if(this.listens(e)){t.target=this;for(var r=0,n=this._listeners&&this._listeners[e]?this._listeners[e].slice():[];r<n.length;r+=1)n[r].call(this,t);for(var i=0,a=this._oneTimeListeners&&this._oneTimeListeners[e]?this._oneTimeListeners[e].slice():[];i<a.length;i+=1){var o=a[i];C(e,o,this._oneTimeListeners),o.call(this,t)}var s=this._eventedParent;s&&(p(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),s.fire(t))}else m(e,\"error\")?console.error(t&&t.error||t||\"Empty error event\"):m(e,\"warning\")&&console.warn(t&&t.warning||t||\"Empty warning event\");return this},P.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},P.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var O={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{}},default:\"mapbox\"},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},buffer:{type:\"number\",default:128,maximum:512,minimum:0},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},lineMetrics:{type:\"boolean\",default:!1}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_fill:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_circle:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_line:{\"line-cap\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{butt:{},round:{},square:{}},default:\"butt\"},\"line-join\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:{bevel:{},round:{},miter:{}},default:\"miter\"},\"line-miter-limit\":{type:\"number\",default:2,function:\"interpolated\",\"zoom-function\":!0,requires:[{\"line-join\":\"miter\"}]},\"line-round-limit\":{type:\"number\",default:1.05,function:\"interpolated\",\"zoom-function\":!0,requires:[{\"line-join\":\"round\"}]},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{point:{},line:{}},default:\"point\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,function:\"interpolated\",\"zoom-function\":!0,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}]},\"symbol-avoid-edges\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1},\"icon-allow-overlap\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\"]},\"icon-ignore-placement\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\"]},\"icon-optional\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\",\"text-field\"]},\"icon-rotation-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"]},\"icon-size\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,units:\"factor of the original icon size\",requires:[\"icon-image\"]},\"icon-text-fit\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"]},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",function:\"interpolated\",\"zoom-function\":!0,requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}]},\"icon-image\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,tokens:!0},\"icon-rotate\":{type:\"number\",default:0,period:360,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,units:\"degrees\",requires:[\"icon-image\"]},\"icon-padding\":{type:\"number\",default:2,minimum:0,function:\"interpolated\",\"zoom-function\":!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-keep-upright\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":\"line\"}]},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"icon-image\"]},\"icon-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"]},\"icon-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"]},\"text-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"]},\"text-rotation-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"]},\"text-field\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:\"\",tokens:!0},\"text-font\":{type:\"array\",value:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"]},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",function:\"interpolated\",\"zoom-function\":!0,requires:[\"text-field\"]},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-justify\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:{left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"]},\"text-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\"]},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",function:\"interpolated\",\"zoom-function\":!0,requires:[\"text-field\",{\"symbol-placement\":\"line\"}]},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",function:\"interpolated\",\"zoom-function\":!0,requires:[\"text-field\"]},\"text-keep-upright\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":\"line\"}]},\"text-transform\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"]},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,length:2,default:[0,0],requires:[\"text-field\"]},\"text-allow-overlap\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"text-field\"]},\"text-ignore-placement\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"text-field\"]},\"text-optional\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"text-field\",\"icon-image\"]},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function_stop:{type:\"array\",minimum:0,maximum:22,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},expression_name:{type:\"enum\",values:{let:{group:\"Variable binding\"},var:{group:\"Variable binding\"},literal:{group:\"Types\"},array:{group:\"Types\"},at:{group:\"Lookup\"},case:{group:\"Decision\"},match:{group:\"Decision\"},coalesce:{group:\"Decision\"},step:{group:\"Ramps, scales, curves\"},interpolate:{group:\"Ramps, scales, curves\"},ln2:{group:\"Math\"},pi:{group:\"Math\"},e:{group:\"Math\"},typeof:{group:\"Types\"},string:{group:\"Types\"},number:{group:\"Types\"},boolean:{group:\"Types\"},object:{group:\"Types\"},collator:{group:\"Types\"},\"to-string\":{group:\"Types\"},\"to-number\":{group:\"Types\"},\"to-boolean\":{group:\"Types\"},\"to-rgba\":{group:\"Color\"},\"to-color\":{group:\"Types\"},rgb:{group:\"Color\"},rgba:{group:\"Color\"},get:{group:\"Lookup\"},has:{group:\"Lookup\"},length:{group:\"Lookup\"},properties:{group:\"Feature data\"},\"geometry-type\":{group:\"Feature data\"},id:{group:\"Feature data\"},zoom:{group:\"Zoom\"},\"heatmap-density\":{group:\"Heatmap\"},\"line-progress\":{group:\"Heatmap\"},\"+\":{group:\"Math\"},\"*\":{group:\"Math\"},\"-\":{group:\"Math\"},\"/\":{group:\"Math\"},\"%\":{group:\"Math\"},\"^\":{group:\"Math\"},sqrt:{group:\"Math\"},log10:{group:\"Math\"},ln:{group:\"Math\"},log2:{group:\"Math\"},sin:{group:\"Math\"},cos:{group:\"Math\"},tan:{group:\"Math\"},asin:{group:\"Math\"},acos:{group:\"Math\"},atan:{group:\"Math\"},min:{group:\"Math\"},max:{group:\"Math\"},round:{group:\"Math\"},abs:{group:\"Math\"},ceil:{group:\"Math\"},floor:{group:\"Math\"},\"==\":{group:\"Decision\"},\"!=\":{group:\"Decision\"},\">\":{group:\"Decision\"},\"<\":{group:\"Decision\"},\">=\":{group:\"Decision\"},\"<=\":{group:\"Decision\"},all:{group:\"Decision\"},any:{group:\"Decision\"},\"!\":{group:\"Decision\"},\"is-supported-script\":{group:\"String\"},upcase:{group:\"String\"},downcase:{group:\"String\"},concat:{group:\"String\"},\"resolved-locale\":{group:\"String\"}}},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},transition:!1,\"zoom-function\":!0,\"property-function\":!1,function:\"piecewise-constant\"},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",transition:!0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1},color:{type:\"color\",default:\"#ffffff\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0},intensity:{type:\"number\",default:.5,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!0},\"fill-opacity\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:1,minimum:0,maximum:1,transition:!0},\"fill-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"fill-pattern\"}]},\"fill-outline-color\":{type:\"color\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}]},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\"},\"fill-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"]},\"fill-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0}},paint_line:{\"line-opacity\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:1,minimum:0,maximum:1,transition:!0},\"line-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"line-pattern\"}]},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\"},\"line-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"]},\"line-width\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-offset\":{type:\"number\",default:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-blur\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-dasharray\":{type:\"array\",value:\"number\",function:\"piecewise-constant\",\"zoom-function\":!0,minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}]},\"line-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0},\"line-gradient\":{type:\"color\",function:\"interpolated\",\"zoom-function\":!1,\"property-function\":!1,transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}]}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"circle-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-blur\":{type:\"number\",default:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\"},\"circle-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"]},\"circle-pitch-scale\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\"},\"circle-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"viewport\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!1},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],function:\"interpolated\",\"zoom-function\":!1,\"property-function\":!1,transition:!1},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"icon-image\"]},\"icon-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"icon-image\"]},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"icon-image\"]},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"]},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"text-field\"]},\"text-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"text-field\"]},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"text-field\"]},\"text-halo-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"]}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"degrees\"},\"raster-brightness-min\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,default:0,minimum:0,maximum:1,transition:!0},\"raster-brightness-max\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,default:1,minimum:0,maximum:1,transition:!0},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,function:\"interpolated\",\"zoom-function\":!0,transition:!1,units:\"milliseconds\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,function:\"interpolated\",\"zoom-function\":!0,transition:!1},\"hillshade-illumination-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"viewport\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,transition:!0}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,transition:!0,requires:[{\"!\":\"background-pattern\"}]},\"background-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,default:1,minimum:0,maximum:1,transition:!0},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}]},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"]},\"fill-extrusion-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0},\"fill-extrusion-height\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:0,minimum:0,units:\"meters\",transition:!0},\"fill-extrusion-base\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"]}}},I=function(t,e,r,n){this.message=(t?t+\": \":\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function D(t){var e=t.key,r=t.value;return r?[new I(e,r,\"constants have been deprecated as of v8\")]:[]}function R(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}function B(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function F(t){return Array.isArray(t)?t.map(F):B(t)}var N=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error),j=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r],a=i[0],o=i[1];this.bindings[a]=o}};j.prototype.concat=function(t){return new j(this,t)},j.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+\" not found in scope.\")},j.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)};var V={kind:\"null\"},U={kind:\"number\"},q={kind:\"string\"},H={kind:\"boolean\"},G={kind:\"color\"},W={kind:\"object\"},Y={kind:\"value\"},X={kind:\"collator\"};function Z(t,e){return{kind:\"array\",itemType:t,N:e}}function $(t){if(\"array\"===t.kind){var e=$(t.itemType);return\"number\"==typeof t.N?\"array<\"+e+\", \"+t.N+\">\":\"value\"===t.itemType.kind?\"array\":\"array<\"+e+\">\"}return t.kind}var J=[V,U,q,H,G,W,Z(Y)];function K(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&!K(t.itemType,e.itemType)&&(\"number\"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(var r=0,n=J;r<n.length;r+=1)if(!K(n[r],e))return null}return\"Expected \"+$(t)+\" but found \"+$(e)+\" instead.\"}var Q=i(function(t,e){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return\"%\"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return\"%\"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,\"\").toLowerCase();if(i in r)return r[i].slice();if(\"#\"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf(\"(\"),c=i.indexOf(\")\");if(-1!==l&&c+1===i.length){var u=i.substr(0,l),f=i.substr(l+1,c-(l+1)).split(\",\"),h=1;switch(u){case\"rgba\":if(4!==f.length)return null;h=o(f.pop());case\"rgb\":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case\"hsla\":if(4!==f.length)return null;h=o(f.pop());case\"hsl\":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),g=o(f[2]),m=g<=.5?g*(d+1):g+d-g*d,v=2*g-m;return[n(255*s(v,m,p+1/3)),n(255*s(v,m,p)),n(255*s(v,m,p-1/3)),h];default:return null}}return null}}catch(t){}}).parseCSSColor,tt=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};tt.parse=function(t){if(t){if(t instanceof tt)return t;if(\"string\"==typeof t){var e=Q(t);if(e)return new tt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},tt.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return\"rgba(\"+Math.round(e)+\",\"+Math.round(r)+\",\"+Math.round(n)+\",\"+i+\")\"},tt.prototype.toArray=function(){var t=this.r,e=this.g,r=this.b,n=this.a;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]},tt.black=new tt(0,0,0,1),tt.white=new tt(1,1,1,1),tt.transparent=new tt(0,0,0,0);var et=function(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};et.prototype.compare=function(t,e){return this.collator.compare(t,e)},et.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var rt=function(t,e,r){this.type=X,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e};function nt(t,e,r,n){return\"number\"==typeof t&&t>=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:\"Invalid rgba value [\"+[t,e,r,n].join(\", \")+\"]: 'a' must be between 0 and 1.\":\"Invalid rgba value [\"+(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}function it(t){if(null===t)return V;if(\"string\"==typeof t)return q;if(\"boolean\"==typeof t)return H;if(\"number\"==typeof t)return U;if(t instanceof tt)return G;if(t instanceof et)return X;if(Array.isArray(t)){for(var e,r=t.length,n=0,i=t;n<i.length;n+=1){var a=it(i[n]);if(e){if(e===a)continue;e=Y;break}e=a}return Z(e||Y,r)}return W}rt.parse=function(t,e){if(2!==t.length)return e.error(\"Expected one argument.\");var r=t[1];if(\"object\"!=typeof r||Array.isArray(r))return e.error(\"Collator options argument must be an object.\");var n=e.parse(void 0!==r[\"case-sensitive\"]&&r[\"case-sensitive\"],1,H);if(!n)return null;var i=e.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,H);if(!i)return null;var a=null;return r.locale&&!(a=e.parse(r.locale,1,q))?null:new rt(n,i,a)},rt.prototype.evaluate=function(t){return new et(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},rt.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)},rt.prototype.possibleOutputs=function(){return[void 0]},rt.prototype.serialize=function(){var t={};return t[\"case-sensitive\"]=this.caseSensitive.serialize(),t[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),[\"collator\",t]};var at=function(t,e){this.type=t,this.value=e};at.parse=function(t,e){if(2!==t.length)return e.error(\"'literal' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(!function t(e){if(null===e)return!0;if(\"string\"==typeof e)return!0;if(\"boolean\"==typeof e)return!0;if(\"number\"==typeof e)return!0;if(e instanceof tt)return!0;if(e instanceof et)return!0;if(Array.isArray(e)){for(var r=0,n=e;r<n.length;r+=1)if(!t(n[r]))return!1;return!0}if(\"object\"==typeof e){for(var i in e)if(!t(e[i]))return!1;return!0}return!1}(t[1]))return e.error(\"invalid value\");var r=t[1],n=it(r),i=e.expectedType;return\"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new at(n,r)},at.prototype.evaluate=function(){return this.value},at.prototype.eachChild=function(){},at.prototype.possibleOutputs=function(){return[this.value]},at.prototype.serialize=function(){return\"array\"===this.type.kind||\"object\"===this.type.kind?[\"literal\",this.value]:this.value instanceof tt?[\"rgba\"].concat(this.value.toArray()):this.value};var ot=function(t){this.name=\"ExpressionEvaluationError\",this.message=t};ot.prototype.toJSON=function(){return this.message};var st={string:q,number:U,boolean:H,object:W},lt=function(t,e){this.type=t,this.args=e};lt.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");for(var r=t[0],n=st[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,Y);if(!o)return null;i.push(o)}return new lt(n,i)},lt.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!K(this.type,it(r)))return r;if(e===this.args.length-1)throw new ot(\"Expected value to be of type \"+$(this.type)+\", but found \"+$(it(r))+\" instead.\")}return null},lt.prototype.eachChild=function(t){this.args.forEach(t)},lt.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},lt.prototype.serialize=function(){return[this.type.kind].concat(this.args.map(function(t){return t.serialize()}))};var ct={string:q,number:U,boolean:H},ut=function(t,e){this.type=t,this.input=e};ut.parse=function(t,e){if(t.length<2||t.length>4)return e.error(\"Expected 1, 2, or 3 arguments, but found \"+(t.length-1)+\" instead.\");var r,n;if(t.length>2){var i=t[1];if(\"string\"!=typeof i||!(i in ct))return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);r=ct[i]}else r=Y;if(t.length>3){if(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2]))return e.error('The length argument to \"array\" must be a positive integer literal',2);n=t[2]}var a=Z(r,n),o=e.parse(t[t.length-1],t.length-1,Y);return o?new ut(a,o):null},ut.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(K(this.type,it(e)))throw new ot(\"Expected value to be of type \"+$(this.type)+\", but found \"+$(it(e))+\" instead.\");return e},ut.prototype.eachChild=function(t){t(this.input)},ut.prototype.possibleOutputs=function(){return this.input.possibleOutputs()},ut.prototype.serialize=function(){var t=[\"array\"],e=this.type.itemType;if(\"string\"===e.kind||\"number\"===e.kind||\"boolean\"===e.kind){t.push(e.kind);var r=this.type.N;\"number\"==typeof r&&t.push(r)}return t.push(this.input.serialize()),t};var ft={\"to-number\":U,\"to-color\":G},ht=function(t,e){this.type=t,this.args=e};ht.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");for(var r=t[0],n=ft[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,Y);if(!o)return null;i.push(o)}return new ht(n,i)},ht.prototype.evaluate=function(t){if(\"color\"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1)if(r=null,\"string\"==typeof(e=i[n].evaluate(t))){var a=t.parseColor(e);if(a)return a}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?\"Invalid rbga value \"+JSON.stringify(e)+\": expected an array containing either three or four numeric values.\":nt(e[0],e[1],e[2],e[3])))return new tt(e[0]/255,e[1]/255,e[2]/255,e[3]);throw new ot(r||\"Could not parse color from value '\"+(\"string\"==typeof e?e:JSON.stringify(e))+\"'\")}for(var o=null,s=0,l=this.args;s<l.length;s+=1)if(null!==(o=l[s].evaluate(t))){var c=Number(o);if(!isNaN(c))return c}throw new ot(\"Could not convert \"+JSON.stringify(o)+\" to number.\")},ht.prototype.eachChild=function(t){this.args.forEach(t)},ht.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},ht.prototype.serialize=function(){var t=[\"to-\"+this.type.kind];return this.eachChild(function(e){t.push(e.serialize())}),t};var pt=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],dt=function(){this._parseColorCache={}};dt.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},dt.prototype.geometryType=function(){return this.feature?\"number\"==typeof this.feature.type?pt[this.feature.type]:this.feature.type:null},dt.prototype.properties=function(){return this.feature&&this.feature.properties||{}},dt.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=tt.parse(t)),e};var gt=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n};function mt(t){if(t instanceof gt){if(\"get\"===t.name&&1===t.args.length)return!1;if(\"has\"===t.name&&1===t.args.length)return!1;if(\"properties\"===t.name||\"geometry-type\"===t.name||\"id\"===t.name)return!1;if(/^filter-/.test(t.name))return!1}var e=!0;return t.eachChild(function(t){e&&!mt(t)&&(e=!1)}),e}function vt(t,e){if(t instanceof gt&&e.indexOf(t.name)>=0)return!1;var r=!0;return t.eachChild(function(t){r&&!vt(t,e)&&(r=!1)}),r}gt.prototype.evaluate=function(t){return this._evaluate(t,this.args)},gt.prototype.eachChild=function(t){this.args.forEach(t)},gt.prototype.possibleOutputs=function(){return[void 0]},gt.prototype.serialize=function(){return[this.name].concat(this.args.map(function(t){return t.serialize()}))},gt.parse=function(t,e){var r=t[0],n=gt.definitions[r];if(!n)return e.error('Unknown expression \"'+r+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var i=Array.isArray(n)?n[0]:n.type,a=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=a.filter(function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1}),s=[],l=1;l<t.length;l++){var c=t[l],u=void 0;if(1===o.length){var f=o[0][0];u=Array.isArray(f)?f[l-1]:f.type}var h=e.parse(c,1+s.length,u);if(!h)return null;s.push(h)}for(var p=null,d=0,g=o;d<g.length;d+=1){var m=g[d],v=m[0],y=m[1];if(p=new xt(e.registry,e.path,null,e.scope),Array.isArray(v)&&v.length!==s.length)p.error(\"Expected \"+v.length+\" arguments, but found \"+s.length+\" instead.\");else{for(var x=0;x<s.length;x++){var b=Array.isArray(v)?v[x]:v.type,_=s[x];p.concat(x+1).checkSubtype(b,_.type)}if(0===p.errors.length)return new gt(r,i,y,s)}}if(1===o.length)e.errors.push.apply(e.errors,p.errors);else{var w=(o.length?o:a).map(function(t){var e;return e=t[0],Array.isArray(e)?\"(\"+e.map($).join(\", \")+\")\":\"(\"+$(e.type)+\"...)\"}).join(\" | \"),k=s.map(function(t){return $(t.type)}).join(\", \");e.error(\"Expected arguments of type \"+w+\", but found (\"+k+\") instead.\")}return null},gt.register=function(t,e){for(var r in gt.definitions=e,e)t[r]=gt};var yt=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e};yt.parse=function(t,e){if(2!==t.length||\"string\"!=typeof t[1])return e.error(\"'var' expression requires exactly one string literal argument.\");var r=t[1];return e.scope.has(r)?new yt(r,e.scope.get(r)):e.error('Unknown variable \"'+r+'\". Make sure \"'+r+'\" has been bound in an enclosing \"let\" expression before using it.',1)},yt.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},yt.prototype.eachChild=function(){},yt.prototype.possibleOutputs=function(){return[void 0]},yt.prototype.serialize=function(){return[\"var\",this.name]};var xt=function(t,e,r,n,i){void 0===e&&(e=[]),void 0===n&&(n=new j),void 0===i&&(i=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return\"[\"+t+\"]\"}).join(\"\"),this.scope=n,this.errors=i,this.expectedType=r};function bt(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)],n=t[o+1],e===r||e>r&&e<n)return o;if(r<e)i=o+1;else{if(!(r>e))throw new ot(\"Input is not a number.\");a=o-1}}return Math.max(o-1,0)}xt.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},xt.prototype._parse=function(t,e){if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var r=t[0];if(\"string\"!=typeof r)return this.error(\"Expression name must be a string, but found \"+typeof r+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var n=this.registry[r];if(n){var i=n.parse(t,this);if(!i)return null;if(this.expectedType){var a=this.expectedType,o=i.type;if(\"string\"!==a.kind&&\"number\"!==a.kind&&\"boolean\"!==a.kind&&\"object\"!==a.kind||\"value\"!==o.kind)if(\"array\"===a.kind&&\"value\"===o.kind)e.omitTypeAnnotations||(i=new ut(a,i));else if(\"color\"!==a.kind||\"value\"!==o.kind&&\"string\"!==o.kind){if(this.checkSubtype(this.expectedType,i.type))return null}else e.omitTypeAnnotations||(i=new ht(a,[i]));else e.omitTypeAnnotations||(i=new lt(a,[i]))}if(!(i instanceof at)&&function t(e){if(e instanceof yt)return t(e.boundExpression);if(e instanceof gt&&\"error\"===e.name)return!1;if(e instanceof rt)return!1;var r=e instanceof ht||e instanceof lt||e instanceof ut,n=!0;return e.eachChild(function(e){n=r?n&&t(e):n&&e instanceof at}),!!n&&(mt(e)&&vt(e,[\"zoom\",\"heatmap-density\",\"line-progress\",\"is-supported-script\"]))}(i)){var s=new dt;try{i=new at(i.type,i.evaluate(s))}catch(t){return this.error(t.message),null}}return i}return this.error('Unknown expression \"'+r+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return void 0===t?this.error(\"'undefined' value invalid. Use null instead.\"):\"object\"==typeof t?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof t+\" instead.\")},xt.prototype.concat=function(t,e,r){var n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new xt(this.registry,n,e||null,i,this.errors)},xt.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=\"\"+this.key+e.map(function(t){return\"[\"+t+\"]\"}).join(\"\");this.errors.push(new N(n,t))},xt.prototype.checkSubtype=function(t,e){var r=K(t,e);return r&&this.error(r),r};var _t=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[0],s=a[1];this.labels.push(o),this.outputs.push(s)}};function wt(t,e,r){return t*(1-r)+e*r}_t.parse=function(t,e){var r=t[1],n=t.slice(2);if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(r=e.parse(r,1,U)))return null;var i=[],a=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(a=e.expectedType),n.unshift(-1/0);for(var o=0;o<n.length;o+=2){var s=n[o],l=n[o+1],c=o+1,u=o+2;if(\"number\"!=typeof s)return e.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',c);if(i.length&&i[i.length-1][0]>=s)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',c);var f=e.parse(l,u,a);if(!f)return null;a=a||f.type,i.push([s,f])}return new _t(a,r,i)},_t.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[bt(e,n)].evaluate(t)},_t.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},_t.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},_t.prototype.serialize=function(){for(var t=[\"step\",this.input.serialize()],e=0;e<this.labels.length;e++)e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var kt=Object.freeze({number:wt,color:function(t,e,r){return new tt(wt(t.r,e.r,r),wt(t.g,e.g,r),wt(t.b,e.b,r),wt(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,n){return wt(t,e[n],r)})}}),Mt=function(t,e,r,n){this.type=t,this.interpolation=e,this.input=r,this.labels=[],this.outputs=[];for(var i=0,a=n;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1];this.labels.push(s),this.outputs.push(l)}};function At(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}Mt.interpolationFactor=function(t,e,r,n){var i=0;if(\"exponential\"===t.name)i=At(e,t.base,r,n);else if(\"linear\"===t.name)i=At(e,1,r,n);else if(\"cubic-bezier\"===t.name){var o=t.controlPoints;i=new a(o[0],o[1],o[2],o[3]).solve(At(e,1,r,n))}return i},Mt.parse=function(t,e){var r=t[1],n=t[2],i=t.slice(3);if(!Array.isArray(r)||0===r.length)return e.error(\"Expected an interpolation type expression.\",1);if(\"linear\"===r[0])r={name:\"linear\"};else if(\"exponential\"===r[0]){var a=r[1];if(\"number\"!=typeof a)return e.error(\"Exponential interpolation requires a numeric base.\",1,1);r={name:\"exponential\",base:a}}else{if(\"cubic-bezier\"!==r[0])return e.error(\"Unknown interpolation type \"+String(r[0]),1,0);var o=r.slice(1);if(4!==o.length||o.some(function(t){return\"number\"!=typeof t||t<0||t>1}))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);r={name:\"cubic-bezier\",controlPoints:o}}if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(n=e.parse(n,2,U)))return null;var s=[],l=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(l=e.expectedType);for(var c=0;c<i.length;c+=2){var u=i[c],f=i[c+1],h=c+3,p=c+4;if(\"number\"!=typeof u)return e.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',h);if(s.length&&s[s.length-1][0]>=u)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',h);var d=e.parse(f,p,l);if(!d)return null;l=l||d.type,s.push([u,d])}return\"number\"===l.kind||\"color\"===l.kind||\"array\"===l.kind&&\"number\"===l.itemType.kind&&\"number\"==typeof l.N?new Mt(l,r,n,s):e.error(\"Type \"+$(l)+\" is not interpolatable.\")},Mt.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=bt(e,n),o=e[a],s=e[a+1],l=Mt.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(t),u=r[a+1].evaluate(t);return kt[this.type.kind.toLowerCase()](c,u,l)},Mt.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},Mt.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},Mt.prototype.serialize=function(){for(var t=[\"interpolate\",\"linear\"===this.interpolation.name?[\"linear\"]:\"exponential\"===this.interpolation.name?1===this.interpolation.base?[\"linear\"]:[\"exponential\",this.interpolation.base]:[\"cubic-bezier\"].concat(this.interpolation.controlPoints),this.input.serialize()],e=0;e<this.labels.length;e++)t.push(this.labels[e],this.outputs[e].serialize());return t};var Tt=function(t,e){this.type=t,this.args=e};Tt.parse=function(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");var r=null,n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);for(var i=[],a=0,o=t.slice(1);a<o.length;a+=1){var s=o[a],l=e.parse(s,1+i.length,r,void 0,{omitTypeAnnotations:!0});if(!l)return null;r=r||l.type,i.push(l)}var c=n&&i.some(function(t){return K(n,t.type)});return new Tt(c?Y:r,i)},Tt.prototype.evaluate=function(t){for(var e=null,r=0,n=this.args;r<n.length&&null===(e=n[r].evaluate(t));r+=1);return e},Tt.prototype.eachChild=function(t){this.args.forEach(t)},Tt.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},Tt.prototype.serialize=function(){var t=[\"coalesce\"];return this.eachChild(function(e){t.push(e.serialize())}),t};var St=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};St.prototype.evaluate=function(t){return this.result.evaluate(t)},St.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},St.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found \"+(t.length-1)+\" instead.\");for(var r=[],n=1;n<t.length-1;n+=2){var i=t[n];if(\"string\"!=typeof i)return e.error(\"Expected string, but found \"+typeof i+\" instead.\",n);if(/[^a-zA-Z0-9_]/.test(i))return e.error(\"Variable names must contain only alphanumeric characters or '_'.\",n);var a=e.parse(t[n+1],n+1);if(!a)return null;r.push([i,a])}var o=e.parse(t[t.length-1],t.length-1,void 0,r);return o?new St(r,o):null},St.prototype.possibleOutputs=function(){return this.result.possibleOutputs()},St.prototype.serialize=function(){for(var t=[\"let\"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t.push(i,a.serialize())}return t.push(this.result.serialize()),t};var Et=function(t,e,r){this.type=t,this.index=e,this.input=r};Et.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,U),n=e.parse(t[2],2,Z(e.expectedType||Y));if(!r||!n)return null;var i=n.type;return new Et(i.itemType,r,n)},Et.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new ot(\"Array index out of bounds: \"+e+\" < 0.\");if(e>=r.length)throw new ot(\"Array index out of bounds: \"+e+\" > \"+(r.length-1)+\".\");if(e!==Math.floor(e))throw new ot(\"Array index must be an integer, but found \"+e+\" instead.\");return r[e]},Et.prototype.eachChild=function(t){t(this.index),t(this.input)},Et.prototype.possibleOutputs=function(){return[void 0]},Et.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var Ct=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Ct.parse=function(t,e){if(t.length<5)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");var r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;o<t.length-1;o+=2){var s=t[o],l=t[o+1];Array.isArray(s)||(s=[s]);var c=e.concat(o);if(0===s.length)return c.error(\"Expected at least one branch label.\");for(var u=0,f=s;u<f.length;u+=1){var h=f[u];if(\"number\"!=typeof h&&\"string\"!=typeof h)return c.error(\"Branch labels must be numbers or strings.\");if(\"number\"==typeof h&&Math.abs(h)>Number.MAX_SAFE_INTEGER)return c.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof h&&Math.floor(h)!==h)return c.error(\"Numeric branch labels must be integer values.\");if(r){if(c.checkSubtype(r,it(h)))return null}else r=it(h);if(void 0!==i[String(h)])return c.error(\"Branch labels must be unique.\");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,r);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?new Ct(r,n,d,i,a,g):null},Ct.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Ct.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Ct.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},Ct.prototype.serialize=function(){for(var t=this,e=[\"match\",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i<a.length;i+=1){var o=a[i],s=n[t.cases[o]];void 0===s?(n[t.cases[o]]=r.length,r.push([t.cases[o],[o]])):r[s][1].push(o)}for(var l=function(e){return\"number\"===t.input.type.kind?Number(e):e},c=0,u=r;c<u.length;c+=1){var f=u[c],h=f[0],p=f[1];1===p.length?e.push(l(p[0])):e.push(p.map(l)),e.push(t.outputs[h].serialize())}return e.push(this.otherwise.serialize()),e};var Lt=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};function zt(t){return\"string\"===t.kind||\"number\"===t.kind||\"boolean\"===t.kind||\"null\"===t.kind}function Pt(t,e){return function(){function r(t,e,r){this.type=H,this.lhs=t,this.rhs=e,this.collator=r}return r.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");var n=e.parse(t[1],1,Y);if(!n)return null;var i=e.parse(t[2],2,Y);if(!i)return null;if(!zt(n.type)&&!zt(i.type))return e.error(\"Expected at least one argument to be a string, number, boolean, or null, but found (\"+$(n.type)+\", \"+$(i.type)+\") instead.\");if(n.type.kind!==i.type.kind&&\"value\"!==n.type.kind&&\"value\"!==i.type.kind)return e.error(\"Cannot compare \"+$(n.type)+\" and \"+$(i.type)+\".\");var a=null;if(4===t.length){if(\"string\"!==n.type.kind&&\"string\"!==i.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(!(a=e.parse(t[3],3,X)))return null}return new r(n,i,a)},r.prototype.evaluate=function(t){var r=this.collator?0===this.collator.evaluate(t).compare(this.lhs.evaluate(t),this.rhs.evaluate(t)):this.lhs.evaluate(t)===this.rhs.evaluate(t);return e?!r:r},r.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)},r.prototype.possibleOutputs=function(){return[!0,!1]},r.prototype.serialize=function(){var e=[t];return this.eachChild(function(t){e.push(t.serialize())}),e},r}()}Lt.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=0)return e.error(\"Expected an odd number of arguments.\");var r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],i=1;i<t.length-1;i+=2){var a=e.parse(t[i],i,H);if(!a)return null;var o=e.parse(t[i+1],i+1,r);if(!o)return null;n.push([a,o]),r=r||o.type}var s=e.parse(t[t.length-1],t.length-1,r);return s?new Lt(r,n,s):null},Lt.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];if(i.evaluate(t))return a.evaluate(t)}return this.otherwise.evaluate(t)},Lt.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t(i),t(a)}t(this.otherwise)},Lt.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.branches.map(function(t){return t[0],t[1].possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},Lt.prototype.serialize=function(){var t=[\"case\"];return this.eachChild(function(e){t.push(e.serialize())}),t};var Ot=Pt(\"==\",!1),It=Pt(\"!=\",!0),Dt=function(t){this.type=U,this.input=t};Dt.parse=function(t,e){if(2!==t.length)return e.error(\"Expected 1 argument, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(\"Expected argument of type string or array, but found \"+$(r.type)+\" instead.\"):new Dt(r):null},Dt.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new ot(\"Expected value to be of type string or array, but found \"+$(it(e))+\" instead.\")},Dt.prototype.eachChild=function(t){t(this.input)},Dt.prototype.possibleOutputs=function(){return[void 0]},Dt.prototype.serialize=function(){var t=[\"length\"];return this.eachChild(function(e){t.push(e.serialize())}),t};var Rt={\"==\":Ot,\"!=\":It,array:ut,at:Et,boolean:lt,case:Lt,coalesce:Tt,collator:rt,interpolate:Mt,length:Dt,let:St,literal:at,match:Ct,number:lt,object:lt,step:_t,string:lt,\"to-color\":ht,\"to-number\":ht,var:yt};function Bt(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=nt(r,n,i,o);if(s)throw new ot(s);return new tt(r/255*o,n/255*o,i/255*o,o)}function Ft(t,e){return t in e}function Nt(t,e){var r=e[t];return void 0===r?null:r}function jt(t,e){var r=e[0],n=e[1];return r.evaluate(t)<n.evaluate(t)}function Vt(t,e){var r=e[0],n=e[1];return r.evaluate(t)>n.evaluate(t)}function Ut(t,e){var r=e[0],n=e[1];return r.evaluate(t)<=n.evaluate(t)}function qt(t,e){var r=e[0],n=e[1];return r.evaluate(t)>=n.evaluate(t)}function Ht(t){return{type:t}}function Gt(t){return{result:\"success\",value:t}}function Wt(t){return{result:\"error\",value:t}}gt.register(Rt,{error:[{kind:\"error\"},[q],function(t,e){var r=e[0];throw new ot(r.evaluate(t))}],typeof:[q,[Y],function(t,e){return $(it(e[0].evaluate(t)))}],\"to-string\":[q,[Y],function(t,e){var r=e[0],n=typeof(r=r.evaluate(t));return null===r?\"\":\"string\"===n||\"number\"===n||\"boolean\"===n?String(r):r instanceof tt?r.toString():JSON.stringify(r)}],\"to-boolean\":[H,[Y],function(t,e){var r=e[0];return Boolean(r.evaluate(t))}],\"to-rgba\":[Z(U,4),[G],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[G,[U,U,U],Bt],rgba:[G,[U,U,U,U],Bt],has:{type:H,overloads:[[[q],function(t,e){return Ft(e[0].evaluate(t),t.properties())}],[[q,W],function(t,e){var r=e[0],n=e[1];return Ft(r.evaluate(t),n.evaluate(t))}]]},get:{type:Y,overloads:[[[q],function(t,e){return Nt(e[0].evaluate(t),t.properties())}],[[q,W],function(t,e){var r=e[0],n=e[1];return Nt(r.evaluate(t),n.evaluate(t))}]]},properties:[W,[],function(t){return t.properties()}],\"geometry-type\":[q,[],function(t){return t.geometryType()}],id:[Y,[],function(t){return t.id()}],zoom:[U,[],function(t){return t.globals.zoom}],\"heatmap-density\":[U,[],function(t){return t.globals.heatmapDensity||0}],\"line-progress\":[U,[],function(t){return t.globals.lineProgress||0}],\"+\":[U,Ht(U),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],\"*\":[U,Ht(U),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],\"-\":{type:U,overloads:[[[U,U],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[U],function(t,e){return-e[0].evaluate(t)}]]},\"/\":[U,[U,U],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],\"%\":[U,[U,U],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[U,[],function(){return Math.LN2}],pi:[U,[],function(){return Math.PI}],e:[U,[],function(){return Math.E}],\"^\":[U,[U,U],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[U,[U],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[U,[U],function(t,e){var r=e[0];return Math.log10(r.evaluate(t))}],ln:[U,[U],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[U,[U],function(t,e){var r=e[0];return Math.log2(r.evaluate(t))}],sin:[U,[U],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[U,[U],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[U,[U],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[U,[U],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[U,[U],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[U,[U],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[U,Ht(U),function(t,e){return Math.min.apply(Math,e.map(function(e){return e.evaluate(t)}))}],max:[U,Ht(U),function(t,e){return Math.max.apply(Math,e.map(function(e){return e.evaluate(t)}))}],abs:[U,[U],function(t,e){var r=e[0];return Math.abs(r.evaluate(t))}],round:[U,[U],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[U,[U],function(t,e){var r=e[0];return Math.floor(r.evaluate(t))}],ceil:[U,[U],function(t,e){var r=e[0];return Math.ceil(r.evaluate(t))}],\"filter-==\":[H,[q,Y],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],\"filter-id-==\":[H,[Y],function(t,e){var r=e[0];return t.id()===r.value}],\"filter-type-==\":[H,[q],function(t,e){var r=e[0];return t.geometryType()===r.value}],\"filter-<\":[H,[q,Y],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],\"filter-id-<\":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],\"filter->\":[H,[q,Y],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\"filter-id->\":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\"filter-<=\":[H,[q,Y],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\"filter-id-<=\":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\"filter->=\":[H,[q,Y],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\"filter-id->=\":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\"filter-has\":[H,[Y],function(t,e){return e[0].value in t.properties()}],\"filter-has-id\":[H,[],function(t){return null!==t.id()}],\"filter-type-in\":[H,[Z(q)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\"filter-id-in\":[H,[Z(Y)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\"filter-in-small\":[H,[q,Z(Y)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\"filter-in-large\":[H,[q,Z(Y)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],\">\":{type:H,overloads:[[[U,U],Vt],[[q,q],Vt],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))>0}]]},\"<\":{type:H,overloads:[[[U,U],jt],[[q,q],jt],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))<0}]]},\">=\":{type:H,overloads:[[[U,U],qt],[[q,q],qt],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))>=0}]]},\"<=\":{type:H,overloads:[[[U,U],Ut],[[q,q],Ut],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))<=0}]]},all:{type:H,overloads:[[[H,H],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Ht(H),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return!1;return!0}]]},any:{type:H,overloads:[[[H,H],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[Ht(H),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},\"!\":[H,[H],function(t,e){return!e[0].evaluate(t)}],\"is-supported-script\":[H,[q],function(t,e){var r=e[0],n=t.globals&&t.globals.isSupportedScript;return!n||n(r.evaluate(t))}],upcase:[q,[q],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[q,[q],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[q,Ht(q),function(t,e){return e.map(function(e){return e.evaluate(t)}).join(\"\")}],\"resolved-locale\":[q,[X],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var Yt=.95047,Xt=1,Zt=1.08883,$t=4/29,Jt=6/29,Kt=3*Jt*Jt,Qt=Jt*Jt*Jt,te=Math.PI/180,ee=180/Math.PI;function re(t){return t>Qt?Math.pow(t,1/3):t/Kt+$t}function ne(t){return t>Jt?t*t*t:Kt*(t-$t)}function ie(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ae(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function oe(t){var e=ae(t.r),r=ae(t.g),n=ae(t.b),i=re((.4124564*e+.3575761*r+.1804375*n)/Yt),a=re((.2126729*e+.7151522*r+.072175*n)/Xt);return{l:116*a-16,a:500*(i-a),b:200*(a-re((.0193339*e+.119192*r+.9503041*n)/Zt)),alpha:t.a}}function se(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=Xt*ne(e),r=Yt*ne(r),n=Zt*ne(n),new tt(ie(3.2404542*r-1.5371385*e-.4985314*n),ie(-.969266*r+1.8760108*e+.041556*n),ie(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var le={forward:oe,reverse:se,interpolate:function(t,e,r){return{l:wt(t.l,e.l,r),a:wt(t.a,e.a,r),b:wt(t.b,e.b,r),alpha:wt(t.alpha,e.alpha,r)}}},ce={forward:function(t){var e=oe(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*ee;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*te,r=t.c;return se({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:wt(t.c,e.c,r),l:wt(t.l,e.l,r),alpha:wt(t.alpha,e.alpha,r)}}},ue=Object.freeze({lab:le,hcl:ce});function fe(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function he(t){return\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function pe(t){return t}function de(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function ge(t,e,r,n,i){return de(typeof r===i?n[r]:void 0,t.default,e.default)}function me(t,e,r){if(\"number\"!==fe(r))return de(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var i=xe(t.stops,r);return t.stops[i][1]}function ve(t,e,r){var n=void 0!==t.base?t.base:1;if(\"number\"!==fe(r))return de(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=xe(t.stops,r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],c=kt[e.type]||pe;if(t.colorSpace&&\"rgb\"!==t.colorSpace){var u=ue[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return\"function\"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function ye(t,e,r){return\"color\"===e.type?r=tt.parse(r):fe(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),de(r,t.default,e.default)}function xe(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)][0],n=t[o+1][0],e===r||e>r&&e<n)return o;r<e?i=o+1:r>e&&(a=o-1)}return Math.max(o-1,0)}var be=function(t,e){var r;this.expression=t,this._warningHistory={},this._defaultValue=\"color\"===(r=e).type&&he(r.default)?new tt(0,0,0,0):\"color\"===r.type?tt.parse(r.default)||null:void 0===r.default?null:r.default,\"enum\"===e.type&&(this._enumValues=e.values)};function _e(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in Rt}function we(t,e){var r=new xt(Rt,[],function(t){var e={color:G,string:q,number:U,enum:q,boolean:H};return\"array\"===t.type?Z(e[t.value]||Y,t.length):e[t.type]||null}(e)),n=r.parse(t);return n?Gt(new be(n,e)):Wt(r.errors)}be.prototype.evaluateWithoutErrorHandling=function(t,e){return this._evaluator||(this._evaluator=new dt),this._evaluator.globals=t,this._evaluator.feature=e,this.expression.evaluate(this._evaluator)},be.prototype.evaluate=function(t,e){this._evaluator||(this._evaluator=new dt),this._evaluator.globals=t,this._evaluator.feature=e;try{var r=this.expression.evaluate(this._evaluator);if(null==r)return this._defaultValue;if(this._enumValues&&!(r in this._enumValues))throw new ot(\"Expected value to be one of \"+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(\", \")+\", but found \"+JSON.stringify(r)+\" instead.\");return r}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}};var ke=function(t,e){this.kind=t,this._styleExpression=e};ke.prototype.evaluateWithoutErrorHandling=function(t,e){return this._styleExpression.evaluateWithoutErrorHandling(t,e)},ke.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)};var Me=function(t,e,r){this.kind=t,this.zoomStops=r.labels,this._styleExpression=e,r instanceof Mt&&(this._interpolationType=r.interpolation)};function Ae(t,e){if(\"error\"===(t=we(t,e)).result)return t;var r=t.value.expression,n=mt(r);if(!n&&!e[\"property-function\"])return Wt([new N(\"\",\"property expressions not supported\")]);var i=vt(r,[\"zoom\"]);if(!i&&!1===e[\"zoom-function\"])return Wt([new N(\"\",\"zoom expressions not supported\")]);var a=function t(e){var r=null;if(e instanceof St)r=t(e.result);else if(e instanceof Tt)for(var n=0,i=e.args;n<i.length;n+=1){var a=i[n];if(r=t(a))break}else(e instanceof _t||e instanceof Mt)&&e.input instanceof gt&&\"zoom\"===e.input.name&&(r=e);return r instanceof N?r:(e.eachChild(function(e){var n=t(e);n instanceof N?r=n:!r&&n?r=new N(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):r&&n&&r!==n&&(r=new N(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),r)}(r);return a||i?a instanceof N?Wt([a]):a instanceof Mt&&\"piecewise-constant\"===e.function?Wt([new N(\"\",'\"interpolate\" expressions cannot be used with this property')]):Gt(a?new Me(n?\"camera\":\"composite\",t.value,a):new ke(n?\"constant\":\"source\",t.value)):Wt([new N(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}Me.prototype.evaluateWithoutErrorHandling=function(t,e){return this._styleExpression.evaluateWithoutErrorHandling(t,e)},Me.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)},Me.prototype.interpolationFactor=function(t,e,r){return this._interpolationType?Mt.interpolationFactor(this._interpolationType,t,e,r):0};var Te=function(t,e){this._parameters=t,this._specification=e,R(this,function t(e,r){var n,i,a,o=\"color\"===r.type,s=e.stops&&\"object\"==typeof e.stops[0][0],l=s||void 0!==e.property,c=s||!l,u=e.type||(\"interpolated\"===r.function?\"exponential\":\"interval\");if(o&&((e=R({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],tt.parse(t[1])]})),e.default?e.default=tt.parse(e.default):e.default=tt.parse(r.default)),e.colorSpace&&\"rgb\"!==e.colorSpace&&!ue[e.colorSpace])throw new Error(\"Unknown color space: \"+e.colorSpace);if(\"exponential\"===u)n=ve;else if(\"interval\"===u)n=me;else if(\"categorical\"===u){n=ge,i=Object.create(null);for(var f=0,h=e.stops;f<h.length;f+=1){var p=h[f];i[p[0]]=p[1]}a=typeof e.stops[0][0]}else{if(\"identity\"!==u)throw new Error('Unknown function type \"'+u+'\"');n=ye}if(s){for(var d={},g=[],m=0;m<e.stops.length;m++){var v=e.stops[m],y=v[0].zoom;void 0===d[y]&&(d[y]={zoom:y,type:e.type,property:e.property,default:e.default,stops:[]},g.push(y)),d[y].stops.push([v[0].value,v[1]])}for(var x=[],b=0,_=g;b<_.length;b+=1){var w=_[b];x.push([d[w].zoom,t(d[w],r)])}return{kind:\"composite\",interpolationFactor:Mt.interpolationFactor.bind(void 0,{name:\"linear\"}),zoomStops:x.map(function(t){return t[0]}),evaluate:function(t,n){var i=t.zoom;return ve({stops:x,base:e.base},r,i).evaluate(i,n)}}}return c?{kind:\"camera\",interpolationFactor:\"exponential\"===u?Mt.interpolationFactor.bind(void 0,{name:\"exponential\",base:void 0!==e.base?e.base:1}):function(){return 0},zoomStops:e.stops.map(function(t){return t[0]}),evaluate:function(t){var o=t.zoom;return n(e,r,o,i,a)}}:{kind:\"source\",evaluate:function(t,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?de(e.default,r.default):n(e,r,s,i,a)}}}(this._parameters,this._specification))};function Se(t,e){if(he(t))return new Te(t,e);if(_e(t)){var r=Ae(t,e);if(\"error\"===r.result)throw new Error(r.value.map(function(t){return t.key+\": \"+t.message}).join(\", \"));return r.value}var n=t;return\"string\"==typeof t&&\"color\"===e.type&&(n=tt.parse(t)),{kind:\"constant\",evaluate:function(){return n}}}function Ee(t){var e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},a=t.style,o=t.styleSpec,s=[],l=fe(r);if(\"object\"!==l)return[new I(e,r,\"object expected, \"+l+\" found\")];for(var c in r){var u=c.split(\".\")[0],f=n[u]||n[\"*\"],h=void 0;if(i[u])h=i[u];else if(n[u])h=Ke;else if(i[\"*\"])h=i[\"*\"];else{if(!n[\"*\"]){s.push(new I(e,r[c],'unknown property \"'+c+'\"'));continue}h=Ke}s=s.concat(h({key:(e?e+\".\":e)+c,value:r[c],valueSpec:f,style:a,styleSpec:o,object:r,objectKey:c},r))}for(var p in n)i[p]||n[p].required&&void 0===n[p].default&&void 0===r[p]&&s.push(new I(e,r,'missing required property \"'+p+'\"'));return s}function Ce(t){var e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,a=t.key,o=t.arrayElementValidator||Ke;if(\"array\"!==fe(e))return[new I(a,e,\"array expected, \"+fe(e)+\" found\")];if(r.length&&e.length!==r.length)return[new I(a,e,\"array length \"+r.length+\" expected, length \"+e.length+\" found\")];if(r[\"min-length\"]&&e.length<r[\"min-length\"])return[new I(a,e,\"array length at least \"+r[\"min-length\"]+\" expected, length \"+e.length+\" found\")];var s={type:r.value};i.$version<7&&(s.function=r.function),\"object\"===fe(r.value)&&(s=r.value);for(var l=[],c=0;c<e.length;c++)l=l.concat(o({array:e,arrayIndex:c,value:e[c],valueSpec:s,style:n,styleSpec:i,key:a+\"[\"+c+\"]\"}));return l}function Le(t){var e=t.key,r=t.value,n=t.valueSpec,i=fe(r);return\"number\"!==i?[new I(e,r,\"number expected, \"+i+\" found\")]:\"minimum\"in n&&r<n.minimum?[new I(e,r,r+\" is less than the minimum value \"+n.minimum)]:\"maximum\"in n&&r>n.maximum?[new I(e,r,r+\" is greater than the maximum value \"+n.maximum)]:[]}function ze(t){var e,r,n,i=t.valueSpec,a=B(t.value.type),o={},s=\"categorical\"!==a&&void 0===t.value.property,l=!s,c=\"array\"===fe(t.value.stops)&&\"array\"===fe(t.value.stops[0])&&\"object\"===fe(t.value.stops[0][0]),u=Ee({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===a)return[new I(t.key,t.value,'identity function may not have a \"stops\" property')];var e=[],r=t.value;return e=e.concat(Ce({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),\"array\"===fe(r)&&0===r.length&&e.push(new I(t.key,r,\"array must have at least one stop\")),e},default:function(t){return Ke({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return\"identity\"===a&&s&&u.push(new I(t.key,t.value,'missing required property \"property\"')),\"identity\"===a||t.value.stops||u.push(new I(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===a&&\"piecewise-constant\"===t.valueSpec.function&&u.push(new I(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!t.valueSpec[\"property-function\"]?u.push(new I(t.key,t.value,\"property functions not supported\")):s&&!t.valueSpec[\"zoom-function\"]&&\"heatmap-color\"!==t.objectKey&&\"line-gradient\"!==t.objectKey&&u.push(new I(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==a&&!c||void 0!==t.value.property||u.push(new I(t.key,t.value,'\"property\" property is required')),u;function f(t){var e=[],a=t.value,s=t.key;if(\"array\"!==fe(a))return[new I(s,a,\"array expected, \"+fe(a)+\" found\")];if(2!==a.length)return[new I(s,a,\"array length 2 expected, length \"+a.length+\" found\")];if(c){if(\"object\"!==fe(a[0]))return[new I(s,a,\"object expected, \"+fe(a[0])+\" found\")];if(void 0===a[0].zoom)return[new I(s,a,\"object stop key must have zoom\")];if(void 0===a[0].value)return[new I(s,a,\"object stop key must have value\")];if(n&&n>B(a[0].zoom))return[new I(s,a[0].zoom,\"stop zoom values must appear in ascending order\")];B(a[0].zoom)!==n&&(n=B(a[0].zoom),r=void 0,o={}),e=e.concat(Ee({key:s+\"[0]\",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Le,value:h}}))}else e=e.concat(h({key:s+\"[0]\",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return e.concat(Ke({key:s+\"[1]\",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=fe(t.value),l=B(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new I(t.key,c,s+\" stop domain type must match previous stop domain type \"+e)]}else e=s;if(\"number\"!==s&&\"string\"!==s&&\"boolean\"!==s)return[new I(t.key,c,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==s&&\"categorical\"!==a){var u=\"number expected, \"+s+\" found\";return i[\"property-function\"]&&void 0===a&&(u+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new I(t.key,c,u)]}return\"categorical\"!==a||\"number\"!==s||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==a&&\"number\"===s&&void 0!==r&&l<r?[new I(t.key,c,\"stop domain values must appear in ascending order\")]:(r=l,\"categorical\"===a&&l in o?[new I(t.key,c,\"stop domain values must be unique\")]:(o[l]=!0,[])):[new I(t.key,c,\"integer expected, found \"+l)]}}function Pe(t){var e=(\"property\"===t.expressionContext?Ae:we)(F(t.value),t.valueSpec);return\"error\"===e.result?e.value.map(function(e){return new I(\"\"+t.key+e.key,t.value,e.message)}):\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&-1!==e.value._styleExpression.expression.possibleOutputs().indexOf(void 0)?[new I(t.key,t.value,'Invalid data expression for \"text-font\". Output values must be contained as literals within the expression.')]:[]}function Oe(t){var e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(B(r))&&i.push(new I(e,r,\"expected one of [\"+n.values.join(\", \")+\"], \"+JSON.stringify(r)+\" found\")):-1===Object.keys(n.values).indexOf(B(r))&&i.push(new I(e,r,\"expected one of [\"+Object.keys(n.values).join(\", \")+\"], \"+JSON.stringify(r)+\" found\")),i}function Ie(t){if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case\"has\":return t.length>=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3===t.length&&(Array.isArray(t[1])||Array.isArray(t[2]));case\"any\":case\"all\":for(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!Ie(n)&&\"boolean\"!=typeof n)return!1}return!0;default:return!0}}Te.deserialize=function(t){return new Te(t._parameters,t._specification)},Te.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}};var De={type:\"boolean\",default:!1,function:!0,\"property-function\":!0,\"zoom-function\":!0};function Re(t){if(!t)return function(){return!0};Ie(t)||(t=Fe(t));var e=we(t,De);if(\"error\"===e.result)throw new Error(e.value.map(function(t){return t.key+\": \"+t.message}).join(\", \"));return function(t,r){return e.value.evaluate(t,r)}}function Be(t,e){return t<e?-1:t>e?1:0}function Fe(t){if(!t)return!0;var e,r=t[0];return t.length<=1?\"any\"!==r:\"==\"===r?Ne(t[1],t[2],\"==\"):\"!=\"===r?Ue(Ne(t[1],t[2],\"==\")):\"<\"===r||\">\"===r||\"<=\"===r||\">=\"===r?Ne(t[1],t[2],r):\"any\"===r?(e=t.slice(1),[\"any\"].concat(e.map(Fe))):\"all\"===r?[\"all\"].concat(t.slice(1).map(Fe)):\"none\"===r?[\"all\"].concat(t.slice(1).map(Fe).map(Ue)):\"in\"===r?je(t[1],t.slice(2)):\"!in\"===r?Ue(je(t[1],t.slice(2))):\"has\"===r?Ve(t[1]):\"!has\"!==r||Ue(Ve(t[1]))}function Ne(t,e,r){switch(t){case\"$type\":return[\"filter-type-\"+r,e];case\"$id\":return[\"filter-id-\"+r,e];default:return[\"filter-\"+r,t,e]}}function je(t,e){if(0===e.length)return!1;switch(t){case\"$type\":return[\"filter-type-in\",[\"literal\",e]];case\"$id\":return[\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some(function(t){return typeof t!=typeof e[0]})?[\"filter-in-large\",t,[\"literal\",e.sort(Be)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function Ve(t){switch(t){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",t]}}function Ue(t){return[\"!\",t]}function qe(t){return Ie(F(t.value))?Pe(R({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):function t(e){var r=e.value,n=e.key;if(\"array\"!==fe(r))return[new I(n,r,\"array expected, \"+fe(r)+\" found\")];var i,a=e.styleSpec,o=[];if(r.length<1)return[new I(n,r,\"filter array must have at least 1 element\")];switch(o=o.concat(Oe({key:n+\"[0]\",value:r[0],valueSpec:a.filter_operator,style:e.style,styleSpec:e.styleSpec})),B(r[0])){case\"<\":case\"<=\":case\">\":case\">=\":r.length>=2&&\"$type\"===B(r[1])&&o.push(new I(n,r,'\"$type\" cannot be use with operator \"'+r[0]+'\"'));case\"==\":case\"!=\":3!==r.length&&o.push(new I(n,r,'filter array for operator \"'+r[0]+'\" must have 3 elements'));case\"in\":case\"!in\":r.length>=2&&\"string\"!==(i=fe(r[1]))&&o.push(new I(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"));for(var s=2;s<r.length;s++)i=fe(r[s]),\"$type\"===B(r[1])?o=o.concat(Oe({key:n+\"[\"+s+\"]\",value:r[s],valueSpec:a.geometry_type,style:e.style,styleSpec:e.styleSpec})):\"string\"!==i&&\"number\"!==i&&\"boolean\"!==i&&o.push(new I(n+\"[\"+s+\"]\",r[s],\"string, number, or boolean expected, \"+i+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var l=1;l<r.length;l++)o=o.concat(t({key:n+\"[\"+l+\"]\",value:r[l],style:e.style,styleSpec:e.styleSpec}));break;case\"has\":case\"!has\":i=fe(r[1]),2!==r.length?o.push(new I(n,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"string\"!==i&&o.push(new I(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"))}return o}(t)}function He(t,e){var r=t.key,n=t.style,i=t.styleSpec,a=t.value,o=t.objectKey,s=i[e+\"_\"+t.layerType];if(!s)return[];var l=o.match(/^(.*)-transition$/);if(\"paint\"===e&&l&&s[l[1]]&&s[l[1]].transition)return Ke({key:r,value:a,valueSpec:i.transition,style:n,styleSpec:i});var c,u=t.valueSpec||s[o];if(!u)return[new I(r,a,'unknown property \"'+o+'\"')];if(\"string\"===fe(a)&&u[\"property-function\"]&&!u.tokens&&(c=/^{([^}]+)}$/.exec(a)))return[new I(r,a,'\"'+o+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(c[1])+\" }`.\")];var f=[];return\"symbol\"===t.layerType&&(\"text-field\"===o&&n&&!n.glyphs&&f.push(new I(r,a,'use of \"text-field\" requires a style \"glyphs\" property')),\"text-font\"===o&&he(F(a))&&\"identity\"===B(a.type)&&f.push(new I(r,a,'\"text-font\" does not support identity functions'))),f.concat(Ke({key:t.key,value:a,valueSpec:u,style:n,styleSpec:i,expressionContext:\"property\",propertyKey:o}))}function Ge(t){return He(t,\"paint\")}function We(t){return He(t,\"layout\")}function Ye(t){var e=[],r=t.value,n=t.key,i=t.style,a=t.styleSpec;r.type||r.ref||e.push(new I(n,r,'either \"type\" or \"ref\" is required'));var o,s=B(r.type),l=B(r.ref);if(r.id)for(var c=B(r.id),u=0;u<t.arrayIndex;u++){var f=i.layers[u];B(f.id)===c&&e.push(new I(n,r.id,'duplicate layer id \"'+r.id+'\", previously used at line '+f.id.__line__))}if(\"ref\"in r)[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(function(t){t in r&&e.push(new I(n,r[t],'\"'+t+'\" is prohibited for ref layers'))}),i.layers.forEach(function(t){B(t.id)===l&&(o=t)}),o?o.ref?e.push(new I(n,r.ref,\"ref cannot reference another ref layer\")):s=B(o.type):e.push(new I(n,r.ref,'ref layer \"'+l+'\" not found'));else if(\"background\"!==s)if(r.source){var h=i.sources&&i.sources[r.source],p=h&&B(h.type);h?\"vector\"===p&&\"raster\"===s?e.push(new I(n,r.source,'layer \"'+r.id+'\" requires a raster source')):\"raster\"===p&&\"raster\"!==s?e.push(new I(n,r.source,'layer \"'+r.id+'\" requires a vector source')):\"vector\"!==p||r[\"source-layer\"]?\"raster-dem\"===p&&\"hillshade\"!==s?e.push(new I(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==s||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===p&&h.lineMetrics||e.push(new I(n,r,'layer \"'+r.id+'\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new I(n,r,'layer \"'+r.id+'\" must specify a \"source-layer\"')):e.push(new I(n,r.source,'source \"'+r.source+'\" not found'))}else e.push(new I(n,r,'missing required property \"source\"'));return e=e.concat(Ee({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(){return[]},type:function(){return Ke({key:n+\".type\",value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\"type\"})},filter:qe,layout:function(t){return Ee({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return We(R({layerType:s},t))}}})},paint:function(t){return Ee({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return Ge(R({layerType:s},t))}}})}}}))}function Xe(t){var e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return[new I(r,e,'\"type\" is required')];var a=B(e.type),o=[];switch(a){case\"vector\":case\"raster\":case\"raster-dem\":if(o=o.concat(Ee({key:r,value:e,valueSpec:n[\"source_\"+a.replace(\"-\",\"_\")],style:t.style,styleSpec:n})),\"url\"in e)for(var s in e)[\"type\",\"url\",\"tileSize\"].indexOf(s)<0&&o.push(new I(r+\".\"+s,e[s],'a source with a \"url\" property may not include a \"'+s+'\" property'));return o;case\"geojson\":return Ee({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n});case\"video\":return Ee({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case\"image\":return Ee({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case\"canvas\":return o.push(new I(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")),o;default:return Oe({key:r+\".type\",value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,styleSpec:n})}}function Ze(t){var e=t.value,r=t.styleSpec,n=r.light,i=t.style,a=[],o=fe(e);if(void 0===e)return a;if(\"object\"!==o)return a.concat([new I(\"light\",e,\"object expected, \"+o+\" found\")]);for(var s in e){var l=s.match(/^(.*)-transition$/);a=l&&n[l[1]]&&n[l[1]].transition?a.concat(Ke({key:s,value:e[s],valueSpec:r.transition,style:i,styleSpec:r})):n[s]?a.concat(Ke({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r})):a.concat([new I(s,e[s],'unknown property \"'+s+'\"')])}return a}function $e(t){var e=t.value,r=t.key,n=fe(e);return\"string\"!==n?[new I(r,e,\"string expected, \"+n+\" found\")]:[]}var Je={\"*\":function(){return[]},array:Ce,boolean:function(t){var e=t.value,r=t.key,n=fe(e);return\"boolean\"!==n?[new I(r,e,\"boolean expected, \"+n+\" found\")]:[]},number:Le,color:function(t){var e=t.key,r=t.value,n=fe(r);return\"string\"!==n?[new I(e,r,\"color expected, \"+n+\" found\")]:null===Q(r)?[new I(e,r,'color expected, \"'+r+'\" found')]:[]},constants:D,enum:Oe,filter:qe,function:ze,layer:Ye,object:Ee,source:Xe,light:Ze,string:$e};function Ke(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.function&&he(B(e))?ze(t):r.function&&_e(F(e))?Pe(t):r.type&&Je[r.type]?Je[r.type](t):Ee(R({},t,{valueSpec:r.type?n[r.type]:r}))}function Qe(t){var e=t.value,r=t.key,n=$e(t);return n.length?n:(-1===e.indexOf(\"{fontstack}\")&&n.push(new I(r,e,'\"glyphs\" url must include a \"{fontstack}\" token')),-1===e.indexOf(\"{range}\")&&n.push(new I(r,e,'\"glyphs\" url must include a \"{range}\" token')),n)}function tr(t,e){e=e||O;var r=[];return r=r.concat(Ke({key:\"\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Qe,\"*\":function(){return[]}}})),t.constants&&(r=r.concat(D({key:\"constants\",value:t.constants,style:t,styleSpec:e}))),er(r)}function er(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function rr(t){return function(){return er(t.apply(this,arguments))}}tr.source=rr(Xe),tr.light=rr(Ze),tr.layer=rr(Ye),tr.filter=rr(qe),tr.paintProperty=rr(Ge),tr.layoutProperty=rr(We);var nr=tr,ir=tr.light,ar=tr.paintProperty,or=tr.layoutProperty;function sr(t,e){var r=!1;if(e&&e.length)for(var n=0,i=e;n<i.length;n+=1){var a=i[n];t.fire(new z(new Error(a.message))),r=!0}return r}var lr=ur,cr=3;function ur(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var i=new Int32Array(this.arrayBuffer);t=i[0],e=i[1],r=i[2],this.d=e+2*r;for(var a=0;a<this.d*this.d;a++){var o=i[cr+a],s=i[cr+a+1];n.push(o===s?null:i.subarray(o,s))}var l=i[cr+n.length],c=i[cr+n.length+1];this.keys=i.subarray(l,c),this.bboxes=i.subarray(c),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var u=0;u<this.d*this.d;u++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var f=r/e*t;this.min=-f,this.max=t+f}ur.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},ur.prototype._insertReadonly=function(){throw\"Cannot insert into a GridIndex created from an ArrayBuffer.\"},ur.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},ur.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t<=i&&e<=i&&a<=r&&a<=n)return Array.prototype.slice.call(this.keys);var o=[];return this._forEachCell(t,e,r,n,this._queryCell,o,{}),o},ur.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,c=this.bboxes,u=0;u<s.length;u++){var f=s[u];if(void 0===o[f]){var h=4*f;t<=c[h+2]&&e<=c[h+3]&&r>=c[h+0]&&n>=c[h+1]?(o[f]=!0,a.push(l[f])):o[f]=!1}}},ur.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),c=this._convertToCellCoord(r),u=this._convertToCellCoord(n),f=s;f<=c;f++)for(var h=l;h<=u;h++){var p=this.d*h+f;if(i.call(this,t,e,r,n,p,a,o))return}},ur.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},ur.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=cr+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var i=new Int32Array(e+r+this.keys.length+this.bboxes.length);i[0]=this.extent,i[1]=this.n,i[2]=this.padding;for(var a=e,o=0;o<t.length;o++){var s=t[o];i[cr+o]=a,i.set(s,a),a+=s.length}return i[cr+t.length]=a,i.set(this.keys,a),a+=this.keys.length,i[cr+t.length+1]=a,i.set(this.bboxes,a),a+=this.bboxes.length,i.buffer};var fr=self.ImageData,hr={};function pr(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,\"_classRegistryKey\",{value:t,writeable:!1}),hr[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}for(var dr in pr(\"Object\",Object),lr.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),r},lr.deserialize=function(t){return new lr(t)},pr(\"Grid\",lr),pr(\"Color\",tt),pr(\"Error\",Error),pr(\"StylePropertyFunction\",Te),pr(\"StyleExpression\",be,{omit:[\"_evaluator\"]}),pr(\"ZoomDependentExpression\",Me),pr(\"ZoomConstantExpression\",ke),pr(\"CompoundExpression\",gt,{omit:[\"_evaluate\"]}),Rt)Rt[dr]._classRegistryKey||pr(\"Expression_\"+dr,Rt[dr]);function gr(t,e){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp)return t;if(t instanceof ArrayBuffer)return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof fr)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],i=0,a=t;i<a.length;i+=1){var o=a[i];n.push(gr(o,e))}return n}if(\"object\"==typeof t){var s=t.constructor,l=s._classRegistryKey;if(!l)throw new Error(\"can't serialize object of unregistered class\");var c={};if(s.serialize)c._serialized=s.serialize(t,e);else{for(var u in t)if(t.hasOwnProperty(u)&&!(hr[l].omit.indexOf(u)>=0)){var f=t[u];c[u]=hr[l].shallow.indexOf(u)>=0?f:gr(f,e)}t instanceof Error&&(c.message=t.message)}return{name:l,properties:c}}throw new Error(\"can't serialize object of type \"+typeof t)}function mr(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof ArrayBuffer||ArrayBuffer.isView(t)||t instanceof fr)return t;if(Array.isArray(t))return t.map(function(t){return mr(t)});if(\"object\"==typeof t){var e=t,r=e.name,n=e.properties;if(!r)throw new Error(\"can't deserialize object of anonymous class\");var i=hr[r].klass;if(!i)throw new Error(\"can't deserialize unregistered class \"+r);if(i.deserialize)return i.deserialize(n._serialized);for(var a=Object.create(i.prototype),o=0,s=Object.keys(n);o<s.length;o+=1){var l=s[o];a[l]=hr[r].shallow.indexOf(l)>=0?n[l]:mr(n[l])}return a}throw new Error(\"can't deserialize object of type \"+typeof t)}var vr=function(){this.first=!0};vr.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var yr={\"Latin-1 Supplement\":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},\"Arabic Supplement\":function(t){return t>=1872&&t<=1919},\"Arabic Extended-A\":function(t){return t>=2208&&t<=2303},\"Hangul Jamo\":function(t){return t>=4352&&t<=4607},\"Unified Canadian Aboriginal Syllabics\":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(t){return t>=6320&&t<=6399},\"General Punctuation\":function(t){return t>=8192&&t<=8303},\"Letterlike Symbols\":function(t){return t>=8448&&t<=8527},\"Number Forms\":function(t){return t>=8528&&t<=8591},\"Miscellaneous Technical\":function(t){return t>=8960&&t<=9215},\"Control Pictures\":function(t){return t>=9216&&t<=9279},\"Optical Character Recognition\":function(t){return t>=9280&&t<=9311},\"Enclosed Alphanumerics\":function(t){return t>=9312&&t<=9471},\"Geometric Shapes\":function(t){return t>=9632&&t<=9727},\"Miscellaneous Symbols\":function(t){return t>=9728&&t<=9983},\"Miscellaneous Symbols and Arrows\":function(t){return t>=11008&&t<=11263},\"CJK Radicals Supplement\":function(t){return t>=11904&&t<=12031},\"Kangxi Radicals\":function(t){return t>=12032&&t<=12255},\"Ideographic Description Characters\":function(t){return t>=12272&&t<=12287},\"CJK Symbols and Punctuation\":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},\"Hangul Compatibility Jamo\":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},\"Bopomofo Extended\":function(t){return t>=12704&&t<=12735},\"CJK Strokes\":function(t){return t>=12736&&t<=12783},\"Katakana Phonetic Extensions\":function(t){return t>=12784&&t<=12799},\"Enclosed CJK Letters and Months\":function(t){return t>=12800&&t<=13055},\"CJK Compatibility\":function(t){return t>=13056&&t<=13311},\"CJK Unified Ideographs Extension A\":function(t){return t>=13312&&t<=19903},\"Yijing Hexagram Symbols\":function(t){return t>=19904&&t<=19967},\"CJK Unified Ideographs\":function(t){return t>=19968&&t<=40959},\"Yi Syllables\":function(t){return t>=40960&&t<=42127},\"Yi Radicals\":function(t){return t>=42128&&t<=42191},\"Hangul Jamo Extended-A\":function(t){return t>=43360&&t<=43391},\"Hangul Syllables\":function(t){return t>=44032&&t<=55215},\"Hangul Jamo Extended-B\":function(t){return t>=55216&&t<=55295},\"Private Use Area\":function(t){return t>=57344&&t<=63743},\"CJK Compatibility Ideographs\":function(t){return t>=63744&&t<=64255},\"Arabic Presentation Forms-A\":function(t){return t>=64336&&t<=65023},\"Vertical Forms\":function(t){return t>=65040&&t<=65055},\"CJK Compatibility Forms\":function(t){return t>=65072&&t<=65103},\"Small Form Variants\":function(t){return t>=65104&&t<=65135},\"Arabic Presentation Forms-B\":function(t){return t>=65136&&t<=65279},\"Halfwidth and Fullwidth Forms\":function(t){return t>=65280&&t<=65519}};function xr(t){for(var e=0,r=t;e<r.length;e+=1)if(_r(r[e].charCodeAt(0)))return!0;return!1}function br(t){return!(yr.Arabic(t)||yr[\"Arabic Supplement\"](t)||yr[\"Arabic Extended-A\"](t)||yr[\"Arabic Presentation Forms-A\"](t)||yr[\"Arabic Presentation Forms-B\"](t))}function _r(t){return!!(746===t||747===t||!(t<4352)&&(yr[\"Bopomofo Extended\"](t)||yr.Bopomofo(t)||yr[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||yr[\"CJK Compatibility Ideographs\"](t)||yr[\"CJK Compatibility\"](t)||yr[\"CJK Radicals Supplement\"](t)||yr[\"CJK Strokes\"](t)||!(!yr[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||yr[\"CJK Unified Ideographs Extension A\"](t)||yr[\"CJK Unified Ideographs\"](t)||yr[\"Enclosed CJK Letters and Months\"](t)||yr[\"Hangul Compatibility Jamo\"](t)||yr[\"Hangul Jamo Extended-A\"](t)||yr[\"Hangul Jamo Extended-B\"](t)||yr[\"Hangul Jamo\"](t)||yr[\"Hangul Syllables\"](t)||yr.Hiragana(t)||yr[\"Ideographic Description Characters\"](t)||yr.Kanbun(t)||yr[\"Kangxi Radicals\"](t)||yr[\"Katakana Phonetic Extensions\"](t)||yr.Katakana(t)&&12540!==t||!(!yr[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!yr[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||yr[\"Unified Canadian Aboriginal Syllabics\"](t)||yr[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||yr[\"Vertical Forms\"](t)||yr[\"Yijing Hexagram Symbols\"](t)||yr[\"Yi Syllables\"](t)||yr[\"Yi Radicals\"](t)))}function wr(t){return!(_r(t)||function(t){return!!(yr[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||yr[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||yr[\"Letterlike Symbols\"](t)||yr[\"Number Forms\"](t)||yr[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||yr[\"Control Pictures\"](t)&&9251!==t||yr[\"Optical Character Recognition\"](t)||yr[\"Enclosed Alphanumerics\"](t)||yr[\"Geometric Shapes\"](t)||yr[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||yr[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||yr[\"CJK Symbols and Punctuation\"](t)||yr.Katakana(t)||yr[\"Private Use Area\"](t)||yr[\"CJK Compatibility Forms\"](t)||yr[\"Small Form Variants\"](t)||yr[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function kr(t,e){return!(!e&&(t>=1424&&t<=2303||yr[\"Arabic Presentation Forms-A\"](t)||yr[\"Arabic Presentation Forms-B\"](t))||t>=2304&&t<=3583||t>=3840&&t<=4255||yr.Khmer(t))}var Mr,Ar=!1,Tr=null,Sr=!1,Er=new P,Cr={applyArabicShaping:null,processBidirectionalText:null,isLoaded:function(){return Sr||null!=Cr.applyArabicShaping}},Lr=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new vr,this.transition={})};Lr.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1)if(!kr(n[r].charCodeAt(0),e))return!1;return!0}(t,Cr.isLoaded())},Lr.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)};var zr=function(t,e){this.property=t,this.value=e,this.expression=Se(void 0===e?t.specification.default:e,t.specification)};zr.prototype.isDataDriven=function(){return\"source\"===this.expression.kind||\"composite\"===this.expression.kind},zr.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var Pr=function(t){this.property=t,this.value=new zr(t,void 0)};Pr.prototype.transitioned=function(t,e){return new Ir(this.property,this.value,e,p({},t.transition,this.transition),t.now)},Pr.prototype.untransitioned=function(){return new Ir(this.property,this.value,null,{},0)};var Or=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Or.prototype.getValue=function(t){return x(this._values[t].value.value)},Or.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Pr(this._values[t].property)),this._values[t].value=new zr(this._values[t].property,null===e?void 0:x(e))},Or.prototype.getTransition=function(t){return x(this._values[t].transition)},Or.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Pr(this._values[t].property)),this._values[t].transition=x(e)||void 0},Or.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);var a=this.getTransition(n);void 0!==a&&(t[n+\"-transition\"]=a)}return t},Or.prototype.transitioned=function(t,e){for(var r=new Dr(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a])}return r},Or.prototype.untransitioned=function(){for(var t=new Dr(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned()}return t};var Ir=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};Ir.prototype.possiblyEvaluate=function(t){var e=t.now||0,r=this.value.possiblyEvaluate(t),n=this.prior;if(n){if(e>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e<this.begin)return n.possiblyEvaluate(t);var i=(e-this.begin)/(this.end-this.begin);return this.property.interpolate(n.possiblyEvaluate(t),r,function(t){if(i<=0)return 0;if(i>=1)return 1;var e=i*i,r=e*i;return 4*(i<.5?r:3*(i-e)+r-.75)}())}return r};var Dr=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Dr.prototype.possiblyEvaluate=function(t){for(var e=new Fr(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e},Dr.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var Rr=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};Rr.prototype.getValue=function(t){return x(this._values[t].value)},Rr.prototype.setValue=function(t,e){this._values[t]=new zr(this._values[t].property,null===e?void 0:x(e))},Rr.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i)}return t},Rr.prototype.possiblyEvaluate=function(t){for(var e=new Fr(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e};var Br=function(t,e,r){this.property=t,this.value=e,this.globals=r};Br.prototype.isConstant=function(){return\"constant\"===this.value.kind},Br.prototype.constantOr=function(t){return\"constant\"===this.value.kind?this.value.value:t},Br.prototype.evaluate=function(t){return this.property.evaluate(this.value,this.globals,t)};var Fr=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};Fr.prototype.get=function(t){return this._values[t]};var Nr=function(t){this.specification=t};Nr.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},Nr.prototype.interpolate=function(t,e,r){var n=kt[this.specification.type];return n?n(t,e,r):t};var jr=function(t){this.specification=t};jr.prototype.possiblyEvaluate=function(t,e){return\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?new Br(this,{kind:\"constant\",value:t.expression.evaluate(e)},e):new Br(this,t.expression,e)},jr.prototype.interpolate=function(t,e,r){if(\"constant\"!==t.value.kind||\"constant\"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new Br(this,{kind:\"constant\",value:void 0},t.globals);var n=kt[this.specification.type];return n?new Br(this,{kind:\"constant\",value:n(t.value.value,e.value.value,r)},t.globals):t},jr.prototype.evaluate=function(t,e,r){return\"constant\"===t.kind?t.value:t.evaluate(e,r)};var Vr=function(t){this.specification=t};Vr.prototype.possiblyEvaluate=function(t,e){if(void 0!==t.value){if(\"constant\"===t.expression.kind){var r=t.expression.evaluate(e);return this._calculate(r,r,r,e)}return this._calculate(t.expression.evaluate(new Lr(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Lr(Math.floor(e.zoom),e)),t.expression.evaluate(new Lr(Math.floor(e.zoom+1),e)),e)}},Vr.prototype._calculate=function(t,e,r,n){var i=n.zoom,a=i-Math.floor(i),o=n.crossFadingFactor();return i>n.zoomHistory.lastIntegerZoom?{from:t,to:e,fromScale:2,toScale:1,t:a+(1-a)*o}:{from:r,to:e,fromScale:.5,toScale:1,t:1-(1-o)*a}},Vr.prototype.interpolate=function(t){return t};var Ur=function(t){this.specification=t};Ur.prototype.possiblyEvaluate=function(t,e){return!!t.expression.evaluate(e)},Ur.prototype.interpolate=function(){return!1};var qr=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},t){var r=t[e],n=this.defaultPropertyValues[e]=new zr(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Pr(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};pr(\"DataDrivenProperty\",jr),pr(\"DataConstantProperty\",Nr),pr(\"CrossFadedProperty\",Vr),pr(\"ColorRampProperty\",Ur);var Hr=function(t){function e(e,r){for(var n in t.call(this),this.id=e.id,this.metadata=e.metadata,this.type=e.type,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,this.visibility=\"visible\",\"background\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\"source-layer\"],this.filter=e.filter),this._featureFilter=function(){return!0},r.layout&&(this._unevaluatedLayout=new Rr(r.layout)),this._transitionablePaint=new Or(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLayoutProperty=function(t){return\"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(null!=e){var n=\"layers.\"+this.id+\".layout.\"+t;if(this._validate(or,n,t,e,r))return}\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=\"none\"===e?e:\"visible\"},e.prototype.getPaintProperty=function(t){return m(t,\"-transition\")?this._transitionablePaint.getTransition(t.slice(0,-\"-transition\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(null!=e){var n=\"layers.\"+this.id+\".paint.\"+t;if(this._validate(ar,n,t,e,r))return}m(t,\"-transition\")?this._transitionablePaint.setTransition(t.slice(0,-\"-transition\".length),e||void 0):this._transitionablePaint.setValue(t,e)},e.prototype.isHidden=function(t){return!!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||\"none\"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return\"none\"===this.visibility&&(t.layout=t.layout||{},t.layout.visibility=\"none\"),y(t,function(t,e){return!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)})},e.prototype._validate=function(t,e,r,n,i){return(!i||!1!==i.validate)&&sr(this,t.call(nr,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:O,style:{glyphs:!0,sprite:!0}}))},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e}(P),Gr={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Wr=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Yr=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Xr(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map(function(t){var i,a=(i=t.type,Gr[i].BYTES_PER_ELEMENT),o=r=Zr(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}}),size:Zr(r,Math.max(n,e)),alignment:e}}function Zr(t,e){return Math.ceil(t/e)*e}Yr.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Yr.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Yr.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Yr.prototype.clear=function(){this.length=0},Yr.prototype.resize=function(t){this.reserve(t),this.length=t},Yr.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Yr.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};var $r=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.int16[n+0]=t,this.int16[n+1]=e,r},e}(Yr);$r.prototype.bytesPerElement=4,pr(\"StructArrayLayout2i4\",$r);var Jr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;this.resize(i+1);var a=4*i;return this.int16[a+0]=t,this.int16[a+1]=e,this.int16[a+2]=r,this.int16[a+3]=n,i},e}(Yr);Jr.prototype.bytesPerElement=8,pr(\"StructArrayLayout4i8\",Jr);var Kr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(Yr);Kr.prototype.bytesPerElement=12,pr(\"StructArrayLayout2i4i12\",Kr);var Qr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s){var l=this.length;this.resize(l+1);var c=6*l,u=12*l;return this.int16[c+0]=t,this.int16[c+1]=e,this.int16[c+2]=r,this.int16[c+3]=n,this.uint8[u+8]=i,this.uint8[u+9]=a,this.uint8[u+10]=o,this.uint8[u+11]=s,l},e}(Yr);Qr.prototype.bytesPerElement=12,pr(\"StructArrayLayout4i4ub12\",Qr);var tn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s){var l=this.length;this.resize(l+1);var c=8*l;return this.int16[c+0]=t,this.int16[c+1]=e,this.int16[c+2]=r,this.int16[c+3]=n,this.uint16[c+4]=i,this.uint16[c+5]=a,this.uint16[c+6]=o,this.uint16[c+7]=s,l},e}(Yr);tn.prototype.bytesPerElement=16,pr(\"StructArrayLayout4i4ui16\",tn);var en=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.float32[i+0]=t,this.float32[i+1]=e,this.float32[i+2]=r,n},e}(Yr);en.prototype.bytesPerElement=12,pr(\"StructArrayLayout3f12\",en);var rn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;this.resize(e+1);var r=1*e;return this.uint32[r+0]=t,e},e}(Yr);rn.prototype.bytesPerElement=4,pr(\"StructArrayLayout1ul4\",rn);var nn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u){var f=this.length;this.resize(f+1);var h=12*f,p=6*f;return this.int16[h+0]=t,this.int16[h+1]=e,this.int16[h+2]=r,this.int16[h+3]=n,this.int16[h+4]=i,this.int16[h+5]=a,this.uint32[p+3]=o,this.uint16[h+8]=s,this.uint16[h+9]=l,this.int16[h+10]=c,this.int16[h+11]=u,f},e}(Yr);nn.prototype.bytesPerElement=24,pr(\"StructArrayLayout6i1ul2ui2i24\",nn);var an=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(Yr);an.prototype.bytesPerElement=12,pr(\"StructArrayLayout2i2i2i12\",an);var on=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=4*r;return this.uint8[n+0]=t,this.uint8[n+1]=e,r},e}(Yr);on.prototype.bytesPerElement=4,pr(\"StructArrayLayout2ub4\",on);var sn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p){var d=this.length;this.resize(d+1);var g=20*d,m=10*d,v=40*d;return this.int16[g+0]=t,this.int16[g+1]=e,this.uint16[g+2]=r,this.uint16[g+3]=n,this.uint32[m+2]=i,this.uint32[m+3]=a,this.uint32[m+4]=o,this.uint16[g+10]=s,this.uint16[g+11]=l,this.uint16[g+12]=c,this.float32[m+7]=u,this.float32[m+8]=f,this.uint8[v+36]=h,this.uint8[v+37]=p,d},e}(Yr);sn.prototype.bytesPerElement=40,pr(\"StructArrayLayout2i2ui3ul3ui2f2ub40\",sn);var ln=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;this.resize(e+1);var r=1*e;return this.float32[r+0]=t,e},e}(Yr);ln.prototype.bytesPerElement=4,pr(\"StructArrayLayout1f4\",ln);var cn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.int16[i+0]=t,this.int16[i+1]=e,this.int16[i+2]=r,n},e}(Yr);cn.prototype.bytesPerElement=6,pr(\"StructArrayLayout3i6\",cn);var un=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=2*n,a=4*n;return this.uint32[i+0]=t,this.uint16[a+2]=e,this.uint16[a+3]=r,n},e}(Yr);un.prototype.bytesPerElement=8,pr(\"StructArrayLayout1ul2ui8\",un);var fn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.uint16[i+0]=t,this.uint16[i+1]=e,this.uint16[i+2]=r,n},e}(Yr);fn.prototype.bytesPerElement=6,pr(\"StructArrayLayout3ui6\",fn);var hn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.uint16[n+0]=t,this.uint16[n+1]=e,r},e}(Yr);hn.prototype.bytesPerElement=4,pr(\"StructArrayLayout2ui4\",hn);var pn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.float32[n+0]=t,this.float32[n+1]=e,r},e}(Yr);pn.prototype.bytesPerElement=8,pr(\"StructArrayLayout2f8\",pn);var dn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;this.resize(i+1);var a=4*i;return this.float32[a+0]=t,this.float32[a+1]=e,this.float32[a+2]=r,this.float32[a+3]=n,i},e}(Yr);dn.prototype.bytesPerElement=16,pr(\"StructArrayLayout4f16\",dn);var gn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},radius:{configurable:!0},signedDistanceFromAnchor:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new l(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Wr);gn.prototype.size=24;var mn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new gn(this,t)},e}(nn);pr(\"CollisionBoxArray\",mn);var vn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},hidden:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+37]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+37]=t},Object.defineProperties(e.prototype,r),e}(Wr);vn.prototype.size=40;var yn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new vn(this,t)},e}(sn);pr(\"PlacedSymbolArray\",yn);var xn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={offsetX:{configurable:!0}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(Wr);xn.prototype.size=4;var bn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new xn(this,t)},e}(ln);pr(\"GlyphOffsetArray\",bn);var _n=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={x:{configurable:!0},y:{configurable:!0},tileUnitDistanceFromAnchor:{configurable:!0}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(Wr);_n.prototype.size=6;var wn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e.prototype.get=function(t){return new _n(this,t)},e}(cn);pr(\"SymbolLineVertexArray\",wn);var kn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(Wr);kn.prototype.size=8;var Mn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new kn(this,t)},e}(un);pr(\"FeatureIndexArray\",Mn);var An=Xr([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,Tn=function(t){void 0===t&&(t=[]),this.segments=t};Tn.prototype.prepareSegment=function(t,e,r){var n=this.segments[this.segments.length-1];return t>Tn.MAX_VERTEX_ARRAY_LENGTH&&_(\"Max vertices per segment is \"+Tn.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+t),(!n||n.vertexLength+t>Tn.MAX_VERTEX_ARRAY_LENGTH)&&(n={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},this.segments.push(n)),n},Tn.prototype.get=function(){return this.segments},Tn.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy()}},Tn.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,pr(\"SegmentVector\",Tn);var Sn=function(t,e){return 256*(t=h(Math.floor(t),0,255))+h(Math.floor(e),0,255)};function En(t){return[Sn(255*t.r,255*t.g),Sn(255*t.b,255*t.a)]}var Cn=function(t,e,r){this.value=t,this.name=e,this.type=r,this.statistics={max:-1/0}};Cn.prototype.defines=function(){return[\"#define HAS_UNIFORM_u_\"+this.name]},Cn.prototype.populatePaintArray=function(){},Cn.prototype.upload=function(){},Cn.prototype.destroy=function(){},Cn.prototype.setUniforms=function(t,e,r,n){var i=n.constantOr(this.value),a=t.gl;\"color\"===this.type?a.uniform4f(e.uniforms[\"u_\"+this.name],i.r,i.g,i.b,i.a):a.uniform1f(e.uniforms[\"u_\"+this.name],i)};var Ln=function(t,e,r){this.expression=t,this.name=e,this.type=r,this.statistics={max:-1/0};var n=\"color\"===r?pn:ln;this.paintVertexAttributes=[{name:\"a_\"+e,type:\"Float32\",components:\"color\"===r?2:1,offset:0}],this.paintVertexArray=new n};Ln.prototype.defines=function(){return[]},Ln.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,n=r.length;r.reserve(t);var i=this.expression.evaluate(new Lr(0),e);if(\"color\"===this.type)for(var a=En(i),o=n;o<t;o++)r.emplaceBack(a[0],a[1]);else{for(var s=n;s<t;s++)r.emplaceBack(i);this.statistics.max=Math.max(this.statistics.max,i)}},Ln.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},Ln.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},Ln.prototype.setUniforms=function(t,e){t.gl.uniform1f(e.uniforms[\"a_\"+this.name+\"_t\"],0)};var zn=function(t,e,r,n,i){this.expression=t,this.name=e,this.type=r,this.useIntegerZoom=n,this.zoom=i,this.statistics={max:-1/0};var a=\"color\"===r?dn:pn;this.paintVertexAttributes=[{name:\"a_\"+e,type:\"Float32\",components:\"color\"===r?4:2,offset:0}],this.paintVertexArray=new a};zn.prototype.defines=function(){return[]},zn.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,n=r.length;r.reserve(t);var i=this.expression.evaluate(new Lr(this.zoom),e),a=this.expression.evaluate(new Lr(this.zoom+1),e);if(\"color\"===this.type)for(var o=En(i),s=En(a),l=n;l<t;l++)r.emplaceBack(o[0],o[1],s[0],s[1]);else{for(var c=n;c<t;c++)r.emplaceBack(i,a);this.statistics.max=Math.max(this.statistics.max,i,a)}},zn.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},zn.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},zn.prototype.interpolationFactor=function(t){return this.useIntegerZoom?this.expression.interpolationFactor(Math.floor(t),this.zoom,this.zoom+1):this.expression.interpolationFactor(t,this.zoom,this.zoom+1)},zn.prototype.setUniforms=function(t,e,r){t.gl.uniform1f(e.uniforms[\"a_\"+this.name+\"_t\"],this.interpolationFactor(r.zoom))};var Pn=function(){this.binders={},this.cacheKey=\"\",this._buffers=[]};Pn.createDynamic=function(t,e,r){var n=new Pn,i=[];for(var a in t.paint._values)if(r(a)){var o=t.paint.get(a);if(o instanceof Br&&o.property.specification[\"property-function\"]){var s=In(a,t.type),l=o.property.specification.type,c=o.property.useIntegerZoom;\"constant\"===o.value.kind?(n.binders[a]=new Cn(o.value,s,l),i.push(\"/u_\"+s)):\"source\"===o.value.kind?(n.binders[a]=new Ln(o.value,s,l),i.push(\"/a_\"+s)):(n.binders[a]=new zn(o.value,s,l,c,e),i.push(\"/z_\"+s))}}return n.cacheKey=i.sort().join(\"\"),n},Pn.prototype.populatePaintArrays=function(t,e){for(var r in this.binders)this.binders[r].populatePaintArray(t,e)},Pn.prototype.defines=function(){var t=[];for(var e in this.binders)t.push.apply(t,this.binders[e].defines());return t},Pn.prototype.setUniforms=function(t,e,r,n){for(var i in this.binders)this.binders[i].setUniforms(t,e,n,r.get(i))},Pn.prototype.getPaintVertexBuffers=function(){return this._buffers},Pn.prototype.upload=function(t){for(var e in this.binders)this.binders[e].upload(t);var r=[];for(var n in this.binders){var i=this.binders[n];(i instanceof Ln||i instanceof zn)&&i.paintVertexBuffer&&r.push(i.paintVertexBuffer)}this._buffers=r},Pn.prototype.destroy=function(){for(var t in this.binders)this.binders[t].destroy()};var On=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=e;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=Pn.createDynamic(o,r,n),this.programConfigurations[o.id].layoutAttributes=t}};function In(t,e){return{\"text-opacity\":\"opacity\",\"icon-opacity\":\"opacity\",\"text-color\":\"fill_color\",\"icon-color\":\"fill_color\",\"text-halo-color\":\"halo_color\",\"icon-halo-color\":\"halo_color\",\"text-halo-blur\":\"halo_blur\",\"icon-halo-blur\":\"halo_blur\",\"text-halo-width\":\"halo_width\",\"icon-halo-width\":\"halo_width\",\"line-gap-width\":\"gapwidth\"}[t]||t.replace(e+\"-\",\"\").replace(/-/g,\"_\")}On.prototype.populatePaintArrays=function(t,e){for(var r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e)},On.prototype.get=function(t){return this.programConfigurations[t]},On.prototype.upload=function(t){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t)},On.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},pr(\"ConstantBinder\",Cn),pr(\"SourceExpressionBinder\",Ln),pr(\"CompositeExpressionBinder\",zn),pr(\"ProgramConfiguration\",Pn,{omit:[\"_buffers\"]}),pr(\"ProgramConfigurationSet\",On);var Dn=8192,Rn=(16,{min:-1*Math.pow(2,15),max:Math.pow(2,15)-1});function Bn(t){for(var e=Dn/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var i=r[n],a=0;a<i.length;a++){var o=i[a];o.x=Math.round(o.x*e),o.y=Math.round(o.y*e),(o.x<Rn.min||o.x>Rn.max||o.y<Rn.min||o.y>Rn.max)&&_(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return r}function Fn(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var Nn=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new $r,this.indexArray=new fn,this.segments=new Tn,this.programConfigurations=new On(An,t.layers,t.zoom)};function jn(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if(Zn(i,e))return!0;if(Wn(e,i,r))return!0}return!1}function Vn(t,e){if(1===t.length&&1===t[0].length)return Xn(e,t[0][0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(Xn(t,n[i]))return!0;for(var a=0;a<t.length;a++){for(var o=t[a],s=0;s<o.length;s++)if(Xn(e,o[s]))return!0;for(var l=0;l<e.length;l++)if(Hn(o,e[l]))return!0}return!1}function Un(t,e,r){for(var n=0;n<e.length;n++)for(var i=e[n],a=0;a<t.length;a++){var o=t[a];if(o.length>=3)for(var s=0;s<i.length;s++)if(Zn(o,i[s]))return!0;if(qn(o,i,r))return!0}return!1}function qn(t,e,r){if(t.length>1){if(Hn(t,e))return!0;for(var n=0;n<e.length;n++)if(Wn(e[n],t,r))return!0}for(var i=0;i<t.length;i++)if(Wn(t[i],e,r))return!0;return!1}function Hn(t,e){if(0===t.length||0===e.length)return!1;for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++)if(Gn(n,i,e[a],e[a+1]))return!0;return!1}function Gn(t,e,r,n){return w(t,r,n)!==w(e,r,n)&&w(t,e,r)!==w(t,e,n)}function Wn(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++)if(Yn(t,e[i-1],e[i])<n)return!0;return!1}function Yn(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i<0?t.distSqr(e):i>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function Xn(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++)for(var s=0,l=(r=t[o]).length-1;s<r.length;l=s++)n=r[s],i=r[l],n.y>e.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Zn(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function $n(t,e,r){var n=e.paint.get(t).value;return\"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].statistics.max}function Jn(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Kn(t,e,r,n,i){if(!e[0]&&!e[1])return t;var a=l.convert(e);\"viewport\"===r&&a._rotate(-n);for(var o=[],s=0;s<t.length;s++){for(var c=t[s],u=[],f=0;f<c.length;f++)u.push(c[f].sub(a._mult(i)));o.push(u)}return o}Nn.prototype.populate=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.feature,o=i.index,s=i.sourceLayerIndex;if(this.layers[0]._featureFilter(new Lr(this.zoom),a)){var l=Bn(a);this.addFeature(a,l),e.featureIndex.insert(a,l,o,s,this.index)}}},Nn.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Nn.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,An),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},Nn.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Nn.prototype.addFeature=function(t,e){for(var r=0,n=e;r<n.length;r+=1)for(var i=0,a=n[r];i<a.length;i+=1){var o=a[i],s=o.x,l=o.y;if(!(s<0||s>=Dn||l<0||l>=Dn)){var c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),u=c.vertexLength;Fn(this.layoutVertexArray,s,l,-1,-1),Fn(this.layoutVertexArray,s,l,1,-1),Fn(this.layoutVertexArray,s,l,1,1),Fn(this.layoutVertexArray,s,l,-1,1),this.indexArray.emplaceBack(u,u+1,u+2),this.indexArray.emplaceBack(u,u+3,u+2),c.vertexLength+=4,c.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},pr(\"CircleBucket\",Nn,{omit:[\"layers\"]});var Qn={paint:new qr({\"circle-radius\":new jr(O.paint_circle[\"circle-radius\"]),\"circle-color\":new jr(O.paint_circle[\"circle-color\"]),\"circle-blur\":new jr(O.paint_circle[\"circle-blur\"]),\"circle-opacity\":new jr(O.paint_circle[\"circle-opacity\"]),\"circle-translate\":new Nr(O.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new Nr(O.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new Nr(O.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new Nr(O.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new jr(O.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new jr(O.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new jr(O.paint_circle[\"circle-stroke-opacity\"])})},ti=i(function(t,e){var r;t.exports=((r=new Float32Array(3))[0]=0,r[1]=0,r[2]=0,function(){var t=new Float32Array(4);t[0]=0,t[1]=0,t[2]=0,t[3]=0}(),{vec3:{transformMat3:function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},vec4:{transformMat4:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},mat2:{create:function(){var t=new Float32Array(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},rotate:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},scale:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t}},mat3:{create:function(){var t=new Float32Array(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromRotation:function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}},mat4:{create:function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},identity:function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},translate:function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,g=r[0],m=r[1],v=r[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]),t},scale:function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},multiply:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],g=e[12],m=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t},perspective:function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t},rotateX:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t},rotateZ:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t},invert:function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,k=i*c-a*l,M=u*g-f*d,A=u*m-h*d,T=u*v-p*d,S=f*m-h*g,E=f*v-p*g,C=h*v-p*m,L=y*C-x*E+b*S+_*T-w*A+k*M;return L?(L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*k-m*w+v*_)*L,t[3]=(h*w-f*k-p*_)*L,t[4]=(l*T-o*C-c*A)*L,t[5]=(r*C-i*T+a*A)*L,t[6]=(m*b-d*k-v*x)*L,t[7]=(u*k-h*b+p*x)*L,t[8]=(o*E-s*T+c*M)*L,t[9]=(n*T-r*E-a*M)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*A-o*S-l*M)*L,t[13]=(r*S-n*A+i*M)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t):null},ortho:function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t}}})}),ei=(ti.vec3,ti.vec4),ri=(ti.mat2,ti.mat3,ti.mat4),ni=function(t){function e(e){t.call(this,e,Qn)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Nn(t)},e.prototype.queryRadius=function(t){var e=t;return $n(\"circle-radius\",this,e)+$n(\"circle-stroke-width\",this,e)+Jn(this.paint.get(\"circle-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o){for(var s=Kn(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),i.angle,a),l=this.paint.get(\"circle-radius\").evaluate(e)+this.paint.get(\"circle-stroke-width\").evaluate(e),c=\"map\"===this.paint.get(\"circle-pitch-alignment\"),u=c?s:function(t,e,r){return s.map(function(t){return t.map(function(t){return ii(t,e,r)})})}(0,o,i),f=c?l*a:l,h=0,p=r;h<p.length;h+=1)for(var d=0,g=p[h];d<g.length;d+=1){var m=g[d],v=c?m:ii(m,o,i),y=f,x=ei.transformMat4([],[m.x,m.y,0,1],o);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?y*=x[3]/i.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(y*=i.cameraToCenterDistance/x[3]),jn(u,v,y))return!0}return!1},e}(Hr);function ii(t,e,r){var n=ei.transformMat4([],[t.x,t.y,0,1],e);return new l((n[0]/n[3]+1)*r.width*.5,(n[1]/n[3]+1)*r.height*.5)}var ai=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Nn);function oi(t,e,r,n){var i=e.width,a=e.height;if(n){if(n.length!==i*a*r)throw new RangeError(\"mismatched image size\")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function si(t,e,r){var n=e.width,i=e.height;if(n!==t.width||i!==t.height){var a=oi({},{width:n,height:i},r);li(t,a,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,i)},r),t.width=n,t.height=i,t.data=a.data}}function li(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var o=t.data,s=e.data,l=0;l<i.height;l++)for(var c=((r.y+l)*t.width+r.x)*a,u=((n.y+l)*e.width+n.x)*a,f=0;f<i.width*a;f++)s[u+f]=o[c+f];return e}pr(\"HeatmapBucket\",ai,{omit:[\"layers\"]});var ci=function(t,e){oi(this,t,1,e)};ci.prototype.resize=function(t){si(this,t,1)},ci.prototype.clone=function(){return new ci({width:this.width,height:this.height},new Uint8Array(this.data))},ci.copy=function(t,e,r,n,i){li(t,e,r,n,i,1)};var ui=function(t,e){oi(this,t,4,e)};ui.prototype.resize=function(t){si(this,t,4)},ui.prototype.clone=function(){return new ui({width:this.width,height:this.height},new Uint8Array(this.data))},ui.copy=function(t,e,r,n,i){li(t,e,r,n,i,4)},pr(\"AlphaImage\",ci),pr(\"RGBAImage\",ui);var fi={paint:new qr({\"heatmap-radius\":new jr(O.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new jr(O.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Nr(O.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Ur(O.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Nr(O.paint_heatmap[\"heatmap-opacity\"])})};function hi(t,e){for(var r=new Uint8Array(1024),n={},i=0,a=0;i<256;i++,a+=4){n[e]=i/255;var o=t.evaluate(n);r[a+0]=Math.floor(255*o.r/o.a),r[a+1]=Math.floor(255*o.g/o.a),r[a+2]=Math.floor(255*o.b/o.a),r[a+3]=Math.floor(255*o.a)}return new ui({width:256,height:1},r)}var pi=function(t){function e(e){t.call(this,e,fi),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new ai(t)},e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),\"heatmap-color\"===e&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){var t=this._transitionablePaint._values[\"heatmap-color\"].value.expression;this.colorRamp=hi(t,\"heatmapDensity\"),this.colorRampTexture=null},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility},e}(Hr),di={paint:new qr({\"hillshade-illumination-direction\":new Nr(O.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new Nr(O.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new Nr(O.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new Nr(O.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new Nr(O.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new Nr(O.paint_hillshade[\"hillshade-accent-color\"])})},gi=function(t){function e(e){t.call(this,e,di)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility},e}(Hr),mi=Xr([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,vi=xi,yi=xi;function xi(t,e,r){r=r||2;var n,i,a,o,s,l,c,u=e&&e.length,f=u?e[0]*r:t.length,h=bi(t,0,f,r,!0),p=[];if(!h)return p;if(u&&(h=function(t,e,r,n){var i,a,o,s=[];for(i=0,a=e.length;i<a;i++)(o=bi(t,e[i]*n,i<a-1?e[i+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(Li(o));for(s.sort(Si),i=0;i<s.length;i++)Ei(s[i],r),r=_i(r,r.next);return r}(t,e,h,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var d=r;d<f;d+=r)(s=t[d])<n&&(n=s),(l=t[d+1])<i&&(i=l),s>a&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return wi(h,p,r,n,i,c),p}function bi(t,e,r,n,i){var a,o;if(i===Vi(t,e,r,n)>0)for(a=e;a<r;a+=n)o=Fi(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=Fi(a,t[a],t[a+1],o);return o&&Ii(o,o.next)&&(Ni(o),o=o.next),o}function _i(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ii(n,n.next)&&0!==Oi(n.prev,n,n.next))n=n.next;else{if(Ni(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function wi(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=Ci(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?Mi(t,n,i,a):ki(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Ni(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?wi(t=Ai(t,e,r),e,r,n,i,a,2):2===o&&Ti(t,e,r,n,i,a):wi(_i(t),e,r,n,i,a,1);break}}}function ki(t){var e=t.prev,r=t,n=t.next;if(Oi(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(zi(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&Oi(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function Mi(t,e,r,n){var i=t.prev,a=t,o=t.next;if(Oi(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=Ci(s,l,e,r,n),h=Ci(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Oi(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Oi(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Oi(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Oi(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function Ai(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ii(i,a)&&Di(i,n,n.next,a)&&Ri(i,a)&&Ri(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Ni(n),Ni(n.next),n=t=a),n=n.next}while(n!==t);return n}function Ti(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Pi(o,s)){var l=Bi(o,s);return o=_i(o,o.next),l=_i(l,l.next),wi(o,e,r,n,i,a),void wi(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function Si(t,e){return t.x-e.x}function Ei(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r.prev;var l,c=r,u=r.x,f=r.y,h=1/0;for(n=r.next;n!==c;)i>=n.x&&n.x>=u&&i!==n.x&&zi(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<h||l===h&&n.x>r.x)&&Ri(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=Bi(e,t);_i(r,r.next)}}function Ci(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Li(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function zi(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function Pi(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Di(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&Ri(t,e)&&Ri(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function Oi(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ii(t,e){return t.x===e.x&&t.y===e.y}function Di(t,e,r,n){return!!(Ii(t,e)&&Ii(r,n)||Ii(t,n)&&Ii(r,e))||Oi(t,e,r)>0!=Oi(t,e,n)>0&&Oi(r,n,t)>0!=Oi(r,n,e)>0}function Ri(t,e){return Oi(t.prev,t,t.next)<0?Oi(t,e,t.next)>=0&&Oi(t,t.prev,e)>=0:Oi(t,e,t.prev)<0||Oi(t,t.next,e)<0}function Bi(t,e){var r=new ji(t.i,t.x,t.y),n=new ji(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Fi(t,e,r,n){var i=new ji(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Ni(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function ji(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Vi(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}xi.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(Vi(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(Vi(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},xi.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r},vi.default=yi;var Ui=Hi,qi=Hi;function Hi(t,e,r,n,i){!function t(e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}var f=e[r],h=n,p=i;for(Gi(e,n,r),a(e[i],f)>0&&Gi(e,n,i);h<p;){for(Gi(e,h,p),h++,p--;a(e[h],f)<0;)h++;for(;a(e[p],f)>0;)p--}0===a(e[n],f)?Gi(e,n,p):Gi(e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}(t,e,r||0,n||t.length-1,i||Wi)}function Gi(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Wi(t,e){return t<e?-1:t>e?1:0}function Yi(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o<r;o++){var s=k(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===i&&(i=s<0),i===s<0?(n&&a.push(n),n=[t[o]]):n.push(t[o]))}if(n&&a.push(n),e>1)for(var l=0;l<a.length;l++)a[l].length<=e||(Ui(a[l],e,1,a[l].length-1,Xi),a[l]=a[l].slice(0,e));return a}function Xi(t,e){return e.area-t.area}Ui.default=qi;var Zi=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new $r,this.indexArray=new fn,this.indexArray2=new hn,this.programConfigurations=new On(mi,t.layers,t.zoom),this.segments=new Tn,this.segments2=new Tn};Zi.prototype.populate=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.feature,o=i.index,s=i.sourceLayerIndex;if(this.layers[0]._featureFilter(new Lr(this.zoom),a)){var l=Bn(a);this.addFeature(a,l),e.featureIndex.insert(a,l,o,s,this.index)}}},Zi.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Zi.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,mi),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2),this.programConfigurations.upload(t)},Zi.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},Zi.prototype.addFeature=function(t,e){for(var r=0,n=Yi(e,500);r<n.length;r+=1){for(var i=n[r],a=0,o=0,s=i;o<s.length;o+=1)a+=s[o].length;for(var l=this.segments.prepareSegment(a,this.layoutVertexArray,this.indexArray),c=l.vertexLength,u=[],f=[],h=0,p=i;h<p.length;h+=1){var d=p[h];if(0!==d.length){d!==i[0]&&f.push(u.length/2);var g=this.segments2.prepareSegment(d.length,this.layoutVertexArray,this.indexArray2),m=g.vertexLength;this.layoutVertexArray.emplaceBack(d[0].x,d[0].y),this.indexArray2.emplaceBack(m+d.length-1,m),u.push(d[0].x),u.push(d[0].y);for(var v=1;v<d.length;v++)this.layoutVertexArray.emplaceBack(d[v].x,d[v].y),this.indexArray2.emplaceBack(m+v-1,m+v),u.push(d[v].x),u.push(d[v].y);g.vertexLength+=d.length,g.primitiveLength+=d.length}}for(var y=vi(u,f),x=0;x<y.length;x+=3)this.indexArray.emplaceBack(c+y[x],c+y[x+1],c+y[x+2]);l.vertexLength+=a,l.primitiveLength+=y.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},pr(\"FillBucket\",Zi,{omit:[\"layers\"]});var $i={paint:new qr({\"fill-antialias\":new Nr(O.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new jr(O.paint_fill[\"fill-opacity\"]),\"fill-color\":new jr(O.paint_fill[\"fill-color\"]),\"fill-outline-color\":new jr(O.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new Nr(O.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new Nr(O.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Vr(O.paint_fill[\"fill-pattern\"])})},Ji=function(t){function e(e){t.call(this,e,$i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(t){this.paint=this._transitioningPaint.possiblyEvaluate(t);var e=this.paint._values[\"fill-outline-color\"];\"constant\"===e.value.kind&&void 0===e.value.value&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])},e.prototype.createBucket=function(t){return new Zi(t)},e.prototype.queryRadius=function(){return Jn(this.paint.get(\"fill-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a){return Vn(Kn(t,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),i.angle,a),r)},e}(Hr),Ki=Xr([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4).members,Qi=Math.pow(2,13);function ta(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*Qi)+o,i*Qi*2,a*Qi*2,Math.round(s))}var ea=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new Kr,this.indexArray=new fn,this.programConfigurations=new On(Ki,t.layers,t.zoom),this.segments=new Tn};function ra(t,e){return t.x===e.x&&(t.x<0||t.x>Dn)||t.y===e.y&&(t.y<0||t.y>Dn)}function na(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>Dn})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>Dn})}ea.prototype.populate=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.feature,o=i.index,s=i.sourceLayerIndex;if(this.layers[0]._featureFilter(new Lr(this.zoom),a)){var l=Bn(a);this.addFeature(a,l),e.featureIndex.insert(a,l,o,s,this.index)}}},ea.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ea.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ki),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},ea.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},ea.prototype.addFeature=function(t,e){for(var r=0,n=Yi(e,500);r<n.length;r+=1){for(var i=n[r],a=0,o=0,s=i;o<s.length;o+=1)a+=s[o].length;for(var l=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),c=0,u=i;c<u.length;c+=1){var f=u[c];if(0!==f.length&&!na(f))for(var h=0,p=0;p<f.length;p++){var d=f[p];if(p>=1){var g=f[p-1];if(!ra(d,g)){l.vertexLength+4>Tn.MAX_VERTEX_ARRAY_LENGTH&&(l=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var m=d.sub(g)._perp()._unit(),v=g.dist(d);h+v>32768&&(h=0),ta(this.layoutVertexArray,d.x,d.y,m.x,m.y,0,0,h),ta(this.layoutVertexArray,d.x,d.y,m.x,m.y,0,1,h),h+=v,ta(this.layoutVertexArray,g.x,g.y,m.x,m.y,0,0,h),ta(this.layoutVertexArray,g.x,g.y,m.x,m.y,0,1,h);var y=l.vertexLength;this.indexArray.emplaceBack(y,y+1,y+2),this.indexArray.emplaceBack(y+1,y+2,y+3),l.vertexLength+=4,l.primitiveLength+=2}}}}l.vertexLength+a>Tn.MAX_VERTEX_ARRAY_LENGTH&&(l=this.segments.prepareSegment(a,this.layoutVertexArray,this.indexArray));for(var x=[],b=[],_=l.vertexLength,w=0,k=i;w<k.length;w+=1){var M=k[w];if(0!==M.length){M!==i[0]&&b.push(x.length/2);for(var A=0;A<M.length;A++){var T=M[A];ta(this.layoutVertexArray,T.x,T.y,0,0,1,1,0),x.push(T.x),x.push(T.y)}}}for(var S=vi(x,b),E=0;E<S.length;E+=3)this.indexArray.emplaceBack(_+S[E],_+S[E+1],_+S[E+2]);l.primitiveLength+=S.length/3,l.vertexLength+=a}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},pr(\"FillExtrusionBucket\",ea,{omit:[\"layers\"]});var ia={paint:new qr({\"fill-extrusion-opacity\":new Nr(O[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new jr(O[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Nr(O[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Nr(O[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Vr(O[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new jr(O[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new jr(O[\"paint_fill-extrusion\"][\"fill-extrusion-base\"])})},aa=function(t){function e(e){t.call(this,e,ia)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new ea(t)},e.prototype.queryRadius=function(){return Jn(this.paint.get(\"fill-extrusion-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a){return Vn(Kn(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),i.angle,a),r)},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"fill-extrusion-opacity\")&&\"none\"!==this.visibility},e.prototype.resize=function(){this.viewportFrame&&(this.viewportFrame.destroy(),this.viewportFrame=null)},e}(Hr),oa=Xr([{name:\"a_pos_normal\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4).members,sa=la;function la(t,e,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=i,t.readFields(ca,this,e)}function ca(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function ua(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}la.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],la.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,a=0,o=0,s=[];t.pos<r;){if(i<=0){var c=t.readVarint();n=7&c,i=c>>3}if(i--,1===n||2===n)a+=t.readSVarint(),o+=t.readSVarint(),1===n&&(e&&s.push(e),e=[]),e.push(new l(a,o));else{if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone())}}return e&&s.push(e),s},la.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos<e;){if(n<=0){var u=t.readVarint();r=7&u,n=u>>3}if(n--,1===r||2===r)(i+=t.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=t.readSVarint())<l&&(l=a),a>c&&(c=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return[o,l,s,c]},la.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=la.types[this.type];function u(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+s)/a;t[e]=[360*(r.x+o)/a-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}switch(this.type){case 1:var f=[];for(n=0;n<l.length;n++)f[n]=l[n][0];u(l=f);break;case 2:for(n=0;n<l.length;n++)u(l[n]);break;case 3:for(l=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],a=0;a<e;a++){var o=ua(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]))}return r&&i.push(r),i}(l),n=0;n<l.length;n++)for(i=0;i<l[n].length;i++)u(l[n][i])}1===l.length?l=l[0]:c=\"Multi\"+c;var h={type:\"Feature\",geometry:{type:c,coordinates:l},properties:this.properties};return\"id\"in this&&(h.id=this.id),h};var fa=ha;function ha(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(pa,this,e),this.length=this._features.length}function pa(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function da(t,e,r){if(3===t){var n=new fa(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}ha.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new sa(this._pbf,e,this.extent,this._keys,this._values)};var ga={VectorTile:function(t,e){this.layers=t.readFields(da,{},e)},VectorTileFeature:sa,VectorTileLayer:fa},ma=ga.VectorTileFeature.types,va=63,ya=Math.cos(Math.PI/180*37.5),xa=.5,ba=Math.pow(2,14)/xa;function _a(t,e,r,n,i,a,o){t.emplaceBack(e.x,e.y,n?1:0,i?1:-1,Math.round(va*r.x)+128,Math.round(va*r.y)+128,1+(0===a?0:a<0?-1:1)|(o*xa&63)<<2,o*xa>>6)}var wa=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new Qr,this.indexArray=new fn,this.programConfigurations=new On(oa,t.layers,t.zoom),this.segments=new Tn};function ka(t,e){return(t/e.tileTotal*(e.end-e.start)+e.start)*(ba-1)}wa.prototype.populate=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.feature,o=i.index,s=i.sourceLayerIndex;if(this.layers[0]._featureFilter(new Lr(this.zoom),a)){var l=Bn(a);this.addFeature(a,l),e.featureIndex.insert(a,l,o,s,this.index)}}},wa.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},wa.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,oa),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},wa.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},wa.prototype.addFeature=function(t,e){for(var r=this.layers[0].layout,n=r.get(\"line-join\").evaluate(t),i=r.get(\"line-cap\"),a=r.get(\"line-miter-limit\"),o=r.get(\"line-round-limit\"),s=0,l=e;s<l.length;s+=1){var c=l[s];this.addLine(c,t,n,i,a,o)}},wa.prototype.addLine=function(t,e,r,n,i,a){var o=null;e.properties&&e.properties.hasOwnProperty(\"mapbox_clip_start\")&&e.properties.hasOwnProperty(\"mapbox_clip_end\")&&(o={start:e.properties.mapbox_clip_start,end:e.properties.mapbox_clip_end,tileTotal:void 0});for(var s=\"Polygon\"===ma[e.type],l=t.length;l>=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;c<l-1&&t[c].equals(t[c+1]);)c++;if(!(l<(s?3:2))){o&&(o.tileTotal=function(t,e,r){for(var n,i,a=0,o=c;o<r-1;o++)n=t[o],i=t[o+1],a+=n.dist(i);return a}(t,0,l)),\"bevel\"===r&&(i=1.05);var u=Dn/(512*this.overscaling)*15,f=t[c],h=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray);this.distance=0;var p,d,g,m=n,v=s?\"butt\":n,y=!0,x=void 0,b=void 0,_=void 0,w=void 0;this.e1=this.e2=this.e3=-1,s&&(p=t[l-2],w=f.sub(p)._unit()._perp());for(var k=c;k<l;k++)if(!(b=s&&k===l-1?t[c+1]:t[k+1])||!t[k].equals(b)){w&&(_=w),p&&(x=p),p=t[k],w=b?b.sub(p)._unit()._perp():_;var M=(_=_||w).add(w);0===M.x&&0===M.y||M._unit();var A=M.x*w.x+M.y*w.y,T=0!==A?1/A:1/0,S=A<ya&&x&&b;if(S&&k>c){var E=p.dist(x);if(E>2*u){var C=p.sub(p.sub(x)._mult(u/E)._round());this.distance+=C.dist(x),this.addCurrentVertex(C,this.distance,_.mult(1),0,0,!1,h,o),x=C}}var L=x&&b,z=L?r:b?m:v;if(L&&\"round\"===z&&(T<a?z=\"miter\":T<=2&&(z=\"fakeround\")),\"miter\"===z&&T>i&&(z=\"bevel\"),\"bevel\"===z&&(T>2&&(z=\"flipbevel\"),T<i&&(z=\"miter\")),x&&(this.distance+=p.dist(x)),\"miter\"===z)M._mult(T),this.addCurrentVertex(p,this.distance,M,0,0,!1,h,o);else if(\"flipbevel\"===z){if(T>100)M=w.clone().mult(-1);else{var P=_.x*w.y-_.y*w.x>0?-1:1,O=T*_.add(w).mag()/_.sub(w).mag();M._perp()._mult(O*P)}this.addCurrentVertex(p,this.distance,M,0,0,!1,h,o),this.addCurrentVertex(p,this.distance,M.mult(-1),0,0,!1,h,o)}else if(\"bevel\"===z||\"fakeround\"===z){var I=_.x*w.y-_.y*w.x>0,D=-Math.sqrt(T*T-1);if(I?(g=0,d=D):(d=0,g=D),y||this.addCurrentVertex(p,this.distance,_,d,g,!1,h,o),\"fakeround\"===z){for(var R=Math.floor(8*(.5-(A-.5))),B=void 0,F=0;F<R;F++)B=w.mult((F+1)/(R+1))._add(_)._unit(),this.addPieSliceVertex(p,this.distance,B,I,h,o);this.addPieSliceVertex(p,this.distance,M,I,h,o);for(var N=R-1;N>=0;N--)B=_.mult((N+1)/(R+1))._add(w)._unit(),this.addPieSliceVertex(p,this.distance,B,I,h,o)}b&&this.addCurrentVertex(p,this.distance,w,-d,-g,!1,h,o)}else\"butt\"===z?(y||this.addCurrentVertex(p,this.distance,_,0,0,!1,h,o),b&&this.addCurrentVertex(p,this.distance,w,0,0,!1,h,o)):\"square\"===z?(y||(this.addCurrentVertex(p,this.distance,_,1,1,!1,h,o),this.e1=this.e2=-1),b&&this.addCurrentVertex(p,this.distance,w,-1,-1,!1,h,o)):\"round\"===z&&(y||(this.addCurrentVertex(p,this.distance,_,0,0,!1,h,o),this.addCurrentVertex(p,this.distance,_,1,1,!0,h,o),this.e1=this.e2=-1),b&&(this.addCurrentVertex(p,this.distance,w,-1,-1,!0,h,o),this.addCurrentVertex(p,this.distance,w,0,0,!1,h,o)));if(S&&k<l-1){var j=p.dist(b);if(j>2*u){var V=p.add(b.sub(p)._mult(u/j)._round());this.distance+=V.dist(p),this.addCurrentVertex(V,this.distance,w.mult(1),0,0,!1,h,o),p=V}}y=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)}},wa.prototype.addCurrentVertex=function(t,e,r,n,i,a,o,s){var l,c=this.layoutVertexArray,u=this.indexArray;s&&(e=ka(e,s)),l=r.clone(),n&&l._sub(r.perp()._mult(n)),_a(c,t,l,a,!1,n,e),this.e3=o.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),o.primitiveLength++),this.e1=this.e2,this.e2=this.e3,l=r.mult(-1),i&&l._sub(r.perp()._mult(i)),_a(c,t,l,a,!0,-i,e),this.e3=o.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),o.primitiveLength++),this.e1=this.e2,this.e2=this.e3,e>ba/2&&!s&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,n,i,a,o))},wa.prototype.addPieSliceVertex=function(t,e,r,n,i,a){r=r.mult(n?-1:1);var o=this.layoutVertexArray,s=this.indexArray;a&&(e=ka(e,a)),_a(o,t,r,!1,n,0,e),this.e3=i.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),i.primitiveLength++),n?this.e2=this.e3:this.e1=this.e3},pr(\"LineBucket\",wa,{omit:[\"layers\"]});var Ma=new qr({\"line-cap\":new Nr(O.layout_line[\"line-cap\"]),\"line-join\":new jr(O.layout_line[\"line-join\"]),\"line-miter-limit\":new Nr(O.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Nr(O.layout_line[\"line-round-limit\"])}),Aa={paint:new qr({\"line-opacity\":new jr(O.paint_line[\"line-opacity\"]),\"line-color\":new jr(O.paint_line[\"line-color\"]),\"line-translate\":new Nr(O.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Nr(O.paint_line[\"line-translate-anchor\"]),\"line-width\":new jr(O.paint_line[\"line-width\"]),\"line-gap-width\":new jr(O.paint_line[\"line-gap-width\"]),\"line-offset\":new jr(O.paint_line[\"line-offset\"]),\"line-blur\":new jr(O.paint_line[\"line-blur\"]),\"line-dasharray\":new Vr(O.paint_line[\"line-dasharray\"]),\"line-pattern\":new Vr(O.paint_line[\"line-pattern\"]),\"line-gradient\":new Ur(O.paint_line[\"line-gradient\"])}),layout:Ma},Ta=new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Lr(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n)},e}(jr))(Aa.paint.properties[\"line-width\"].specification);Ta.useIntegerZoom=!0;var Sa=function(t){function e(e){t.call(this,e,Aa)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),\"line-gradient\"===e&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.gradient=hi(t,\"lineProgress\"),this.gradientTexture=null},e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values[\"line-floorwidth\"]=Ta.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,e)},e.prototype.createBucket=function(t){return new wa(t)},e.prototype.queryRadius=function(t){var e=t,r=Ea($n(\"line-width\",this,e),$n(\"line-gap-width\",this,e)),n=$n(\"line-offset\",this,e);return r/2+Math.abs(n)+Jn(this.paint.get(\"line-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a){var o=Kn(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),i.angle,a),s=a/2*Ea(this.paint.get(\"line-width\").evaluate(e),this.paint.get(\"line-gap-width\").evaluate(e)),c=this.paint.get(\"line-offset\").evaluate(e);return c&&(r=function(t,e){for(var r=[],n=new l(0,0),i=0;i<t.length;i++){for(var a=t[i],o=[],s=0;s<a.length;s++){var c=a[s-1],u=a[s],f=a[s+1],h=0===s?n:u.sub(c)._unit()._perp(),p=s===a.length-1?n:f.sub(u)._unit()._perp(),d=h._add(p)._unit(),g=d.x*p.x+d.y*p.y;d._mult(1/g),o.push(d._mult(e)._add(u))}r.push(o)}return r}(r,c*a)),Un(o,r,s)},e}(Hr);function Ea(t,e){return e>0?e+2*t:t}var Ca=Xr([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"}]),La=Xr([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),za=(Xr([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),Xr([{name:\"a_placed\",components:2,type:\"Uint8\"}],4)),Pa=(Xr([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"},{type:\"Int16\",name:\"radius\"},{type:\"Int16\",name:\"signedDistanceFromAnchor\"}]),Xr([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4)),Oa=Xr([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4);function Ia(t,e,r){var n=e.layout.get(\"text-transform\").evaluate(r);return\"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),Cr.applyArabicShaping&&(t=Cr.applyArabicShaping(t)),t}Xr([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"hidden\"}]),Xr([{type:\"Float32\",name:\"offsetX\"}]),Xr([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);var Da={\"!\":\"\\ufe15\",\"#\":\"\\uff03\",$:\"\\uff04\",\"%\":\"\\uff05\",\"&\":\"\\uff06\",\"(\":\"\\ufe35\",\")\":\"\\ufe36\",\"*\":\"\\uff0a\",\"+\":\"\\uff0b\",\",\":\"\\ufe10\",\"-\":\"\\ufe32\",\".\":\"\\u30fb\",\"/\":\"\\uff0f\",\":\":\"\\ufe13\",\";\":\"\\ufe14\",\"<\":\"\\ufe3f\",\"=\":\"\\uff1d\",\">\":\"\\ufe40\",\"?\":\"\\ufe16\",\"@\":\"\\uff20\",\"[\":\"\\ufe47\",\"\\\\\":\"\\uff3c\",\"]\":\"\\ufe48\",\"^\":\"\\uff3e\",_:\"\\ufe33\",\"`\":\"\\uff40\",\"{\":\"\\ufe37\",\"|\":\"\\u2015\",\"}\":\"\\ufe38\",\"~\":\"\\uff5e\",\"\\xa2\":\"\\uffe0\",\"\\xa3\":\"\\uffe1\",\"\\xa5\":\"\\uffe5\",\"\\xa6\":\"\\uffe4\",\"\\xac\":\"\\uffe2\",\"\\xaf\":\"\\uffe3\",\"\\u2013\":\"\\ufe32\",\"\\u2014\":\"\\ufe31\",\"\\u2018\":\"\\ufe43\",\"\\u2019\":\"\\ufe44\",\"\\u201c\":\"\\ufe41\",\"\\u201d\":\"\\ufe42\",\"\\u2026\":\"\\ufe19\",\"\\u2027\":\"\\u30fb\",\"\\u20a9\":\"\\uffe6\",\"\\u3001\":\"\\ufe11\",\"\\u3002\":\"\\ufe12\",\"\\u3008\":\"\\ufe3f\",\"\\u3009\":\"\\ufe40\",\"\\u300a\":\"\\ufe3d\",\"\\u300b\":\"\\ufe3e\",\"\\u300c\":\"\\ufe41\",\"\\u300d\":\"\\ufe42\",\"\\u300e\":\"\\ufe43\",\"\\u300f\":\"\\ufe44\",\"\\u3010\":\"\\ufe3b\",\"\\u3011\":\"\\ufe3c\",\"\\u3014\":\"\\ufe39\",\"\\u3015\":\"\\ufe3a\",\"\\u3016\":\"\\ufe17\",\"\\u3017\":\"\\ufe18\",\"\\uff01\":\"\\ufe15\",\"\\uff08\":\"\\ufe35\",\"\\uff09\":\"\\ufe36\",\"\\uff0c\":\"\\ufe10\",\"\\uff0d\":\"\\ufe32\",\"\\uff0e\":\"\\u30fb\",\"\\uff1a\":\"\\ufe13\",\"\\uff1b\":\"\\ufe14\",\"\\uff1c\":\"\\ufe3f\",\"\\uff1e\":\"\\ufe40\",\"\\uff1f\":\"\\ufe16\",\"\\uff3b\":\"\\ufe47\",\"\\uff3d\":\"\\ufe48\",\"\\uff3f\":\"\\ufe33\",\"\\uff5b\":\"\\ufe37\",\"\\uff5c\":\"\\u2015\",\"\\uff5d\":\"\\ufe38\",\"\\uff5f\":\"\\ufe35\",\"\\uff60\":\"\\ufe36\",\"\\uff61\":\"\\ufe12\",\"\\uff62\":\"\\ufe41\",\"\\uff63\":\"\\ufe42\"},Ra=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(l);function Ba(t,e){var r=e.expression;if(\"constant\"===r.kind)return{functionType:\"constant\",layoutSize:r.evaluate(new Lr(t+1))};if(\"source\"===r.kind)return{functionType:\"source\"};for(var n=r.zoomStops,i=0;i<n.length&&n[i]<=t;)i++;for(var a=i=Math.max(0,i-1);a<n.length&&n[a]<t+1;)a++;a=Math.min(n.length-1,a);var o={min:n[i],max:n[a]};return\"composite\"===r.kind?{functionType:\"composite\",zoomRange:o,propertyValue:e.value}:{functionType:\"camera\",layoutSize:r.evaluate(new Lr(t+1)),zoomRange:o,sizeRange:{min:r.evaluate(new Lr(o.min)),max:r.evaluate(new Lr(o.max))},propertyValue:e.value}}pr(\"Anchor\",Ra);var Fa=ga.VectorTileFeature.types,Na=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function ja(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,Math.round(32*n),Math.round(32*i),a,o,s?s[0]:0,s?s[1]:0)}function Va(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}var Ua=function(t){this.layoutVertexArray=new tn,this.indexArray=new fn,this.programConfigurations=t,this.segments=new Tn,this.dynamicLayoutVertexArray=new en,this.opacityVertexArray=new rn,this.placedSymbolArray=new yn};Ua.prototype.upload=function(t,e){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ca.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.programConfigurations.upload(t),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,La.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,Na,!0),this.opacityVertexBuffer.itemSize=1},Ua.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},pr(\"SymbolBuffers\",Ua);var qa=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new Tn,this.collisionVertexArray=new on};qa.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,za.members,!0)},qa.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},pr(\"CollisionBuffers\",qa);var Ha=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Ba(this.zoom,e[\"text-size\"]),this.iconSizeData=Ba(this.zoom,e[\"icon-size\"]);var r=this.layers[0].layout;this.sortFeaturesByY=r.get(\"text-allow-overlap\")||r.get(\"icon-allow-overlap\")||r.get(\"text-ignore-placement\")||r.get(\"icon-ignore-placement\")};Ha.prototype.createArrays=function(){this.text=new Ua(new On(Ca.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new Ua(new On(Ca.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new qa(an,Pa.members,hn),this.collisionCircle=new qa(an,Oa.members,fn),this.glyphOffsetArray=new bn,this.lineVertexArray=new wn},Ha.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,i=n.get(\"text-font\"),a=n.get(\"text-field\"),o=n.get(\"icon-image\"),s=(\"constant\"!==a.value.kind||a.value.value.length>0)&&(\"constant\"!==i.value.kind||i.value.value.length>0),l=\"constant\"!==o.value.kind||o.value.value&&o.value.value.length>0;if(this.features=[],s||l){for(var c=e.iconDependencies,u=e.glyphDependencies,f=new Lr(this.zoom),h=0,p=t;h<p.length;h+=1){var d=p[h],g=d.feature,m=d.index,v=d.sourceLayerIndex;if(r._featureFilter(f,g)){var y=void 0;s&&(y=Ia(y=r.getValueAndResolveTokens(\"text-field\",g),r,g));var x=void 0;if(l&&(x=r.getValueAndResolveTokens(\"icon-image\",g)),y||x){var b={text:y,icon:x,index:m,sourceLayerIndex:v,geometry:Bn(g),properties:g.properties,type:Fa[g.type]};if(void 0!==g.id&&(b.id=g.id),this.features.push(b),x&&(c[x]=!0),y)for(var _=i.evaluate(g).join(\",\"),w=u[_]=u[_]||{},k=\"map\"===n.get(\"text-rotation-alignment\")&&\"line\"===n.get(\"symbol-placement\"),M=xr(y),A=0;A<y.length;A++)if(w[y.charCodeAt(A)]=!0,k&&M){var T=Da[y.charAt(A)];T&&(w[T.charCodeAt(0)]=!0)}}}}\"line\"===n.get(\"symbol-placement\")&&(this.features=function(t){var e={},r={},n=[],i=0;function a(e){n.push(t[e]),i++}function o(t,e,i){var a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(t,r,i){var a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\":\"+n.x+\":\"+n.y}for(var c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.text;if(h){var p=l(h,f),d=l(h,f,!0);if(p in r&&d in e&&r[p]!==e[d]){var g=s(p,d,f),m=o(p,d,n[g].geometry);delete e[p],delete r[d],r[l(h,n[m].geometry,!0)]=m,n[g].geometry=null}else p in r?o(p,d,f):d in e?s(p,d,f):(a(c),e[p]=i-1,r[d]=i-1)}else a(c)}return n.filter(function(t){return t.geometry})}(this.features))}},Ha.prototype.isEmpty=function(){return 0===this.symbolInstances.length},Ha.prototype.upload=function(t){this.text.upload(t,this.sortFeaturesByY),this.icon.upload(t,this.sortFeaturesByY),this.collisionBox.upload(t),this.collisionCircle.upload(t)},Ha.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.collisionBox.destroy(),this.collisionCircle.destroy()},Ha.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var c=a[l];this.lineVertexArray.emplaceBack(c.x,c.y,c.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},Ha.prototype.addSymbols=function(t,e,r,n,i,a,o,s,l,c){for(var u=t.indexArray,f=t.layoutVertexArray,h=t.dynamicLayoutVertexArray,p=t.segments.prepareSegment(4*e.length,t.layoutVertexArray,t.indexArray),d=this.glyphOffsetArray.length,g=p.vertexLength,m=0,v=e;m<v.length;m+=1){var y=v[m],x=y.tl,b=y.tr,_=y.bl,w=y.br,k=y.tex,M=p.vertexLength,A=y.glyphOffset[1];ja(f,s.x,s.y,x.x,A+x.y,k.x,k.y,r),ja(f,s.x,s.y,b.x,A+b.y,k.x+k.w,k.y,r),ja(f,s.x,s.y,_.x,A+_.y,k.x,k.y+k.h,r),ja(f,s.x,s.y,w.x,A+w.y,k.x+k.w,k.y+k.h,r),Va(h,s,0),u.emplaceBack(M,M+1,M+2),u.emplaceBack(M+1,M+2,M+3),p.vertexLength+=4,p.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(y.glyphOffset[0])}t.placedSymbolArray.emplaceBack(s.x,s.y,d,this.glyphOffsetArray.length-d,g,l,c,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,!1),t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,a)},Ha.prototype._addCollisionDebugVertex=function(t,e,r,n,i){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n.x,n.y,Math.round(i.x),Math.round(i.y))},Ha.prototype.addCollisionDebugVertices=function(t,e,r,n,i,a,o,s){var c=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),u=c.vertexLength,f=i.layoutVertexArray,h=i.collisionVertexArray;if(this._addCollisionDebugVertex(f,h,a,o.anchor,new l(t,e)),this._addCollisionDebugVertex(f,h,a,o.anchor,new l(r,e)),this._addCollisionDebugVertex(f,h,a,o.anchor,new l(r,n)),this._addCollisionDebugVertex(f,h,a,o.anchor,new l(t,n)),c.vertexLength+=4,s){var p=i.indexArray;p.emplaceBack(u,u+1,u+2),p.emplaceBack(u,u+2,u+3),c.primitiveLength+=2}else{var d=i.indexArray;d.emplaceBack(u,u+1),d.emplaceBack(u+1,u+2),d.emplaceBack(u+2,u+3),d.emplaceBack(u+3,u),c.primitiveLength+=4}},Ha.prototype.generateCollisionDebugBuffers=function(){for(var t=0,e=this.symbolInstances;t<e.length;t+=1){var r=e[t];r.textCollisionFeature={boxStartIndex:r.textBoxStartIndex,boxEndIndex:r.textBoxEndIndex},r.iconCollisionFeature={boxStartIndex:r.iconBoxStartIndex,boxEndIndex:r.iconBoxEndIndex};for(var n=0;n<2;n++){var i=r[0===n?\"textCollisionFeature\":\"iconCollisionFeature\"];if(i)for(var a=i.boxStartIndex;a<i.boxEndIndex;a++){var o=this.collisionBoxArray.get(a),s=o.x1,l=o.y1,c=o.x2,u=o.y2,f=o.radius>0;this.addCollisionDebugVertices(s,l,c,u,f?this.collisionCircle:this.collisionBox,o.anchorPoint,r,f)}}}},Ha.prototype.deserializeCollisionBoxes=function(t,e,r,n,i){for(var a={},o=e;o<r;o++){var s=t.get(o);if(0===s.radius){a.textBox={x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2,anchorPointX:s.anchorPointX,anchorPointY:s.anchorPointY},a.textFeatureIndex=s.featureIndex;break}a.textCircles||(a.textCircles=[],a.textFeatureIndex=s.featureIndex),a.textCircles.push(s.anchorPointX,s.anchorPointY,s.radius,s.signedDistanceFromAnchor,1)}for(var l=n;l<i;l++){var c=t.get(l);if(0===c.radius){a.iconBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},a.iconFeatureIndex=c.featureIndex;break}}return a},Ha.prototype.hasTextData=function(){return this.text.segments.get().length>0},Ha.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Ha.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},Ha.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},Ha.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&(this.sortedAngle=t,!(this.text.segments.get().length>1||this.icon.segments.get().length>1))){for(var r=[],n=0;n<this.symbolInstances.length;n++)r.push(n);var i=Math.sin(t),a=Math.cos(t);r.sort(function(t,r){var n=e.symbolInstances[t],o=e.symbolInstances[r];return(i*n.anchor.x+a*n.anchor.y|0)-(i*o.anchor.x+a*o.anchor.y|0)||o.featureIndex-n.featureIndex}),this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var o=0,s=r;o<s.length;o+=1){var l=s[o],c=e.symbolInstances[l];e.featureSortOrder.push(c.featureIndex);for(var u=0,f=c.placedTextSymbolIndices;u<f.length;u+=1)for(var h=f[u],p=e.text.placedSymbolArray.get(h),d=p.vertexStartIndex+4*p.numGlyphs,g=p.vertexStartIndex;g<d;g+=4)e.text.indexArray.emplaceBack(g,g+1,g+2),e.text.indexArray.emplaceBack(g+1,g+2,g+3);var m=e.icon.placedSymbolArray.get(l);if(m.numGlyphs){var v=m.vertexStartIndex;e.icon.indexArray.emplaceBack(v,v+1,v+2),e.icon.indexArray.emplaceBack(v+1,v+2,v+3)}}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},pr(\"SymbolBucket\",Ha,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"],shallow:[\"symbolInstances\"]}),Ha.MAX_GLYPHS=65535,Ha.addDynamicAttributes=Va;var Ga=new qr({\"symbol-placement\":new Nr(O.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Nr(O.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Nr(O.layout_symbol[\"symbol-avoid-edges\"]),\"icon-allow-overlap\":new Nr(O.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new Nr(O.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Nr(O.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Nr(O.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new jr(O.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Nr(O.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Nr(O.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new jr(O.layout_symbol[\"icon-image\"]),\"icon-rotate\":new jr(O.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new Nr(O.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Nr(O.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new jr(O.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new jr(O.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Nr(O.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Nr(O.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Nr(O.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new jr(O.layout_symbol[\"text-field\"]),\"text-font\":new jr(O.layout_symbol[\"text-font\"]),\"text-size\":new jr(O.layout_symbol[\"text-size\"]),\"text-max-width\":new jr(O.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Nr(O.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new jr(O.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new jr(O.layout_symbol[\"text-justify\"]),\"text-anchor\":new jr(O.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Nr(O.layout_symbol[\"text-max-angle\"]),\"text-rotate\":new jr(O.layout_symbol[\"text-rotate\"]),\"text-padding\":new Nr(O.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Nr(O.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new jr(O.layout_symbol[\"text-transform\"]),\"text-offset\":new jr(O.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Nr(O.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new Nr(O.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Nr(O.layout_symbol[\"text-optional\"])}),Wa={paint:new qr({\"icon-opacity\":new jr(O.paint_symbol[\"icon-opacity\"]),\"icon-color\":new jr(O.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new jr(O.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new jr(O.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new jr(O.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Nr(O.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Nr(O.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new jr(O.paint_symbol[\"text-opacity\"]),\"text-color\":new jr(O.paint_symbol[\"text-color\"]),\"text-halo-color\":new jr(O.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new jr(O.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new jr(O.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Nr(O.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Nr(O.paint_symbol[\"text-translate-anchor\"])}),layout:Ga},Ya=function(t){function e(e){t.call(this,e,Wa)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(\"line\"===this.layout.get(\"symbol-placement\")?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(\"line\"===this.layout.get(\"symbol-placement\")?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\"))},e.prototype.getValueAndResolveTokens=function(t,e){var r,n=this.layout.get(t).evaluate(e),i=this._unevaluatedLayout._values[t];return i.isDataDriven()||_e(i.value)?n:(r=e.properties,n.replace(/{([^{}]+)}/g,function(t,e){return e in r?String(r[e]):\"\"}))},e.prototype.createBucket=function(t){return new Ha(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e}(Hr),Xa={paint:new qr({\"background-color\":new Nr(O.paint_background[\"background-color\"]),\"background-pattern\":new Vr(O.paint_background[\"background-pattern\"]),\"background-opacity\":new Nr(O.paint_background[\"background-opacity\"])})},Za=function(t){function e(e){t.call(this,e,Xa)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Hr),$a={paint:new qr({\"raster-opacity\":new Nr(O.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Nr(O.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Nr(O.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Nr(O.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Nr(O.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Nr(O.paint_raster[\"raster-contrast\"]),\"raster-fade-duration\":new Nr(O.paint_raster[\"raster-fade-duration\"])})},Ja={circle:ni,heatmap:pi,hillshade:gi,fill:Ji,\"fill-extrusion\":aa,line:Sa,symbol:Ya,background:Za,raster:function(t){function e(e){t.call(this,e,$a)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Hr)},Ka=i(function(t,e){t.exports=function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a,o=[],s=0;s<t.length;s++)if(r=t[s].w||t[s].width,n=t[s].h||t[s].height,i=t[s].id,r&&n){if(!(a=this.packOne(r,n,i)))continue;e.inPlace&&(t[s].x=a.x,t[s].y=a.y,t[s].id=a.id),o.push(a)}return this.shrink(),o},t.prototype.packOne=function(t,r,n){var i,a,o,s,l,c,u,f,h={freebin:-1,shelf:-1,waste:1/0},p=0;if(\"string\"==typeof n||\"number\"==typeof n){if(i=this.getBin(n))return this.ref(i),i;\"number\"==typeof n&&(this.maxId=Math.max(n,this.maxId))}else n=++this.maxId;for(s=0;s<this.freebins.length;s++){if(r===(i=this.freebins[s]).maxh&&t===i.maxw)return this.allocFreebin(s,t,r,n);r>i.maxh||t>i.maxw||r<=i.maxh&&t<=i.maxw&&(o=i.maxw*i.maxh-t*r)<h.waste&&(h.waste=o,h.freebin=s)}for(s=0;s<this.shelves.length;s++)if(p+=(a=this.shelves[s]).h,!(t>a.free)){if(r===a.h)return this.allocShelf(s,t,r,n);r>a.h||r<a.h&&(o=(a.h-r)*t)<h.waste&&(h.freebin=-1,h.waste=o,h.shelf=s)}return-1!==h.freebin?this.allocFreebin(h.freebin,t,r,n):-1!==h.shelf?this.allocShelf(h.shelf,t,r,n):r<=this.h-p&&t<=this.w?(a=new e(p,this.w,r),this.allocShelf(this.shelves.push(a)-1,t,r,n)):this.autoResize?(l=c=this.h,((u=f=this.w)<=l||t>u)&&(f=2*Math.max(t,u)),(l<u||r>l)&&(c=2*Math.max(r,l)),this.resize(f,c),this.packOne(t,r,n)):null},t.prototype.allocFreebin=function(t,e,r,n){var i=this.freebins.splice(t,1)[0];return i.id=n,i.w=e,i.h=r,i.refcount=0,this.bins[n]=i,this.ref(i),i},t.prototype.allocShelf=function(t,e,r,n){var i=this.shelves[t].alloc(e,r,n);return this.bins[n]=i,this.ref(i),i},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,r=0;r<this.shelves.length;r++){var n=this.shelves[r];e+=n.h,t=Math.max(n.w-n.free,t)}this.resize(t,e)}},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1==++t.refcount){var e=t.h;this.stats[e]=1+(0|this.stats[e])}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0==--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r<this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e,r){if(t>this.free||e>this.h)return null;var n=this.x;return this.x+=t,this.free-=t,new function(t,e,r,n,i,a,o){this.id=t,this.x=e,this.y=r,this.w=n,this.h=i,this.maxw=a||n,this.maxh=o||i,this.refcount=0}(r,n,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t}()}),Qa=function(t,e){var r=e.pixelRatio;this.paddedRect=t,this.pixelRatio=r},to={tl:{configurable:!0},br:{configurable:!0},displaySize:{configurable:!0}};to.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},to.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},to.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(Qa.prototype,to);var eo=function(t){var e=new ui({width:0,height:0}),r={},n=new Ka(0,0,{autoResize:!0});for(var i in t){var a=t[i],o=n.packOne(a.data.width+2,a.data.height+2);e.resize({width:n.w,height:n.h}),ui.copy(a.data,e,{x:0,y:0},{x:o.x+1,y:o.y+1},a.data),r[i]=new Qa(o,a)}n.shrink(),e.resize({width:n.w,height:n.h}),this.image=e,this.positions=r};pr(\"ImagePosition\",Qa),pr(\"ImageAtlas\",eo);var ro=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},no=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g},io=ao;function ao(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function oo(t){return t.type===ao.Bytes?t.readVarint()+t.pos:t.pos+1}function so(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function lo(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function co(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function uo(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function fo(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function ho(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function po(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function go(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function mo(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function vo(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function yo(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function xo(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function bo(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function _o(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}ao.Varint=0,ao.Fixed64=1,ao.Bytes=2,ao.Fixed32=5,ao.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=xo(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=_o(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=xo(this.buf,this.pos)+4294967296*xo(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=xo(this.buf,this.pos)+4294967296*_o(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=ro(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=ro(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return so(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return so(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=function(t,e,r){for(var n=\"\",i=e;i<r;){var a,o,s,l=t[i],c=null,u=l>239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){var r=oo(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===ao.Varint)for(;this.buf[this.pos++]>127;);else if(e===ao.Bytes)this.pos=this.readVarint()+this.pos;else if(e===ao.Fixed32)this.pos+=4;else{if(e!==ao.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),bo(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),bo(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),bo(this.buf,-1&t,this.pos),bo(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),bo(this.buf,-1&t,this.pos),bo(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&lo(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),no(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),no(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&lo(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,ao.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,co,e)},writePackedSVarint:function(t,e){this.writeMessage(t,uo,e)},writePackedBoolean:function(t,e){this.writeMessage(t,po,e)},writePackedFloat:function(t,e){this.writeMessage(t,fo,e)},writePackedDouble:function(t,e){this.writeMessage(t,ho,e)},writePackedFixed32:function(t,e){this.writeMessage(t,go,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,mo,e)},writePackedFixed64:function(t,e){this.writeMessage(t,vo,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,yo,e)},writeBytesField:function(t,e){this.writeTag(t,ao.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,ao.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,ao.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,ao.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,ao.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,ao.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,ao.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,ao.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,ao.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,ao.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var wo=3;function ko(t,e,r){1===t&&r.readMessage(Mo,e)}function Mo(t,e,r){if(3===t){var n=r.readMessage(Ao,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;e.push({id:i,bitmap:new ci({width:o+2*wo,height:s+2*wo},a),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function Ao(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var To=wo,So=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,g([\"receive\"],this),this.target.addEventListener(\"message\",this.receive,!1)};So.prototype.send=function(t,e,r,n){var i=r?this.mapId+\":\"+this.callbackID++:null;r&&(this.callbacks[i]=r);var a=[];this.target.postMessage({targetMapId:n,sourceMapId:this.mapId,type:t,id:String(i),data:gr(e,a)},a)},So.prototype.receive=function(t){var e,r=this,n=t.data,i=n.id;if(!n.targetMapId||this.mapId===n.targetMapId){var a=function(t,e){var n=[];r.target.postMessage({sourceMapId:r.mapId,type:\"<response>\",id:String(i),error:t?gr(t):null,data:gr(e,n)},n)};if(\"<response>\"===n.type)e=this.callbacks[n.id],delete this.callbacks[n.id],e&&n.error?e(mr(n.error)):e&&e(null,mr(n.data));else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.sourceMapId,mr(n.data),a);else if(void 0!==n.id&&this.parent.getWorkerSource){var o=n.type.split(\".\");this.parent.getWorkerSource(n.sourceMapId,o[0],o[1])[o[2]](mr(n.data),a)}else this.parent[n.type](mr(n.data))}},So.prototype.remove=function(){this.target.removeEventListener(\"message\",this.receive,!1)};var Eo=n(i(function(t,e){!function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+\",\"+i[1]+\",\"+a[0]+\",\"+a[1]}function r(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+\"?\"+[\"bbox=\"+e(n,i,a),\"format=\"+(o.format||\"image/png\"),\"service=\"+(o.service||\"WMS\"),\"version=\"+(o.version||\"1.1.1\"),\"request=\"+(o.request||\"GetMap\"),\"srs=\"+(o.srs||\"EPSG:3857\"),\"width=\"+(o.width||256),\"height=\"+(o.height||256),\"layers=\"+r].join(\"&\")},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,\"__esModule\",{value:!0})}(e)})),Co=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Po(0,t,e,r)};Co.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Co.prototype.url=function(t,e){var r=Eo.getTileBBox(this.x,this.y,this.z),n=function(t,e,r){for(var n,i=\"\",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(\"tms\"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",n).replace(\"{bbox-epsg-3857}\",r)};var Lo=function(t,e){this.wrap=t,this.canonical=e,this.key=Po(t,e.z,e.x,e.y)},zo=function(t,e,r,n,i){this.overscaledZ=t,this.wrap=e,this.canonical=new Co(r,+n,+i),this.key=Po(e,t,n,i)};function Po(t,e,r,n){(t*=2)<0&&(t=-1*t-1);var i=1<<e;return 32*(i*i*t+i*n+r)+e}zo.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},zo.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new zo(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new zo(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},zo.prototype.isChildOf=function(t){var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},zo.prototype.children=function(t){if(this.overscaledZ>=t)return[new zo(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new zo(e,this.wrap,e,r,n),new zo(e,this.wrap,e,r+1,n),new zo(e,this.wrap,e,r,n+1),new zo(e,this.wrap,e,r+1,n+1)]},zo.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},zo.prototype.wrapped=function(){return new zo(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},zo.prototype.unwrapTo=function(t){return new zo(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},zo.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},zo.prototype.toUnwrapped=function(){return new Lo(this.wrap,this.canonical)},zo.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},zo.prototype.toCoordinate=function(){return new s(this.canonical.x+Math.pow(2,this.wrap),this.canonical.y,this.canonical.z)},pr(\"CanonicalTileID\",Co),pr(\"OverscaledTileID\",zo,{omit:[\"posMatrix\"]});var Oo=function(t,e,r){if(t<=0)throw new RangeError(\"Level must have positive dimension\");this.dim=t,this.border=e,this.stride=this.dim+2*this.border,this.data=r||new Int32Array((this.dim+2*this.border)*(this.dim+2*this.border))};Oo.prototype.set=function(t,e,r){this.data[this._idx(t,e)]=r+65536},Oo.prototype.get=function(t,e){return this.data[this._idx(t,e)]-65536},Oo.prototype._idx=function(t,e){if(t<-this.border||t>=this.dim+this.border||e<-this.border||e>=this.dim+this.border)throw new RangeError(\"out of range source coordinates for DEM data\");return(e+this.border)*this.stride+(t+this.border)},pr(\"Level\",Oo);var Io=function(t,e,r){this.uid=t,this.scale=e||1,this.level=r||new Oo(256,512),this.loaded=!!r};Io.prototype.loadFromImage=function(t,e){if(t.height!==t.width)throw new RangeError(\"DEM tiles must be square\");if(e&&\"mapbox\"!==e&&\"terrarium\"!==e)return _('\"'+e+'\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".');var r=this.level=new Oo(t.width,t.width/2),n=t.data;this._unpackData(r,n,e||\"mapbox\");for(var i=0;i<r.dim;i++)r.set(-1,i,r.get(0,i)),r.set(r.dim,i,r.get(r.dim-1,i)),r.set(i,-1,r.get(i,0)),r.set(i,r.dim,r.get(i,r.dim-1));r.set(-1,-1,r.get(0,0)),r.set(r.dim,-1,r.get(r.dim-1,0)),r.set(-1,r.dim,r.get(0,r.dim-1)),r.set(r.dim,r.dim,r.get(r.dim-1,r.dim-1)),this.loaded=!0},Io.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Io.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Io.prototype._unpackData=function(t,e,r){for(var n={mapbox:this._unpackMapbox,terrarium:this._unpackTerrarium}[r],i=0;i<t.dim;i++)for(var a=0;a<t.dim;a++){var o=4*(i*t.dim+a);t.set(a,i,this.scale*n(e[o],e[o+1],e[o+2]))}},Io.prototype.getPixels=function(){return new ui({width:this.level.dim+2*this.level.border,height:this.level.dim+2*this.level.border},new Uint8Array(this.level.data.buffer))},Io.prototype.backfillBorder=function(t,e,r){var n=this.level,i=t.level;if(n.dim!==i.dim)throw new Error(\"level mismatch (dem dimension)\");var a=e*n.dim,o=e*n.dim+n.dim,s=r*n.dim,l=r*n.dim+n.dim;switch(e){case-1:a=o-1;break;case 1:o=a+1}switch(r){case-1:s=l-1;break;case 1:l=s+1}for(var c=h(a,-n.border,n.dim+n.border),u=h(o,-n.border,n.dim+n.border),f=h(s,-n.border,n.dim+n.border),p=h(l,-n.border,n.dim+n.border),d=-e*n.dim,g=-r*n.dim,m=f;m<p;m++)for(var v=c;v<u;v++)n.set(v,m,i.get(v+d,m+g))},pr(\"DEMData\",Io);var Do=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}};Do.prototype.encode=function(t){return this._stringToNumber[t]},Do.prototype.decode=function(t){return this._numberToString[t]};var Ro=function(t,e,r,n){this.type=\"Feature\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},Bo={geometry:{configurable:!0}};Bo.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Bo.geometry.set=function(t){this._geometry=t},Ro.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]);return t},Object.defineProperties(Ro.prototype,Bo);var Fo=function(t,e,r){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=e||new lr(Dn,16,0),this.featureIndexArray=r||new Mn};function No(t,e){return e-t}Fo.prototype.insert=function(t,e,r,n,i){var a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var o=0;o<e.length;o++){for(var s=e[o],l=[1/0,1/0,-1/0,-1/0],c=0;c<s.length;c++){var u=s[c];l[0]=Math.min(l[0],u.x),l[1]=Math.min(l[1],u.y),l[2]=Math.max(l[2],u.x),l[3]=Math.max(l[3],u.y)}l[0]<Dn&&l[1]<Dn&&l[2]>=0&&l[3]>=0&&this.grid.insert(a,l[0],l[1],l[2],l[3])}},Fo.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new ga.VectorTile(new io(this.rawTileData)).layers,this.sourceLayerCoder=new Do(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},Fo.prototype.query=function(t,e){var r=this;this.loadVTLayers();for(var n=t.params||{},i=Dn/t.tileSize/t.scale,a=Re(n.filter),o=t.queryGeometry,s=t.queryPadding*i,l=1/0,c=1/0,u=-1/0,f=-1/0,h=0;h<o.length;h++)for(var p=o[h],d=0;d<p.length;d++){var g=p[d];l=Math.min(l,g.x),c=Math.min(c,g.y),u=Math.max(u,g.x),f=Math.max(f,g.y)}var m=this.grid.query(l-s,c-s,u+s,f+s);m.sort(No);for(var v,y={},x=function(s){var l=m[s];if(l!==v){v=l;var c=r.featureIndexArray.get(l),u=null;r.loadMatchingFeature(y,c.bucketIndex,c.sourceLayerIndex,c.featureIndex,a,n.layers,e,function(e,n){return u||(u=Bn(e)),n.queryIntersectsFeature(o,e,u,r.z,t.transform,i,t.posMatrix)})}},b=0;b<m.length;b++)x(b);return y},Fo.prototype.loadMatchingFeature=function(t,e,r,n,i,a,o,s){var l=this.bucketLayerIDs[e];if(!a||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1}(a,l)){var c=this.sourceLayerCoder.decode(r),u=this.vtLayers[c].feature(n);if(i(new Lr(this.tileID.overscaledZ),u))for(var f=0;f<l.length;f++){var h=l[f];if(!(a&&a.indexOf(h)<0)){var p=o[h];if(p&&(!s||s(u,p))){var d=new Ro(u,this.z,this.x,this.y);d.layer=p.serialize();var g=t[h];void 0===g&&(g=t[h]=[]),g.push({featureIndex:n,feature:d})}}}}},Fo.prototype.lookupSymbolFeatures=function(t,e,r,n,i,a){var o={};this.loadVTLayers();for(var s=Re(n),l=0,c=t;l<c.length;l+=1){var u=c[l];this.loadMatchingFeature(o,e,r,u,s,i,a)}return o},Fo.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1)if(t===i[n])return!0;return!1},pr(\"FeatureIndex\",Fo,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});var jo={horizontal:1,vertical:2,horizontalOnly:3},Vo={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Uo={};function qo(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function Ho(t,e){var r=0;return 10===t&&(r-=1e4),40!==t&&65288!==t||(r+=50),41!==e&&65289!==e||(r+=50),r}function Go(t,e,r,n,i,a){for(var o=null,s=qo(e,r,i,a),l=0,c=n;l<c.length;l+=1){var u=c[l],f=qo(e-u.x,r,i,a)+u.badness;f<=s&&(o=u,s=f)}return{index:t,x:e,priorBreak:o,badness:s}}function Wo(t,e,r,n){if(!r)return[];if(!t)return[];for(var i,a=[],o=function(t,e,r,n){for(var i=0,a=0;a<t.length;a++){var o=n[t.charCodeAt(a)];o&&(i+=o.metrics.advance+e)}return i/Math.max(1,Math.ceil(i/r))}(t,e,r,n),s=0,l=0;l<t.length;l++){var c=t.charCodeAt(l),u=n[c];u&&!Vo[c]&&(s+=u.metrics.advance+e),l<t.length-1&&(Uo[c]||!((i=c)<11904)&&(yr[\"Bopomofo Extended\"](i)||yr.Bopomofo(i)||yr[\"CJK Compatibility Forms\"](i)||yr[\"CJK Compatibility Ideographs\"](i)||yr[\"CJK Compatibility\"](i)||yr[\"CJK Radicals Supplement\"](i)||yr[\"CJK Strokes\"](i)||yr[\"CJK Symbols and Punctuation\"](i)||yr[\"CJK Unified Ideographs Extension A\"](i)||yr[\"CJK Unified Ideographs\"](i)||yr[\"Enclosed CJK Letters and Months\"](i)||yr[\"Halfwidth and Fullwidth Forms\"](i)||yr.Hiragana(i)||yr[\"Ideographic Description Characters\"](i)||yr[\"Kangxi Radicals\"](i)||yr[\"Katakana Phonetic Extensions\"](i)||yr.Katakana(i)||yr[\"Vertical Forms\"](i)||yr[\"Yi Radicals\"](i)||yr[\"Yi Syllables\"](i)))&&a.push(Go(l+1,s,o,a,Ho(c,t.charCodeAt(l+1)),!1))}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(Go(t.length,s,o,a,0,!0))}function Yo(t){var e=.5,r=.5;switch(t){case\"right\":case\"top-right\":case\"bottom-right\":e=1;break;case\"left\":case\"top-left\":case\"bottom-left\":e=0}switch(t){case\"bottom\":case\"bottom-right\":case\"bottom-left\":r=1;break;case\"top\":case\"top-right\":case\"top-left\":r=0}return{horizontalAlign:e,verticalAlign:r}}function Xo(t,e,r,n,i){if(i){var a=e[t[n].glyph];if(a)for(var o=a.metrics.advance,s=(t[n].x+o)*i,l=r;l<=n;l++)t[l].x-=s}}Uo[10]=!0,Uo[32]=!0,Uo[38]=!0,Uo[40]=!0,Uo[41]=!0,Uo[43]=!0,Uo[45]=!0,Uo[47]=!0,Uo[173]=!0,Uo[183]=!0,Uo[8203]=!0,Uo[8208]=!0,Uo[8211]=!0,Uo[8231]=!0,e.commonjsGlobal=r,e.unwrapExports=n,e.createCommonjsModule=i,e.default=self,e.default$1=l,e.getJSON=function(t,e){var r=T(t);return r.setRequestHeader(\"Accept\",\"application/json\"),r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var n;try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n)}else 401===r.status&&t.url.match(/mapbox.com/)?e(new A(r.statusText+\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens\",r.status,t.url)):e(new A(r.statusText,r.status,t.url))},r.send(),r},e.getImage=function(t,e){return S(t,function(t,r){if(t)e(t);else if(r){var n=new self.Image,i=self.URL||self.webkitURL;n.onload=function(){e(null,n),i.revokeObjectURL(n.src)};var a=new self.Blob([new Uint8Array(r.data)],{type:\"image/png\"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?i.createObjectURL(a):\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\"}})},e.ResourceType=M,e.RGBAImage=ui,e.default$2=Ka,e.ImagePosition=Qa,e.getArrayBuffer=S,e.default$3=function(t){return new io(t).readFields(ko,[])},e.default$4=yr,e.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach(function(t,o){e(t,function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)})})},e.AlphaImage=ci,e.default$5=O,e.endsWith=m,e.extend=p,e.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},e.Evented=P,e.validateStyle=nr,e.validateLight=ir,e.emitValidationErrors=sr,e.default$6=tt,e.number=wt,e.Properties=qr,e.Transitionable=Or,e.Transitioning=Dr,e.PossiblyEvaluated=Fr,e.DataConstantProperty=Nr,e.warnOnce=_,e.uniqueId=function(){return d++},e.default$7=So,e.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r},e.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},e.clamp=h,e.Event=L,e.ErrorEvent=z,e.OverscaledTileID=zo,e.default$8=Dn,e.createLayout=Xr,e.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-1/0,i=-1/0,a=0;a<t.length;a++)e=Math.min(e,t[a].column),r=Math.min(r,t[a].row),n=Math.max(n,t[a].column),i=Math.max(i,t[a].row);var o=n-e,l=i-r,c=Math.max(o,l),u=Math.max(0,Math.floor(-Math.log(c)/Math.LN2));return new s((e+n)/2,(r+i)/2,0).zoomTo(u)},e.CanonicalTileID=Co,e.RasterBoundsArray=Jr,e.getVideo=function(t,e){var r,n,i=self.document.createElement(\"video\");i.onloadstart=function(){e(null,i)};for(var a=0;a<t.length;a++){var o=self.document.createElement(\"source\");r=t[a],n=void 0,(n=self.document.createElement(\"a\")).href=r,(n.protocol!==self.document.location.protocol||n.host!==self.document.location.host)&&(i.crossOrigin=\"Anonymous\"),o.src=t[a],i.appendChild(o)}return i},e.default$9=I,e.bindAll=g,e.default$10=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n<e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if(\"object\"==typeof e&&null!==e&&null!==r){if(\"object\"!=typeof r)return!1;if(Object.keys(e).length!==Object.keys(r).length)return!1;for(var i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r},e.parseCacheControl=function(t){var e={};if(t.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\"\"}),e[\"max-age\"]){var r=parseInt(e[\"max-age\"],10);isNaN(r)?delete e[\"max-age\"]:e[\"max-age\"]=r}return e},e.default$11=Fo,e.default$12=Ro,e.default$13=Re,e.default$14=Ha,e.CollisionBoxArray=mn,e.default$15=Tn,e.TriangleIndexArray=fn,e.default$16=Lr,e.default$17=s,e.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},e.default$18=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],e.mat4=ri,e.vec4=ei,e.getSizeData=Ba,e.evaluateSizeForFeature=function(t,e,r){var n=e;return\"source\"===t.functionType?r.lowerSize/10:\"composite\"===t.functionType?wt(r.lowerSize/10,r.upperSize/10,n.uSizeT):n.uSize},e.evaluateSizeForZoom=function(t,e,r){if(\"constant\"===t.functionType)return{uSizeT:0,uSize:t.layoutSize};if(\"source\"===t.functionType)return{uSizeT:0,uSize:0};if(\"camera\"===t.functionType){var n=t.propertyValue,i=t.zoomRange,a=t.sizeRange,o=h(Se(n,r.specification).interpolationFactor(e,i.min,i.max),0,1);return{uSizeT:0,uSize:a.min+o*(a.max-a.min)}}var s=t.propertyValue,l=t.zoomRange;return{uSizeT:h(Se(s,r.specification).interpolationFactor(e,l.min,l.max),0,1),uSize:0}},e.addDynamicAttributes=Va,e.default$19=Wa,e.WritingMode=jo,e.multiPolygonIntersectsBufferedPoint=jn,e.multiPolygonIntersectsMultiPolygon=Vn,e.multiPolygonIntersectsBufferedMultiLine=Un,e.polygonIntersectsPolygon=function(t,e){for(var r=0;r<t.length;r++)if(Zn(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(Zn(t,e[n]))return!0;return!!Hn(t,e)},e.distToSegmentSquared=Yn,e.default$20=ti,e.default$21=Hr,e.default$22=function(t){return new Ja[t.type](t)},e.clone=x,e.filterObject=y,e.mapObject=v,e.registerForPluginAvailability=function(t){return Tr?t({pluginURL:Tr,completionCallback:Mr}):Er.once(\"pluginAvailable\",t),t},e.evented=Er,e.default$23=vr,e.default$24=Pn,e.PosArray=$r,e.UnwrappedTileID=Lo,e.ease=f,e.bezier=u,e.setRTLTextPlugin=function(t,e){if(Ar)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");Ar=!0,Tr=t,Mr=function(t){t?(Ar=!1,Tr=null,e&&e(t)):Sr=!0},Er.fire(new L(\"pluginAvailable\",{pluginURL:Tr,completionCallback:Mr}))},e.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},e.default$25=Ra,e.register=pr,e.GLYPH_PBF_BORDER=To,e.shapeText=function(t,e,r,n,i,a,o,s,l,c){var u=t.trim();c===jo.vertical&&(u=function(t){for(var e=\"\",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,i=t.charCodeAt(r-1)||null;n&&wr(n)&&!Da[t[r+1]]||i&&wr(i)&&!Da[t[r-1]]||!Da[t[r]]?e+=t[r]:e+=Da[t[r]]}return e}(u));var f=[],h={positionedGlyphs:f,text:u,top:s[1],bottom:s[1],left:s[0],right:s[0],writingMode:c},p=Cr.processBidirectionalText;return function(t,e,r,n,i,a,o,s,l){for(var c=0,u=-17,f=0,h=t.positionedGlyphs,p=\"right\"===a?1:\"left\"===a?0:.5,d=0,g=r;d<g.length;d+=1){var m=g[d];if((m=m.trim()).length){for(var v=h.length,y=0;y<m.length;y++){var x=m.charCodeAt(y),b=e[x];b&&(_r(x)&&o!==jo.horizontal?(h.push({glyph:x,x:c,y:0,vertical:!0}),c+=l+s):(h.push({glyph:x,x:c,y:u,vertical:!1}),c+=b.metrics.advance+s))}if(h.length!==v){var _=c-s;f=Math.max(_,f),Xo(h,e,v,h.length-1,p)}c=0,u+=n}else u+=n}var w=Yo(i),k=w.horizontalAlign,M=w.verticalAlign;!function(t,e,r,n,i,a,o){for(var s=(e-r)*i,l=(-n*o+.5)*a,c=0;c<t.length;c++)t[c].x+=s,t[c].y+=l}(h,p,k,M,f,n,r.length);var A=r.length*n;t.top+=-M*A,t.bottom=t.top+A,t.left+=-k*f,t.right=t.left+f}(h,e,p?p(u,Wo(u,o,r,e)):function(t,e){for(var r=[],n=0,i=0,a=e;i<a.length;i+=1){var o=a[i];r.push(t.substring(n,o)),n=o}return n<t.length&&r.push(t.substring(n,t.length)),r}(u,Wo(u,o,r,e)),n,i,a,c,o,l),!!f.length&&h},e.shapeIcon=function(t,e,r){var n=Yo(r),i=n.horizontalAlign,a=n.verticalAlign,o=e[0],s=e[1],l=o-t.displaySize[0]*i,c=l+t.displaySize[0],u=s-t.displaySize[1]*a;return{image:t,top:u,bottom:u+t.displaySize[1],left:l,right:c}},e.allowsVerticalWritingMode=xr,e.allowsLetterSpacing=function(t){for(var e=0,r=t;e<r.length;e+=1)if(!br(r[e].charCodeAt(0)))return!1;return!0},e.default$26=Yi,e.default$27=Do,e.default$28=eo,e.default$29=ga,e.default$30=io,e.default$31=Io,e.__moduleExports=ga,e.default$32=l,e.__moduleExports$1=io,e.plugin=Cr}),i(0,function(t){function e(t){var r=typeof t;if(\"number\"===r||\"boolean\"===r||\"string\"===r||null==t)return JSON.stringify(t);if(Array.isArray(t)){for(var n=\"[\",i=0,a=t;i<a.length;i+=1)n+=e(a[i])+\",\";return n+\"]\"}for(var o=Object.keys(t).sort(),s=\"{\",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+\":\"+e(t[o[l]])+\",\";return s+\"}\"}function r(r){for(var n=\"\",i=0,a=t.default$18;i<a.length;i+=1)n+=\"/\"+e(r[a[i]]);return n}var n=function(t){t&&this.replace(t)};function i(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;s<r/2;){var u=t[o-1],f=t[o],h=t[o+1];if(!h)return!1;var p=u.angleTo(f)-f.angleTo(h);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),c+=p;s-l[0].distance>n;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=f.dist(h)}return!0}function a(e,r,n,a,o,s,l,c,u){var f=a?.6*s*l:0,h=Math.max(a?a.right-a.left:0,o?o.right-o.left:0),p=0===e[0].x||e[0].x===u||0===e[0].y||e[0].y===u;return r-h*l<r/4&&(r=h*l+r/4),function e(r,n,a,o,s,l,c,u,f){for(var h=l/2,p=0,d=0;d<r.length-1;d++)p+=r[d].dist(r[d+1]);for(var g=0,m=n-a,v=[],y=0;y<r.length-1;y++){for(var x=r[y],b=r[y+1],_=x.dist(b),w=b.angleTo(x);m+a<g+_;){var k=((m+=a)-g)/_,M=t.number(x.x,b.x,k),A=t.number(x.y,b.y,k);if(M>=0&&M<f&&A>=0&&A<f&&m-h>=0&&m+h<=p){var T=new t.default$25(M,A,w,y);T._round(),o&&!i(r,T,l,o,s)||v.push(T)}}g+=_}return u||v.length||c||(v=e(r,g/2,a,o,s,l,c,!0,f)),v}(e,p?r/2*c%r:(h/2+2*s)*l*c%r,r,f,n,h*l,p,!1,u)}n.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},n.prototype.update=function(e,n){for(var i=this,a=0,o=e;a<o.length;a+=1){var s=o[a];i._layerConfigs[s.id]=s;var l=i._layers[s.id]=t.default$22(s);l._featureFilter=t.default$13(l.filter)}for(var c=0,u=n;c<u.length;c+=1){var f=u[c];delete i._layerConfigs[f],delete i._layers[f]}this.familiesBySource={};for(var h=0,p=function(t){for(var e={},n=0;n<t.length;n++){var i=r(t[n]),a=e[i];a||(a=e[i]=[]),a.push(t[n])}var o=[];for(var s in e)o.push(e[s]);return o}(t.values(this._layerConfigs));h<p.length;h+=1){var d=p[h].map(function(t){return i._layers[t.id]}),g=d[0];if(\"none\"!==g.visibility){var m=g.source||\"\",v=i.familiesBySource[m];v||(v=i.familiesBySource[m]={});var y=g.sourceLayer||\"_geojsonTileLayer\",x=v[y];x||(x=v[y]=[]),x.push(d)}}};var o=function(){this.opacity=0,this.targetOpacity=0,this.time=0};o.prototype.clone=function(){var t=new o;return t.opacity=this.opacity,t.targetOpacity=this.targetOpacity,t.time=this.time,t},t.register(\"OpacityState\",o);var s=function(t,e,r,n,i,a,o,s,l,c,u){var f=o.top*s-l,h=o.bottom*s+l,p=o.left*s-l,d=o.right*s+l;if(this.boxStartIndex=t.length,c){var g=h-f,m=d-p;g>0&&(g=Math.max(10*s,g),this._addLineCollisionCircles(t,e,r,r.segment,m,g,n,i,a,u))}else t.emplaceBack(r.x,r.y,p,f,d,h,n,i,a,0,0);this.boxEndIndex=t.length};s.prototype._addLineCollisionCircles=function(t,e,r,n,i,a,o,s,l,c){var u=a/2,f=Math.floor(i/u),h=1+.4*Math.log(c)/Math.LN2,p=Math.floor(f*h/2),d=-a/2,g=r,m=n+1,v=d,y=-i/2,x=y-i/4;do{if(--m<0){if(v>y)return;m=0;break}v-=e[m].dist(g),g=e[m]}while(v>x);for(var b=e[m].dist(e[m+1]),_=-p;_<f+p;_++){var w=_*u,k=y+w;if(w<0&&(k+=w),w>i&&(k+=w-i),!(k<v)){for(;v+b<k;){if(v+=b,++m+1>=e.length)return;b=e[m].dist(e[m+1])}var M=k-v,A=e[m],T=e[m+1].sub(A)._unit()._mult(M)._add(A)._round(),S=Math.abs(k-d)<u?0:.8*(k-d);t.emplaceBack(T.x,T.y,-a/2,-a/2,a/2,a/2,o,s,l,a/2,S)}}};var l=u,c=u;function u(t,e){if(!(this instanceof u))return new u(t,e);if(this.data=t||[],this.length=this.data.length,this.compare=e||f,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)}function f(t,e){return t<e?-1:t>e?1:0}function h(e,r,n){void 0===r&&(r=1),void 0===n&&(n=!1);for(var i=1/0,a=1/0,o=-1/0,s=-1/0,c=e[0],u=0;u<c.length;u++){var f=c[u];(!u||f.x<i)&&(i=f.x),(!u||f.y<a)&&(a=f.y),(!u||f.x>o)&&(o=f.x),(!u||f.y>s)&&(s=f.y)}var h=o-i,g=s-a,m=Math.min(h,g),v=m/2,y=new l(null,p);if(0===m)return new t.default$1(i,a);for(var x=i;x<o;x+=m)for(var b=a;b<s;b+=m)y.push(new d(x+v,b+v,v,e));for(var _=function(t){for(var e=0,r=0,n=0,i=t[0],a=0,o=i.length,s=o-1;a<o;s=a++){var l=i[a],c=i[s],u=l.x*c.y-c.x*l.y;r+=(l.x+c.x)*u,n+=(l.y+c.y)*u,e+=3*u}return new d(r/e,n/e,0,t)}(e),w=y.length;y.length;){var k=y.pop();(k.d>_.d||!_.d)&&(_=k,n&&console.log(\"found best %d after %d probes\",Math.round(1e4*k.d)/1e4,w)),k.max-_.d<=r||(v=k.h/2,y.push(new d(k.p.x-v,k.p.y-v,v,e)),y.push(new d(k.p.x+v,k.p.y-v,v,e)),y.push(new d(k.p.x-v,k.p.y+v,v,e)),y.push(new d(k.p.x+v,k.p.y+v,v,e)),w+=4)}return n&&(console.log(\"num probes: \"+w),console.log(\"best distance: \"+_.d)),_.p}function p(t,e){return e.max-t.max}function d(e,r,n,i){this.p=new t.default$1(e,r),this.h=n,this.d=function(e,r){for(var n=!1,i=1/0,a=0;a<r.length;a++)for(var o=r[a],s=0,l=o.length,c=l-1;s<l;c=s++){var u=o[s],f=o[c];u.y>e.y!=f.y>e.y&&e.x<(f.x-u.x)*(e.y-u.y)/(f.y-u.y)+u.x&&(n=!n),i=Math.min(i,t.distToSegmentSquared(e,u,f))}return(n?1:-1)*Math.sqrt(i)}(this.p,i),this.max=this.d+this.h*Math.SQRT2}function g(e,r,n,i,a,o){e.createArrays(),e.symbolInstances=[];var s=512*e.overscaling;e.tilePixelRatio=t.default$8/s,e.compareText={},e.iconsNeedLinear=!1;var l=e.layers[0].layout,c=e.layers[0]._unevaluatedLayout._values,u={};if(\"composite\"===e.textSizeData.functionType){var f=e.textSizeData.zoomRange,h=f.min,p=f.max;u.compositeTextSizes=[c[\"text-size\"].possiblyEvaluate(new t.default$16(h)),c[\"text-size\"].possiblyEvaluate(new t.default$16(p))]}if(\"composite\"===e.iconSizeData.functionType){var d=e.iconSizeData.zoomRange,g=d.min,v=d.max;u.compositeIconSizes=[c[\"icon-size\"].possiblyEvaluate(new t.default$16(g)),c[\"icon-size\"].possiblyEvaluate(new t.default$16(v))]}u.layoutTextSize=c[\"text-size\"].possiblyEvaluate(new t.default$16(e.zoom+1)),u.layoutIconSize=c[\"icon-size\"].possiblyEvaluate(new t.default$16(e.zoom+1)),u.textMaxSize=c[\"text-size\"].possiblyEvaluate(new t.default$16(18));for(var y=24*l.get(\"text-line-height\"),x=\"map\"===l.get(\"text-rotation-alignment\")&&\"line\"===l.get(\"symbol-placement\"),b=l.get(\"text-keep-upright\"),_=0,w=e.features;_<w.length;_+=1){var k=w[_],M=l.get(\"text-font\").evaluate(k).join(\",\"),A=r[M]||{},T=n[M]||{},S={},E=k.text;if(E){var C=l.get(\"text-offset\").evaluate(k).map(function(t){return 24*t}),L=24*l.get(\"text-letter-spacing\").evaluate(k),z=t.allowsLetterSpacing(E)?L:0,P=l.get(\"text-anchor\").evaluate(k),O=l.get(\"text-justify\").evaluate(k),I=\"line\"!==l.get(\"symbol-placement\")?24*l.get(\"text-max-width\").evaluate(k):0;S.horizontal=t.shapeText(E,A,I,y,P,O,z,C,24,t.WritingMode.horizontal),t.allowsVerticalWritingMode(E)&&x&&b&&(S.vertical=t.shapeText(E,A,I,y,P,O,z,C,24,t.WritingMode.vertical))}var D=void 0;if(k.icon){var R=i[k.icon];R&&(D=t.shapeIcon(a[k.icon],l.get(\"icon-offset\").evaluate(k),l.get(\"icon-anchor\").evaluate(k)),void 0===e.sdfIcons?e.sdfIcons=R.sdf:e.sdfIcons!==R.sdf&&t.warnOnce(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),R.pixelRatio!==e.pixelRatio?e.iconsNeedLinear=!0:0!==l.get(\"icon-rotate\").constantOr(1)&&(e.iconsNeedLinear=!0))}(S.horizontal||D)&&m(e,k,S,D,T,u)}o&&e.generateCollisionDebugBuffers()}function m(e,r,n,i,l,c){var u=c.layoutTextSize.evaluate(r),f=c.layoutIconSize.evaluate(r),p=c.textMaxSize.evaluate(r);void 0===p&&(p=u);var d=e.layers[0].layout,g=d.get(\"text-offset\").evaluate(r),m=d.get(\"icon-offset\").evaluate(r),x=u/24,b=e.tilePixelRatio*x,_=e.tilePixelRatio*p/24,w=e.tilePixelRatio*f,k=e.tilePixelRatio*d.get(\"symbol-spacing\"),M=d.get(\"text-padding\")*e.tilePixelRatio,A=d.get(\"icon-padding\")*e.tilePixelRatio,T=d.get(\"text-max-angle\")/180*Math.PI,S=\"map\"===d.get(\"text-rotation-alignment\")&&\"line\"===d.get(\"symbol-placement\"),E=\"map\"===d.get(\"icon-rotation-alignment\")&&\"line\"===d.get(\"symbol-placement\"),C=k/2,L=function(a,u){u.x<0||u.x>=t.default$8||u.y<0||u.y>=t.default$8||e.symbolInstances.push(function(e,r,n,i,a,l,c,u,f,h,p,d,g,m,y,x,b,_,w,k,M){var A,T,S=e.addToLineVertexArray(r,n),E=0,C=0,L=0,z=i.horizontal?i.horizontal.text:\"\",P=[];i.horizontal&&(A=new s(c,n,r,u,f,h,i.horizontal,p,d,g,e.overscaling),C+=v(e,r,i.horizontal,l,g,w,m,S,i.vertical?t.WritingMode.horizontal:t.WritingMode.horizontalOnly,P,k,M),i.vertical&&(L+=v(e,r,i.vertical,l,g,w,m,S,t.WritingMode.vertical,P,k,M)));var O=A?A.boxStartIndex:e.collisionBoxArray.length,I=A?A.boxEndIndex:e.collisionBoxArray.length;if(a){var D=function(e,r,n,i,a,o){var s,l,c,u,f=r.image,h=n.layout,p=r.top-1/f.pixelRatio,d=r.left-1/f.pixelRatio,g=r.bottom+1/f.pixelRatio,m=r.right+1/f.pixelRatio;if(\"none\"!==h.get(\"icon-text-fit\")&&a){var v=m-d,y=g-p,x=h.get(\"text-size\").evaluate(o)/24,b=a.left*x,_=a.right*x,w=a.top*x,k=_-b,M=a.bottom*x-w,A=h.get(\"icon-text-fit-padding\")[0],T=h.get(\"icon-text-fit-padding\")[1],S=h.get(\"icon-text-fit-padding\")[2],E=h.get(\"icon-text-fit-padding\")[3],C=\"width\"===h.get(\"icon-text-fit\")?.5*(M-y):0,L=\"height\"===h.get(\"icon-text-fit\")?.5*(k-v):0,z=\"width\"===h.get(\"icon-text-fit\")||\"both\"===h.get(\"icon-text-fit\")?k:v,P=\"height\"===h.get(\"icon-text-fit\")||\"both\"===h.get(\"icon-text-fit\")?M:y;s=new t.default$1(b+L-E,w+C-A),l=new t.default$1(b+L+T+z,w+C-A),c=new t.default$1(b+L+T+z,w+C+S+P),u=new t.default$1(b+L-E,w+C+S+P)}else s=new t.default$1(d,p),l=new t.default$1(m,p),c=new t.default$1(m,g),u=new t.default$1(d,g);var O=n.layout.get(\"icon-rotate\").evaluate(o)*Math.PI/180;if(O){var I=Math.sin(O),D=Math.cos(O),R=[D,-I,I,D];s._matMult(R),l._matMult(R),u._matMult(R),c._matMult(R)}return[{tl:s,tr:l,bl:u,br:c,tex:f.paddedRect,writingMode:void 0,glyphOffset:[0,0]}]}(0,a,l,0,i.horizontal,w);T=new s(c,n,r,u,f,h,a,y,x,!1,e.overscaling),E=4*D.length;var R=e.iconSizeData,B=null;\"source\"===R.functionType?B=[10*l.layout.get(\"icon-size\").evaluate(w)]:\"composite\"===R.functionType&&(B=[10*M.compositeIconSizes[0].evaluate(w),10*M.compositeIconSizes[1].evaluate(w)]),e.addSymbols(e.icon,D,B,_,b,w,!1,r,S.lineStartIndex,S.lineLength)}var F=T?T.boxStartIndex:e.collisionBoxArray.length,N=T?T.boxEndIndex:e.collisionBoxArray.length;return e.glyphOffsetArray.length>=t.default$14.MAX_GLYPHS&&t.warnOnce(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),{key:z,textBoxStartIndex:O,textBoxEndIndex:I,iconBoxStartIndex:F,iconBoxEndIndex:N,textOffset:m,iconOffset:_,anchor:r,line:n,featureIndex:u,feature:w,numGlyphVertices:C,numVerticalGlyphVertices:L,numIconVertices:E,textOpacityState:new o,iconOpacityState:new o,isDuplicate:!1,placedTextSymbolIndices:P,crossTileID:0}}(e,u,a,n,i,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,b,M,S,g,w,A,E,m,r,l,c))};if(\"line\"===d.get(\"symbol-placement\"))for(var z=0,P=function(e,r,n,i,a){for(var o=[],s=0;s<e.length;s++)for(var l=e[s],c=void 0,u=0;u<l.length-1;u++){var f=l[u],h=l[u+1];f.x<0&&h.x<0||(f.x<0?f=new t.default$1(0,f.y+(h.y-f.y)*((0-f.x)/(h.x-f.x)))._round():h.x<0&&(h=new t.default$1(0,f.y+(h.y-f.y)*((0-f.x)/(h.x-f.x)))._round()),f.y<0&&h.y<0||(f.y<0?f=new t.default$1(f.x+(h.x-f.x)*((0-f.y)/(h.y-f.y)),0)._round():h.y<0&&(h=new t.default$1(f.x+(h.x-f.x)*((0-f.y)/(h.y-f.y)),0)._round()),f.x>=i&&h.x>=i||(f.x>=i?f=new t.default$1(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round():h.x>=i&&(h=new t.default$1(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round()),f.y>=a&&h.y>=a||(f.y>=a?f=new t.default$1(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y>=a&&(h=new t.default$1(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),c&&f.equals(c[c.length-1])||(c=[f],o.push(c)),c.push(h)))))}return o}(r.geometry,0,0,t.default$8,t.default$8);z<P.length;z+=1)for(var O=P[z],I=0,D=a(O,k,T,n.vertical||n.horizontal,i,24,_,e.overscaling,t.default$8);I<D.length;I+=1){var R=D[I],B=n.horizontal;B&&y(e,B.text,C,R)||L(O,R)}else if(\"Polygon\"===r.type)for(var F=0,N=t.default$26(r.geometry,0);F<N.length;F+=1){var j=N[F],V=h(j,16);L(j[0],new t.default$25(V.x,V.y,0))}else if(\"LineString\"===r.type)for(var U=0,q=r.geometry;U<q.length;U+=1){var H=q[U];L(H,new t.default$25(H[0].x,H[0].y,0))}else if(\"Point\"===r.type)for(var G=0,W=r.geometry;G<W.length;G+=1)for(var Y=0,X=W[G];Y<X.length;Y+=1){var Z=X[Y];L([Z],new t.default$25(Z.x,Z.y,0))}}function v(e,r,n,i,a,o,s,l,c,u,f,h){var p=function(e,r,n,i,a,o){for(var s=n.layout.get(\"text-rotate\").evaluate(a)*Math.PI/180,l=n.layout.get(\"text-offset\").evaluate(a).map(function(t){return 24*t}),c=r.positionedGlyphs,u=[],f=0;f<c.length;f++){var h=c[f],p=o[h.glyph];if(p){var d=p.rect;if(d){var g=t.GLYPH_PBF_BORDER+1,m=p.metrics.advance/2,v=i?[h.x+m,h.y]:[0,0],y=i?[0,0]:[h.x+m+l[0],h.y+l[1]],x=p.metrics.left-g-m+y[0],b=-p.metrics.top-g+y[1],_=x+d.w,w=b+d.h,k=new t.default$1(x,b),M=new t.default$1(_,b),A=new t.default$1(x,w),T=new t.default$1(_,w);if(i&&h.vertical){var S=new t.default$1(-m,m),E=-Math.PI/2,C=new t.default$1(5,0);k._rotateAround(E,S)._add(C),M._rotateAround(E,S)._add(C),A._rotateAround(E,S)._add(C),T._rotateAround(E,S)._add(C)}if(s){var L=Math.sin(s),z=Math.cos(s),P=[z,-L,L,z];k._matMult(P),M._matMult(P),A._matMult(P),T._matMult(P)}u.push({tl:k,tr:M,bl:A,br:T,tex:d,writingMode:r.writingMode,glyphOffset:v})}}}return u}(0,n,i,a,o,f),d=e.textSizeData,g=null;return\"source\"===d.functionType?g=[10*i.layout.get(\"text-size\").evaluate(o)]:\"composite\"===d.functionType&&(g=[10*h.compositeTextSizes[0].evaluate(o),10*h.compositeTextSizes[1].evaluate(o)]),e.addSymbols(e.text,p,g,s,a,o,c,r,l.lineStartIndex,l.lineLength),u.push(e.text.placedSymbolArray.length-1),4*p.length}function y(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return!0}else i[e]=[];return i[e].push(n),!1}u.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},_down:function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t<n;){var a=1+(t<<1),o=a+1,s=e[a];if(o<this.length&&r(e[o],s)<0&&(a=o,s=e[o]),r(s,i)>=0)break;e[t]=s,t=a}e[t]=i}},l.default=c;var x=function(e){var r=new t.AlphaImage({width:0,height:0}),n={},i=new t.default$2(0,0,{autoResize:!0});for(var a in e){var o=e[a],s=n[a]={};for(var l in o){var c=o[+l];if(c&&0!==c.bitmap.width&&0!==c.bitmap.height){var u=i.packOne(c.bitmap.width+2,c.bitmap.height+2);r.resize({width:i.w,height:i.h}),t.AlphaImage.copy(c.bitmap,r,{x:0,y:0},{x:u.x+1,y:u.y+1},c.bitmap),s[l]={rect:u,metrics:c.metrics}}}}i.shrink(),r.resize({width:i.w,height:i.h}),this.image=r,this.positions=n};t.register(\"GlyphAtlas\",x);var b=function(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming};function _(e,r){for(var n=new t.default$16(r),i=0,a=e;i<a.length;i+=1)a[i].recalculate(n)}b.prototype.parse=function(e,r,n,i){var a=this;this.status=\"parsing\",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;var o=new t.default$27(Object.keys(e.layers).sort()),s=new t.default$11(this.tileID);s.bucketLayerIDs=[];var l,c,u,f={},h={featureIndex:s,iconDependencies:{},glyphDependencies:{}},p=r.familiesBySource[this.source];for(var d in p){var m=e.layers[d];if(m){1===m.version&&t.warnOnce('Vector tile source \"'+a.source+'\" layer \"'+d+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var v=o.encode(d),y=[],b=0;b<m.length;b++){var w=m.feature(b);y.push({feature:w,index:b,sourceLayerIndex:v})}for(var k=0,M=p[d];k<M.length;k+=1){var A=M[k],T=A[0];T.minzoom&&a.zoom<Math.floor(T.minzoom)||T.maxzoom&&a.zoom>=T.maxzoom||\"none\"!==T.visibility&&(_(A,a.zoom),(f[T.id]=T.createBucket({index:s.bucketLayerIDs.length,layers:A,zoom:a.zoom,pixelRatio:a.pixelRatio,overscaling:a.overscaling,collisionBoxArray:a.collisionBoxArray,sourceLayerIndex:v})).populate(y,h),s.bucketLayerIDs.push(A.map(function(t){return t.id})))}}}var S=t.mapObject(h.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(S).length?n.send(\"getGlyphs\",{uid:this.uid,stacks:S},function(t,e){l||(l=t,c=e,C.call(a))}):c={};var E=Object.keys(h.iconDependencies);function C(){if(l)return i(l);if(c&&u){var e=new x(c),r=new t.default$28(u);for(var n in f){var a=f[n];a instanceof t.default$14&&(_(a.layers,this.zoom),g(a,c,e.positions,u,r.positions,this.showCollisionBoxes))}this.status=\"done\",i(null,{buckets:t.values(f).filter(function(t){return!t.isEmpty()}),featureIndex:s,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,iconAtlasImage:r.image})}}E.length?n.send(\"getImages\",{icons:E},function(t,e){l||(l=t,u=e,C.call(a))}):u={},C.call(this)};var w=function(t){return!(!performance||!performance.getEntriesByName)&&performance.getEntriesByName(t)};function k(e,r){var n=t.getArrayBuffer(e.request,function(e,n){e?r(e):n&&r(null,{vectorTile:new t.default$29.VectorTile(new t.default$30(n.data)),rawData:n.data,cacheControl:n.cacheControl,expires:n.expires})});return function(){n.abort(),r()}}var M=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||k,this.loading={},this.loaded={}};M.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var a=this.loading[i]=new b(e);a.abort=this.loadVectorData(e,function(o,s){if(delete n.loading[i],o||!s)return r(o);var l=s.rawData,c={};s.expires&&(c.expires=s.expires),s.cacheControl&&(c.cacheControl=s.cacheControl);var u={};if(e.request&&e.request.collectResourceTiming){var f=w(e.request.url);f&&(u.resourceTiming=JSON.parse(JSON.stringify(f)))}a.vectorTile=s.vectorTile,a.parse(s.vectorTile,n.layerIndex,n.actor,function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))}),n.loaded=n.loaded||{},n.loaded[i]=a})},M.prototype.reloadTile=function(t,e){var r=this.loaded,n=t.uid,i=this;if(r&&r[n]){var a=r[n];a.showCollisionBoxes=t.showCollisionBoxes;var o=function(t,r){var n=a.reloadCallback;n&&(delete a.reloadCallback,a.parse(a.vectorTile,i.layerIndex,i.actor,n)),e(t,r)};\"parsing\"===a.status?a.reloadCallback=o:\"done\"===a.status&&a.parse(a.vectorTile,this.layerIndex,this.actor,o)}},M.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},M.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var A=function(){this.loading={},this.loaded={}};A.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=new t.default$31(n);this.loading[n]=a,a.loadFromImage(e.rawImageData,i),delete this.loading[n],this.loaded=this.loaded||{},this.loaded[n]=a,r(null,a)},A.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var T={RADIUS:6378137,FLATTENING:1/298.257223563,POLAR_RADIUS:6356752.3142};function S(t){var e=0;if(t&&t.length>0){e+=Math.abs(E(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(E(t[r]))}return e}function E(t){var e,r,n,i,a,o,s=0,l=t.length;if(l>2){for(o=0;o<l;o++)o===l-2?(n=l-2,i=l-1,a=0):o===l-1?(n=l-1,i=0,a=1):(n=o,i=o+1,a=o+2),e=t[n],r=t[i],s+=(C(t[a][0])-C(e[0]))*Math.sin(C(r[1]));s=s*T.RADIUS*T.RADIUS/2}return s}function C(t){return t*Math.PI/180}var L={geometry:function t(e){var r,n=0;switch(e.type){case\"Polygon\":return S(e.coordinates);case\"MultiPolygon\":for(r=0;r<e.coordinates.length;r++)n+=S(e.coordinates[r]);return n;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0;case\"GeometryCollection\":for(r=0;r<e.geometries.length;r++)n+=t(e.geometries[r]);return n}},ring:E};function z(t,e){return function(r){return t(r,e)}}function P(t,e){e=!!e,t[0]=O(t[0],e);for(var r=1;r<t.length;r++)t[r]=O(t[r],!e);return t}function O(t,e){return function(t){return L.ring(t)>=0}(t)===e?t:t.reverse()}var I=t.default$29.VectorTileFeature.prototype.toGeoJSON,D=function(e){this._feature=e,this.extent=t.default$8,this.type=e.type,this.properties=e.tags,\"id\"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};D.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r<n.length;r+=1){var i=n[r];e.push([new t.default$1(i[0],i[1])])}return e}for(var a=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],c=0,u=s[o];c<u.length;c+=1){var f=u[c];l.push(new t.default$1(f[0],f[1]))}a.push(l)}return a},D.prototype.toGeoJSON=function(t,e,r){return I.call(this,t,e,r)};var R=function(e){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=t.default$8,this.length=e.length,this._features=e};R.prototype.feature=function(t){return new D(this._features[t])};var B=t.__moduleExports.VectorTileFeature,F=N;function N(t,e){this.options=e||{},this.features=t,this.length=t.length}function j(t,e){this.id=\"number\"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}N.prototype.feature=function(t){return new j(this.features[t],this.options.extent)},j.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var r=0;r<e.length;r++){for(var n=e[r],i=[],a=0;a<n.length;a++)i.push(new t.default$32(n[a][0],n[a][1]));this.geometry.push(i)}return this.geometry},j.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.y)}return[e,n,r,i]},j.prototype.toGeoJSON=B.prototype.toGeoJSON;var V=H,U=H,q=F;function H(e){var r=new t.__moduleExports$1;return function(t,e){for(var r in t.layers)e.writeMessage(3,G,t.layers[r])}(e,r),r.finish()}function G(t,e){var r;e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||\"\"),e.writeVarintField(5,t.extent||4096);var n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,W,n);var i=n.keys;for(r=0;r<i.length;r++)e.writeStringField(3,i[r]);var a=n.values;for(r=0;r<a.length;r++)e.writeMessage(4,J,a[r])}function W(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,Y,t),e.writeVarintField(3,r.type),e.writeMessage(4,$,r)}function Y(t,e){var r=t.feature,n=t.keys,i=t.values,a=t.keycache,o=t.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),l=n.length-1,a[s]=l),e.writeVarint(l);var c=r.properties[s],u=typeof c;\"string\"!==u&&\"boolean\"!==u&&\"number\"!==u&&(c=JSON.stringify(c));var f=u+\":\"+c,h=o[f];void 0===h&&(i.push(c),h=i.length-1,o[f]=h),e.writeVarint(h)}}function X(t,e){return(e<<3)+(7&t)}function Z(t){return t<<1^t>>31}function $(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s<o;s++){var l=r[s],c=1;1===n&&(c=l.length),e.writeVarint(X(1,c));for(var u=3===n?l.length-1:l.length,f=0;f<u;f++){1===f&&1!==n&&e.writeVarint(X(2,u-1));var h=l[f].x-i,p=l[f].y-a;e.writeVarint(Z(h)),e.writeVarint(Z(p)),i+=h,a+=p}3===n&&e.writeVarint(X(7,0))}}function J(t,e){var r=typeof t;\"string\"===r?e.writeStringField(1,t):\"boolean\"===r?e.writeBooleanField(7,t):\"number\"===r&&(t%1!=0?e.writeDoubleField(3,t):t<0?e.writeSVarintField(6,t):e.writeVarintField(5,t))}V.fromVectorTileJs=U,V.fromGeojsonVt=function(t,e){e=e||{};var r={};for(var n in t)r[n]=new F(t[n].features,e),r[n].name=n,r[n].version=e.version,r[n].extent=e.extent;return H({layers:r})},V.GeoJSONWrapper=q;var K=function t(e,r,n,i,a,o){if(!(a-i<=n)){var s=Math.floor((i+a)/2);!function t(e,r,n,i,a,o){for(;a>i;){if(a-i>600){var s=a-i+1,l=n-i+1,c=Math.log(s),u=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1);t(e,r,n,Math.max(i,Math.floor(n-l*u/s+f)),Math.min(a,Math.floor(n+(s-l)*u/s+f)),o)}var h=r[2*n+o],p=i,d=a;for(Q(e,r,i,n),r[2*a+o]>h&&Q(e,r,i,a);p<d;){for(Q(e,r,p,d),p++,d--;r[2*p+o]<h;)p++;for(;r[2*d+o]>h;)d--}r[2*i+o]===h?Q(e,r,i,d):Q(e,r,++d,a),d<=n&&(i=d+1),n<=d&&(a=d-1)}}(e,r,s,i,a,o%2),t(e,r,n,i,s-1,o+1),t(e,r,n,s+1,a,o+1)}};function Q(t,e,r,n){tt(t,r,n),tt(e,2*r,2*n),tt(e,2*r+1,2*n+1)}function tt(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function et(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}var rt=function(t,e,r,n,i){return new nt(t,e,r,n,i)};function nt(t,e,r,n,i){e=e||it,r=r||at,i=i||Array,this.nodeSize=n||64,this.points=t,this.ids=new i(t.length),this.coords=new i(2*t.length);for(var a=0;a<t.length;a++)this.ids[a]=a,this.coords[2*a]=e(t[a]),this.coords[2*a+1]=r(t[a]);K(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function it(t){return t[0]}function at(t){return t[1]}nt.prototype={range:function(t,e,r,n){return function(t,e,r,n,i,a,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var f=c.pop(),h=c.pop(),p=c.pop();if(h-p<=o)for(var d=p;d<=h;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var g=Math.floor((p+h)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[g]);var m=(f+1)%2;(0===f?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(m)),(0===f?i>=s:a>=l)&&(c.push(g+1),c.push(h),c.push(m))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var c=o.pop(),u=o.pop(),f=o.pop();if(u-f<=a)for(var h=f;h<=u;h++)et(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+u)/2),d=e[2*p],g=e[2*p+1];et(d,g,r,n)<=l&&s.push(t[p]);var m=(c+1)%2;(0===c?r-i<=d:n-i<=g)&&(o.push(f),o.push(p-1),o.push(m)),(0===c?r+i>=d:n+i>=g)&&(o.push(p+1),o.push(u),o.push(m))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)}};function ot(t){this.options=pt(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function st(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function lt(t,e){var r=t.geometry.coordinates;return{x:ft(r[0]),y:ht(r[1]),zoom:1/0,id:e,parentId:-1}}function ct(t){return{type:\"Feature\",properties:ut(t),geometry:{type:\"Point\",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function ut(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return pt(pt({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function ft(t){return t/360+.5}function ht(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function pt(t,e){for(var r in e)t[r]=e[r];return t}function dt(t){return t.x}function gt(t){return t.y}function mt(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function vt(t,e,r,n){var i={id:t||null,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)yt(t,e);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var n=0;n<e.length;n++)yt(t,e[n]);else if(\"MultiPolygon\"===r)for(n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)yt(t,e[n][i])}(i),i}function yt(t,e){for(var r=0;r<e.length;r+=3)t.minX=Math.min(t.minX,e[r]),t.minY=Math.min(t.minY,e[r+1]),t.maxX=Math.max(t.maxX,e[r]),t.maxY=Math.max(t.maxY,e[r+1])}function xt(t,e,r){if(e.geometry){var n=e.geometry.coordinates,i=e.geometry.type,a=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),o=[];if(\"Point\"===i)bt(n,o);else if(\"MultiPoint\"===i)for(var s=0;s<n.length;s++)bt(n[s],o);else if(\"LineString\"===i)_t(n,o,a,!1);else if(\"MultiLineString\"===i)if(r.lineMetrics)for(s=0;s<n.length;s++)return o=[],_t(n[s],o,a,!1),void t.push(vt(e.id,\"LineString\",o,e.properties));else wt(n,o,a,!1);else if(\"Polygon\"===i)wt(n,o,a,!0);else{if(\"MultiPolygon\"!==i){if(\"GeometryCollection\"===i){for(s=0;s<e.geometry.geometries.length;s++)xt(t,{id:e.id,geometry:e.geometry.geometries[s],properties:e.properties},r);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(s=0;s<n.length;s++){var l=[];wt(n[s],l,a,!0),o.push(l)}}t.push(vt(e.id,i,o,e.properties))}}function bt(t,e){e.push(kt(t[0])),e.push(Mt(t[1])),e.push(0)}function _t(t,e,r,n){for(var i,a,o=0,s=0;s<t.length;s++){var l=kt(t[s][0]),c=Mt(t[s][1]);e.push(l),e.push(c),e.push(0),s>0&&(o+=n?(i*c-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=e.length-3;e[2]=1,function t(e,r,n,i){for(var a,o=i,s=e[r],l=e[r+1],c=e[n],u=e[n+1],f=r+3;f<n;f+=3){var h=mt(e[f],e[f+1],s,l,c,u);h>o&&(a=f,o=h)}o>i&&(a-r>3&&t(e,r,a,i),e[a+2]=o,n-a>3&&t(e,a,n,i))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function wt(t,e,r,n){for(var i=0;i<t.length;i++){var a=[];_t(t[i],a,r,n),e.push(a)}}function kt(t){return t/360+.5}function Mt(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function At(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o<=n)return t;if(a>n||o<r)return null;for(var l=[],c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.type,p=0===i?u.minX:u.minY,d=0===i?u.maxX:u.maxY;if(p>=r&&d<=n)l.push(u);else if(!(p>n||d<r)){var g=[];if(\"Point\"===h||\"MultiPoint\"===h)Tt(f,g,r,n,i);else if(\"LineString\"===h)St(f,g,r,n,i,!1,s.lineMetrics);else if(\"MultiLineString\"===h)Ct(f,g,r,n,i,!1);else if(\"Polygon\"===h)Ct(f,g,r,n,i,!0);else if(\"MultiPolygon\"===h)for(var m=0;m<f.length;m++){var v=[];Ct(f[m],v,r,n,i,!0),v.length&&g.push(v)}if(g.length){if(s.lineMetrics&&\"LineString\"===h){for(m=0;m<g.length;m++)l.push(vt(u.id,h,g[m],u.tags));continue}\"LineString\"!==h&&\"MultiLineString\"!==h||(1===g.length?(h=\"LineString\",g=g[0]):h=\"MultiLineString\"),\"Point\"!==h&&\"MultiPoint\"!==h||(h=3===g.length?\"Point\":\"MultiPoint\"),l.push(vt(u.id,h,g,u.tags))}}}return l.length?l:null}function Tt(t,e,r,n,i){for(var a=0;a<t.length;a+=3){var o=t[a+i];o>=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function St(t,e,r,n,i,a,o){for(var s,l,c=Et(t),u=0===i?zt:Pt,f=t.start,h=0;h<t.length-3;h+=3){var p=t[h],d=t[h+1],g=t[h+2],m=t[h+3],v=t[h+4],y=0===i?p:d,x=0===i?m:v,b=!1;o&&(s=Math.sqrt(Math.pow(p-m,2)+Math.pow(d-v,2))),y<r?x>=r&&(l=u(c,p,d,m,v,r),o&&(c.start=f+s*l)):y>n?x<=n&&(l=u(c,p,d,m,v,n),o&&(c.start=f+s*l)):Lt(c,p,d,g),x<r&&y>=r&&(l=u(c,p,d,m,v,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,m,v,n),b=!0),!a&&b&&(o&&(c.end=f+s*l),e.push(c),c=Et(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],g=t[_+2],(y=0===i?p:d)>=r&&y<=n&&Lt(c,p,d,g),_=c.length-3,a&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&Lt(c,c[0],c[1],c[2]),c.length&&e.push(c)}function Et(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function Ct(t,e,r,n,i,a){for(var o=0;o<t.length;o++)St(t[o],e,r,n,i,a,!1)}function Lt(t,e,r,n){t.push(e),t.push(r),t.push(n)}function zt(t,e,r,n,i,a){var o=(a-e)/(n-e);return t.push(a),t.push(r+(i-r)*o),t.push(1),o}function Pt(t,e,r,n,i,a){var o=(a-r)/(i-r);return t.push(e+(n-e)*o),t.push(a),t.push(1),o}function Ot(t,e){for(var r=[],n=0;n<t.length;n++){var i,a=t[n],o=a.type;if(\"Point\"===o||\"MultiPoint\"===o||\"LineString\"===o)i=It(a.geometry,e);else if(\"MultiLineString\"===o||\"Polygon\"===o){i=[];for(var s=0;s<a.geometry.length;s++)i.push(It(a.geometry[s],e))}else if(\"MultiPolygon\"===o)for(i=[],s=0;s<a.geometry.length;s++){for(var l=[],c=0;c<a.geometry[s].length;c++)l.push(It(a.geometry[s][c],e));i.push(l)}r.push(vt(a.id,o,i,a.tags))}return r}function It(t,e){var r=[];r.size=t.size,void 0!==t.start&&(r.start=t.start,r.end=t.end);for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}function Dt(t,e){if(t.transformed)return t;var r,n,i,a=1<<t.z,o=t.x,s=t.y;for(r=0;r<t.features.length;r++){var l=t.features[r],c=l.geometry,u=l.type;if(l.geometry=[],1===u)for(n=0;n<c.length;n+=2)l.geometry.push(Rt(c[n],c[n+1],e,a,o,s));else for(n=0;n<c.length;n++){var f=[];for(i=0;i<c[n].length;i+=2)f.push(Rt(c[n][i],c[n][i+1],e,a,o,s));l.geometry.push(f)}}return t.transformed=!0,t}function Rt(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}function Bt(t,e,r,n,i){for(var a=e===i.maxZoom?0:i.tolerance/((1<<e)*i.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<t.length;s++){o.numFeatures++,Ft(o,t[s],a,i);var l=t[s].minX,c=t[s].minY,u=t[s].maxX,f=t[s].maxY;l<o.minX&&(o.minX=l),c<o.minY&&(o.minY=c),u>o.maxX&&(o.maxX=u),f>o.maxY&&(o.maxY=f)}return o}function Ft(t,e,r,n){var i=e.geometry,a=e.type,o=[];if(\"Point\"===a||\"MultiPoint\"===a)for(var s=0;s<i.length;s+=3)o.push(i[s]),o.push(i[s+1]),t.numPoints++,t.numSimplified++;else if(\"LineString\"===a)Nt(o,i,t,r,!1,!1);else if(\"MultiLineString\"===a||\"Polygon\"===a)for(s=0;s<i.length;s++)Nt(o,i[s],t,r,\"Polygon\"===a,0===s);else if(\"MultiPolygon\"===a)for(var l=0;l<i.length;l++){var c=i[l];for(s=0;s<c.length;s++)Nt(o,c[s],t,r,!0,0===s)}if(o.length){var u=e.tags||null;if(\"LineString\"===a&&n.lineMetrics){for(var f in u={},e.tags)u[f]=e.tags[f];u.mapbox_clip_start=i.start/i.size,u.mapbox_clip_end=i.end/i.size}var h={geometry:o,type:\"Polygon\"===a||\"MultiPolygon\"===a?3:\"LineString\"===a||\"MultiLineString\"===a?2:1,tags:u};null!==e.id&&(h.id=e.id),t.features.push(h)}}function Nt(t,e,r,n,i,a){var o=n*n;if(n>0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;l<e.length;l+=3)(0===n||e[l+2]>o)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n<i;a=n,n+=2)r+=(t[n]-t[a])*(t[n+1]+t[a+1]);if(r>0===e)for(n=0,i=t.length;n<i/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[i-2-n],t[n+1]=t[i-1-n],t[i-2-n]=o,t[i-1-n]=s}}(s,a),t.push(s)}}function jt(t,e){var r=(e=this.options=function(t,e){for(var r in e)t[r]=e[r];return t}(Object.create(this.options),e)).debug;if(r&&console.time(\"preprocess data\"),e.maxZoom<0||e.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");var n=function(t,e){var r=[];if(\"FeatureCollection\"===t.type)for(var n=0;n<t.features.length;n++)xt(r,t.features[n],e);else\"Feature\"===t.type?xt(r,t,e):xt(r,{geometry:t},e);return r}(t,e);this.tiles={},this.tileCoords=[],r&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",e.indexMaxZoom,e.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),(n=function(t,e){var r=e.buffer/e.extent,n=t,i=At(t,1,-1-r,r,0,-1,2,e),a=At(t,1,1-r,2+r,0,-1,2,e);return(i||a)&&(n=At(t,1,-r,1+r,0,-1,2,e)||[],i&&(n=Ot(i,1).concat(n)),a&&(n=n.concat(Ot(a,-1)))),n}(n,e)).length&&this.splitTile(n,0,0,0),r&&(n.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}function Vt(t,e,r){return 32*((1<<t)*r+e)+t}function Ut(t,e){var r=t.tileID.canonical;if(!this._geoJSONIndex)return e(null,null);var n=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!n)return e(null,null);var i=new R(n.features),a=V(i);0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),e(null,{vectorTile:i,rawData:a.buffer})}ot.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time(\"total time\");var r=\"prepare \"+t.length+\" points\";e&&console.time(r),this.points=t;var n=t.map(lt);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var a=+Date.now();this.trees[i+1]=rt(n,dt,gt,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log(\"z%d: %d clusters in %dms\",i,n.length,+Date.now()-a)}return this.trees[this.options.minZoom]=rt(n,dt,gt,this.options.nodeSize,Float32Array),e&&console.timeEnd(\"total time\"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(ft(t[0]),ht(t[3]),ft(t[2]),ht(t[1])),i=[],a=0;a<n.length;a++){var o=r.points[n[a]];i.push(o.numPoints?ct(o):this.points[o.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),a=[],o=0;o<i.length;o++){var s=this.trees[e+1].points[i[o]];s.parentId===t&&a.push(s.numPoints?ct(s):this.points[s.id])}return a},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius/a,s=(r-o)/i,l=(r+1+o)/i,c={features:[]};return this._addTileFeatures(n.range((e-o)/i,s,(e+1+o)/i,l),n.points,e,r,i,c),0===e&&this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,c),e===i-1&&this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,c),c.features.length?c:null},getClusterExpansionZoom:function(t,e){for(;e<this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s<o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count<=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a<i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var o=0;o<t.length;o++){var s=e[t[o]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(s.x*i-r)),Math.round(this.options.extent*(s.y*i-n))]],tags:s.numPoints?ut(s):this.points[s.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=0;i<t.length;i++){var a=t[i];if(!(a.zoom<=e)){a.zoom=e;var o=this.trees[e+1],s=o.within(a.x,a.y,n),l=a.numPoints||1,c=a.x*l,u=a.y*l,f=null;this.options.reduce&&(f=this.options.initial(),this._accumulate(f,a));for(var h=0;h<s.length;h++){var p=o.points[s[h]];if(e<p.zoom){var d=p.numPoints||1;p.zoom=e,c+=p.x*d,u+=p.y*d,l+=d,p.parentId=i,this.options.reduce&&this._accumulate(f,p)}}1===l?r.push(a):(a.parentId=i,r.push(st(c/l,u/l,l,i,f)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}},jt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,debug:0},jt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<<e,f=Vt(e,r,n),h=this.tiles[f];if(!h&&(c>1&&console.time(\"creation\"),h=this.tiles[f]=Bt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd(\"creation\"));var p=\"z\"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<<i-e;if(r!==Math.floor(a/d)||n!==Math.floor(o/d))continue}else if(e===l.indexMaxZoom||h.numPoints<=l.indexMaxPoints)continue;if(h.source=null,0!==t.length){c>1&&console.time(\"clipping\");var g,m,v,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,k=.5+_,M=1+_;g=m=v=y=null,x=At(t,u,r-_,r+k,0,h.minX,h.maxX,l),b=At(t,u,r+w,r+M,0,h.minX,h.maxX,l),t=null,x&&(g=At(x,u,n-_,n+k,1,h.minY,h.maxY,l),m=At(x,u,n+w,n+M,1,h.minY,h.maxY,l),x=null),b&&(v=At(b,u,n-_,n+k,1,h.minY,h.maxY,l),y=At(b,u,n+w,n+M,1,h.minY,h.maxY,l),b=null),c>1&&console.timeEnd(\"clipping\"),s.push(g||[],e+1,2*r,2*n),s.push(m||[],e+1,2*r,2*n+1),s.push(v||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},jt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<<t,s=Vt(t,e=(e%o+o)%o,r);if(this.tiles[s])return Dt(this.tiles[s],i);a>1&&console.log(\"drilling down to z%d-%d-%d\",t,e,r);for(var l,c=t,u=e,f=r;!l&&c>0;)c--,u=Math.floor(u/2),f=Math.floor(f/2),l=this.tiles[Vt(c,u,f)];return l&&l.source?(a>1&&console.log(\"found parent tile z%d-%d-%d\",c,u,f),a>1&&console.time(\"drilling down\"),this.splitTile(l.source,c,u,f,t,e,r),a>1&&console.timeEnd(\"drilling down\"),this.tiles[s]?Dt(this.tiles[s],i):null):null};var qt=function(e){function r(t,r,n){e.call(this,t,r,Ut),n&&(this.loadGeoJSON=n)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&\"Idle\"!==this._state?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData())},r.prototype._loadData=function(){var t=this;if(this._pendingCallback&&this._pendingLoadDataParams){var e=this._pendingCallback,r=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams,this.loadGeoJSON(r,function(n,i){if(n||!i)return e(n);if(\"object\"!=typeof i)return e(new Error(\"Input data is not a valid GeoJSON object.\"));!function t(e,r){switch(e&&e.type||null){case\"FeatureCollection\":return e.features=e.features.map(z(t,r)),e;case\"Feature\":return e.geometry=t(e.geometry,r),e;case\"Polygon\":case\"MultiPolygon\":return function(t,e){return\"Polygon\"===t.type?t.coordinates=P(t.coordinates,e):\"MultiPolygon\"===t.type&&(t.coordinates=t.coordinates.map(z(P,e))),t}(e,r);default:return e}}(i,!0);try{t._geoJSONIndex=r.cluster?function(t){return new ot(t)}(r.superclusterOptions).load(i.features):new jt(i,r.geojsonVtOptions)}catch(n){return e(n)}t.loaded={};var a={};if(r.request&&r.request.collectResourceTiming){var o=w(r.request.url);o&&(a.resourceTiming={},a.resourceTiming[r.source]=JSON.parse(JSON.stringify(o)))}e(null,a)})}},r.prototype.coalesce=function(){\"Coalescing\"===this._state?this._state=\"Idle\":\"NeedsLoadData\"===this._state&&(this._state=\"Coalescing\",this._loadData())},r.prototype.reloadTile=function(t,r){var n=this.loaded,i=t.uid;return n&&n[i]?e.prototype.reloadTile.call(this,t,r):this.loadTile(t,r)},r.prototype.loadGeoJSON=function(e,r){if(e.request)t.getJSON(e.request,r);else{if(\"string\"!=typeof e.data)return r(new Error(\"Input data is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(e.data))}catch(t){return r(new Error(\"Input data is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()},r}(M),Ht=function(e){var r=this;this.self=e,this.actor=new t.default$7(e,this),this.layerIndexes={},this.workerSourceTypes={vector:M,geojson:qt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,e){if(r.workerSourceTypes[t])throw new Error('Worker source with name \"'+t+'\" already registered.');r.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=function(e){if(t.plugin.isLoaded())throw new Error(\"RTL text plugin already registered.\");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText}};return Ht.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},Ht.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},Ht.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).loadTile(e,r)},Ht.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t,e.source).loadTile(e,r)},Ht.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).reloadTile(e,r)},Ht.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).abortTile(e,r)},Ht.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).removeTile(e,r)},Ht.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)},Ht.prototype.removeSource=function(t,e,r){if(this.workerSources[t]&&this.workerSources[t][e.type]&&this.workerSources[t][e.type][e.source]){var n=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==n.removeSource?n.removeSource(e,r):r()}},Ht.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t.toString())}},Ht.prototype.loadRTLTextPlugin=function(e,r,n){try{t.plugin.isLoaded()||(this.self.importScripts(r),n(t.plugin.isLoaded()?null:new Error(\"RTL Text Plugin failed to import scripts from \"+r)))}catch(t){n(t.toString())}},Ht.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e},Ht.prototype.getWorkerSource=function(t,e,r){var n=this;if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][r]){var i={send:function(e,r,i){n.actor.send(e,r,i,t)}};this.workerSources[t][e][r]=new this.workerSourceTypes[e](i,this.getLayerIndex(t))}return this.workerSources[t][e][r]},Ht.prototype.getDEMWorkerSource=function(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new A),this.demWorkerSources[t][e]},\"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope&&new Ht(self),Ht}),i(0,function(t){var e=t.createCommonjsModule(function(t){function e(t){return!!(\"undefined\"!=typeof window&&\"undefined\"!=typeof document&&Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray&&Function.prototype&&Function.prototype.bind&&Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions&&\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON&&function(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return!1;var t,e,r=new Blob([\"\"],{type:\"text/javascript\"}),n=URL.createObjectURL(r);try{e=new Worker(n),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(n),t}()&&\"Uint8ClampedArray\"in window&&function(t){return void 0===r[t]&&(r[t]=function(t){var r=document.createElement(\"canvas\"),n=Object.create(e.webGLContextAttributes);return n.failIfMajorPerformanceCaveat=t,r.probablySupportsContext?r.probablySupportsContext(\"webgl\",n)||r.probablySupportsContext(\"experimental-webgl\",n):r.supportsContext?r.supportsContext(\"webgl\",n)||r.supportsContext(\"experimental-webgl\",n):r.getContext(\"webgl\",n)||r.getContext(\"experimental-webgl\",n)}(t)),r[t]}(t&&t.failIfMajorPerformanceCaveat))}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e);var r={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}}),r=t.default.performance&&t.default.performance.now?t.default.performance.now.bind(t.default.performance):Date.now.bind(Date),n=t.default.requestAnimationFrame||t.default.mozRequestAnimationFrame||t.default.webkitRequestAnimationFrame||t.default.msRequestAnimationFrame,i=t.default.cancelAnimationFrame||t.default.mozCancelAnimationFrame||t.default.webkitCancelAnimationFrame||t.default.msCancelAnimationFrame,a={now:r,frame:function(t){return n(t)},cancelFrame:function(t){return i(t)},getImageData:function(e){var r=t.default.document.createElement(\"canvas\"),n=r.getContext(\"2d\");if(!n)throw new Error(\"failed to create canvas 2d context\");return r.width=e.width,r.height=e.height,n.drawImage(e,0,0,e.width,e.height),n.getImageData(0,0,e.width,e.height)},hardwareConcurrency:t.default.navigator.hardwareConcurrency||4,get devicePixelRatio(){return t.default.devicePixelRatio},supportsWebp:!1};if(t.default.document){var o=t.default.document.createElement(\"img\");o.onload=function(){a.supportsWebp=!0},o.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"}var s={create:function(e,r,n){var i=t.default.document.createElement(e);return r&&(i.className=r),n&&n.appendChild(i),i},createNS:function(e,r){return t.default.document.createElementNS(e,r)}},l=t.default.document?t.default.document.documentElement.style:null;function c(t){if(!l)return null;for(var e=0;e<t.length;e++)if(t[e]in l)return t[e];return t[0]}var u,f=c([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]);s.disableDrag=function(){l&&f&&(u=l[f],l[f]=\"none\")},s.enableDrag=function(){l&&f&&(l[f]=u)};var h=c([\"transform\",\"WebkitTransform\"]);s.setTransform=function(t,e){t.style[h]=e};var p=!1;try{var d=Object.defineProperty({},\"passive\",{get:function(){p=!0}});t.default.addEventListener(\"test\",d,d),t.default.removeEventListener(\"test\",d,d)}catch(t){p=!1}s.addEventListener=function(t,e,r,n){void 0===n&&(n={}),\"passive\"in n&&p?t.addEventListener(e,r,n):t.addEventListener(e,r,n.capture)},s.removeEventListener=function(t,e,r,n){void 0===n&&(n={}),\"passive\"in n&&p?t.removeEventListener(e,r,n):t.removeEventListener(e,r,n.capture)};var g=function(e){e.preventDefault(),e.stopPropagation(),t.default.removeEventListener(\"click\",g,!0)};s.suppressClick=function(){t.default.addEventListener(\"click\",g,!0),t.default.setTimeout(function(){t.default.removeEventListener(\"click\",g,!0)},0)},s.mousePos=function(e,r){var n=e.getBoundingClientRect();return r=r.touches?r.touches[0]:r,new t.default$1(r.clientX-n.left-e.clientLeft,r.clientY-n.top-e.clientTop)},s.touchPos=function(e,r){for(var n=e.getBoundingClientRect(),i=[],a=\"touchend\"===r.type?r.changedTouches:r.touches,o=0;o<a.length;o++)i.push(new t.default$1(a[o].clientX-n.left-e.clientLeft,a[o].clientY-n.top-e.clientTop));return i},s.mouseButton=function(e){return void 0!==t.default.InstallTrigger&&2===e.button&&e.ctrlKey&&t.default.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0?0:e.button},s.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var m={API_URL:\"https://api.mapbox.com\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null},v=\"See https://www.mapbox.com/api-documentation/#access-tokens\";function y(t,e){var r=A(m.API_URL);if(t.protocol=r.protocol,t.authority=r.authority,\"/\"!==r.path&&(t.path=\"\"+r.path+t.path),!m.REQUIRE_ACCESS_TOKEN)return T(t);if(!(e=e||m.ACCESS_TOKEN))throw new Error(\"An API access token is required to use Mapbox GL. \"+v);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+v);return t.params.push(\"access_token=\"+e),T(t)}function x(t){return 0===t.indexOf(\"mapbox:\")}var b=function(t,e){if(!x(t))return t;var r=A(t);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),y(r,e)},_=function(t,e,r,n){var i=A(t);return x(t)?(i.path=\"/styles/v1\"+i.path+\"/sprite\"+e+r,y(i,n)):(i.path+=\"\"+e+r,T(i))},w=/(\\.(png|jpg)\\d*)(?=$)/,k=function(t,e,r){if(!e||!x(e))return t;var n=A(t),i=a.devicePixelRatio>=2||512===r?\"@2x\":\"\",o=a.supportsWebp?\".webp\":\"$1\";return n.path=n.path.replace(w,\"\"+i+o),function(t){for(var e=0;e<t.length;e++)0===t[e].indexOf(\"access_token=tk.\")&&(t[e]=\"access_token=\"+(m.ACCESS_TOKEN||\"\"))}(n.params),T(n)},M=/^(\\w+):\\/\\/([^\\/?]*)(\\/[^?]+)?\\??(.+)?/;function A(t){var e=t.match(M);if(!e)throw new Error(\"Unable to parse URL object\");return{protocol:e[1],authority:e[2],path:e[3]||\"/\",params:e[4]?e[4].split(\"&\"):[]}}function T(t){var e=t.params.length?\"?\"+t.params.join(\"&\"):\"\";return t.protocol+\"://\"+t.authority+t.path+e}var S=t.default.HTMLImageElement,E=t.default.HTMLCanvasElement,C=t.default.HTMLVideoElement,L=t.default.ImageData,z=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};z.prototype.update=function(t,e){var r=t.width,n=t.height,i=!this.size||this.size[0]!==r||this.size[1]!==n,a=this.context,o=a.gl;this.useMipmap=Boolean(e&&e.useMipmap),o.bindTexture(o.TEXTURE_2D,this.texture),i?(this.size=[r,n],a.pixelStoreUnpack.set(1),this.format!==o.RGBA||e&&!1===e.premultiply||a.pixelStoreUnpackPremultiplyAlpha.set(!0),t instanceof S||t instanceof E||t instanceof C||t instanceof L?o.texImage2D(o.TEXTURE_2D,0,this.format,this.format,o.UNSIGNED_BYTE,t):o.texImage2D(o.TEXTURE_2D,0,this.format,r,n,0,this.format,o.UNSIGNED_BYTE,t.data)):t instanceof S||t instanceof E||t instanceof C||t instanceof L?o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,t):o.texSubImage2D(o.TEXTURE_2D,0,0,0,r,n,o.RGBA,o.UNSIGNED_BYTE,t.data),this.useMipmap&&this.isSizePowerOfTwo()&&o.generateMipmap(o.TEXTURE_2D)},z.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)},z.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},z.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null};var P=function(){this.images={},this.loaded=!1,this.requestors=[],this.shelfPack=new t.default$2(64,64,{autoResize:!0}),this.patterns={},this.atlasImage=new t.RGBAImage({width:64,height:64}),this.dirty=!0};P.prototype.isLoaded=function(){return this.loaded},P.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e<r.length;e+=1){var n=r[e],i=n.ids,a=n.callback;this._notify(i,a)}this.requestors=[]}},P.prototype.getImage=function(t){return this.images[t]},P.prototype.addImage=function(t,e){this.images[t]=e},P.prototype.removeImage=function(t){delete this.images[t];var e=this.patterns[t];e&&(this.shelfPack.unref(e.bin),delete this.patterns[t])},P.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.images[a]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},P.prototype._notify=function(t,e){for(var r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=this.images[a];o&&(r[a]={data:o.data.clone(),pixelRatio:o.pixelRatio,sdf:o.sdf})}e(null,r)},P.prototype.getPixelSize=function(){return{width:this.shelfPack.w,height:this.shelfPack.h}},P.prototype.getPattern=function(e){var r=this.patterns[e];if(r)return r.position;var n=this.getImage(e);if(!n)return null;var i=n.data.width+2,a=n.data.height+2,o=this.shelfPack.packOne(i,a);if(!o)return null;this.atlasImage.resize(this.getPixelSize());var s=n.data,l=this.atlasImage,c=o.x+1,u=o.y+1,f=s.width,h=s.height;t.RGBAImage.copy(s,l,{x:0,y:0},{x:c,y:u},{width:f,height:h}),t.RGBAImage.copy(s,l,{x:0,y:h-1},{x:c,y:u-1},{width:f,height:1}),t.RGBAImage.copy(s,l,{x:0,y:0},{x:c,y:u+h},{width:f,height:1}),t.RGBAImage.copy(s,l,{x:f-1,y:0},{x:c-1,y:u},{width:1,height:h}),t.RGBAImage.copy(s,l,{x:0,y:0},{x:c+f,y:u},{width:1,height:h}),this.dirty=!0;var p=new t.ImagePosition(o,n);return this.patterns[e]={bin:o,position:p},p},P.prototype.bind=function(t){var e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new z(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)};var O=D,I=1e20;function D(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||\"sans-serif\",this.fontWeight=a||\"normal\",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1))}function R(t,e,r,n,i,a,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(B(n,i,a,o,r),l=0;l<r;l++)t[l*e+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(B(n,i,a,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(i[s])}}function B(t,e,r,n,i){r[0]=0,n[0]=-I,n[1]=+I;for(var a=1,o=0;a<i;a++){for(var s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);r[++o]=a,n[o]=s,n[o+1]=+I}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;e[a]=(a-r[o])*(a-r[o])+t[r[o]]}}D.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var i=e.data[4*n+3]/255;this.gridOuter[n]=1===i?0:0===i?I:Math.pow(Math.max(0,.5-i),2),this.gridInner[n]=1===i?I:0===i?0:Math.pow(Math.max(0,i-.5),2)}for(R(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),R(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var a=this.gridOuter[n]-this.gridInner[n];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(a/this.radius+this.cutoff))))}return r};var F=function(t,e){this.requestTransform=t,this.localIdeographFontFamily=e,this.entries={}};F.prototype.setURL=function(t){this.url=t},F.prototype.getGlyphs=function(e,r){var n=this,i=[];for(var a in e)for(var o=0,s=e[a];o<s.length;o+=1){var l=s[o];i.push({stack:a,id:l})}t.asyncAll(i,function(t,e){var r=t.stack,i=t.id,a=n.entries[r];a||(a=n.entries[r]={glyphs:{},requests:{}});var o=a.glyphs[i];if(void 0===o)if(o=n._tinySDF(a,r,i))e(null,{stack:r,id:i,glyph:o});else{var s=Math.floor(i/256);if(256*s>65535)e(new Error(\"glyphs > 65535 not supported\"));else{var l=a.requests[s];l||(l=a.requests[s]=[],F.loadGlyphRange(r,s,n.url,n.requestTransform,function(t,e){if(e)for(var r in e)a.glyphs[+r]=e[+r];for(var n=0,i=l;n<i.length;n+=1)(0,i[n])(t,e);delete a.requests[s]})),l.push(function(t,n){t?e(t):n&&e(null,{stack:r,id:i,glyph:n[i]||null})})}}else e(null,{stack:r,id:i,glyph:o})},function(t,e){if(t)r(t);else if(e){for(var n={},i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.stack,l=o.id,c=o.glyph;(n[s]||(n[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics}}r(null,n)}})},F.prototype._tinySDF=function(e,r,n){var i=this.localIdeographFontFamily;if(i&&(t.default$4[\"CJK Unified Ideographs\"](n)||t.default$4[\"Hangul Syllables\"](n))){var a=e.tinySDF;if(!a){var o=\"400\";/bold/i.test(r)?o=\"900\":/medium/i.test(r)?o=\"500\":/light/i.test(r)&&(o=\"200\"),a=e.tinySDF=new F.TinySDF(24,3,8,.25,i,o)}return{id:n,bitmap:new t.AlphaImage({width:30,height:30},a.draw(String.fromCharCode(n))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},F.loadGlyphRange=function(e,r,n,i,a){var o=256*r,s=o+255,l=i(function(t,e){if(!x(t))return t;var r=A(t);return r.path=\"/fonts/v1\"+r.path,y(r,e)}(n).replace(\"{fontstack}\",e).replace(\"{range}\",o+\"-\"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,function(e,r){if(e)a(e);else if(r){for(var n={},i=0,o=t.default$3(r.data);i<o.length;i+=1){var s=o[i];n[s.id]=s}a(null,n)}})},F.TinySDF=O;var N=function(){this.specification=t.default$5.light.position};N.prototype.possiblyEvaluate=function(e,r){return t.sphericalToCartesian(e.expression.evaluate(r))},N.prototype.interpolate=function(e,r,n){return{x:t.number(e.x,r.x,n),y:t.number(e.y,r.y,n),z:t.number(e.z,r.z,n)}};var j=new t.Properties({anchor:new t.DataConstantProperty(t.default$5.light.anchor),position:new N,color:new t.DataConstantProperty(t.default$5.light.color),intensity:new t.DataConstantProperty(t.default$5.light.intensity)}),V=function(e){function r(r){e.call(this),this._transitionable=new t.Transitionable(j),this.setLight(r),this._transitioning=this._transitionable.untransitioned()}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getLight=function(){return this._transitionable.serialize()},r.prototype.setLight=function(e){if(!this._validate(t.validateLight,e))for(var r in e){var n=e[r];t.endsWith(r,\"-transition\")?this._transitionable.setTransition(r.slice(0,-\"-transition\".length),n):this._transitionable.setValue(r,n)}},r.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},r.prototype.hasTransition=function(){return this._transitioning.hasTransition()},r.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},r.prototype._validate=function(e,r){return t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:r,style:{glyphs:!0,sprite:!0},styleSpec:t.default$5})))},r}(t.Evented),U=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};U.prototype.getDash=function(t,e){var r=t.join(\",\")+String(e);return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},U.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce(\"LineAtlas out of space\"),null;for(var a=0,o=0;o<e.length;o++)a+=e[o];for(var s=this.width/a,l=s/2,c=e.length%2==1,u=-n;u<=n;u++)for(var f=this.nextRow+n+u,h=this.width*f,p=c?-e[e.length-1]:0,d=e[0],g=1,m=0;m<this.width;m++){for(;d<m/s;)p=d,d+=e[g],c&&g===e.length-1&&(d+=e[0]),g++;var v=Math.abs(m-p*s),y=Math.abs(m-d*s),x=Math.min(v,y),b=g%2==1,_=void 0;if(r){var w=n?u/n*(l+1):0;if(b){var k=l-Math.abs(w);_=Math.sqrt(x*x+k*k)}else _=l-Math.sqrt(x*x+w*w)}else _=(b?1:-1)*x;this.data[3+4*(h+m)]=Math.max(0,Math.min(255,_+128))}var M={y:(this.nextRow+n+.5)/this.height,height:2*n/this.height,width:a};return this.nextRow+=i,this.dirty=!0,M},U.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.RGBA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,this.data))};var q=function e(r,n){this.workerPool=r,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var i=this.workerPool.acquire(this.id),a=0;a<i.length;a++){var o=i[a],s=new e.Actor(o,n,this.id);s.name=\"Worker \"+a,this.actors.push(s)}};function H(e,r,n){var i=function(e,r){if(e)return n(e);if(r){var i=t.pick(r,[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\"]);r.vector_layers&&(i.vectorLayers=r.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),n(null,i)}};e.url?t.getJSON(r(b(e.url),t.ResourceType.Source),i):a.frame(function(){return i(null,e)})}q.prototype.broadcast=function(e,r,n){n=n||function(){},t.asyncAll(this.actors,function(t,n){t.send(e,r,n)},n)},q.prototype.send=function(t,e,r,n){return(\"number\"!=typeof n||isNaN(n))&&(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r),n},q.prototype.remove=function(){this.actors.forEach(function(t){t.remove()}),this.actors=[],this.workerPool.release(this.id)},q.Actor=t.default$7;var G=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid LngLat object: (\"+t+\", \"+e+\")\");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};G.prototype.wrap=function(){return new G(t.wrap(this.lng,-180,180),this.lat)},G.prototype.toArray=function(){return[this.lng,this.lat]},G.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},G.prototype.toBounds=function(t){var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new W(new G(this.lng-r,this.lat-e),new G(this.lng+r,this.lat+e))},G.convert=function(t){if(t instanceof G)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new G(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new G(Number(t.lng),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")};var W=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};W.prototype.setNorthEast=function(t){return this._ne=t instanceof G?new G(t.lng,t.lat):G.convert(t),this},W.prototype.setSouthWest=function(t){return this._sw=t instanceof G?new G(t.lng,t.lat):G.convert(t),this},W.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof G)e=t,r=t;else{if(!(t instanceof W))return Array.isArray(t)?t.every(Array.isArray)?this.extend(W.convert(t)):this.extend(G.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new G(e.lng,e.lat),this._ne=new G(r.lng,r.lat)),this},W.prototype.getCenter=function(){return new G((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},W.prototype.getSouthWest=function(){return this._sw},W.prototype.getNorthEast=function(){return this._ne},W.prototype.getNorthWest=function(){return new G(this.getWest(),this.getNorth())},W.prototype.getSouthEast=function(){return new G(this.getEast(),this.getSouth())},W.prototype.getWest=function(){return this._sw.lng},W.prototype.getSouth=function(){return this._sw.lat},W.prototype.getEast=function(){return this._ne.lng},W.prototype.getNorth=function(){return this._ne.lat},W.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},W.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},W.prototype.isEmpty=function(){return!(this._sw&&this._ne)},W.convert=function(t){return!t||t instanceof W?t:new W(t)};var Y=function(t,e,r){this.bounds=W.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=r||24};Y.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},Y.prototype.contains=function(t){var e=Math.floor(this.lngX(this.bounds.getWest(),t.z)),r=Math.floor(this.latY(this.bounds.getNorth(),t.z)),n=Math.ceil(this.lngX(this.bounds.getEast(),t.z)),i=Math.ceil(this.latY(this.bounds.getSouth(),t.z));return t.x>=e&&t.x<n&&t.y>=r&&t.y<i},Y.prototype.lngX=function(t,e){return(t+180)*(Math.pow(2,e)/360)},Y.prototype.latY=function(e,r){var n=t.clamp(Math.sin(Math.PI/180*e),-.9999,.9999),i=Math.pow(2,r)/(2*Math.PI);return Math.pow(2,r-1)+.5*Math.log((1+n)/(1-n))*-i};var X=function(e){function r(r,n,i,a){if(e.call(this),this.id=r,this.dispatcher=i,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,t.extend(this,t.pick(n,[\"url\",\"scheme\",\"tileSize\"])),this._options=t.extend({type:\"vector\"},n),this._collectResourceTiming=n.collectResourceTiming,512!==this.tileSize)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(a)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),H(this._options,this.map._transformRequest,function(r,n){r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new Y(n.bounds,e.minzoom,e.maxzoom)),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.loadTile=function(e,r){var n=k(e.tileID.canonical.url(this.tiles,this.scheme),this.url),i={request:this.map._transformRequest(n,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:a.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes};function o(t,n){return e.aborted?r(null):t?r(t):(n&&n.resourceTiming&&(e.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&e.setExpiryData(n),e.loadVectorData(n,this.map.painter),r(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}i.request.collectResourceTiming=this._collectResourceTiming,void 0===e.workerID||\"expired\"===e.state?e.workerID=this.dispatcher.send(\"loadTile\",i,o.bind(this)):\"loading\"===e.state?e.reloadCallback=r:this.dispatcher.send(\"reloadTile\",i,o.bind(this),e.workerID)},r.prototype.abortTile=function(t){this.dispatcher.send(\"abortTile\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},r.prototype.hasTransition=function(){return!1},r}(t.Evented),Z=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.dispatcher=i,this.setEventedParent(a),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=t.extend({},n),t.extend(this,t.pick(n,[\"url\",\"scheme\",\"tileSize\"]))}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),H(this._options,this.map._transformRequest,function(r,n){r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new Y(n.bounds,e.minzoom,e.maxzoom)),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.loadTile=function(e,r){var n=this,i=k(e.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);e.request=t.getImage(this.map._transformRequest(i,t.ResourceType.Tile),function(t,i){if(delete e.request,e.aborted)e.state=\"unloaded\",r(null);else if(t)e.state=\"errored\",r(t);else if(i){n.map._refreshExpiredTiles&&e.setExpiryData(i),delete i.cacheControl,delete i.expires;var a=n.map.painter.context,o=a.gl;e.texture=n.map.painter.getTileTexture(i.width),e.texture?e.texture.update(i,{useMipmap:!0}):(e.texture=new z(a,i,o.RGBA,{useMipmap:!0}),e.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),a.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax)),e.state=\"loaded\",r(null)}})},r.prototype.abortTile=function(t,e){t.request&&(t.request.abort(),delete t.request),e()},r.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},r.prototype.hasTransition=function(){return!1},r}(t.Evented),$=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),this.type=\"raster-dem\",this.maxzoom=22,this._options=t.extend({},n),this.encoding=n.encoding||\"mapbox\"}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.serialize=function(){return{type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},r.prototype.loadTile=function(e,r){var n=k(e.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);e.request=t.getImage(this.map._transformRequest(n,t.ResourceType.Tile),function(t,n){if(delete e.request,e.aborted)e.state=\"unloaded\",r(null);else if(t)e.state=\"errored\",r(t);else if(n){this.map._refreshExpiredTiles&&e.setExpiryData(n),delete n.cacheControl,delete n.expires;var i=a.getImageData(n),o={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.workerID&&\"expired\"!==e.state||(e.workerID=this.dispatcher.send(\"loadDEMTile\",o,function(t,n){t&&(e.state=\"errored\",r(t)),n&&(e.dem=n,e.needsHillshadePrepare=!0,e.state=\"loaded\",r(null))}.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)},r.prototype._getNeighboringTiles=function(e){var r=e.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+1<n&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y+1).key]={backfilled:!1}),l},r.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state=\"unloaded\",this.dispatcher.send(\"removeDEMTile\",{uid:t.uid,source:this.id},void 0,t.workerID)},r}(Z),J=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this.dispatcher=i,this.setEventedParent(a),this._data=n.data,this._options=t.extend({},n),this._collectResourceTiming=n.collectResourceTiming,this._resourceTiming=[],void 0!==n.maxzoom&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type);var o=t.default$8/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:(void 0!==n.buffer?n.buffer:128)*o,tolerance:(void 0!==n.tolerance?n.tolerance:.375)*o,extent:t.default$8,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1},superclusterOptions:{maxZoom:void 0!==n.clusterMaxZoom?Math.min(n.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:t.default$8,radius:(n.clusterRadius||50)*o,log:!1}},n.workerOptions)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function(r){if(r)e.fire(new t.ErrorEvent(r));else{var n={dataType:\"source\",sourceDataType:\"metadata\"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event(\"data\",n))}})},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function(e){if(e)return r.fire(new t.ErrorEvent(e));var n={dataType:\"source\",sourceDataType:\"content\"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event(\"data\",n))}),this},r.prototype._updateWorkerData=function(e){var r,n,i=this,a=t.extend({},this.workerOptions),o=this._data;\"string\"==typeof o?(a.request=this.map._transformRequest((r=o,(n=t.default.document.createElement(\"a\")).href=r,n.href),t.ResourceType.Source),a.request.collectResourceTiming=this._collectResourceTiming):a.data=JSON.stringify(o),this.workerID=this.dispatcher.send(this.type+\".\"+a.source+\".loadData\",a,function(t,r){i._removed||r&&r.abandoned||(i._loaded=!0,r&&r.resourceTiming&&r.resourceTiming[i.id]&&(i._resourceTiming=r.resourceTiming[i.id].slice(0)),i.dispatcher.send(i.type+\".\"+a.source+\".coalesce\",null,null,i.workerID),e(t))},this.workerID)},r.prototype.loadTile=function(t,e){var r=this,n=void 0===t.workerID?\"loadTile\":\"reloadTile\",i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:a.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(n,i,function(i,a){return t.unloadVectorData(),t.aborted?e(null):i?e(i):(t.loadVectorData(a,r.map.painter,\"reloadTile\"===n),e(null))},this.workerID)},r.prototype.abortTile=function(t){t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},null,t.workerID)},r.prototype.onRemove=function(){this._removed=!0,this.dispatcher.send(\"removeSource\",{type:this.type,source:this.id},null,this.workerID)},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),K=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),Q=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Q.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c<n.length;c++)this.boundPaintVertexBuffers[c]!==n[c]&&(l=!0);var u=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||u?this.freshBind(e,r,n,i,a,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind())},Q.prototype.freshBind=function(t,e,r,n,i,a,o){var s,l=t.numAttributes,c=this.context,u=c.gl;if(c.extVertexArrayObject)this.vao&&this.destroy(),this.vao=c.extVertexArrayObject.createVertexArrayOES(),c.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=c.currentNumAttributes||0;for(var f=l;f<s;f++)u.disableVertexAttribArray(f)}e.enableAttributes(u,t);for(var h=0,p=r;h<p.length;h+=1)p[h].enableAttributes(u,t);a&&a.enableAttributes(u,t),o&&o.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,i);for(var d=0,g=r;d<g.length;d+=1){var m=g[d];m.bind(),m.setVertexAttribPointers(u,t,i)}a&&(a.bind(),a.setVertexAttribPointers(u,t,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,t,i)),c.currentNumAttributes=l},Q.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};var tt=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,t.getImage(this.map._transformRequest(this.url,t.ResourceType.Image),function(r,n){r?e.fire(new t.ErrorEvent(r)):n&&(e.image=a.getImageData(n),e._finishLoading())})},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){this.coordinates=e;var r=this.map,n=e.map(function(t){return r.transform.locationCoordinate(G.convert(t)).zoomTo(0)}),i=this.centerCoord=t.getCoordinatesCenter(n);i.column=Math.floor(i.column),i.row=Math.floor(i.row),this.tileID=new t.CanonicalTileID(i.zoom,i.column,i.row),this.minzoom=this.maxzoom=i.zoom;var a=n.map(function(e){var r=e.zoomTo(i.zoom);return new t.default$1(Math.round((r.column-i.column)*t.default$8),Math.round((r.row-i.row)*t.default$8))});return this._boundsArray=new t.RasterBoundsArray,this._boundsArray.emplaceBack(a[0].x,a[0].y,0,0),this._boundsArray.emplaceBack(a[1].x,a[1].y,t.default$8,0),this._boundsArray.emplaceBack(a[3].x,a[3].y,0,t.default$8),this._boundsArray.emplaceBack(a[2].x,a[2].y,t.default$8,t.default$8),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},r.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var t=this.map.painter.context,e=t.gl;for(var r in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,K.members)),this.boundsVAO||(this.boundsVAO=new Q),this.texture||(this.texture=new z(t,this.image,e.RGBA),this.texture.bind(e.LINEAR,e.CLAMP_TO_EDGE)),this.tiles){var n=this.tiles[r];\"loaded\"!==n.state&&(n.state=\"loaded\",n.texture=this.texture)}}},r.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state=\"errored\",e(null))},r.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return!1},r}(t.Evented),et=function(e){function r(t,r,n,i){e.call(this,t,r,n,i),this.roundZoom=!0,this.type=\"video\",this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this,r=this.options;this.urls=[];for(var n=0,i=r.urls;n<i.length;n+=1){var a=i[n];e.urls.push(e.map._transformRequest(a,t.ResourceType.Source).url)}t.getVideo(this.urls,function(r,n){r?e.fire(new t.ErrorEvent(r)):n&&(e.video=n,e.video.loop=!0,e.video.addEventListener(\"playing\",function(){e.map._rerender()}),e.map&&e.video.play(),e._finishLoading())})},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var t=this.map.painter.context,e=t.gl;for(var r in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,K.members)),this.boundsVAO||(this.boundsVAO=new Q),this.texture?this.video.paused||(this.texture.bind(e.LINEAR,e.CLAMP_TO_EDGE),e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,this.video)):(this.texture=new z(t,this.video,e.RGBA),this.texture.bind(e.LINEAR,e.CLAMP_TO_EDGE)),this.tiles){var n=this.tiles[r];\"loaded\"!==n.state&&(n.state=\"loaded\",n.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(tt),rt=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some(function(t){return!Array.isArray(t)||2!==t.length||t.some(function(t){return\"number\"!=typeof t})})||this.fire(new t.ErrorEvent(new t.default$9(\"sources.\"+r,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.default$9(\"sources.\"+r,null,'missing required property \"coordinates\"'))),n.animate&&\"boolean\"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.default$9(\"sources.\"+r,null,'optional \"animate\" property must be a boolean value'))),n.canvas?\"string\"==typeof n.canvas||n.canvas instanceof t.default.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.default$9(\"sources.\"+r,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.default$9(\"sources.\"+r,null,'missing required property \"canvas\"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this.canvas||(this.canvas=this.options.canvas instanceof t.default.HTMLCanvasElement?this.options.canvas:t.default.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map._rerender()},this.pause=function(){this._playing=!1},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,K.members)),this.boundsVAO||(this.boundsVAO=new Q),this.texture?t?this.texture.update(this.canvas):this._playing&&(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.canvas)):(this.texture=new z(e,this.canvas,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var r=e[t];if(isNaN(r)||r<=0)return!0}return!1},r}(tt),nt={vector:X,raster:Z,\"raster-dem\":$,geojson:J,video:et,image:tt,canvas:rt},it=function(e,r,n,i){var a=new nt[r.type](e,r,n,i);if(a.id!==e)throw new Error(\"Expected Source id to be \"+e+\" instead of \"+a.id);return t.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],a),a};function at(t,e,r,n,i){var a=i.maxPitchScaleFactor(),o=t.tilesIn(r,a);o.sort(ot);for(var s=[],l=0,c=o;l<c.length;l+=1){var u=c[l];s.push({wrappedTileID:u.tileID.wrapped().key,queryResults:u.tile.queryRenderedFeatures(e,u.queryGeometry,u.scale,n,i,a,t.transform.calculatePosMatrix(u.tileID.toUnwrapped()))})}return function(t){for(var e={},r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var c in o)for(var u=o[c],f=l[c]=l[c]||{},h=e[c]=e[c]||[],p=0,d=u;p<d.length;p+=1){var g=d[p];f[g.featureIndex]||(f[g.featureIndex]=!0,h.push(g.feature))}}return e}(s)}function ot(t,e){var r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}var st=function(e,r){this.tileID=e,this.uid=t.uniqueId(),this.uses=0,this.tileSize=r,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.expiredRequestCount=0,this.state=\"loading\"};st.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<a.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},st.prototype.wasRequested=function(){return\"errored\"===this.state||\"loaded\"===this.state||\"reloading\"===this.state},st.prototype.loadVectorData=function(e,r,n){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",e){if(e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestFeatureIndex.rawTileData=e.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e)return r;for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.layerIds.map(function(t){return e.getLayer(t)}).filter(Boolean);if(0!==o.length){a.layers=o;for(var s=0,l=o;s<l.length;s+=1)r[l[s].id]=a}}return r}(e.buckets,r.style),n)for(var i in this.buckets){var a=this.buckets[i];a instanceof t.default$14&&(a.justReloaded=!0)}for(var o in this.queryPadding=0,this.buckets){var s=this.buckets[o];this.queryPadding=Math.max(this.queryPadding,r.style.getLayer(s.layerIds[0]).queryRadius(s))}e.iconAtlasImage&&(this.iconAtlasImage=e.iconAtlasImage),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.CollisionBoxArray},st.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.iconAtlasTexture&&this.iconAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"},st.prototype.unloadDEMData=function(){this.dem=null,this.neighboringTiles=null,this.state=\"unloaded\"},st.prototype.getBucket=function(t){return this.buckets[t.id]},st.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploaded||(r.upload(t),r.uploaded=!0)}var n=t.gl;this.iconAtlasImage&&(this.iconAtlasTexture=new z(t,this.iconAtlasImage,n.RGBA),this.iconAtlasImage=null),this.glyphAtlasImage&&(this.glyphAtlasTexture=new z(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},st.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:e,scale:r,tileSize:this.tileSize,posMatrix:o,transform:i,params:n,queryPadding:this.queryPadding*a},t):{}},st.prototype.querySourceFeatures=function(e,r){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData){var n=this.latestFeatureIndex.loadVTLayers(),i=r?r.sourceLayer:\"\",a=n._geojsonTileLayer||n[i];if(a)for(var o=t.default$13(r&&r.filter),s={z:this.tileID.overscaledZ,x:this.tileID.canonical.x,y:this.tileID.canonical.y},l=0;l<a.length;l++){var c=a.feature(l);if(o(new t.default$16(this.tileID.overscaledZ),c)){var u=new t.default$12(c,s.z,s.x,s.y);u.tile=s,e.push(u)}}}},st.prototype.clearMask=function(){this.segments&&(this.segments.destroy(),delete this.segments),this.maskedBoundsBuffer&&(this.maskedBoundsBuffer.destroy(),delete this.maskedBoundsBuffer),this.maskedIndexBuffer&&(this.maskedIndexBuffer.destroy(),delete this.maskedIndexBuffer)},st.prototype.setMask=function(e,r){if(!t.default$10(this.mask,e)&&(this.mask=e,this.clearMask(),!t.default$10(e,{0:!0}))){var n=new t.RasterBoundsArray,i=new t.TriangleIndexArray;this.segments=new t.default$15,this.segments.prepareSegment(0,n,i);for(var a=Object.keys(e),o=0;o<a.length;o++){var s=e[a[o]],l=t.default$8>>s.z,c=new t.default$1(s.x*l,s.y*l),u=new t.default$1(c.x+l,c.y+l),f=this.segments.prepareSegment(4,n,i);n.emplaceBack(c.x,c.y,c.x,c.y),n.emplaceBack(u.x,c.y,u.x,c.y),n.emplaceBack(c.x,u.y,c.x,u.y),n.emplaceBack(u.x,u.y,u.x,u.y);var h=f.vertexLength;i.emplaceBack(h,h+1,h+2),i.emplaceBack(h+1,h+2,h+3),f.vertexLength+=4,f.primitiveLength+=2}this.maskedBoundsBuffer=r.createVertexBuffer(n,K.members),this.maskedIndexBuffer=r.createIndexBuffer(i)}},st.prototype.hasData=function(){return\"loaded\"===this.state||\"reloading\"===this.state||\"expired\"===this.state},st.prototype.setExpiryData=function(e){var r=this.expirationTime;if(e.cacheControl){var n=t.parseCacheControl(e.cacheControl);n[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*n[\"max-age\"])}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){var i=Date.now(),a=!1;if(this.expirationTime>i)a=!1;else if(r)if(this.expirationTime<r)a=!0;else{var o=this.expirationTime-r;o?this.expirationTime=i+Math.max(o,3e4):a=!0}else a=!0;a?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}},st.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)};var lt=function(t,e){this.max=t,this.onRemove=e,this.reset()};lt.prototype.reset=function(){for(var t in this.data)for(var e=0,r=this.data[t];e<r.length;e+=1){var n=r[e];n.timeout&&clearTimeout(n.timeout),this.onRemove(n.value)}return this.data={},this.order=[],this},lt.prototype.add=function(t,e,r){var n=this,i=t.wrapped().key;void 0===this.data[i]&&(this.data[i]=[]);var a={value:e,timeout:void 0};if(void 0!==r&&(a.timeout=setTimeout(function(){n.remove(t,a)},r)),this.data[i].push(a),this.order.push(i),this.order.length>this.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},lt.prototype.has=function(t){return t.wrapped().key in this.data},lt.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},lt.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},lt.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},lt.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},lt.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this};var ct=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};ct.prototype.unbindVAO=function(){this.context.extVertexArrayObject&&this.context.bindVertexArrayOES.set(null)},ct.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},ct.prototype.updateData=function(t){var e=this.context.gl;this.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},ct.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var ut={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},ft=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};ft.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},ft.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},ft.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],i=e.attributes[n.name];void 0!==i&&t.enableVertexAttribArray(i)}},ft.prototype.setVertexAttribPointers=function(t,e,r){for(var n=0;n<this.attributes.length;n++){var i=this.attributes[n],a=e.attributes[i.name];void 0!==a&&t.vertexAttribPointer(a,i.components,t[ut[i.type]],!1,this.itemSize,i.offset+this.itemSize*(r||0))}},ft.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var ht=function(e){this.context=e,this.current=t.default$6.transparent};ht.prototype.get=function(){return this.current},ht.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t)};var pt=function(t){this.context=t,this.current=1};pt.prototype.get=function(){return this.current},pt.prototype.set=function(t){this.current!==t&&(this.context.gl.clearDepth(t),this.current=t)};var dt=function(t){this.context=t,this.current=0};dt.prototype.get=function(){return this.current},dt.prototype.set=function(t){this.current!==t&&(this.context.gl.clearStencil(t),this.current=t)};var gt=function(t){this.context=t,this.current=[!0,!0,!0,!0]};gt.prototype.get=function(){return this.current},gt.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t)};var mt=function(t){this.context=t,this.current=!0};mt.prototype.get=function(){return this.current},mt.prototype.set=function(t){this.current!==t&&(this.context.gl.depthMask(t),this.current=t)};var vt=function(t){this.context=t,this.current=255};vt.prototype.get=function(){return this.current},vt.prototype.set=function(t){this.current!==t&&(this.context.gl.stencilMask(t),this.current=t)};var yt=function(t){this.context=t,this.current={func:t.gl.ALWAYS,ref:0,mask:255}};yt.prototype.get=function(){return this.current},yt.prototype.set=function(t){var e=this.current;t.func===e.func&&t.ref===e.ref&&t.mask===e.mask||(this.context.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t)};var xt=function(t){this.context=t;var e=this.context.gl;this.current=[e.KEEP,e.KEEP,e.KEEP]};xt.prototype.get=function(){return this.current},xt.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]||(this.context.gl.stencilOp(t[0],t[1],t[2]),this.current=t)};var bt=function(t){this.context=t,this.current=!1};bt.prototype.get=function(){return this.current},bt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t}};var _t=function(t){this.context=t,this.current=[0,1]};_t.prototype.get=function(){return this.current},_t.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.depthRange(t[0],t[1]),this.current=t)};var wt=function(t){this.context=t,this.current=!1};wt.prototype.get=function(){return this.current},wt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t}};var kt=function(t){this.context=t,this.current=t.gl.LESS};kt.prototype.get=function(){return this.current},kt.prototype.set=function(t){this.current!==t&&(this.context.gl.depthFunc(t),this.current=t)};var Mt=function(t){this.context=t,this.current=!1};Mt.prototype.get=function(){return this.current},Mt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t}};var At=function(t){this.context=t;var e=this.context.gl;this.current=[e.ONE,e.ZERO]};At.prototype.get=function(){return this.current},At.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.blendFunc(t[0],t[1]),this.current=t)};var Tt=function(e){this.context=e,this.current=t.default$6.transparent};Tt.prototype.get=function(){return this.current},Tt.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t)};var St=function(t){this.context=t,this.current=null};St.prototype.get=function(){return this.current},St.prototype.set=function(t){this.current!==t&&(this.context.gl.useProgram(t),this.current=t)};var Et=function(t){this.context=t,this.current=1};Et.prototype.get=function(){return this.current},Et.prototype.set=function(e){var r=this.context.lineWidthRange,n=t.clamp(e,r[0],r[1]);this.current!==n&&(this.context.gl.lineWidth(n),this.current=e)};var Ct=function(t){this.context=t,this.current=t.gl.TEXTURE0};Ct.prototype.get=function(){return this.current},Ct.prototype.set=function(t){this.current!==t&&(this.context.gl.activeTexture(t),this.current=t)};var Lt=function(t){this.context=t;var e=this.context.gl;this.current=[0,0,e.drawingBufferWidth,e.drawingBufferHeight]};Lt.prototype.get=function(){return this.current},Lt.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t)};var zt=function(t){this.context=t,this.current=null};zt.prototype.get=function(){return this.current},zt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t}};var Pt=function(t){this.context=t,this.current=null};Pt.prototype.get=function(){return this.current},Pt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t}};var Ot=function(t){this.context=t,this.current=null};Ot.prototype.get=function(){return this.current},Ot.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t}};var It=function(t){this.context=t,this.current=null};It.prototype.get=function(){return this.current},It.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t}};var Dt=function(t){this.context=t,this.current=null};Dt.prototype.get=function(){return this.current},Dt.prototype.set=function(t){var e=this.context.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t};var Rt=function(t){this.context=t,this.current=null};Rt.prototype.get=function(){return this.current},Rt.prototype.set=function(t){this.current!==t&&this.context.extVertexArrayObject&&(this.context.extVertexArrayObject.bindVertexArrayOES(t),this.current=t)};var Bt=function(t){this.context=t,this.current=4};Bt.prototype.get=function(){return this.current},Bt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t}};var Ft=function(t){this.context=t,this.current=!1};Ft.prototype.get=function(){return this.current},Ft.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t}};var Nt=function(t,e){this.context=t,this.current=null,this.parent=e};Nt.prototype.get=function(){return this.current};var jt=function(t){function e(e,r){t.call(this,e,r),this.dirty=!1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.dirty||this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e.prototype.setDirty=function(){this.dirty=!0},e}(Nt),Vt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t}},e}(Nt),Ut=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,i=this.framebuffer=n.createFramebuffer();this.colorAttachment=new jt(t,i),this.depthAttachment=new Vt(t,i)};Ut.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)};var qt=function(t,e,r){this.func=t,this.mask=e,this.range=r};qt.ReadOnly=!1,qt.ReadWrite=!0,qt.disabled=new qt(519,qt.ReadOnly,[0,1]);var Ht=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};Ht.disabled=new Ht({func:519,mask:0},0,0,7680,7680,7680);var Gt=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};Gt.disabled=new Gt(Gt.Replace=[1,0],t.default$6.transparent,[!1,!1,!1,!1]),Gt.unblended=new Gt(Gt.Replace,t.default$6.transparent,[!0,!0,!0,!0]),Gt.alphaBlended=new Gt([1,771],t.default$6.transparent,[!0,!0,!0,!0]);var Wt=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE),this.clearColor=new ht(this),this.clearDepth=new pt(this),this.clearStencil=new dt(this),this.colorMask=new gt(this),this.depthMask=new mt(this),this.stencilMask=new vt(this),this.stencilFunc=new yt(this),this.stencilOp=new xt(this),this.stencilTest=new bt(this),this.depthRange=new _t(this),this.depthTest=new wt(this),this.depthFunc=new kt(this),this.blend=new Mt(this),this.blendFunc=new At(this),this.blendColor=new Tt(this),this.program=new St(this),this.lineWidth=new Et(this),this.activeTexture=new Ct(this),this.viewport=new Lt(this),this.bindFramebuffer=new zt(this),this.bindRenderbuffer=new Pt(this),this.bindTexture=new Ot(this),this.bindVertexBuffer=new It(this),this.bindElementBuffer=new Dt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new Rt(this),this.pixelStoreUnpack=new Bt(this),this.pixelStoreUnpackPremultiplyAlpha=new Ft(this),this.extTextureFilterAnisotropic=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&t.getExtension(\"OES_texture_half_float_linear\")};Wt.prototype.createIndexBuffer=function(t,e){return new ct(this,t,e)},Wt.prototype.createVertexBuffer=function(t,e,r){return new ft(this,t,e,r)},Wt.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},Wt.prototype.createFramebuffer=function(t,e){return new Ut(this,t,e)},Wt.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},Wt.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},Wt.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},Wt.prototype.setColorMode=function(e){t.default$10(e.blendFunction,Gt.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)};var Yt=function(e){function r(t,r,n){var i=this;e.call(this),this.id=t,this.dispatcher=n,this.on(\"data\",function(t){\"source\"===t.dataType&&\"metadata\"===t.sourceDataType&&(i._sourceLoaded=!0),i._sourceLoaded&&!i._paused&&\"source\"===t.dataType&&\"content\"===t.sourceDataType&&(i.reload(),i.transform&&i.update(i.transform))}),this.on(\"error\",function(){i._sourceErrored=!0}),this._source=it(t,r,n,this),this._tiles={},this._cache=new lt(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._isIdRenderable=this._isIdRenderable.bind(this),this._coveredTiles={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},r.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},r.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return!1}return!0},r.prototype.getSource=function(){return this._source},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}},r.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},r.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,function(){})},r.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,function(){})},r.prototype.serialize=function(){return this._source.serialize()},r.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._tiles)this._tiles[e].upload(t)},r.prototype.getIds=function(){var e=this;return Object.keys(this._tiles).map(Number).sort(function(r,n){var i=e._tiles[r].tileID,a=e._tiles[n].tileID,o=new t.default$1(i.canonical.x,i.canonical.y).rotate(e.transform.angle),s=new t.default$1(a.canonical.x,a.canonical.y).rotate(e.transform.angle);return i.overscaledZ-a.overscaledZ||s.y-o.y||s.x-o.x})},r.prototype.getRenderableIds=function(){return this.getIds().filter(this._isIdRenderable)},r.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0,{});return!!e&&this._isIdRenderable(e.tileID.key)},r.prototype._isIdRenderable=function(t){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]},r.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)this._reloadTile(t,\"reloading\")},r.prototype._reloadTile=function(t,e){var r=this._tiles[t];r&&(\"loading\"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)))},r.prototype._tileLoaded=function(e,r,n,i){if(i)return e.state=\"errored\",void(404!==i.status?this._source.fire(new t.ErrorEvent(i,{tile:e})):this.update(this.transform));e.timeAdded=a.now(),\"expired\"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),\"raster-dem\"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._source.fire(new t.Event(\"data\",{dataType:\"source\",tile:e,coord:e.tileID})),this.map&&(this.map.painter.tileExtentVAO.vao=null)},r.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),r=0;r<e.length;r++){var n=e[r];if(t.neighboringTiles&&t.neighboringTiles[n]){var i=this.getTileByID(n);a(t,i),a(i,t)}}function a(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,i=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},r.prototype._findLoadedChildren=function(t,e,r){var n=!1;for(var i in this._tiles){var a=this._tiles[i];if(!(r[i]||!a.hasData()||a.tileID.overscaledZ<=t.overscaledZ||a.tileID.overscaledZ>e)){var o=Math.pow(2,a.tileID.canonical.z-t.canonical.z);if(Math.floor(a.tileID.canonical.x/o)===t.canonical.x&&Math.floor(a.tileID.canonical.y/o)===t.canonical.y)for(r[i]=a.tileID,n=!0;a&&a.tileID.overscaledZ-1>t.overscaledZ;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);if(!s)break;(a=this._tiles[s.key])&&a.hasData()&&(delete r[i],r[s.key]=s)}}}return n},r.prototype.findLoadedParent=function(t,e,r){for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n);if(!i)return;var a=String(i.key),o=this._tiles[a];if(o&&o.hasData())return r[a]=i,o;if(this._cache.has(i))return r[a]=i,this._cache.get(i)}},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)}):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter(function(t){return n._source.hasTile(t)}))):i=[];var o,s=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),l=Math.max(s-r.maxOverzooming,this._source.minzoom),c=Math.max(s+r.maxUnderzooming,this._source.minzoom),u=this._updateRetainedTiles(i,s),f={};if(Zt(this._source.type))for(var h=Object.keys(u),p=0;p<h.length;p++){var d=h[p],g=u[d],m=n._tiles[d];if(m&&(void 0===m.fadeEndTime||m.fadeEndTime>=a.now())){n._findLoadedChildren(g,c,u)&&(u[d]=g);var v=n.findLoadedParent(g,l,f);v&&n._addTile(v.tileID)}}for(o in f)u[o]||(n._coveredTiles[o]=!0);for(o in f)u[o]=f[o];for(var y=t.keysDifference(this._tiles,u),x=0;x<y.length;x++)n._removeTile(y[x])}},r.prototype._updateRetainedTiles=function(t,e){for(var n={},i={},a=Math.max(e-r.maxOverzooming,this._source.minzoom),o=Math.max(e+r.maxUnderzooming,this._source.minzoom),s=0;s<t.length;s++){var l=t[s],c=this._addTile(l),u=!1;if(c.hasData())n[l.key]=l;else{u=c.wasRequested(),n[l.key]=l;var f=!0;if(e+1>this._source.maxzoom){var h=l.children(this._source.maxzoom)[0],p=this.getTile(h);p&&p.hasData()?n[h.key]=h:f=!1}else{this._findLoadedChildren(l,o,n);for(var d=l.children(this._source.maxzoom),g=0;g<d.length;g++)if(!n[d[g].key]){f=!1;break}}if(!f)for(var m=l.overscaledZ-1;m>=a;--m){var v=l.scaledTo(m);if(i[v.key])break;if(i[v.key]=!0,!(c=this.getTile(v))&&u&&(c=this._addTile(v)),c&&(n[v.key]=v,u=c.wasRequested(),c.hasData()))break}}}return n},r.prototype._addTile=function(e){var r=this._tiles[e.key];if(r)return r;(r=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,r),r.tileID=e);var n=Boolean(r);return n||(r=new st(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,this._tileLoaded.bind(this,r,e.key,r.state))),r?(r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.Event(\"dataloading\",{tile:r,coord:r.tileID,dataType:\"source\"})),r):null},r.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout(function(){r._reloadTile(t,\"expired\"),delete r._timers[t]},n))},r.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r){for(var n=[],i=this.getIds(),a=1/0,o=1/0,s=-1/0,l=-1/0,c=e[0].zoom,u=0;u<e.length;u++){var f=e[u];a=Math.min(a,f.column),o=Math.min(o,f.row),s=Math.max(s,f.column),l=Math.max(l,f.row)}for(var h=0;h<i.length;h++){var p=this._tiles[i[h]],d=p.tileID,g=Math.pow(2,this.transform.zoom-p.tileID.overscaledZ),m=r*p.queryPadding*t.default$8/p.tileSize/g,v=[Xt(d,new t.default$17(a,o,c)),Xt(d,new t.default$17(s,l,c))];if(v[0].x-m<t.default$8&&v[0].y-m<t.default$8&&v[1].x+m>=0&&v[1].y+m>=0){for(var y=[],x=0;x<e.length;x++)y.push(Xt(d,e[x]));n.push({tile:p,tileID:d,queryGeometry:[y],scale:g})}}return n},r.prototype.getVisibleCoordinates=function(){for(var t=this,e=this.getRenderableIds().map(function(e){return t._tiles[e].tileID}),r=0,n=e;r<n.length;r+=1){var i=n[r];i.posMatrix=t.transform.calculatePosMatrix(i.toUnwrapped())}return e},r.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(Zt(this._source.type))for(var t in this._tiles){var e=this._tiles[t];if(void 0!==e.fadeEndTime&&e.fadeEndTime>=a.now())return!0}return!1},r}(t.Evented);function Xt(e,r){var n=r.zoomTo(e.canonical.z);return new t.default$1((n.column-(e.canonical.x+e.wrap*Math.pow(2,e.canonical.z)))*t.default$8,(n.row-e.canonical.y)*t.default$8)}function Zt(t){return\"raster\"===t||\"image\"===t||\"video\"===t}function $t(){return new t.default.Worker(En.workerUrl)}Yt.maxOverzooming=10,Yt.maxUnderzooming=3;var Jt,Kt=function(){this.active={}};function Qt(e,r){var n={};for(var i in e)\"ref\"!==i&&(n[i]=e[i]);return t.default$18.forEach(function(t){t in r&&(n[t]=r[t])}),n}function te(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var n=0;n<t.length;n++)\"ref\"in t[n]&&(t[n]=Qt(t[n],e[t[n].ref]));return t}Kt.prototype.acquire=function(t){if(!this.workers){var e=En.workerCount;for(this.workers=[];this.workers.length<e;)this.workers.push(new $t)}return this.active[t]=!0,this.workers.slice()},Kt.prototype.release=function(t){delete this.active[t],0===Object.keys(this.active).length&&(this.workers.forEach(function(t){t.terminate()}),this.workers=null)};var ee={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};function re(t,e,r){r.push({command:ee.addSource,args:[t,e[t]]})}function ne(t,e,r){e.push({command:ee.removeSource,args:[t]}),r[t]=!0}function ie(t,e,r,n){ne(t,r,n),re(t,e,r)}function ae(e,r,n){var i;for(i in e[n])if(e[n].hasOwnProperty(i)&&\"data\"!==i&&!t.default$10(e[n][i],r[n][i]))return!1;for(i in r[n])if(r[n].hasOwnProperty(i)&&\"data\"!==i&&!t.default$10(e[n][i],r[n][i]))return!1;return!0}function oe(e,r,n,i,a,o){var s;for(s in r=r||{},e=e||{})e.hasOwnProperty(s)&&(t.default$10(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}));for(s in r)r.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.default$10(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}))}function se(t){return t.id}function le(t,e){return t[e.id]=e,t}var ce=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a<this.xCellCount*this.yCellCount;a++)n.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0};ce.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},ce.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},ce.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},ce.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},ce.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},ce.prototype._query=function(t,e,r,n,i){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var a=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var o=0;o<this.boxKeys.length;o++)a.push({key:this.boxKeys[o],x1:this.bboxes[4*o],y1:this.bboxes[4*o+1],x2:this.bboxes[4*o+2],y2:this.bboxes[4*o+3]});for(var s=0;s<this.circleKeys.length;s++){var l=this.circles[3*s],c=this.circles[3*s+1],u=this.circles[3*s+2];a.push({key:this.circleKeys[s],x1:l-u,y1:c-u,x2:l+u,y2:c+u})}}else{var f={hitTest:i,seenUids:{box:{},circle:{}}};this._forEachCell(t,e,r,n,this._queryCell,a,f)}return i?a.length>0:a},ce.prototype._queryCircle=function(t,e,r,n){var i=t-r,a=t+r,o=e-r,s=e+r;if(a<0||i>this.width||s<0||o>this.height)return!n&&[];var l=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,o,a,s,this._queryCellCircle,l,c),n?l.length>0:l},ce.prototype.query=function(t,e,r,n){return this._query(t,e,r,n,!1)},ce.prototype.hitTest=function(t,e,r,n){return this._query(t,e,r,n,!0)},ce.prototype.hitTestCircle=function(t,e,r){return this._queryCircle(t,e,r,!0)},ce.prototype._queryCell=function(t,e,r,n,i,a,o){var s=o.seenUids,l=this.boxCells[i];if(null!==l)for(var c=this.bboxes,u=0,f=l;u<f.length;u+=1){var h=f[u];if(!s.box[h]){s.box[h]=!0;var p=4*h;if(t<=c[p+2]&&e<=c[p+3]&&r>=c[p+0]&&n>=c[p+1]){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[h],x1:c[p],y1:c[p+1],x2:c[p+2],y2:c[p+3]})}}}var d=this.circleCells[i];if(null!==d)for(var g=this.circles,m=0,v=d;m<v.length;m+=1){var y=v[m];if(!s.circle[y]){s.circle[y]=!0;var x=3*y;if(this._circleAndRectCollide(g[x],g[x+1],g[x+2],t,e,r,n)){if(o.hitTest)return a.push(!0),!0;var b=g[x],_=g[x+1],w=g[x+2];a.push({key:this.circleKeys[y],x1:b-w,y1:_-w,x2:b+w,y2:_+w})}}}},ce.prototype._queryCellCircle=function(t,e,r,n,i,a,o){var s=o.circle,l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,f=0,h=c;f<h.length;f+=1){var p=h[f];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(this._circleAndRectCollide(s.x,s.y,s.radius,u[d+0],u[d+1],u[d+2],u[d+3]))return a.push(!0),!0}}var g=this.circleCells[i];if(null!==g)for(var m=this.circles,v=0,y=g;v<y.length;v+=1){var x=y[v];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circlesCollide(m[b],m[b+1],m[b+2],s.x,s.y,s.radius))return a.push(!0),!0}}},ce.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToXCellCoord(t),l=this._convertToYCellCoord(e),c=this._convertToXCellCoord(r),u=this._convertToYCellCoord(n),f=s;f<=c;f++)for(var h=l;h<=u;h++){var p=this.xCellCount*h+f;if(i.call(this,t,e,r,n,p,a,o))return}},ce.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},ce.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},ce.prototype._circlesCollide=function(t,e,r,n,i,a){var o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s},ce.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var f=l-s,h=u-c;return f*f+h*h<=r*r};var ue=t.default$19.layout;function fe(e,r,n,i,a){var o=t.mat4.identity(new Float32Array(16));return r?(t.mat4.identity(o),t.mat4.scale(o,o,[1/a,1/a,1]),n||t.mat4.rotateZ(o,o,i.angle)):(t.mat4.scale(o,o,[i.width/2,-i.height/2,1]),t.mat4.translate(o,o,[1,-1,0]),t.mat4.multiply(o,o,e)),o}function he(e,r,n,i,a){var o=t.mat4.identity(new Float32Array(16));return r?(t.mat4.multiply(o,o,e),t.mat4.scale(o,o,[a,a,1]),n||t.mat4.rotateZ(o,o,-i.angle)):(t.mat4.scale(o,o,[1,-1,1]),t.mat4.translate(o,o,[-1,-1,0]),t.mat4.scale(o,o,[2/i.width,2/i.height,1])),o}function pe(e,r){var n=[e.x,e.y,0,1];ke(n,n,r);var i=n[3];return{point:new t.default$1(n[0]/i,n[1]/i),signedDistanceFromCamera:i}}function de(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ge(e,r,n,i,a,o,s,l){var c=i?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom,ue.properties[i?\"text-size\":\"icon-size\"]),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=n.transform.width/n.transform.height,m=!1,v=0;v<d.length;v++){var y=d.get(v);if(y.hidden||y.writingMode===t.WritingMode.vertical&&!m)we(y.numGlyphs,h);else{m=!1;var x=[y.anchorX,y.anchorY,0,1];if(t.vec4.transformMat4(x,x,r),de(x,f)){var b=.5+x[3]/n.transform.cameraToCenterDistance*.5,_=t.evaluateSizeForFeature(c,u,y),w=s?_*b:_/b,k=new t.default$1(y.anchorX,y.anchorY),M=pe(k,a).point,A={},T=ye(y,w,!1,l,r,a,o,e.glyphOffsetArray,p,h,M,k,A,g);m=T.useVertical,(T.notEnoughRoom||m||T.needsFlipping&&ye(y,w,!0,l,r,a,o,e.glyphOffsetArray,p,h,M,k,A,g).notEnoughRoom)&&we(y.numGlyphs,h)}else we(y.numGlyphs,h)}}i?e.text.dynamicLayoutVertexBuffer.updateData(h):e.icon.dynamicLayoutVertexBuffer.updateData(h)}function me(t,e,r,n,i,a,o,s,l,c,u,f){var h=s.glyphStartIndex+s.numGlyphs,p=s.lineStartIndex,d=s.lineStartIndex+s.lineLength,g=e.getoffsetX(s.glyphStartIndex),m=e.getoffsetX(h-1),v=be(t*g,r,n,i,a,o,s.segment,p,d,l,c,u,f);if(!v)return null;var y=be(t*m,r,n,i,a,o,s.segment,p,d,l,c,u,f);return y?{first:v,last:y}:null}function ve(e,r,n,i){return e===t.WritingMode.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.y<n.y:r.x>n.x)?{needsFlipping:!0}:null}function ye(e,r,n,i,a,o,s,l,c,u,f,h,p,d){var g,m=r/24,v=e.lineOffsetX*r,y=e.lineOffsetY*r;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=me(m,l,v,y,n,f,h,e,c,o,p,!1);if(!w)return{notEnoughRoom:!0};var k=pe(w.first.point,s).point,M=pe(w.last.point,s).point;if(i&&!n){var A=ve(e.writingMode,k,M,d);if(A)return A}g=[w.first];for(var T=e.glyphStartIndex+1;T<x-1;T++)g.push(be(m*l.getoffsetX(T),v,y,n,f,h,e.segment,b,_,c,o,p,!1));g.push(w.last)}else{if(i&&!n){var S=pe(h,a).point,E=e.lineStartIndex+e.segment+1,C=new t.default$1(c.getx(E),c.gety(E)),L=pe(C,a),z=L.signedDistanceFromCamera>0?L.point:xe(h,C,S,1,a),P=ve(e.writingMode,S,z,d);if(P)return P}var O=be(m*l.getoffsetX(e.glyphStartIndex),v,y,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p,!1);if(!O)return{notEnoughRoom:!0};g=[O]}for(var I=0,D=g;I<D.length;I+=1){var R=D[I];t.addDynamicAttributes(u,R.point,R.angle)}return{}}function xe(t,e,r,n,i){var a=pe(t.add(t.sub(e)._unit()),i).point,o=r.sub(a);return r.add(o._mult(n/o.mag()))}function be(e,r,n,i,a,o,s,l,c,u,f,h,p){var d=i?e-r:e+r,g=d>0?1:-1,m=0;i&&(g*=-1,m=Math.PI),g<0&&(m+=Math.PI);for(var v=g>0?l+s:l+s+1,y=v,x=a,b=a,_=0,w=0,k=Math.abs(d);_+w<=k;){if((v+=g)<l||v>=c)return null;if(b=x,void 0===(x=h[v])){var M=new t.default$1(u.getx(v),u.gety(v)),A=pe(M,f);if(A.signedDistanceFromCamera>0)x=h[v]=A.point;else{var T=v-g;x=xe(0===_?o:new t.default$1(u.getx(T),u.gety(T)),M,b,k-_+1,f)}}_+=w,w=b.dist(x)}var S=(k-_)/w,E=x.sub(b),C=E.mult(S)._add(b);return C._add(E._unit()._perp()._mult(n*g)),{point:C,angle:m+Math.atan2(x.y-b.y,x.x-b.x),tileDistance:p?{prevTileDistance:v-g===y?0:u.gettileUnitDistanceFromAnchor(v-g),lastSegmentViewportDistance:k-_}:null}}var _e=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function we(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(_e,3*n)}}function ke(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t[3]=r[3]*n+r[7]*i+r[15],t}t.default$20.mat4;var Me=function(t,e,r){void 0===e&&(e=new ce(t.width+200,t.height+200,25)),void 0===r&&(r=new ce(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=r,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100};function Ae(t,e,r){t[e+4]=r?1:0}function Te(e,r,n){return r*(t.default$8/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}Me.prototype.placeCollisionBox=function(t,e,r,n){var i=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),a=r*i.perspectiveRatio,o=t.x1*a+i.point.x,s=t.y1*a+i.point.y,l=t.x2*a+i.point.x,c=t.y2*a+i.point.y;return!e&&this.grid.hitTest(o,s,l,c)?{box:[],offscreen:!1}:{box:[o,s,l,c],offscreen:this.isOffscreen(o,s,l,c)}},Me.prototype.approximateTileDistance=function(t,e,r,n,i){var a=i?1:n/this.pitchfactor,o=t.lastSegmentViewportDistance*r;return t.prevTileDistance+o+(a-1)*o*Math.abs(Math.sin(e))},Me.prototype.placeCollisionCircles=function(e,r,n,i,a,o,s,l,c,u,f,h,p){var d=[],g=this.projectAnchor(u,o.anchorX,o.anchorY),m=c/24,v=o.lineOffsetX*c,y=o.lineOffsetY*c,x=new t.default$1(o.anchorX,o.anchorY),b=me(m,l,v,y,!1,pe(x,f).point,x,o,s,f,{},!0),_=!1,w=!0,k=g.perspectiveRatio*i,M=1/(i*n),A=0,T=0;b&&(A=this.approximateTileDistance(b.first.tileDistance,b.first.angle,M,g.cameraDistance,p),T=this.approximateTileDistance(b.last.tileDistance,b.last.angle,M,g.cameraDistance,p));for(var S=0;S<e.length;S+=5){var E=e[S],C=e[S+1],L=e[S+2],z=e[S+3];if(!b||z<-A||z>T)Ae(e,S,!1);else{var P=this.projectPoint(u,E,C),O=L*k;if(d.length>0){var I=P.x-d[d.length-4],D=P.y-d[d.length-3];if(O*O*2>I*I+D*D&&S+8<e.length){var R=e[S+8];if(R>-A&&R<T){Ae(e,S,!1);continue}}}var B=S/5;if(d.push(P.x,P.y,O,B),Ae(e,S,!0),w=w&&this.isOffscreen(P.x-O,P.y-O,P.x+O,P.y+O),!r&&this.grid.hitTestCircle(P.x,P.y,O)){if(!h)return{circles:[],offscreen:!1};_=!0}}}return{circles:_?[]:d,offscreen:w}},Me.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var r=[],n=1/0,i=1/0,a=-1/0,o=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],u=new t.default$1(c.x+100,c.y+100);n=Math.min(n,u.x),i=Math.min(i,u.y),a=Math.max(a,u.x),o=Math.max(o,u.y),r.push(u)}for(var f={},h={},p=0,d=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o));p<d.length;p+=1){var g=d[p],m=g.key;if(void 0===f[m.bucketInstanceId]&&(f[m.bucketInstanceId]={}),!f[m.bucketInstanceId][m.featureIndex]){var v=[new t.default$1(g.x1,g.y1),new t.default$1(g.x2,g.y1),new t.default$1(g.x2,g.y2),new t.default$1(g.x1,g.y2)];t.polygonIntersectsPolygon(r,v)&&(f[m.bucketInstanceId][m.featureIndex]=!0,void 0===h[m.bucketInstanceId]&&(h[m.bucketInstanceId]=[]),h[m.bucketInstanceId].push(m.featureIndex))}}return h},Me.prototype.insertCollisionBox=function(t,e,r,n){var i={bucketInstanceId:r,featureIndex:n};(e?this.ignoredGrid:this.grid).insert(i,t[0],t[1],t[2],t[3])},Me.prototype.insertCollisionCircles=function(t,e,r,n){for(var i=e?this.ignoredGrid:this.grid,a={bucketInstanceId:r,featureIndex:n},o=0;o<t.length;o+=4)i.insertCircle(a,t[o],t[o+1],t[o+2])},Me.prototype.projectAnchor=function(t,e,r){var n=[e,r,0,1];return ke(n,n,t),{perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5,cameraDistance:n[3]}},Me.prototype.projectPoint=function(e,r,n){var i=[r,n,0,1];return ke(i,i,e),new t.default$1((i[0]/i[3]+1)/2*this.transform.width+100,(-i[1]/i[3]+1)/2*this.transform.height+100)},Me.prototype.projectAndGetPerspectiveRatio=function(e,r,n){var i=[r,n,0,1];return ke(i,i,e),{point:new t.default$1((i[0]/i[3]+1)/2*this.transform.width+100,(-i[1]/i[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/i[3]*.5}},Me.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary};var Se=t.default$19.layout,Ee=function(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r};Ee.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var Ce=function(t,e,r,n,i){this.text=new Ee(t?t.text:null,e,r,i),this.icon=new Ee(t?t.icon:null,e,n,i)};Ce.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var Le=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},ze=function(t,e){this.transform=t.clone(),this.collisionIndex=new Me(this.transform),this.placements={},this.opacities={},this.stale=!1,this.fadeDuration=e,this.retainedQueryData={}};function Pe(t,e,r){t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0)}ze.prototype.placeLayerTile=function(e,r,n,i){var a=r.getBucket(e),o=r.latestFeatureIndex;if(a&&o&&e.id===a.layerIds[0]){var s=r.collisionBoxArray,l=a.layers[0].layout,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),u=r.tileSize/t.default$8,f=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),h=fe(f,\"map\"===l.get(\"text-pitch-alignment\"),\"map\"===l.get(\"text-rotation-alignment\"),this.transform,Te(r,1,this.transform.zoom)),p=fe(f,\"map\"===l.get(\"icon-pitch-alignment\"),\"map\"===l.get(\"icon-rotation-alignment\"),this.transform,Te(r,1,this.transform.zoom));this.retainedQueryData[a.bucketInstanceId]=new function(t,e,r,n,i){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i}(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,r.tileID),this.placeLayerBucket(a,f,h,p,c,u,n,i,s)}},ze.prototype.placeLayerBucket=function(e,r,n,i,a,o,s,l,c){for(var u=e.layers[0].layout,f=t.evaluateSizeForZoom(e.textSizeData,this.transform.zoom,Se.properties[\"text-size\"]),h=!e.hasTextData()||u.get(\"text-optional\"),p=!e.hasIconData()||u.get(\"icon-optional\"),d=0,g=e.symbolInstances;d<g.length;d+=1){var m=g[d];if(!l[m.crossTileID]){var v=void 0!==m.feature.text,y=void 0!==m.feature.icon,x=!0,b=null,_=null,w=null,k=0,M=0;m.collisionArrays||(m.collisionArrays=e.deserializeCollisionBoxes(c,m.textBoxStartIndex,m.textBoxEndIndex,m.iconBoxStartIndex,m.iconBoxEndIndex)),m.collisionArrays.textFeatureIndex&&(k=m.collisionArrays.textFeatureIndex),m.collisionArrays.textBox&&(v=(b=this.collisionIndex.placeCollisionBox(m.collisionArrays.textBox,u.get(\"text-allow-overlap\"),o,r)).box.length>0,x=x&&b.offscreen);var A=m.collisionArrays.textCircles;if(A){var T=e.text.placedSymbolArray.get(m.placedTextSymbolIndices[0]),S=t.evaluateSizeForFeature(e.textSizeData,f,T);_=this.collisionIndex.placeCollisionCircles(A,u.get(\"text-allow-overlap\"),a,o,m.key,T,e.lineVertexArray,e.glyphOffsetArray,S,r,n,s,\"map\"===u.get(\"text-pitch-alignment\")),v=u.get(\"text-allow-overlap\")||_.circles.length>0,x=x&&_.offscreen}m.collisionArrays.iconFeatureIndex&&(M=m.collisionArrays.iconFeatureIndex),m.collisionArrays.iconBox&&(y=(w=this.collisionIndex.placeCollisionBox(m.collisionArrays.iconBox,u.get(\"icon-allow-overlap\"),o,r)).box.length>0,x=x&&w.offscreen),h||p?p?h||(y=y&&v):v=y&&v:y=v=y&&v,v&&b&&this.collisionIndex.insertCollisionBox(b.box,u.get(\"text-ignore-placement\"),e.bucketInstanceId,k),y&&w&&this.collisionIndex.insertCollisionBox(w.box,u.get(\"icon-ignore-placement\"),e.bucketInstanceId,M),v&&_&&this.collisionIndex.insertCollisionCircles(_.circles,u.get(\"text-ignore-placement\"),e.bucketInstanceId,k),this.placements[m.crossTileID]=new Le(v,y,x||e.justReloaded),l[m.crossTileID]=!0}}e.justReloaded=!1},ze.prototype.commit=function(t,e){this.commitTime=e;var r=!1,n=t&&0!==this.fadeDuration?(this.commitTime-t.commitTime)/this.fadeDuration:1,i=t?t.opacities:{};for(var a in this.placements){var o=this.placements[a],s=i[a];s?(this.opacities[a]=new Ce(s,n,o.text,o.icon),r=r||o.text!==s.text.placed||o.icon!==s.icon.placed):(this.opacities[a]=new Ce(null,n,o.text,o.icon,o.skipFade),r=r||o.text||o.icon)}for(var l in i){var c=i[l];if(!this.opacities[l]){var u=new Ce(c,n,!1,!1);u.isHidden()||(this.opacities[l]=u,r=r||c.text.placed||c.icon.placed)}}r?this.lastPlacementChangeTime=e:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)},ze.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.getBucket(t);o&&a.latestFeatureIndex&&t.id===o.layerIds[0]&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},ze.prototype.updateBucketOpacities=function(t,e,r){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexArray.clear(),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexArray.clear();for(var n=t.layers[0].layout,i=new Ce(null,0,!1,!1,!0),a=new Ce(null,0,n.get(\"text-allow-overlap\"),n.get(\"icon-allow-overlap\"),!0),o=0;o<t.symbolInstances.length;o++){var s=t.symbolInstances[o],l=e[s.crossTileID],c=this.opacities[s.crossTileID];l?c=i:c||(c=a,this.opacities[s.crossTileID]=c),e[s.crossTileID]=!0;var u=s.numGlyphVertices>0||s.numVerticalGlyphVertices>0,f=s.numIconVertices>0;if(u){for(var h=je(c.text),p=(s.numGlyphVertices+s.numVerticalGlyphVertices)/4,d=0;d<p;d++)t.text.opacityVertexArray.emplaceBack(h);for(var g=0,m=s.placedTextSymbolIndices;g<m.length;g+=1){var v=m[g];t.text.placedSymbolArray.get(v).hidden=c.text.isHidden()}}if(f){for(var y=je(c.icon),x=0;x<s.numIconVertices/4;x++)t.icon.opacityVertexArray.emplaceBack(y);t.icon.placedSymbolArray.get(o).hidden=c.icon.isHidden()}s.collisionArrays||(s.collisionArrays=t.deserializeCollisionBoxes(r,s.textBoxStartIndex,s.textBoxEndIndex,s.iconBoxStartIndex,s.iconBoxEndIndex));var b=s.collisionArrays;if(b){b.textBox&&t.hasCollisionBoxData()&&Pe(t.collisionBox.collisionVertexArray,c.text.placed,!1),b.iconBox&&t.hasCollisionBoxData()&&Pe(t.collisionBox.collisionVertexArray,c.icon.placed,!1);var _=b.textCircles;if(_&&t.hasCollisionCircleData())for(var w=0;w<_.length;w+=5){var k=l||0===_[w+4];Pe(t.collisionCircle.collisionVertexArray,c.text.placed,k)}}}t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexBuffer&&t.collisionBox.collisionVertexBuffer.updateData(t.collisionBox.collisionVertexArray),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexBuffer&&t.collisionCircle.collisionVertexBuffer.updateData(t.collisionCircle.collisionVertexArray)},ze.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration},ze.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},ze.prototype.stillRecent=function(t){return\"undefined\"!==this.commitTime&&this.commitTime+this.fadeDuration>t},ze.prototype.setStale=function(){this.stale=!0};var Oe=Math.pow(2,25),Ie=Math.pow(2,24),De=Math.pow(2,17),Re=Math.pow(2,16),Be=Math.pow(2,9),Fe=Math.pow(2,8),Ne=Math.pow(2,1);function je(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Oe+e*Ie+r*De+e*Re+r*Be+e*Fe+r*Ne+e}var Ve=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};Ve.prototype.continuePlacement=function(t,e,r,n,i){for(;this._currentTileIndex<t.length;){var a=t[this._currentTileIndex];if(e.placeLayerTile(n,a,r,this._seenCrossTileIDs),this._currentTileIndex++,i())return!0}};var Ue=function(t,e,r,n,i){this.placement=new ze(t,i),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};Ue.prototype.isDone=function(){return this._done},Ue.prototype.continuePlacement=function(t,e,r){for(var n=this,i=a.now(),o=function(){var t=a.now()-i;return!n._forceFullPlacement&&t>2};this._currentPlacementIndex>=0;){var s=e[t[n._currentPlacementIndex]],l=n.placement.collisionIndex.transform.zoom;if(\"symbol\"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(n._inProgressLayer||(n._inProgressLayer=new Ve),n._inProgressLayer.continuePlacement(r[s.source],n.placement,n._showCollisionBoxes,s,o))return;delete n._inProgressLayer}n._currentPlacementIndex--}this._done=!0},Ue.prototype.commit=function(t,e){return this.placement.commit(t,e),this.placement};var qe=512/t.default$8/2,He=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.key;this.indexedSymbolInstances[o]||(this.indexedSymbolInstances[o]=[]),this.indexedSymbolInstances[o].push({crossTileID:a.crossTileID,coord:this.getScaledCoordinates(a,t)})}};He.prototype.getScaledCoordinates=function(e,r){var n=r.canonical.z-this.tileID.canonical.z,i=qe/Math.pow(2,n),a=e.anchor;return{x:Math.floor((r.canonical.x*t.default$8+a.x)*i),y:Math.floor((r.canonical.y*t.default$8+a.y)*i)}},He.prototype.findMatches=function(t,e,r){for(var n=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),i=0,a=t;i<a.length;i+=1){var o=a[i];if(!o.crossTileID){var s=this.indexedSymbolInstances[o.key];if(s)for(var l=this.getScaledCoordinates(o,e),c=0,u=s;c<u.length;c+=1){var f=u[c];if(Math.abs(f.coord.x-l.x)<=n&&Math.abs(f.coord.y-l.y)<=n&&!r[f.crossTileID]){r[f.crossTileID]=!0,o.crossTileID=f.crossTileID;break}}}}};var Ge=function(){this.maxCrossTileID=0};Ge.prototype.generate=function(){return++this.maxCrossTileID};var We=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};We.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var r in this.indexes){var n=this.indexes[r],i={};for(var a in n){var o=n[a];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),i[o.tileID.key]=o}this.indexes[r]=i}this.lng=t},We.prototype.addBucket=function(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(var n=0,i=e.symbolInstances;n<i.length;n+=1)i[n].crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var a=this.usedCrossTileIDs[t.overscaledZ];for(var o in this.indexes){var s=this.indexes[o];if(Number(o)>t.overscaledZ)for(var l in s){var c=s[l];c.tileID.isChildOf(t)&&c.findMatches(e.symbolInstances,t,a)}else{var u=s[t.scaledTo(Number(o)).key];u&&u.findMatches(e.symbolInstances,t,a)}}for(var f=0,h=e.symbolInstances;f<h.length;f+=1){var p=h[f];p.crossTileID||(p.crossTileID=r.generate(),a[p.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new He(t,e.symbolInstances,e.bucketInstanceId),!0},We.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,i=e.indexedSymbolInstances[r];n<i.length;n+=1){var a=i[n];delete this.usedCrossTileIDs[t][a.crossTileID]}},We.prototype.removeStaleBuckets=function(t){var e=!1;for(var r in this.indexes){var n=this.indexes[r];for(var i in n)t[n[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,n[i]),delete n[i],e=!0)}return e};var Ye=function(){this.layerIndexes={},this.crossTileIDs=new Ge,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};Ye.prototype.addLayer=function(t,e,r){var n=this.layerIndexes[t.id];void 0===n&&(n=this.layerIndexes[t.id]=new We);var i=!1,a={};n.handleWrapJump(r);for(var o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),n.addBucket(l.tileID,c,this.crossTileIDs)&&(i=!0),a[c.bucketInstanceId]=!0)}return n.removeStaleBuckets(a)&&(i=!0),i},Ye.prototype.pruneUnusedLayers=function(t){var e={};for(var r in t.forEach(function(t){e[t]=!0}),this.layerIndexes)e[r]||delete this.layerIndexes[r]};var Xe=function(e,r){return t.emitValidationErrors(e,r&&r.filter(function(t){return\"source.canvas\"!==t.identifier}))},Ze=t.pick(ee,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),$e=t.pick(ee,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Je=function(e){function r(n,i){var a=this;void 0===i&&(i={}),e.call(this),this.map=n,this.dispatcher=new q((Jt||(Jt=new Kt),Jt),this),this.imageManager=new P,this.glyphManager=new F(n._transformRequest,i.localIdeographFontFamily),this.lineAtlas=new U(256,512),this.crossTileSymbolIndex=new Ye,this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.default$23,this._loaded=!1,this._resetUpdates();var o=this;this._rtlTextPluginCallback=r.registerForPluginAvailability(function(t){for(var e in o.dispatcher.broadcast(\"loadRTLTextPlugin\",t.pluginURL,t.completionCallback),o.sourceCaches)o.sourceCaches[e].reload()}),this.on(\"data\",function(t){if(\"source\"===t.dataType&&\"metadata\"===t.sourceDataType){var e=a.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var n in a._layers){var i=a._layers[n];i.source===r.id&&a._validateLayer(i)}}}})}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadURL=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"}));var i=\"boolean\"==typeof r.validate?r.validate:!x(e);e=function(t,e){if(!x(t))return t;var r=A(t);return r.path=\"/styles/v1\"+r.path,y(r,e)}(e,r.accessToken);var a=this.map._transformRequest(e,t.ResourceType.Style);t.getJSON(a,function(e,r){e?n.fire(new t.ErrorEvent(e)):r&&n._load(r,i)})},r.prototype.loadJSON=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),a.frame(function(){n._load(e,!1!==r.validate)})},r.prototype._load=function(e,r){var n=this;if(!r||!Xe(this,t.validateStyle(e))){for(var i in this._loaded=!0,this.stylesheet=e,e.sources)n.addSource(i,e.sources[i],{validate:!1});e.sprite?function(e,r,n){var i,o,s,l=a.devicePixelRatio>1?\"@2x\":\"\";function c(){if(s)n(s);else if(i&&o){var e=a.getImageData(o),r={};for(var l in i){var c=i[l],u=c.width,f=c.height,h=c.x,p=c.y,d=c.sdf,g=c.pixelRatio,m=new t.RGBAImage({width:u,height:f});t.RGBAImage.copy(e,m,{x:h,y:p},{x:0,y:0},{width:u,height:f}),r[l]={data:m,pixelRatio:g,sdf:d}}n(null,r)}}t.getJSON(r(_(e,l,\".json\"),t.ResourceType.SpriteJSON),function(t,e){s||(s=t,i=e,c())}),t.getImage(r(_(e,l,\".png\"),t.ResourceType.SpriteImage),function(t,e){s||(s=t,o=e,c())})}(e.sprite,this.map._transformRequest,function(e,r){if(e)n.fire(new t.ErrorEvent(e));else if(r)for(var i in r)n.imageManager.addImage(i,r[i]);n.imageManager.setLoaded(!0),n.fire(new t.Event(\"data\",{dataType:\"style\"}))}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var o=te(this.stylesheet.layers);this._order=o.map(function(t){return t.id}),this._layers={};for(var s=0,l=o;s<l.length;s+=1){var c=l[s];(c=t.default$22(c)).setEventedParent(n,{layer:{id:c.id}}),n._layers[c.id]=c}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new V(this.stylesheet.light),this.fire(new t.Event(\"data\",{dataType:\"style\"})),this.fire(new t.Event(\"style.load\"))}},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();(\"geojson\"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer \"'+n+'\" does not exist on source \"'+i.id+'\" as specified by style layer \"'+e.id+'\"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){var e=this;return t.map(function(t){return e._layers[t].serialize()})},r.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(var e in this._layers)if(this._layers[e].hasTransition())return!0;return!1},r.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},r.prototype.update=function(e){if(this._loaded){if(this._changed){var r=Object.keys(this._updatedLayers),n=Object.keys(this._removedLayers);for(var i in(r.length||n.length)&&this._updateWorkerLayers(r,n),this._updatedSources){var a=this._updatedSources[i];\"reload\"===a?this._reloadSource(i):\"clear\"===a&&this._clearSource(i)}for(var o in this._updatedPaintProps)this._layers[o].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates(),this.fire(new t.Event(\"data\",{dataType:\"style\"}))}for(var s in this.sourceCaches)this.sourceCaches[s].used=!1;for(var l=0,c=this._order;l<c.length;l+=1){var u=c[l],f=this._layers[u];f.recalculate(e),!f.isHidden(e.zoom)&&f.source&&(this.sourceCaches[f.source].used=!0)}this.light.recalculate(e),this.z=e.zoom}},r.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(t),removedIds:e})},r.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={}},r.prototype.setState=function(e){var r=this;if(this._checkLoaded(),Xe(this,t.validateStyle(e)))return!1;(e=t.clone(e)).layers=te(e.layers);var n=function(e,r){if(!e)return[{command:ee.setStyle,args:[r]}];var n=[];try{if(!t.default$10(e.version,r.version))return[{command:ee.setStyle,args:[r]}];t.default$10(e.center,r.center)||n.push({command:ee.setCenter,args:[r.center]}),t.default$10(e.zoom,r.zoom)||n.push({command:ee.setZoom,args:[r.zoom]}),t.default$10(e.bearing,r.bearing)||n.push({command:ee.setBearing,args:[r.bearing]}),t.default$10(e.pitch,r.pitch)||n.push({command:ee.setPitch,args:[r.pitch]}),t.default$10(e.sprite,r.sprite)||n.push({command:ee.setSprite,args:[r.sprite]}),t.default$10(e.glyphs,r.glyphs)||n.push({command:ee.setGlyphs,args:[r.glyphs]}),t.default$10(e.transition,r.transition)||n.push({command:ee.setTransition,args:[r.transition]}),t.default$10(e.light,r.light)||n.push({command:ee.setLight,args:[r.light]});var i={},a=[];!function(e,r,n,i){var a;for(a in r=r||{},e=e||{})e.hasOwnProperty(a)&&(r.hasOwnProperty(a)||ne(a,n,i));for(a in r)r.hasOwnProperty(a)&&(e.hasOwnProperty(a)?t.default$10(e[a],r[a])||(\"geojson\"===e[a].type&&\"geojson\"===r[a].type&&ae(e,r,a)?n.push({command:ee.setGeoJSONSourceData,args:[a,r[a].data]}):ie(a,r,n,i)):re(a,r,n))}(e.sources,r.sources,a,i);var o=[];e.layers&&e.layers.forEach(function(t){i[t.source]?n.push({command:ee.removeLayer,args:[t.id]}):o.push(t)}),n=n.concat(a),function(e,r,n){r=r||[];var i,a,o,s,l,c,u,f=(e=e||[]).map(se),h=r.map(se),p=e.reduce(le,{}),d=r.reduce(le,{}),g=f.slice(),m=Object.create(null);for(i=0,a=0;i<f.length;i++)o=f[i],d.hasOwnProperty(o)?a++:(n.push({command:ee.removeLayer,args:[o]}),g.splice(g.indexOf(o,a),1));for(i=0,a=0;i<h.length;i++)o=h[h.length-1-i],g[g.length-1-i]!==o&&(p.hasOwnProperty(o)?(n.push({command:ee.removeLayer,args:[o]}),g.splice(g.lastIndexOf(o,g.length-a),1)):a++,c=g[g.length-i],n.push({command:ee.addLayer,args:[d[o],c]}),g.splice(g.length-i,0,o),m[o]=!0);for(i=0;i<h.length;i++)if(s=p[o=h[i]],l=d[o],!m[o]&&!t.default$10(s,l))if(t.default$10(s.source,l.source)&&t.default$10(s[\"source-layer\"],l[\"source-layer\"])&&t.default$10(s.type,l.type)){for(u in oe(s.layout,l.layout,n,o,null,ee.setLayoutProperty),oe(s.paint,l.paint,n,o,null,ee.setPaintProperty),t.default$10(s.filter,l.filter)||n.push({command:ee.setFilter,args:[o,l.filter]}),t.default$10(s.minzoom,l.minzoom)&&t.default$10(s.maxzoom,l.maxzoom)||n.push({command:ee.setLayerZoomRange,args:[o,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?oe(s[u],l[u],n,o,u.slice(6),ee.setPaintProperty):t.default$10(s[u],l[u])||n.push({command:ee.setLayerProperty,args:[o,u,l[u]]}));for(u in l)l.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?oe(s[u],l[u],n,o,u.slice(6),ee.setPaintProperty):t.default$10(s[u],l[u])||n.push({command:ee.setLayerProperty,args:[o,u,l[u]]}))}else n.push({command:ee.removeLayer,args:[o]}),c=g[g.lastIndexOf(o)+1],n.push({command:ee.addLayer,args:[l,c]})}(o,r.layers,n)}catch(t){console.warn(\"Unable to compute style diff:\",t),n=[{command:ee.setStyle,args:[r]}]}return n}(this.serialize(),e).filter(function(t){return!(t.command in $e)});if(0===n.length)return!1;var i=n.filter(function(t){return!(t.command in Ze)});if(i.length>0)throw new Error(\"Unimplemented: \"+i.map(function(t){return t.command}).join(\", \")+\".\");return n.forEach(function(t){\"setTransition\"!==t.command&&r[t.command].apply(r,t.args)}),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(e,r),this.fire(new t.Event(\"data\",{dataType:\"style\"}))},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(e),this.fire(new t.Event(\"data\",{dataType:\"style\"}))},r.prototype.addSource=function(e,r,n){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!r.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(r).join(\", \")+\".\");if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,\"sources.\"+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Yt(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source \"'+e+'\" cannot be removed while layer \"'+r+'\" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id \"'+i+'\" already exists on this map')));else if(\"object\"==typeof e.source&&(this.addSource(i,e.source),e=t.clone(e),e=t.extend(e,{source:i})),!this._validate(t.validateStyle.layer,\"layers.\"+i,e,{arrayIndex:-1},n)){var a=t.default$22(e);this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}});var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]=\"clear\":(this._updatedSources[a.source]=\"reload\",this.sourceCaches[a.source].pause())}this._updateLayer(a)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")))},r.prototype.setFilter=function(e,r){this._checkLoaded();var n=this.getLayer(e);if(n){if(!t.default$10(n.filter,r))return null==r?(n.filter=void 0,void this._updateLayer(n)):void(this._validate(t.validateStyle.filter,\"layers.\"+n.id+\".filter\",r)||(n.filter=t.clone(r),this._updateLayer(n)))}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")))},r.prototype.getFilter=function(e){return t.clone(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?t.default$10(i.getLayoutProperty(r),n)||(i.setLayoutProperty(r,n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getLayoutProperty=function(t,e){return this.getLayer(t).getLayoutProperty(e)},r.prototype.setPaintProperty=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.default$10(i.getPaintProperty(r),n)){var a=i._transitionablePaint._values[r].value.isDataDriven();i.setPaintProperty(r,n),(i._transitionablePaint._values[r].value.isDataDriven()||a)&&this._updateLayer(i),this._changed=!0,this._updatedPaintProps[e]=!0}}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){var e=this;return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,function(t){return t.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(t){return void 0!==t})},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenRenderedFeatures=function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0,a=t;i<a.length;i+=1){var o=a[i][n];if(o)for(var s=0,l=o;s<l.length;s+=1){var c=l[s];e.push(c)}}return e},r.prototype.queryRenderedFeatures=function(e,r,n){r&&r.filter&&this._validate(t.validateStyle.filter,\"queryRenderedFeatures.filter\",r.filter);var i={};if(r&&r.layers){if(!Array.isArray(r.layers))return this.fire(new t.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[];for(var a=0,o=r.layers;a<o.length;a+=1){var s=o[a],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error(\"The layer '\"+s+\"' does not exist in the map's style and cannot be queried for features.\"))),[];i[l.source]=!0}}var c=[];for(var u in this.sourceCaches)r.layers&&!i[u]||c.push(at(this.sourceCaches[u],this._layers,e.worldCoordinate,r,n));return this.placement&&c.push(function(t,e,r,n,i){for(var a={},o=n.queryRenderedSymbols(e),s=[],l=0,c=Object.keys(o).map(Number);l<c.length;l+=1){var u=c[l];s.push(i[u])}s.sort(ot);for(var f=function(){var e=p[h],n=e.featureIndex.lookupSymbolFeatures(o[e.bucketInstanceId],e.bucketIndex,e.sourceLayerIndex,r.filter,r.layers,t);for(var i in n){var s=a[i]=a[i]||[],l=n[i];l.sort(function(t,r){var n=e.featureSortOrder;if(n){var i=n.indexOf(t.featureIndex);return n.indexOf(r.featureIndex)-i}return r.featureIndex-t.featureIndex});for(var c=0,u=l;c<u.length;c+=1){var f=u[c];s.push(f.feature)}}},h=0,p=s;h<p.length;h+=1)f();return a}(this._layers,e.viewport,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenRenderedFeatures(c)},r.prototype.querySourceFeatures=function(e,r){r&&r.filter&&this._validate(t.validateStyle.filter,\"querySourceFeatures.filter\",r.filter);var n=this.sourceCaches[e];return n?function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,e))}return n}(n,r):[]},r.prototype.addSourceType=function(t,e,n){return r.getSourceType(t)?n(new Error('A source type called \"'+t+'\" already exists.')):(r.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:t,url:e.workerSourceURL},n):n(null,null))},r.prototype.getLight=function(){return this.light.getLight()},r.prototype.setLight=function(e){this._checkLoaded();var r=this.light.getLight(),n=!1;for(var i in e)if(!t.default$10(e[i],r[i])){n=!0;break}if(n){var o={now:a.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e),this.light.updateTransitions(o)}},r.prototype._validate=function(e,r,n,i,a){return(!a||!1!==a.validate)&&Xe(this,e.call(t.validateStyle,t.extend({key:r,style:this.serialize(),value:n,styleSpec:t.default$5},i)))},r.prototype._remove=function(){for(var e in t.evented.off(\"pluginAvailable\",this._rtlTextPluginCallback),this.sourceCaches)this.sourceCaches[e].clearTiles();this.dispatcher.remove()},r.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},r.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},r.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},r.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},r.prototype._updatePlacement=function(t,e,r){for(var n=!1,i=!1,o={},s=0,l=this._order;s<l.length;s+=1){var c=l[s],u=this._layers[c];if(\"symbol\"===u.type){if(!o[u.source]){var f=this.sourceCaches[u.source];o[u.source]=f.getRenderableIds().map(function(t){return f.getTileByID(t)}).sort(function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)})}var h=this.crossTileSymbolIndex.addLayer(u,o[u.source],t.center.lng);n=n||h}}this.crossTileSymbolIndex.pruneUnusedLayers(this._order);var p=this._layerOrderChanged;if((p||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(a.now()))&&(this.pauseablePlacement=new Ue(t,this._order,p,e,r),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,o),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(this.placement,a.now()),i=!0),n&&this.pauseablePlacement.placement.setStale()),i||n)for(var d=0,g=this._order;d<g.length;d+=1){var m=g[d],v=this._layers[m];\"symbol\"===v.type&&this.placement.updateLayerOpacities(v,o[v.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(a.now())},r.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r)},r.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},r}(t.Evented);Je.getSourceType=function(t){return nt[t]},Je.setSourceType=function(t,e){nt[t]=e},Je.registerForPluginAvailability=t.registerForPluginAvailability;var Ke=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),Qe={prelude:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\\n// Unpack a pair of values that have been packed into a single float.\\n// The packed values are assumed to be 8-bit unsigned integers, and are\\n// packed like so:\\n// packedValue = floor(input[0]) * 256 + input[1],\\nvec2 unpack_float(const float packedValue) {\\n    int packedIntValue = int(packedValue);\\n    int v0 = packedIntValue / 256;\\n    return vec2(v0, packedIntValue - v0 * 256);\\n}\\n\\nvec2 unpack_opacity(const float packedOpacity) {\\n    int intOpacity = int(packedOpacity) / 2;\\n    return vec2(float(intOpacity) / 127.0, mod(packedOpacity, 2.0));\\n}\\n\\n// To minimize the number of attributes needed, we encode a 4-component\\n// color into a pair of floats (i.e. a vec2) as follows:\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\n//   floor(color.b * 255) * 256 + color.g * 255 ]\\nvec4 decode_color(const vec2 encodedColor) {\\n    return vec4(\\n        unpack_float(encodedColor[0]) / 255.0,\\n        unpack_float(encodedColor[1]) / 255.0\\n    );\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\n    return mix(packedValue[0], packedValue[1], t);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\n    vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\n    vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\n    return mix(minColor, maxColor, t);\\n}\\n\\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\\n// vec2 offset = mod(pixel_coord, size)\\n//\\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\\n//\\n// The pixel_coord is passed in as two 16 bit values:\\n// pixel_coord_upper = floor(pixel_coord / 2^16)\\n// pixel_coord_lower = mod(pixel_coord, 2^16)\\n//\\n// The offset is calculated in a series of steps that should preserve this precision:\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\n    const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\n\\n    vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\n    return (tile_units_to_pixels * pos + offset) / pattern_size;\\n}\\n\"},background:{fragmentSource:\"uniform vec4 u_color;\\nuniform float u_opacity;\\n\\nvoid main() {\\n    gl_FragColor = u_color * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},backgroundPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\nuniform float u_opacity;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\nvoid main() {\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\n    vec4 color1 = texture2D(u_image, pos);\\n\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n}\\n\"},circle:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec3 v_data;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize mediump float radius\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize highp vec4 stroke_color\\n    #pragma mapbox: initialize mediump float stroke_width\\n    #pragma mapbox: initialize lowp float stroke_opacity\\n\\n    vec2 extrude = v_data.xy;\\n    float extrude_length = length(extrude);\\n\\n    lowp float antialiasblur = v_data.z;\\n    float antialiased_blur = -max(blur, antialiasblur);\\n\\n    float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\n\\n    float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\n        antialiased_blur,\\n        0.0,\\n        extrude_length - radius / (radius + stroke_width)\\n    );\\n\\n    gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform bool u_scale_with_map;\\nuniform bool u_pitch_with_map;\\nuniform vec2 u_extrude_scale;\\nuniform highp float u_camera_to_center_distance;\\n\\nattribute vec2 a_pos;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec3 v_data;\\n\\nvoid main(void) {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize mediump float radius\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize highp vec4 stroke_color\\n    #pragma mapbox: initialize mediump float stroke_width\\n    #pragma mapbox: initialize lowp float stroke_opacity\\n\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\n    vec2 extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n    // in extrusion data\\n    vec2 circle_center = floor(a_pos * 0.5);\\n    if (u_pitch_with_map) {\\n        vec2 corner_position = circle_center;\\n        if (u_scale_with_map) {\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale;\\n        } else {\\n            // Pitching the circle with the map effectively scales it with the map\\n            // To counteract the effect for pitch-scale: viewport, we rescale the\\n            // whole circle based on the pitch scaling effect at its central point\\n            vec4 projected_center = u_matrix * vec4(circle_center, 0, 1);\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale * (projected_center.w / u_camera_to_center_distance);\\n        }\\n\\n        gl_Position = u_matrix * vec4(corner_position, 0, 1);\\n    } else {\\n        gl_Position = u_matrix * vec4(circle_center, 0, 1);\\n\\n        if (u_scale_with_map) {\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * u_camera_to_center_distance;\\n        } else {\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * gl_Position.w;\\n        }\\n    }\\n\\n    // This is a minimum blur distance that serves as a faux-antialiasing for\\n    // the circle. since blur is a ratio of the circle's size and the intent is\\n    // to keep the blur at roughly 1px, the two are inversely related.\\n    lowp float antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\n\\n    v_data = vec3(extrude.x, extrude.y, antialiasblur);\\n}\\n\"},clippingMask:{fragmentSource:\"void main() {\\n    gl_FragColor = vec4(1.0);\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},heatmap:{fragmentSource:\"#pragma mapbox: define highp float weight\\n\\nuniform highp float u_intensity;\\nvarying vec2 v_extrude;\\n\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\n#define GAUSS_COEF 0.3989422804014327\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp float weight\\n\\n    // Kernel density estimation with a Gaussian kernel of size 5x5\\n    float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\\n    float val = weight * u_intensity * GAUSS_COEF * exp(d);\\n\\n    gl_FragColor = vec4(val, 1.0, 1.0, 1.0);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\n\\nuniform mat4 u_matrix;\\nuniform float u_extrude_scale;\\nuniform float u_opacity;\\nuniform float u_intensity;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_extrude;\\n\\n// Effective \\\"0\\\" in the kernel density texture to adjust the kernel size to;\\n// this empirically chosen number minimizes artifacts on overlapping kernels\\n// for typical heatmap cases (assuming clustered source)\\nconst highp float ZERO = 1.0 / 255.0 / 16.0;\\n\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\n#define GAUSS_COEF 0.3989422804014327\\n\\nvoid main(void) {\\n    #pragma mapbox: initialize highp float weight\\n    #pragma mapbox: initialize mediump float radius\\n\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\n    vec2 unscaled_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n    // This 'extrude' comes in ranging from [-1, -1], to [1, 1].  We'll use\\n    // it to produce the vertices of a square mesh framing the point feature\\n    // we're adding to the kernel density texture.  We'll also pass it as\\n    // a varying, so that the fragment shader can determine the distance of\\n    // each fragment from the point feature.\\n    // Before we do so, we need to scale it up sufficiently so that the\\n    // kernel falls effectively to zero at the edge of the mesh.\\n    // That is, we want to know S such that\\n    // weight * u_intensity * GAUSS_COEF * exp(-0.5 * 3.0^2 * S^2) == ZERO\\n    // Which solves to:\\n    // S = sqrt(-2.0 * log(ZERO / (weight * u_intensity * GAUSS_COEF))) / 3.0\\n    float S = sqrt(-2.0 * log(ZERO / weight / u_intensity / GAUSS_COEF)) / 3.0;\\n\\n    // Pass the varying in units of radius\\n    v_extrude = S * unscaled_extrude;\\n\\n    // Scale by radius and the zoom-based scale factor to produce actual\\n    // mesh position\\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\\n\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n    // in extrusion data\\n    vec4 pos = vec4(floor(a_pos * 0.5) + extrude, 0, 1);\\n\\n    gl_Position = u_matrix * pos;\\n}\\n\"},heatmapTexture:{fragmentSource:\"uniform sampler2D u_image;\\nuniform sampler2D u_color_ramp;\\nuniform float u_opacity;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    float t = texture2D(u_image, v_pos).r;\\n    vec4 color = texture2D(u_color_ramp, vec2(t, 0.5));\\n    gl_FragColor = color * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\n\\n    v_pos.x = a_pos.x;\\n    v_pos.y = 1.0 - a_pos.y;\\n}\\n\"},collisionBox:{fragmentSource:\"\\nvarying float v_placed;\\nvarying float v_notUsed;\\n\\nvoid main() {\\n\\n    float alpha = 0.5;\\n\\n    // Red = collision, hide label\\n    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n\\n    // Blue = no collision, label is showing\\n    if (v_placed > 0.5) {\\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\n    }\\n\\n    if (v_notUsed > 0.5) {\\n        // This box not used, fade it out\\n        gl_FragColor *= .1;\\n    }\\n}\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_anchor_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_placed;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_extrude_scale;\\nuniform float u_camera_to_center_distance;\\n\\nvarying float v_placed;\\nvarying float v_notUsed;\\n\\nvoid main() {\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    highp float collision_perspective_ratio = clamp(\\n        0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance),\\n        0.0, // Prevents oversized near-field boxes in pitched/overzoomed tiles\\n        4.0);\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\n    gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\\n\\n    v_placed = a_placed.x;\\n    v_notUsed = a_placed.y;\\n}\\n\"},collisionCircle:{fragmentSource:\"uniform float u_overscale_factor;\\n\\nvarying float v_placed;\\nvarying float v_notUsed;\\nvarying float v_radius;\\nvarying vec2 v_extrude;\\nvarying vec2 v_extrude_scale;\\n\\nvoid main() {\\n    float alpha = 0.5;\\n\\n    // Red = collision, hide label\\n    vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n\\n    // Blue = no collision, label is showing\\n    if (v_placed > 0.5) {\\n        color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\n    }\\n\\n    if (v_notUsed > 0.5) {\\n        // This box not used, fade it out\\n        color *= .2;\\n    }\\n\\n    float extrude_scale_length = length(v_extrude_scale);\\n    float extrude_length = length(v_extrude) * extrude_scale_length;\\n    float stroke_width = 15.0 * extrude_scale_length / u_overscale_factor;\\n    float radius = v_radius * extrude_scale_length;\\n\\n    float distance_to_edge = abs(extrude_length - radius);\\n    float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\\n\\n    gl_FragColor = opacity_t * color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_anchor_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_placed;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_extrude_scale;\\nuniform float u_camera_to_center_distance;\\n\\nvarying float v_placed;\\nvarying float v_notUsed;\\nvarying float v_radius;\\n\\nvarying vec2 v_extrude;\\nvarying vec2 v_extrude_scale;\\n\\nvoid main() {\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    highp float collision_perspective_ratio = clamp(\\n        0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance),\\n        0.0, // Prevents oversized near-field circles in pitched/overzoomed tiles\\n        4.0);\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\n\\n    highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\\n    gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\\n\\n    v_placed = a_placed.x;\\n    v_notUsed = a_placed.y;\\n    v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\\n\\n    v_extrude = a_extrude * padding_factor;\\n    v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\\n}\\n\"},debug:{fragmentSource:\"uniform highp vec4 u_color;\\n\\nvoid main() {\\n    gl_FragColor = u_color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fill:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_FragColor = color * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fillOutline:{fragmentSource:\"#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 outline_color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    float dist = length(v_pos - gl_FragCoord.xy);\\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\n    gl_FragColor = outline_color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 outline_color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillOutlinePattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\n    vec4 color1 = texture2D(u_image, pos);\\n\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    // find distance to outline for alpha interpolation\\n\\n    float dist = length(v_pos - gl_FragCoord.xy);\\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\n\\n\\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\n    vec4 color1 = texture2D(u_image, pos);\\n\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    gl_FragColor = mix(color1, color2, u_mix) * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n}\\n\"},fillExtrusion:{fragmentSource:\"varying vec4 v_color;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define highp vec4 color\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n    #pragma mapbox: initialize highp vec4 color\\n\\n    gl_FragColor = v_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_normal_ed;\\n\\nvarying vec4 v_color;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\n#pragma mapbox: define highp vec4 color\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n    #pragma mapbox: initialize highp vec4 color\\n\\n    vec3 normal = a_normal_ed.xyz;\\n\\n    base = max(0.0, base);\\n    height = max(0.0, height);\\n\\n    float t = mod(normal.x, 2.0);\\n\\n    gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\n\\n    // Relative luminance (how dark/bright is the surface color?)\\n    float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\n\\n    v_color = vec4(0.0, 0.0, 0.0, 1.0);\\n\\n    // Add slight ambient lighting so no extrusions are totally black\\n    vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\n    color += ambientlight;\\n\\n    // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\n    float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\\n\\n    // Adjust directional so that\\n    // the range of values for highlight/shading is narrower\\n    // with lower light intensity\\n    // and with lighter/brighter surface colors\\n    directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\n\\n    // Add gradient along z axis of side surfaces\\n    if (normal.y != 0.0) {\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n    }\\n\\n    // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\n    // with lower bounds adjusted to hue of light\\n    // so that shading is tinted with the complementary (opposite) color to the light color\\n    v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\n    v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\n    v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\n}\\n\"},fillExtrusionPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\n    vec4 color1 = texture2D(u_image, pos);\\n\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    vec4 mixedColor = mix(color1, color2, u_mix);\\n\\n    gl_FragColor = mixedColor * v_lighting;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\nuniform float u_height_factor;\\n\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_normal_ed;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\nvarying float v_directional;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n\\n    vec3 normal = a_normal_ed.xyz;\\n    float edgedistance = a_normal_ed.w;\\n\\n    base = max(0.0, base);\\n    height = max(0.0, height);\\n\\n    float t = mod(normal.x, 2.0);\\n    float z = t > 0.0 ? height : base;\\n\\n    gl_Position = u_matrix * vec4(a_pos, z, 1);\\n\\n    vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\\n        ? a_pos // extrusion top\\n        : vec2(edgedistance, z * u_height_factor); // extrusion side\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\\n\\n    v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\n    float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\\n    directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\n\\n    if (normal.y != 0.0) {\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n    }\\n\\n    v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\n}\\n\"},extrusionTexture:{fragmentSource:\"uniform sampler2D u_image;\\nuniform float u_opacity;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\n\\n    v_pos.x = a_pos.x;\\n    v_pos.y = 1.0 - a_pos.y;\\n}\\n\"},hillshadePrepare:{fragmentSource:\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\n\\nuniform sampler2D u_image;\\nvarying vec2 v_pos;\\nuniform vec2 u_dimension;\\nuniform float u_zoom;\\nuniform float u_maxzoom;\\n\\nfloat getElevation(vec2 coord, float bias) {\\n    // Convert encoded elevation value to meters\\n    vec4 data = texture2D(u_image, coord) * 255.0;\\n    return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\\n}\\n\\nvoid main() {\\n    vec2 epsilon = 1.0 / u_dimension;\\n\\n    // queried pixels:\\n    // +-----------+\\n    // |   |   |   |\\n    // | a | b | c |\\n    // |   |   |   |\\n    // +-----------+\\n    // |   |   |   |\\n    // | d | e | f |\\n    // |   |   |   |\\n    // +-----------+\\n    // |   |   |   |\\n    // | g | h | i |\\n    // |   |   |   |\\n    // +-----------+\\n\\n    float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\\n    float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\\n    float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\\n    float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\\n    float e = getElevation(v_pos, 0.0);\\n    float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\\n    float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\\n    float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\\n    float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\\n\\n    // here we divide the x and y slopes by 8 * pixel size\\n    // where pixel size (aka meters/pixel) is:\\n    // circumference of the world / (pixels per tile * number of tiles)\\n    // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\\n    // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\\n    // we want to vertically exaggerate the hillshading though, because otherwise\\n    // it is barely noticeable at low zooms. to do this, we multiply this by some\\n    // scale factor pow(2, (u_zoom - u_maxzoom) * a) where a is an arbitrary value\\n    // Here we use a=0.3 which works out to the expression below. see \\n    // nickidlugash's awesome breakdown for more info\\n    // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\\n    float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\\n\\n    vec2 deriv = vec2(\\n        (c + f + f + i) - (a + d + d + g),\\n        (g + h + h + i) - (a + b + b + c)\\n    ) /  pow(2.0, (u_zoom - u_maxzoom) * exaggeration + 19.2562 - u_zoom);\\n\\n    gl_FragColor = clamp(vec4(\\n        deriv.x / 2.0 + 0.5,\\n        deriv.y / 2.0 + 0.5,\\n        1.0,\\n        1.0), 0.0, 1.0);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\\n}\\n\"},hillshade:{fragmentSource:\"uniform sampler2D u_image;\\nvarying vec2 v_pos;\\n\\nuniform vec2 u_latrange;\\nuniform vec2 u_light;\\nuniform vec4 u_shadow;\\nuniform vec4 u_highlight;\\nuniform vec4 u_accent;\\n\\n#define PI 3.141592653589793\\n\\nvoid main() {\\n    vec4 pixel = texture2D(u_image, v_pos);\\n\\n    vec2 deriv = ((pixel.rg * 2.0) - 1.0);\\n\\n    // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\\n    // to account for mercator projection distortion. see #4807 for details\\n    float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\\n    // We also multiply the slope by an arbitrary z-factor of 1.25\\n    float slope = atan(1.25 * length(deriv) / scaleFactor);\\n    float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\\n\\n    float intensity = u_light.x;\\n    // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\\n    // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\\n    // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\\n    float azimuth = u_light.y + PI;\\n\\n    // We scale the slope exponentially based on intensity, using a calculation similar to\\n    // the exponential interpolation function in the style spec:\\n    // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\\n    // so that higher intensity values create more opaque hillshading.\\n    float base = 1.875 - intensity * 1.75;\\n    float maxValue = 0.5 * PI;\\n    float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\\n\\n    // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\\n    // so that the accent color's rate of change eases in while the shade color's eases out.\\n    float accent = cos(scaledSlope);\\n    // We multiply both the accent and shade color by a clamped intensity value\\n    // so that intensities >= 0.5 do not additionally affect the color values\\n    // while intensity values < 0.5 make the overall color more transparent.\\n    vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\\n    float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\\n    vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\\n    gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos = a_texture_pos / 8192.0;\\n}\\n\"},line:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_width2;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n    gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\nattribute vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_gamma_scale;\\nvarying highp float v_linesofar;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float width\\n\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n    v_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * 2.0;\\n\\n    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist = outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},lineGradient:{fragmentSource:\"\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_width2;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\nvarying highp float v_lineprogress;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n    // For gradient lines, v_lineprogress is the ratio along the entire line,\\n    // scaled to [0, 2^15), and the gradient ramp is stored in a texture.\\n    vec4 color = texture2D(u_image, vec2(v_lineprogress, 0.5));\\n\\n    gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\n// the attribute conveying progress along a line is scaled to [0, 2^15)\\n#define MAX_LINE_DISTANCE 32767.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\nattribute vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_gamma_scale;\\nvarying highp float v_lineprogress;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float width\\n\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n    v_lineprogress = (floor(a_data.z / 4.0) + a_data.w * 64.0) * 2.0 / MAX_LINE_DISTANCE;\\n\\n    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist = outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},linePattern:{fragmentSource:\"uniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_fade;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\n\\n    // v_normal.y is 0 at the midpoint of the line, -1 at the lower edge, 1 at the upper edge\\n    // we clamp the line width outset to be between 0 and half the pattern height plus padding (2.0)\\n    // to ensure we don't sample outside the designated symbol on the sprite sheet.\\n    // 0.5 is added to shift the component to be bounded between 0 and 1 for interpolation of\\n    // the texture coordinate\\n    float y_a = 0.5 + (v_normal.y * clamp(v_width2.s, 0.0, (u_pattern_size_a.y + 2.0) / 2.0) / u_pattern_size_a.y);\\n    float y_b = 0.5 + (v_normal.y * clamp(v_width2.s, 0.0, (u_pattern_size_b.y + 2.0) / 2.0) / u_pattern_size_b.y);\\n    vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\\n    vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\\n\\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\n\\n    gl_FragColor = color * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize mediump float width\\n\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist = outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_linesofar = a_linesofar;\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},lineSDF:{fragmentSource:\"\\nuniform sampler2D u_image;\\nuniform float u_sdfgamma;\\nuniform float u_mix;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float width\\n    #pragma mapbox: initialize lowp float floorwidth\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\n    alpha *= smoothstep(0.5 - u_sdfgamma / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\\n\\n    gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_patternscale_a;\\nuniform float u_tex_y_a;\\nuniform vec2 u_patternscale_b;\\nuniform float u_tex_y_b;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float width\\n    #pragma mapbox: initialize lowp float floorwidth\\n\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist =outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\\n\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},raster:{fragmentSource:\"uniform float u_fade_t;\\nuniform float u_opacity;\\nuniform sampler2D u_image0;\\nuniform sampler2D u_image1;\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nuniform float u_brightness_low;\\nuniform float u_brightness_high;\\n\\nuniform float u_saturation_factor;\\nuniform float u_contrast_factor;\\nuniform vec3 u_spin_weights;\\n\\nvoid main() {\\n\\n    // read and cross-fade colors from the main and parent tiles\\n    vec4 color0 = texture2D(u_image0, v_pos0);\\n    vec4 color1 = texture2D(u_image1, v_pos1);\\n    if (color0.a > 0.0) {\\n        color0.rgb = color0.rgb / color0.a;\\n    }\\n    if (color1.a > 0.0) {\\n        color1.rgb = color1.rgb / color1.a;\\n    }\\n    vec4 color = mix(color0, color1, u_fade_t);\\n    color.a *= u_opacity;\\n    vec3 rgb = color.rgb;\\n\\n    // spin\\n    rgb = vec3(\\n        dot(rgb, u_spin_weights.xyz),\\n        dot(rgb, u_spin_weights.zxy),\\n        dot(rgb, u_spin_weights.yzx));\\n\\n    // saturation\\n    float average = (color.r + color.g + color.b) / 3.0;\\n    rgb += (average - rgb) * u_saturation_factor;\\n\\n    // contrast\\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\n\\n    // brightness\\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\n\\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_tl_parent;\\nuniform float u_scale_parent;\\nuniform float u_buffer_scale;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    // We are using Int16 for texture position coordinates to give us enough precision for\\n    // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\\n    // as an arbitrarily high number to preserve adequate precision when rendering.\\n    // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\\n    // so math for modifying either is consistent.\\n    v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\n}\\n\"},symbolIcon:{fragmentSource:\"uniform sampler2D u_texture;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_tex;\\nvarying float v_fade_opacity;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    lowp float alpha = opacity * v_fade_opacity;\\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec4 a_data;\\nattribute vec3 a_projected_pos;\\nattribute float a_fade_opacity;\\n\\nuniform bool u_is_size_zoom_constant;\\nuniform bool u_is_size_feature_constant;\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\nuniform highp float u_size; // used when size is both zoom and feature constant\\nuniform highp float u_camera_to_center_distance;\\nuniform highp float u_pitch;\\nuniform bool u_rotate_symbol;\\nuniform highp float u_aspect_ratio;\\nuniform float u_fade_change;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nuniform mat4 u_matrix;\\nuniform mat4 u_label_plane_matrix;\\nuniform mat4 u_gl_coord_matrix;\\n\\nuniform bool u_is_text;\\nuniform bool u_pitch_with_map;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying float v_fade_opacity;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    vec2 a_pos = a_pos_offset.xy;\\n    vec2 a_offset = a_pos_offset.zw;\\n\\n    vec2 a_tex = a_data.xy;\\n    vec2 a_size = a_data.zw;\\n\\n    highp float segment_angle = -a_projected_pos[2];\\n\\n    float size;\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = a_size[0] / 10.0;\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\n        size = u_size;\\n    } else {\\n        size = u_size;\\n    }\\n\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    // See comments in symbol_sdf.vertex\\n    highp float distance_ratio = u_pitch_with_map ?\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\n    highp float perspective_ratio = clamp(\\n            0.5 + 0.5 * distance_ratio,\\n            0.0, // Prevents oversized near-field symbols in pitched/overzoomed tiles\\n            4.0);\\n\\n    size *= perspective_ratio;\\n\\n    float fontScale = u_is_text ? size / 24.0 : size;\\n\\n    highp float symbol_rotation = 0.0;\\n    if (u_rotate_symbol) {\\n        // See comments in symbol_sdf.vertex\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\n\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\n\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\n    }\\n\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\n\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 32.0 * fontScale), 0.0, 1.0);\\n\\n    v_tex = a_tex / u_texsize;\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\n    v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\n}\\n\"},symbolSDF:{fragmentSource:\"#define SDF_PX 8.0\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\n\\nuniform bool u_is_halo;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform sampler2D u_texture;\\nuniform highp float u_gamma_scale;\\nuniform bool u_is_text;\\n\\nvarying vec2 v_data0;\\nvarying vec3 v_data1;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 fill_color\\n    #pragma mapbox: initialize highp vec4 halo_color\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize lowp float halo_width\\n    #pragma mapbox: initialize lowp float halo_blur\\n\\n    vec2 tex = v_data0.xy;\\n    float gamma_scale = v_data1.x;\\n    float size = v_data1.y;\\n    float fade_opacity = v_data1[2];\\n\\n    float fontScale = u_is_text ? size / 24.0 : size;\\n\\n    lowp vec4 color = fill_color;\\n    highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\\n    lowp float buff = (256.0 - 64.0) / 256.0;\\n    if (u_is_halo) {\\n        color = halo_color;\\n        gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\\n        buff = (6.0 - halo_width / fontScale) / SDF_PX;\\n    }\\n\\n    lowp float dist = texture2D(u_texture, tex).a;\\n    highp float gamma_scaled = gamma * gamma_scale;\\n    highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\\n\\n    gl_FragColor = color * (alpha * opacity * fade_opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec4 a_data;\\nattribute vec3 a_projected_pos;\\nattribute float a_fade_opacity;\\n\\n// contents of a_size vary based on the type of property value\\n// used for {text,icon}-size.\\n// For constants, a_size is disabled.\\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\\n// For composite functions:\\n// [ text-size(lowerZoomStop, feature),\\n//   text-size(upperZoomStop, feature) ]\\nuniform bool u_is_size_zoom_constant;\\nuniform bool u_is_size_feature_constant;\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\nuniform highp float u_size; // used when size is both zoom and feature constant\\n\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform mat4 u_matrix;\\nuniform mat4 u_label_plane_matrix;\\nuniform mat4 u_gl_coord_matrix;\\n\\nuniform bool u_is_text;\\nuniform bool u_pitch_with_map;\\nuniform highp float u_pitch;\\nuniform bool u_rotate_symbol;\\nuniform highp float u_aspect_ratio;\\nuniform highp float u_camera_to_center_distance;\\nuniform float u_fade_change;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_data0;\\nvarying vec3 v_data1;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 fill_color\\n    #pragma mapbox: initialize highp vec4 halo_color\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize lowp float halo_width\\n    #pragma mapbox: initialize lowp float halo_blur\\n\\n    vec2 a_pos = a_pos_offset.xy;\\n    vec2 a_offset = a_pos_offset.zw;\\n\\n    vec2 a_tex = a_data.xy;\\n    vec2 a_size = a_data.zw;\\n\\n    highp float segment_angle = -a_projected_pos[2];\\n    float size;\\n\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = a_size[0] / 10.0;\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\n        size = u_size;\\n    } else {\\n        size = u_size;\\n    }\\n\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    // If the label is pitched with the map, layout is done in pitched space,\\n    // which makes labels in the distance smaller relative to viewport space.\\n    // We counteract part of that effect by multiplying by the perspective ratio.\\n    // If the label isn't pitched with the map, we do layout in viewport space,\\n    // which makes labels in the distance larger relative to the features around\\n    // them. We counteract part of that effect by dividing by the perspective ratio.\\n    highp float distance_ratio = u_pitch_with_map ?\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\n    highp float perspective_ratio = clamp(\\n        0.5 + 0.5 * distance_ratio,\\n        0.0, // Prevents oversized near-field symbols in pitched/overzoomed tiles\\n        4.0);\\n\\n    size *= perspective_ratio;\\n\\n    float fontScale = u_is_text ? size / 24.0 : size;\\n\\n    highp float symbol_rotation = 0.0;\\n    if (u_rotate_symbol) {\\n        // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\\n        // To figure out that angle in projected space, we draw a short horizontal line in tile\\n        // space, project it, and measure its angle in projected space.\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\n\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\n\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\n    }\\n\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\n\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 32.0 * fontScale), 0.0, 1.0);\\n    float gamma_scale = gl_Position.w;\\n\\n    vec2 tex = a_tex / u_texsize;\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\n    float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\n\\n    v_data0 = vec2(tex.x, tex.y);\\n    v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\\n}\\n\"}},tr=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,er=function(t){var e=Qe[t],r={};e.fragmentSource=e.fragmentSource.replace(tr,function(t,e,n,i,a){return r[a]=!0,\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nvarying \"+n+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+n+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+a+\"\\n    \"+n+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"}),e.vertexSource=e.vertexSource.replace(tr,function(t,e,n,i,a){var o=\"float\"===i?\"vec2\":\"vec4\";return r[a]?\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float a_\"+a+\"_t;\\nattribute \"+n+\" \"+o+\" a_\"+a+\";\\nvarying \"+n+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+n+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+a+\" = unpack_mix_\"+o+\"(a_\"+a+\", a_\"+a+\"_t);\\n#else\\n    \"+n+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float a_\"+a+\"_t;\\nattribute \"+n+\" \"+o+\" a_\"+a+\";\\n#else\\nuniform \"+n+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+n+\" \"+i+\" \"+a+\" = unpack_mix_\"+o+\"(a_\"+a+\", a_\"+a+\"_t);\\n#else\\n    \"+n+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"})};for(var rr in Qe)er(rr);var nr=Qe,ir=function(t,e,r,n){var i=t.gl;this.program=i.createProgram();var o=r.defines().concat(\"#define DEVICE_PIXEL_RATIO \"+a.devicePixelRatio.toFixed(1));n&&o.push(\"#define OVERDRAW_INSPECTOR;\");var s=o.concat(nr.prelude.fragmentSource,e.fragmentSource).join(\"\\n\"),l=o.concat(nr.prelude.vertexSource,e.vertexSource).join(\"\\n\"),c=i.createShader(i.FRAGMENT_SHADER);i.shaderSource(c,s),i.compileShader(c),i.attachShader(this.program,c);var u=i.createShader(i.VERTEX_SHADER);i.shaderSource(u,l),i.compileShader(u),i.attachShader(this.program,u);for(var f=r.layoutAttributes||[],h=0;h<f.length;h++)i.bindAttribLocation(this.program,h,f[h].name);i.linkProgram(this.program),this.numAttributes=i.getProgramParameter(this.program,i.ACTIVE_ATTRIBUTES),this.attributes={},this.uniforms={};for(var p=0;p<this.numAttributes;p++){var d=i.getActiveAttrib(this.program,p);d&&(this.attributes[d.name]=i.getAttribLocation(this.program,d.name))}for(var g=i.getProgramParameter(this.program,i.ACTIVE_UNIFORMS),m=0;m<g;m++){var v=i.getActiveUniform(this.program,m);v&&(this.uniforms[v.name]=i.getUniformLocation(this.program,v.name))}};function ar(e,r,n,i,a){for(var o=0;o<n.length;o++){var s=n[o];if(i.isLessThan(s.tileID))break;if(r.key===s.tileID.key)return;if(s.tileID.isChildOf(r)){for(var l=r.children(1/0),c=0;c<l.length;c++)ar(e,l[c],n.slice(o),i,a);return}}var u=r.overscaledZ-e.overscaledZ,f=new t.CanonicalTileID(u,r.canonical.x-(e.canonical.x<<u),r.canonical.y-(e.canonical.y<<u));a[f.key]=a[f.key]||f}function or(t,e,r,n,i){var a=t.context,o=a.gl,s=i?t.useProgram(\"collisionCircle\"):t.useProgram(\"collisionBox\");a.setDepthMode(qt.disabled),a.setStencilMode(Ht.disabled),a.setColorMode(t.colorModeForRenderPass());for(var l=0;l<n.length;l++){var c=n[l],u=e.getTile(c),f=u.getBucket(r);if(f){var h=i?f.collisionCircle:f.collisionBox;if(h){o.uniformMatrix4fv(s.uniforms.u_matrix,!1,c.posMatrix),i||a.lineWidth.set(1),o.uniform1f(s.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance);var p=Te(u,1,t.transform.zoom),d=Math.pow(2,t.transform.zoom-u.tileID.overscaledZ);o.uniform1f(s.uniforms.u_pixels_to_tile_units,p),o.uniform2f(s.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits[0]/(p*d),t.transform.pixelsToGLUnits[1]/(p*d)),o.uniform1f(s.uniforms.u_overscale_factor,u.tileID.overscaleFactor()),s.draw(a,i?o.TRIANGLES:o.LINES,r.id,h.layoutVertexBuffer,h.indexBuffer,h.segments,null,h.collisionVertexBuffer,null)}}}}ir.prototype.draw=function(t,e,r,n,i,a,o,s,l){for(var c,u=t.gl,f=(c={},c[u.LINES]=2,c[u.TRIANGLES]=3,c)[e],h=0,p=a.get();h<p.length;h+=1){var d=p[h],g=d.vaos||(d.vaos={});(g[r]||(g[r]=new Q)).bind(t,this,n,o?o.getPaintVertexBuffers():[],i,d.vertexOffset,s,l),u.drawElements(e,d.primitiveLength*f,u.UNSIGNED_SHORT,d.primitiveOffset*f*2)}};var sr=t.mat4.identity(new Float32Array(16)),lr=t.default$19.layout;function cr(t,e,r,n,i,a,o,s,l,c){var u,f=t.context,h=f.gl,p=t.transform,d=\"map\"===s,g=\"map\"===l,m=d&&\"line\"===r.layout.get(\"symbol-placement\"),v=d&&!g&&!m,y=g;f.setDepthMode(y?t.depthModeForSublayer(0,qt.ReadOnly):qt.disabled);for(var x=0,b=n;x<b.length;x+=1){var _=b[x],w=e.getTile(_),k=w.getBucket(r);if(k){var M=i?k.text:k.icon;if(M&&M.segments.get().length){var A=M.programConfigurations.get(r.id),T=i||k.sdfIcons,S=i?k.textSizeData:k.iconSizeData;if(u||(u=t.useProgram(T?\"symbolSDF\":\"symbolIcon\",A),A.setUniforms(t.context,u,r.paint,{zoom:t.transform.zoom}),ur(u,t,r,i,v,g,S)),f.activeTexture.set(h.TEXTURE0),h.uniform1i(u.uniforms.u_texture,0),i)w.glyphAtlasTexture.bind(h.LINEAR,h.CLAMP_TO_EDGE),h.uniform2fv(u.uniforms.u_texsize,w.glyphAtlasTexture.size);else{var E=1!==r.layout.get(\"icon-size\").constantOr(0)||k.iconsNeedLinear,C=g||0!==p.pitch;w.iconAtlasTexture.bind(T||t.options.rotating||t.options.zooming||E||C?h.LINEAR:h.NEAREST,h.CLAMP_TO_EDGE),h.uniform2fv(u.uniforms.u_texsize,w.iconAtlasTexture.size)}h.uniformMatrix4fv(u.uniforms.u_matrix,!1,t.translatePosMatrix(_.posMatrix,w,a,o));var L=Te(w,1,t.transform.zoom),z=fe(_.posMatrix,g,d,t.transform,L),P=he(_.posMatrix,g,d,t.transform,L);h.uniformMatrix4fv(u.uniforms.u_gl_coord_matrix,!1,t.translatePosMatrix(P,w,a,o,!0)),m?(h.uniformMatrix4fv(u.uniforms.u_label_plane_matrix,!1,sr),ge(k,_.posMatrix,t,i,z,P,g,c)):h.uniformMatrix4fv(u.uniforms.u_label_plane_matrix,!1,z),h.uniform1f(u.uniforms.u_fade_change,t.options.fadeDuration?t.symbolFadeChange:1),fr(u,A,t,r,w,M,i,T,g)}}}}function ur(e,r,n,i,a,o,s){var l=r.context.gl,c=r.transform;l.uniform1i(e.uniforms.u_pitch_with_map,o?1:0),l.uniform1f(e.uniforms.u_is_text,i?1:0),l.uniform1f(e.uniforms.u_pitch,c.pitch/360*2*Math.PI);var u=\"constant\"===s.functionType||\"source\"===s.functionType,f=\"constant\"===s.functionType||\"camera\"===s.functionType;l.uniform1i(e.uniforms.u_is_size_zoom_constant,u?1:0),l.uniform1i(e.uniforms.u_is_size_feature_constant,f?1:0),l.uniform1f(e.uniforms.u_camera_to_center_distance,c.cameraToCenterDistance);var h=t.evaluateSizeForZoom(s,c.zoom,lr.properties[i?\"text-size\":\"icon-size\"]);void 0!==h.uSizeT&&l.uniform1f(e.uniforms.u_size_t,h.uSizeT),void 0!==h.uSize&&l.uniform1f(e.uniforms.u_size,h.uSize),l.uniform1f(e.uniforms.u_aspect_ratio,c.width/c.height),l.uniform1i(e.uniforms.u_rotate_symbol,a?1:0)}function fr(t,e,r,n,i,a,o,s,l){var c=r.context,u=c.gl,f=r.transform;if(s){var h=0!==n.paint.get(o?\"text-halo-width\":\"icon-halo-width\").constantOr(1),p=l?Math.cos(f._pitch)*f.cameraToCenterDistance:1;u.uniform1f(t.uniforms.u_gamma_scale,p),h&&(u.uniform1f(t.uniforms.u_is_halo,1),hr(a,n,c,t)),u.uniform1f(t.uniforms.u_is_halo,0)}hr(a,n,c,t)}function hr(t,e,r,n){n.draw(r,r.gl.TRIANGLES,e.id,t.layoutVertexBuffer,t.indexBuffer,t.segments,t.programConfigurations.get(e.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function pr(t,e,r,n,i,o,s,l,c){var u,f,h,p,d=e.context,g=d.gl,m=i.paint.get(\"line-dasharray\"),v=i.paint.get(\"line-pattern\");if(l||c){var y=1/Te(r,1,e.transform.tileZoom);if(m){u=e.lineAtlas.getDash(m.from,\"round\"===i.layout.get(\"line-cap\")),f=e.lineAtlas.getDash(m.to,\"round\"===i.layout.get(\"line-cap\"));var x=u.width*m.fromScale,b=f.width*m.toScale;g.uniform2f(t.uniforms.u_patternscale_a,y/x,-u.height/2),g.uniform2f(t.uniforms.u_patternscale_b,y/b,-f.height/2),g.uniform1f(t.uniforms.u_sdfgamma,e.lineAtlas.width/(256*Math.min(x,b)*a.devicePixelRatio)/2)}else if(v){if(h=e.imageManager.getPattern(v.from),p=e.imageManager.getPattern(v.to),!h||!p)return;g.uniform2f(t.uniforms.u_pattern_size_a,h.displaySize[0]*v.fromScale/y,h.displaySize[1]),g.uniform2f(t.uniforms.u_pattern_size_b,p.displaySize[0]*v.toScale/y,p.displaySize[1]);var _=e.imageManager.getPixelSize(),w=_.width,k=_.height;g.uniform2fv(t.uniforms.u_texsize,[w,k])}g.uniform2f(t.uniforms.u_gl_units_to_pixels,1/e.transform.pixelsToGLUnits[0],1/e.transform.pixelsToGLUnits[1])}l&&(m?(g.uniform1i(t.uniforms.u_image,0),d.activeTexture.set(g.TEXTURE0),e.lineAtlas.bind(d),g.uniform1f(t.uniforms.u_tex_y_a,u.y),g.uniform1f(t.uniforms.u_tex_y_b,f.y),g.uniform1f(t.uniforms.u_mix,m.t)):v&&(g.uniform1i(t.uniforms.u_image,0),d.activeTexture.set(g.TEXTURE0),e.imageManager.bind(d),g.uniform2fv(t.uniforms.u_pattern_tl_a,h.tl),g.uniform2fv(t.uniforms.u_pattern_br_a,h.br),g.uniform2fv(t.uniforms.u_pattern_tl_b,p.tl),g.uniform2fv(t.uniforms.u_pattern_br_b,p.br),g.uniform1f(t.uniforms.u_fade,v.t))),d.setStencilMode(e.stencilModeForClipping(o));var M=e.translatePosMatrix(o.posMatrix,r,i.paint.get(\"line-translate\"),i.paint.get(\"line-translate-anchor\"));if(g.uniformMatrix4fv(t.uniforms.u_matrix,!1,M),g.uniform1f(t.uniforms.u_ratio,1/Te(r,1,e.transform.zoom)),i.paint.get(\"line-gradient\")){d.activeTexture.set(g.TEXTURE0);var A=i.gradientTexture;if(!i.gradient)return;A||(A=i.gradientTexture=new z(d,i.gradient,g.RGBA)),A.bind(g.LINEAR,g.CLAMP_TO_EDGE),g.uniform1i(t.uniforms.u_image,0)}t.draw(d,g.TRIANGLES,i.id,n.layoutVertexBuffer,n.indexBuffer,n.segments,s)}var dr=function(t,e){if(!t)return!1;var r=e.imageManager.getPattern(t.from),n=e.imageManager.getPattern(t.to);return!r||!n},gr=function(t,e,r){var n=e.context,i=n.gl,a=e.imageManager.getPattern(t.from),o=e.imageManager.getPattern(t.to);i.uniform1i(r.uniforms.u_image,0),i.uniform2fv(r.uniforms.u_pattern_tl_a,a.tl),i.uniform2fv(r.uniforms.u_pattern_br_a,a.br),i.uniform2fv(r.uniforms.u_pattern_tl_b,o.tl),i.uniform2fv(r.uniforms.u_pattern_br_b,o.br);var s=e.imageManager.getPixelSize(),l=s.width,c=s.height;i.uniform2fv(r.uniforms.u_texsize,[l,c]),i.uniform1f(r.uniforms.u_mix,t.t),i.uniform2fv(r.uniforms.u_pattern_size_a,a.displaySize),i.uniform2fv(r.uniforms.u_pattern_size_b,o.displaySize),i.uniform1f(r.uniforms.u_scale_a,t.fromScale),i.uniform1f(r.uniforms.u_scale_b,t.toScale),n.activeTexture.set(i.TEXTURE0),e.imageManager.bind(e.context)},mr=function(t,e,r){var n=e.context.gl;n.uniform1f(r.uniforms.u_tile_units_to_pixels,1/Te(t,1,e.transform.tileZoom));var i=Math.pow(2,t.tileID.overscaledZ),a=t.tileSize*Math.pow(2,e.transform.tileZoom)/i,o=a*(t.tileID.canonical.x+t.tileID.wrap*i),s=a*t.tileID.canonical.y;n.uniform2f(r.uniforms.u_pixel_coord_upper,o>>16,s>>16),n.uniform2f(r.uniforms.u_pixel_coord_lower,65535&o,65535&s)};function vr(t,e,r,n,i){if(!dr(r.paint.get(\"fill-pattern\"),t))for(var a=!0,o=0,s=n;o<s.length;o+=1){var l=s[o],c=e.getTile(l),u=c.getBucket(r);u&&(t.context.setStencilMode(t.stencilModeForClipping(l)),i(t,e,r,c,l,u,a),a=!1)}}function yr(t,e,r,n,i,a,o){var s=t.context.gl,l=a.programConfigurations.get(r.id);br(\"fill\",r.paint.get(\"fill-pattern\"),t,l,r,n,i,o).draw(t.context,s.TRIANGLES,r.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,l)}function xr(t,e,r,n,i,a,o){var s=t.context.gl,l=a.programConfigurations.get(r.id),c=br(\"fillOutline\",r.getPaintProperty(\"fill-outline-color\")?null:r.paint.get(\"fill-pattern\"),t,l,r,n,i,o);s.uniform2f(c.uniforms.u_world,s.drawingBufferWidth,s.drawingBufferHeight),c.draw(t.context,s.LINES,r.id,a.layoutVertexBuffer,a.indexBuffer2,a.segments2,l)}function br(t,e,r,n,i,a,o,s){var l,c=r.context.program.get();return e?(l=r.useProgram(t+\"Pattern\",n),(s||l.program!==c)&&(n.setUniforms(r.context,l,i.paint,{zoom:r.transform.zoom}),gr(e,r,l)),mr(a,r,l)):(l=r.useProgram(t,n),(s||l.program!==c)&&n.setUniforms(r.context,l,i.paint,{zoom:r.transform.zoom})),r.context.gl.uniformMatrix4fv(l.uniforms.u_matrix,!1,r.translatePosMatrix(o.posMatrix,a,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"))),l}var _r=t.default$20.mat3,wr=t.default$20.mat4,kr=t.default$20.vec3;function Mr(t,e,r,n,i,a,o){var s=t.context,l=s.gl,c=r.paint.get(\"fill-extrusion-pattern\"),u=t.context.program.get(),f=a.programConfigurations.get(r.id),h=t.useProgram(c?\"fillExtrusionPattern\":\"fillExtrusion\",f);if((o||h.program!==u)&&f.setUniforms(s,h,r.paint,{zoom:t.transform.zoom}),c){if(dr(c,t))return;gr(c,t,h),mr(n,t,h),l.uniform1f(h.uniforms.u_height_factor,-Math.pow(2,i.overscaledZ)/n.tileSize/8)}t.context.gl.uniformMatrix4fv(h.uniforms.u_matrix,!1,t.translatePosMatrix(i.posMatrix,n,r.paint.get(\"fill-extrusion-translate\"),r.paint.get(\"fill-extrusion-translate-anchor\"))),function(t,e){var r=e.context.gl,n=e.style.light,i=n.properties.get(\"position\"),a=[i.x,i.y,i.z],o=_r.create();\"viewport\"===n.properties.get(\"anchor\")&&_r.fromRotation(o,-e.transform.angle),kr.transformMat3(a,a,o);var s=n.properties.get(\"color\");r.uniform3fv(t.uniforms.u_lightpos,a),r.uniform1f(t.uniforms.u_lightintensity,n.properties.get(\"intensity\")),r.uniform3f(t.uniforms.u_lightcolor,s.r,s.g,s.b)}(h,t),h.draw(s,l.TRIANGLES,r.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,f)}function Ar(e,r,n){var i=e.context,a=i.gl,o=r.fbo;if(o){var s=e.useProgram(\"hillshade\"),l=e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),!0);!function(t,e,r){var n=r.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===r.paint.get(\"hillshade-illumination-anchor\")&&(n-=e.transform.angle),e.context.gl.uniform2f(t.uniforms.u_light,r.paint.get(\"hillshade-exaggeration\"),n)}(s,e,n);var c=function(e,r){var n=r.toCoordinate(),i=new t.default$17(n.column,n.row+1,n.zoom);return[e.transform.coordinateLocation(n).lat,e.transform.coordinateLocation(i).lat]}(e,r.tileID);i.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,o.colorAttachment.get()),a.uniformMatrix4fv(s.uniforms.u_matrix,!1,l),a.uniform2fv(s.uniforms.u_latrange,c),a.uniform1i(s.uniforms.u_image,0);var u=n.paint.get(\"hillshade-shadow-color\");a.uniform4f(s.uniforms.u_shadow,u.r,u.g,u.b,u.a);var f=n.paint.get(\"hillshade-highlight-color\");a.uniform4f(s.uniforms.u_highlight,f.r,f.g,f.b,f.a);var h=n.paint.get(\"hillshade-accent-color\");if(a.uniform4f(s.uniforms.u_accent,h.r,h.g,h.b,h.a),r.maskedBoundsBuffer&&r.maskedIndexBuffer&&r.segments)s.draw(i,a.TRIANGLES,n.id,r.maskedBoundsBuffer,r.maskedIndexBuffer,r.segments);else{var p=e.rasterBoundsBuffer;e.rasterBoundsVAO.bind(i,s,p,[]),a.drawArrays(a.TRIANGLE_STRIP,0,p.length)}}}function Tr(e,r,n){var i=e.context,a=i.gl;if(r.dem&&r.dem.level){var o=r.dem.level.dim,s=r.dem.getPixels();if(i.activeTexture.set(a.TEXTURE1),i.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(r.tileSize),r.demTexture){var l=r.demTexture;l.update(s,{premultiply:!1}),l.bind(a.NEAREST,a.CLAMP_TO_EDGE)}else r.demTexture=new z(i,s,a.RGBA,{premultiply:!1}),r.demTexture.bind(a.NEAREST,a.CLAMP_TO_EDGE);i.activeTexture.set(a.TEXTURE0);var c=r.fbo;if(!c){var u=new z(i,{width:o,height:o,data:null},a.RGBA);u.bind(a.LINEAR,a.CLAMP_TO_EDGE),(c=r.fbo=i.createFramebuffer(o,o)).colorAttachment.set(u.texture)}i.bindFramebuffer.set(c.framebuffer),i.viewport.set([0,0,o,o]);var f=t.mat4.create();t.mat4.ortho(f,0,t.default$8,-t.default$8,0,0,1),t.mat4.translate(f,f,[0,-t.default$8,0]);var h=e.useProgram(\"hillshadePrepare\");a.uniformMatrix4fv(h.uniforms.u_matrix,!1,f),a.uniform1f(h.uniforms.u_zoom,r.tileID.overscaledZ),a.uniform2fv(h.uniforms.u_dimension,[2*o,2*o]),a.uniform1i(h.uniforms.u_image,1),a.uniform1f(h.uniforms.u_maxzoom,n);var p=e.rasterBoundsBuffer;e.rasterBoundsVAO.bind(i,h,p,[]),a.drawArrays(a.TRIANGLE_STRIP,0,p.length),r.needsHillshadePrepare=!1}}function Sr(e,r,n,i,o){var s=i.paint.get(\"raster-fade-duration\");if(s>0){var l=a.now(),c=(l-e.timeAdded)/s,u=r?(l-r.timeAdded)/s:-1,f=n.getSource(),h=o.coveringZoomLevel({tileSize:f.tileSize,roundZoom:f.roundZoom}),p=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),d=p&&e.refreshedUponExpiration?1:t.clamp(p?c:1-u,0,1);return e.refreshedUponExpiration&&c>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}function Er(e,r,n){var i=e.context,o=i.gl;i.lineWidth.set(1*a.devicePixelRatio);var s=n.posMatrix,l=e.useProgram(\"debug\");i.setDepthMode(qt.disabled),i.setStencilMode(Ht.disabled),i.setColorMode(e.colorModeForRenderPass()),o.uniformMatrix4fv(l.uniforms.u_matrix,!1,s),o.uniform4f(l.uniforms.u_color,1,0,0,1),e.debugVAO.bind(i,l,e.debugBuffer,[]),o.drawArrays(o.LINE_STRIP,0,e.debugBuffer.length);for(var c=function(t,e,r,n){n=n||1;var i,a,o,s,l,c,u,f,h=[];for(i=0,a=t.length;i<a;i++)if(l=Cr[t[i]]){for(f=null,o=0,s=l[1].length;o<s;o+=2)-1===l[1][o]&&-1===l[1][o+1]?f=null:(c=e+l[1][o]*n,u=200-l[1][o+1]*n,f&&h.push(f.x,f.y,c,u),f={x:c,y:u});e+=l[0]*n}return h}(n.toString(),50,0,5),u=new t.PosArray,f=0;f<c.length;f+=2)u.emplaceBack(c[f],c[f+1]);var h=i.createVertexBuffer(u,Ke.members);(new Q).bind(i,l,h,[]),o.uniform4f(l.uniforms.u_color,1,1,1,1);for(var p=r.getTile(n).tileSize,d=t.default$8/(Math.pow(2,e.transform.zoom-n.overscaledZ)*p),g=[[-1,-1],[-1,1],[1,-1],[1,1]],m=0;m<g.length;m++){var v=g[m];o.uniformMatrix4fv(l.uniforms.u_matrix,!1,t.mat4.translate([],s,[d*v[0],d*v[1],0])),o.drawArrays(o.LINES,0,h.length)}o.uniform4f(l.uniforms.u_color,0,0,0,1),o.uniformMatrix4fv(l.uniforms.u_matrix,!1,s),o.drawArrays(o.LINES,0,h.length)}var Cr={\" \":[16,[]],\"!\":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'\"':[16,[4,21,4,14,-1,-1,12,21,12,14]],\"#\":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],\"%\":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],\"&\":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],\"'\":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],\"(\":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],\")\":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],\"*\":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],\"+\":[26,[13,18,13,0,-1,-1,4,9,22,9]],\",\":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\"-\":[26,[4,9,22,9]],\".\":[10,[5,2,4,1,5,0,6,1,5,2]],\"/\":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],\":\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],\";\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\"<\":[24,[20,18,4,9,20,0]],\"=\":[26,[4,12,22,12,-1,-1,4,6,22,6]],\">\":[24,[4,18,20,9,4,0]],\"?\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\"@\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\"[\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\"\\\\\":[14,[0,21,14,-3]],\"]\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\"^\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\"`\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\"{\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\"|\":[8,[4,25,4,-7]],\"}\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\"~\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]},Lr={symbol:function(t,e,r,n){if(\"translucent\"===t.renderPass){var i=t.context;i.setStencilMode(Ht.disabled),i.setColorMode(t.colorModeForRenderPass()),0!==r.paint.get(\"icon-opacity\").constantOr(1)&&cr(t,e,r,n,!1,r.paint.get(\"icon-translate\"),r.paint.get(\"icon-translate-anchor\"),r.layout.get(\"icon-rotation-alignment\"),r.layout.get(\"icon-pitch-alignment\"),r.layout.get(\"icon-keep-upright\")),0!==r.paint.get(\"text-opacity\").constantOr(1)&&cr(t,e,r,n,!0,r.paint.get(\"text-translate\"),r.paint.get(\"text-translate-anchor\"),r.layout.get(\"text-rotation-alignment\"),r.layout.get(\"text-pitch-alignment\"),r.layout.get(\"text-keep-upright\")),e.map.showCollisionBoxes&&function(t,e,r,n){or(t,e,r,n,!1),or(t,e,r,n,!0)}(t,e,r,n)}},circle:function(t,e,r,n){if(\"translucent\"===t.renderPass){var i=r.paint.get(\"circle-opacity\"),a=r.paint.get(\"circle-stroke-width\"),o=r.paint.get(\"circle-stroke-opacity\");if(0!==i.constantOr(1)||0!==a.constantOr(1)&&0!==o.constantOr(1)){var s=t.context,l=s.gl;s.setDepthMode(t.depthModeForSublayer(0,qt.ReadOnly)),s.setStencilMode(Ht.disabled),s.setColorMode(t.colorModeForRenderPass());for(var c=!0,u=0;u<n.length;u++){var f=n[u],h=e.getTile(f),p=h.getBucket(r);if(p){var d=t.context.program.get(),g=p.programConfigurations.get(r.id),m=t.useProgram(\"circle\",g);if((c||m.program!==d)&&(g.setUniforms(s,m,r.paint,{zoom:t.transform.zoom}),c=!1),l.uniform1f(m.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance),l.uniform1i(m.uniforms.u_scale_with_map,\"map\"===r.paint.get(\"circle-pitch-scale\")?1:0),\"map\"===r.paint.get(\"circle-pitch-alignment\")){l.uniform1i(m.uniforms.u_pitch_with_map,1);var v=Te(h,1,t.transform.zoom);l.uniform2f(m.uniforms.u_extrude_scale,v,v)}else l.uniform1i(m.uniforms.u_pitch_with_map,0),l.uniform2fv(m.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits);l.uniformMatrix4fv(m.uniforms.u_matrix,!1,t.translatePosMatrix(f.posMatrix,h,r.paint.get(\"circle-translate\"),r.paint.get(\"circle-translate-anchor\"))),m.draw(s,l.TRIANGLES,r.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,g)}}}}},heatmap:function(e,r,n,i){if(0!==n.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===e.renderPass){var a=e.context,o=a.gl;a.setDepthMode(e.depthModeForSublayer(0,qt.ReadOnly)),a.setStencilMode(Ht.disabled),function(t,e,r){var n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{var a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4),function t(e,r,n,i){var a=e.gl;a.texImage2D(a.TEXTURE_2D,0,a.RGBA,r.width/4,r.height/4,0,a.RGBA,e.extTextureHalfFloat?e.extTextureHalfFloat.HALF_FLOAT_OES:a.UNSIGNED_BYTE,null),i.colorAttachment.set(n),e.extTextureHalfFloat&&a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE&&(e.extTextureHalfFloat=null,i.colorAttachment.setDirty(),t(e,r,n,i))}(t,e,a,i)}}(a,e,n),a.clear({color:t.default$6.transparent}),a.setColorMode(new Gt([o.ONE,o.ONE],t.default$6.transparent,[!0,!0,!0,!0]));for(var s=!0,l=0;l<i.length;l++){var c=i[l];if(!r.hasRenderableParent(c)){var u=r.getTile(c),f=u.getBucket(n);if(f){var h=e.context.program.get(),p=f.programConfigurations.get(n.id),d=e.useProgram(\"heatmap\",p),g=e.transform.zoom;(s||d.program!==h)&&(p.setUniforms(e.context,d,n.paint,{zoom:g}),s=!1),o.uniform1f(d.uniforms.u_extrude_scale,Te(u,1,g)),o.uniform1f(d.uniforms.u_intensity,n.paint.get(\"heatmap-intensity\")),o.uniformMatrix4fv(d.uniforms.u_matrix,!1,c.posMatrix),d.draw(a,o.TRIANGLES,n.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,p)}}}a.viewport.set([0,0,e.width,e.height])}else\"translucent\"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,r){var n=e.context,i=n.gl,a=r.heatmapFbo;if(a){n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),n.activeTexture.set(i.TEXTURE1);var o=r.colorRampTexture;o||(o=r.colorRampTexture=new z(n,r.colorRamp,i.RGBA)),o.bind(i.LINEAR,i.CLAMP_TO_EDGE),n.setDepthMode(qt.disabled);var s=e.useProgram(\"heatmapTexture\"),l=r.paint.get(\"heatmap-opacity\");i.uniform1f(s.uniforms.u_opacity,l),i.uniform1i(s.uniforms.u_image,0),i.uniform1i(s.uniforms.u_color_ramp,1);var c=t.mat4.create();t.mat4.ortho(c,0,e.width,e.height,0,0,1),i.uniformMatrix4fv(s.uniforms.u_matrix,!1,c),i.uniform2f(s.uniforms.u_world,i.drawingBufferWidth,i.drawingBufferHeight),e.viewportVAO.bind(e.context,s,e.viewportBuffer,[]),i.drawArrays(i.TRIANGLE_STRIP,0,4)}}(e,n))},line:function(t,e,r,n){if(\"translucent\"===t.renderPass&&0!==r.paint.get(\"line-opacity\").constantOr(1)){var i=t.context;i.setDepthMode(t.depthModeForSublayer(0,qt.ReadOnly)),i.setColorMode(t.colorModeForRenderPass());for(var a,o=r.paint.get(\"line-dasharray\")?\"lineSDF\":r.paint.get(\"line-pattern\")?\"linePattern\":r.paint.get(\"line-gradient\")?\"lineGradient\":\"line\",s=!0,l=0,c=n;l<c.length;l+=1){var u=c[l],f=e.getTile(u),h=f.getBucket(r);if(h){var p=h.programConfigurations.get(r.id),d=t.context.program.get(),g=t.useProgram(o,p),m=s||g.program!==d,v=a!==f.tileID.overscaledZ;m&&p.setUniforms(t.context,g,r.paint,{zoom:t.transform.zoom}),pr(g,t,f,h,r,u,p,m,v),a=f.tileID.overscaledZ,s=!1}}}},fill:function(e,r,n,i){var a=n.paint.get(\"fill-color\"),o=n.paint.get(\"fill-opacity\");if(0!==o.constantOr(1)){var s=e.context;s.setColorMode(e.colorModeForRenderPass());var l=n.paint.get(\"fill-pattern\")||1!==a.constantOr(t.default$6.transparent).a||1!==o.constantOr(0)?\"translucent\":\"opaque\";e.renderPass===l&&(s.setDepthMode(e.depthModeForSublayer(1,\"opaque\"===e.renderPass?qt.ReadWrite:qt.ReadOnly)),vr(e,r,n,i,yr)),\"translucent\"===e.renderPass&&n.paint.get(\"fill-antialias\")&&(s.lineWidth.set(2),s.setDepthMode(e.depthModeForSublayer(n.getPaintProperty(\"fill-outline-color\")?2:0,qt.ReadOnly)),vr(e,r,n,i,xr))}},\"fill-extrusion\":function(e,r,n,i){if(0!==n.paint.get(\"fill-extrusion-opacity\"))if(\"offscreen\"===e.renderPass){!function(e,r){var n=e.context,i=n.gl,a=r.viewportFrame;if(e.depthRboNeedsClear&&e.setupOffscreenDepthRenderbuffer(),!a){var o=new z(n,{width:e.width,height:e.height,data:null},i.RGBA);o.bind(i.LINEAR,i.CLAMP_TO_EDGE),(a=r.viewportFrame=n.createFramebuffer(e.width,e.height)).colorAttachment.set(o.texture)}n.bindFramebuffer.set(a.framebuffer),a.depthAttachment.set(e.depthRbo),e.depthRboNeedsClear&&(n.clear({depth:1}),e.depthRboNeedsClear=!1),n.clear({color:t.default$6.transparent}),n.setStencilMode(Ht.disabled),n.setDepthMode(new qt(i.LEQUAL,qt.ReadWrite,[0,1])),n.setColorMode(e.colorModeForRenderPass())}(e,n);for(var a=!0,o=0,s=i;o<s.length;o+=1){var l=s[o],c=r.getTile(l),u=c.getBucket(n);u&&(Mr(e,0,n,c,l,u,a),a=!1)}}else\"translucent\"===e.renderPass&&function(t,e){var r=e.viewportFrame;if(r){var n=t.context,i=n.gl,a=t.useProgram(\"extrusionTexture\");n.setStencilMode(Ht.disabled),n.setDepthMode(qt.disabled),n.setColorMode(t.colorModeForRenderPass()),n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.colorAttachment.get()),i.uniform1f(a.uniforms.u_opacity,e.paint.get(\"fill-extrusion-opacity\")),i.uniform1i(a.uniforms.u_image,0);var o=wr.create();wr.ortho(o,0,t.width,t.height,0,0,1),i.uniformMatrix4fv(a.uniforms.u_matrix,!1,o),i.uniform2f(a.uniforms.u_world,i.drawingBufferWidth,i.drawingBufferHeight),t.viewportVAO.bind(n,a,t.viewportBuffer,[]),i.drawArrays(i.TRIANGLE_STRIP,0,4)}}(e,n)},hillshade:function(t,e,r,n){if(\"offscreen\"===t.renderPass||\"translucent\"===t.renderPass){var i=t.context,a=e.getSource().maxzoom;i.setDepthMode(t.depthModeForSublayer(0,qt.ReadOnly)),i.setStencilMode(Ht.disabled),i.setColorMode(t.colorModeForRenderPass());for(var o=0,s=n;o<s.length;o+=1){var l=s[o],c=e.getTile(l);c.needsHillshadePrepare&&\"offscreen\"===t.renderPass?Tr(t,c,a):\"translucent\"===t.renderPass&&Ar(t,c,r)}i.viewport.set([0,0,t.width,t.height])}},raster:function(t,e,r,n){if(\"translucent\"===t.renderPass&&0!==r.paint.get(\"raster-opacity\")){var i,a,o=t.context,s=o.gl,l=e.getSource(),c=t.useProgram(\"raster\");o.setStencilMode(Ht.disabled),o.setColorMode(t.colorModeForRenderPass()),s.uniform1f(c.uniforms.u_brightness_low,r.paint.get(\"raster-brightness-min\")),s.uniform1f(c.uniforms.u_brightness_high,r.paint.get(\"raster-brightness-max\")),s.uniform1f(c.uniforms.u_saturation_factor,(i=r.paint.get(\"raster-saturation\"))>0?1-1/(1.001-i):-i),s.uniform1f(c.uniforms.u_contrast_factor,(a=r.paint.get(\"raster-contrast\"))>0?1/(1-a):1+a),s.uniform3fv(c.uniforms.u_spin_weights,function(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}(r.paint.get(\"raster-hue-rotate\"))),s.uniform1f(c.uniforms.u_buffer_scale,1),s.uniform1i(c.uniforms.u_image0,0),s.uniform1i(c.uniforms.u_image1,1);for(var u=n.length&&n[0].overscaledZ,f=0,h=n;f<h.length;f+=1){var p=h[f];o.setDepthMode(t.depthModeForSublayer(p.overscaledZ-u,1===r.paint.get(\"raster-opacity\")?qt.ReadWrite:qt.ReadOnly,s.LESS));var d=e.getTile(p),g=t.transform.calculatePosMatrix(p.toUnwrapped(),!0);d.registerFadeDuration(r.paint.get(\"raster-fade-duration\")),s.uniformMatrix4fv(c.uniforms.u_matrix,!1,g);var m=e.findLoadedParent(p,0,{}),v=Sr(d,m,e,r,t.transform),y=void 0,x=void 0;if(o.activeTexture.set(s.TEXTURE0),d.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),o.activeTexture.set(s.TEXTURE1),m?(m.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),y=Math.pow(2,m.tileID.overscaledZ-d.tileID.overscaledZ),x=[d.tileID.canonical.x*y%1,d.tileID.canonical.y*y%1]):d.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),s.uniform2fv(c.uniforms.u_tl_parent,x||[0,0]),s.uniform1f(c.uniforms.u_scale_parent,y||1),s.uniform1f(c.uniforms.u_fade_t,v.mix),s.uniform1f(c.uniforms.u_opacity,v.opacity*r.paint.get(\"raster-opacity\")),l instanceof tt){var b=l.boundsBuffer;l.boundsVAO.bind(o,c,b,[]),s.drawArrays(s.TRIANGLE_STRIP,0,b.length)}else if(d.maskedBoundsBuffer&&d.maskedIndexBuffer&&d.segments)c.draw(o,s.TRIANGLES,r.id,d.maskedBoundsBuffer,d.maskedIndexBuffer,d.segments);else{var _=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(o,c,_,[]),s.drawArrays(s.TRIANGLE_STRIP,0,_.length)}}}},background:function(t,e,r){var n=r.paint.get(\"background-color\"),i=r.paint.get(\"background-opacity\");if(0!==i){var a=t.context,o=a.gl,s=t.transform,l=s.tileSize,c=r.paint.get(\"background-pattern\"),u=c||1!==n.a||1!==i?\"translucent\":\"opaque\";if(t.renderPass===u){var f;if(a.setStencilMode(Ht.disabled),a.setDepthMode(t.depthModeForSublayer(0,\"opaque\"===u?qt.ReadWrite:qt.ReadOnly)),a.setColorMode(t.colorModeForRenderPass()),c){if(dr(c,t))return;f=t.useProgram(\"backgroundPattern\"),gr(c,t,f),t.tileExtentPatternVAO.bind(a,f,t.tileExtentBuffer,[])}else f=t.useProgram(\"background\"),o.uniform4fv(f.uniforms.u_color,[n.r,n.g,n.b,n.a]),t.tileExtentVAO.bind(a,f,t.tileExtentBuffer,[]);o.uniform1f(f.uniforms.u_opacity,i);for(var h=0,p=s.coveringTiles({tileSize:l});h<p.length;h+=1){var d=p[h];c&&mr({tileID:d,tileSize:l},t,f),o.uniformMatrix4fv(f.uniforms.u_matrix,!1,t.transform.calculatePosMatrix(d.toUnwrapped())),o.drawArrays(o.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}}}},debug:function(t,e,r){for(var n=0;n<r.length;n++)Er(t,e,r[n])}},zr=function(e,r){this.context=new Wt(e),this.transform=r,this._tileTextures={},this.setup(),this.numSublayers=Yt.maxUnderzooming+Yt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.depthRboNeedsClear=!0,this.emptyProgramConfiguration=new t.default$24,this.crossTileSymbolIndex=new Ye};function Pr(t,e){if(t.row>e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function Or(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,c=e.dx/e.dy,u=t.dx>0,f=e.dx<0,h=a;h<o;h++){var p=l*Math.max(0,Math.min(t.dy,h+u-t.y0))+t.x0,d=c*Math.max(0,Math.min(e.dy,h+f-e.y0))+e.x0;i(Math.floor(d),Math.ceil(p),h)}}function Ir(t,e,r,n,i,a){var o,s=Pr(t,e),l=Pr(e,r),c=Pr(r,t);s.dy>l.dy&&(o=s,s=l,l=o),s.dy>c.dy&&(o=s,s=c,c=o),l.dy>c.dy&&(o=l,l=c,c=o),s.dy&&Or(c,s,n,i,a),l.dy&&Or(c,l,n,i,a)}zr.prototype.resize=function(t,e){var r=this.context.gl;if(this.width=t*a.devicePixelRatio,this.height=e*a.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var n=0,i=this.style._order;n<i.length;n+=1){var o=i[n];this.style._layers[o].resize()}this.depthRbo&&(r.deleteRenderbuffer(this.depthRbo),this.depthRbo=null)},zr.prototype.setup=function(){var e=this.context,r=new t.PosArray;r.emplaceBack(0,0),r.emplaceBack(t.default$8,0),r.emplaceBack(0,t.default$8),r.emplaceBack(t.default$8,t.default$8),this.tileExtentBuffer=e.createVertexBuffer(r,Ke.members),this.tileExtentVAO=new Q,this.tileExtentPatternVAO=new Q;var n=new t.PosArray;n.emplaceBack(0,0),n.emplaceBack(t.default$8,0),n.emplaceBack(t.default$8,t.default$8),n.emplaceBack(0,t.default$8),n.emplaceBack(0,0),this.debugBuffer=e.createVertexBuffer(n,Ke.members),this.debugVAO=new Q;var i=new t.RasterBoundsArray;i.emplaceBack(0,0,0,0),i.emplaceBack(t.default$8,0,t.default$8,0),i.emplaceBack(0,t.default$8,0,t.default$8),i.emplaceBack(t.default$8,t.default$8,t.default$8,t.default$8),this.rasterBoundsBuffer=e.createVertexBuffer(i,K.members),this.rasterBoundsVAO=new Q;var a=new t.PosArray;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,Ke.members),this.viewportVAO=new Q},zr.prototype.clearStencil=function(){var e=this.context,r=e.gl;e.setColorMode(Gt.disabled),e.setDepthMode(qt.disabled),e.setStencilMode(new Ht({func:r.ALWAYS,mask:0},0,255,r.ZERO,r.ZERO,r.ZERO));var n=t.mat4.create();t.mat4.ortho(n,0,this.width,this.height,0,0,1),t.mat4.scale(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]);var i=this.useProgram(\"clippingMask\");r.uniformMatrix4fv(i.uniforms.u_matrix,!1,n),this.viewportVAO.bind(e,i,this.viewportBuffer,[]),r.drawArrays(r.TRIANGLE_STRIP,0,4)},zr.prototype._renderTileClippingMasks=function(t){var e=this.context,r=e.gl;e.setColorMode(Gt.disabled),e.setDepthMode(qt.disabled);var n=1;this._tileClippingMaskIDs={};for(var i=0,a=t;i<a.length;i+=1){var o=a[i],s=this._tileClippingMaskIDs[o.key]=n++;e.setStencilMode(new Ht({func:r.ALWAYS,mask:0},s,255,r.KEEP,r.KEEP,r.REPLACE));var l=this.useProgram(\"clippingMask\");r.uniformMatrix4fv(l.uniforms.u_matrix,!1,o.posMatrix),this.tileExtentVAO.bind(this.context,l,this.tileExtentBuffer,[]),r.drawArrays(r.TRIANGLE_STRIP,0,this.tileExtentBuffer.length)}},zr.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Ht({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},zr.prototype.colorModeForRenderPass=function(){var e=this.context.gl;return this._showOverdrawInspector?new Gt([e.CONSTANT_COLOR,e.ONE],new t.default$6(1/8,1/8,1/8,0),[!0,!0,!0,!0]):\"opaque\"===this.renderPass?Gt.unblended:Gt.alphaBlended},zr.prototype.depthModeForSublayer=function(t,e,r){var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,i=n-1+this.depthRange;return new qt(r||this.context.gl.LEQUAL,e,[i,n])},zr.prototype.render=function(e,r){var n=this;for(var i in this.style=e,this.options=r,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(a.now()),e.sourceCaches){var o=n.style.sourceCaches[i];o.used&&o.prepare(n.context)}var s=this.style._order,l=t.filterObject(this.style.sourceCaches,function(t){return\"raster\"===t.getSource().type||\"raster-dem\"===t.getSource().type}),c=function(e){var r=l[e];!function(e,r){for(var n=e.sort(function(t,e){return t.tileID.isLessThan(e.tileID)?-1:e.tileID.isLessThan(t.tileID)?1:0}),i=0;i<n.length;i++){var a={},o=n[i],s=n.slice(i+1);ar(o.tileID.wrapped(),o.tileID,s,new t.OverscaledTileID(0,o.tileID.wrap+1,0,0,0),a),o.setMask(a,r)}}(r.getVisibleCoordinates().map(function(t){return r.getTile(t)}),n.context)};for(var u in l)c(u);this.renderPass=\"offscreen\";var f,h=[];this.depthRboNeedsClear=!0;for(var p=0;p<s.length;p++){var d=n.style._layers[s[p]];d.hasOffscreenPass()&&!d.isHidden(n.transform.zoom)&&(d.source!==(f&&f.id)&&(h=[],(f=n.style.sourceCaches[d.source])&&(h=f.getVisibleCoordinates()).reverse()),h.length&&n.renderLayer(n,f,d,h))}this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?t.default$6.black:t.default$6.transparent,depth:1}),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRange=(e._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass=\"opaque\";var g,m=[];for(this.currentLayer=s.length-1,this.currentLayer;this.currentLayer>=0;this.currentLayer--){var v=n.style._layers[s[n.currentLayer]];v.source!==(g&&g.id)&&(m=[],(g=n.style.sourceCaches[v.source])&&(n.clearStencil(),m=g.getVisibleCoordinates(),g.getSource().isTileClipped&&n._renderTileClippingMasks(m))),n.renderLayer(n,g,v,m)}this.renderPass=\"translucent\";var y,x=[];for(this.currentLayer=0,this.currentLayer;this.currentLayer<s.length;this.currentLayer++){var b=n.style._layers[s[n.currentLayer]];b.source!==(y&&y.id)&&(x=[],(y=n.style.sourceCaches[b.source])&&(n.clearStencil(),x=y.getVisibleCoordinates(),y.getSource().isTileClipped&&n._renderTileClippingMasks(x)),x.reverse()),n.renderLayer(n,y,b,x)}if(this.options.showTileBoundaries){var _=this.style.sourceCaches[Object.keys(this.style.sourceCaches)[0]];_&&Lr.debug(this,_,_.getVisibleCoordinates())}},zr.prototype.setupOffscreenDepthRenderbuffer=function(){var t=this.context;this.depthRbo||(this.depthRbo=t.createRenderbuffer(t.gl.DEPTH_COMPONENT16,this.width,this.height))},zr.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\"background\"===r.type||n.length)&&(this.id=r.id,Lr[r.type](t,e,r,n))},zr.prototype.translatePosMatrix=function(e,r,n,i,a){if(!n[0]&&!n[1])return e;var o=a?\"map\"===i?this.transform.angle:0:\"viewport\"===i?-this.transform.angle:0;if(o){var s=Math.sin(o),l=Math.cos(o);n=[n[0]*l-n[1]*s,n[0]*s+n[1]*l]}var c=[a?n[0]:Te(r,n[0],this.transform.zoom),a?n[1]:Te(r,n[1],this.transform.zoom),0],u=new Float32Array(16);return t.mat4.translate(u,e,c),u},zr.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},zr.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},zr.prototype._createProgramCached=function(t,e){this.cache=this.cache||{};var r=\"\"+t+(e.cacheKey||\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[r]||(this.cache[r]=new ir(this.context,nr[t],e,this._showOverdrawInspector)),this.cache[r]},zr.prototype.useProgram=function(t,e){var r=this._createProgramCached(t,e||this.emptyProgramConfiguration);return this.context.program.set(r.program),r};var Dr=t.default$20.vec4,Rr=t.default$20.mat4,Br=t.default$20.mat2,Fr=function(t,e,r){this.tileSize=512,this._renderWorldCopies=void 0===r||r,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new G(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},Nr={minZoom:{configurable:!0},maxZoom:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerPoint:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},unmodified:{configurable:!0},x:{configurable:!0},y:{configurable:!0},point:{configurable:!0}};Fr.prototype.clone=function(){var t=new Fr(this._minZoom,this._maxZoom,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._calcMatrices(),t},Nr.minZoom.get=function(){return this._minZoom},Nr.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Nr.maxZoom.get=function(){return this._maxZoom},Nr.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Nr.renderWorldCopies.get=function(){return this._renderWorldCopies},Nr.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Nr.worldSize.get=function(){return this.tileSize*this.scale},Nr.centerPoint.get=function(){return this.size._div(2)},Nr.size.get=function(){return new t.default$1(this.width,this.height)},Nr.bearing.get=function(){return-this.angle/Math.PI*180},Nr.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=Br.create(),Br.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Nr.pitch.get=function(){return this._pitch/Math.PI*180},Nr.pitch.set=function(e){var r=t.clamp(e,0,60)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Nr.fov.get=function(){return this._fov/Math.PI*180},Nr.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Nr.zoom.get=function(){return this._zoom},Nr.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Nr.center.get=function(){return this._center},Nr.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Fr.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Fr.prototype.getVisibleUnwrappedCoordinates=function(e){var r=this.pointCoordinate(new t.default$1(0,0),0),n=this.pointCoordinate(new t.default$1(this.width,0),0),i=Math.floor(r.column),a=Math.floor(n.column),o=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var s=i;s<=a;s++)0!==s&&o.push(new t.UnwrappedTileID(s,e));return o},Fr.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&r<e.minzoom)return[];void 0!==e.maxzoom&&r>e.maxzoom&&(r=e.maxzoom);var i=this.pointCoordinate(this.centerPoint,r),a=new t.default$1(i.column-.5,i.row-.5);return function(e,r,n,i){void 0===i&&(i=!0);var a=1<<e,o={};function s(r,s,l){var c,u,f,h;if(l>=0&&l<=a)for(c=r;c<s;c++)u=Math.floor(c/a),f=(c%a+a)%a,0!==u&&!0!==i||(h=new t.OverscaledTileID(n,u,e,f,l),o[h.key]=h)}return Ir(r[0],r[1],r[2],0,a,s),Ir(r[2],r[3],r[0],0,a,s),Object.keys(o).map(function(t){return o[t]})}(r,[this.pointCoordinate(new t.default$1(0,0),r),this.pointCoordinate(new t.default$1(this.width,0),r),this.pointCoordinate(new t.default$1(this.width,this.height),r),this.pointCoordinate(new t.default$1(0,this.height),r)],e.reparseOverscaled?n:r,this._renderWorldCopies).sort(function(t,e){return a.dist(t.canonical)-a.dist(e.canonical)})},Fr.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Nr.unmodified.get=function(){return this._unmodified},Fr.prototype.zoomScale=function(t){return Math.pow(2,t)},Fr.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Fr.prototype.project=function(e){return new t.default$1(this.lngX(e.lng),this.latY(e.lat))},Fr.prototype.unproject=function(t){return new G(this.xLng(t.x),this.yLat(t.y))},Nr.x.get=function(){return this.lngX(this.center.lng)},Nr.y.get=function(){return this.latY(this.center.lat)},Nr.point.get=function(){return new t.default$1(this.x,this.y)},Fr.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Fr.prototype.latY=function(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},Fr.prototype.xLng=function(t){return 360*t/this.worldSize-180},Fr.prototype.yLat=function(t){var e=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90},Fr.prototype.setLocationAtPoint=function(t,e){var r=this.pointCoordinate(e)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(r)),this._renderWorldCopies&&(this.center=this.center.wrap())},Fr.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Fr.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Fr.prototype.locationCoordinate=function(e){return new t.default$17(this.lngX(e.lng)/this.tileSize,this.latY(e.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Fr.prototype.coordinateLocation=function(t){var e=t.zoomTo(this.zoom);return new G(this.xLng(e.column*this.tileSize),this.yLat(e.row*this.tileSize))},Fr.prototype.pointCoordinate=function(e,r){void 0===r&&(r=this.tileZoom);var n=[e.x,e.y,0,1],i=[e.x,e.y,1,1];Dr.transformMat4(n,n,this.pixelMatrixInverse),Dr.transformMat4(i,i,this.pixelMatrixInverse);var a=n[3],o=i[3],s=n[0]/a,l=i[0]/o,c=n[1]/a,u=i[1]/o,f=n[2]/a,h=i[2]/o,p=f===h?0:(0-f)/(h-f);return new t.default$17(t.number(s,l,p)/this.tileSize,t.number(c,u,p)/this.tileSize,this.zoom)._zoomTo(r)},Fr.prototype.coordinatePoint=function(e){var r=e.zoomTo(this.zoom),n=[r.column*this.tileSize,r.row*this.tileSize,0,1];return Dr.transformMat4(n,n,this.pixelMatrix),new t.default$1(n[0]/n[3],n[1]/n[3])},Fr.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=Rr.identity(new Float64Array(16));return Rr.translate(l,l,[s*o,a.y*o,0]),Rr.scale(l,l,[o/t.default$8,o/t.default$8,1]),Rr.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},Fr.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var f=this.latRange;a=this.latY(f[1]),e=(o=this.latY(f[0]))-a<c.y?c.y/(o-a):0}if(this.lngRange){var h=this.lngRange;s=this.lngX(h[0]),r=(l=this.lngX(h[1]))-s<c.x?c.x/(l-s):0}var p=Math.max(r||0,e||0);if(p)return this.center=this.unproject(new t.default$1(r?(l+s)/2:this.x,e?(o+a)/2:this.y)),this.zoom+=this.scaleZoom(p),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var d=this.y,g=c.y/2;d-g<a&&(i=a+g),d+g>o&&(i=o-g)}if(this.lngRange){var m=this.x,v=c.x/2;m-v<s&&(n=s+v),m+v>l&&(n=l-v)}void 0===n&&void 0===i||(this.center=this.unproject(new t.default$1(void 0!==n?n:this.x,void 0!==i?i:this.y))),this._unmodified=u,this._constraining=!1}},Fr.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,e=Math.PI/2+this._pitch,r=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-e-t),n=this.x,i=this.y,a=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),o=new Float64Array(16);Rr.perspective(o,this._fov,this.width/this.height,1,a),Rr.scale(o,o,[1,-1,1]),Rr.translate(o,o,[0,0,-this.cameraToCenterDistance]),Rr.rotateX(o,o,this._pitch),Rr.rotateZ(o,o,this.angle),Rr.translate(o,o,[-n,-i,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));Rr.scale(o,o,[1,1,s,1]),this.projMatrix=o;var l=this.width%2/2,c=this.height%2/2,u=Math.cos(this.angle),f=Math.sin(this.angle),h=n-Math.round(n)+u*l+f*c,p=i-Math.round(i)+u*c+f*l,d=new Float64Array(o);if(Rr.translate(d,d,[h>.5?h-1:h,p>.5?p-1:p,0]),this.alignedProjMatrix=d,o=Rr.create(),Rr.scale(o,o,[this.width/2,-this.height/2,1]),Rr.translate(o,o,[1,-1,0]),this.pixelMatrix=Rr.multiply(new Float64Array(16),o,this.projMatrix),!(o=Rr.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Fr.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.default$1(0,0)).zoomTo(this.zoom),r=[e.column*this.tileSize,e.row*this.tileSize,0,1];return Dr.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},Object.defineProperties(Fr.prototype,Nr);var jr=function(){var e,r,n,i;t.bindAll([\"_onHashChange\",\"_updateHash\"],this),this._updateHash=(e=this._updateHashUnthrottled.bind(this),300,r=!1,n=0,i=function(){n=0,r&&(e(),n=setTimeout(i,300),r=!1)},function(){return r=!0,n||i(),n})};jr.prototype.addTo=function(e){return this._map=e,t.default.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},jr.prototype.remove=function(){return t.default.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},jr.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),c=\"\";return c+=t?\"#/\"+a+\"/\"+o+\"/\"+r:\"#\"+r+\"/\"+o+\"/\"+a,(s||l)&&(c+=\"/\"+Math.round(10*s)/10),l&&(c+=\"/\"+Math.round(l)),c},jr.prototype._onHashChange=function(){var e=t.default.location.hash.replace(\"#\",\"\").split(\"/\");return e.length>=3&&(this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:+(e[3]||0),pitch:+(e[4]||0)}),!0)},jr.prototype._updateHashUnthrottled=function(){var e=this.getHashString();t.default.history.replaceState(t.default.history.state,\"\",e)};var Vr=function(e){function r(r,n,i,a){void 0===a&&(a={});var o=s.mousePos(n.getCanvasContainer(),i),l=n.unproject(o);e.call(this,r,t.extend({point:o,lngLat:l,originalEvent:i},a)),this._defaultPrevented=!1,this.target=n}e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r;var n={defaultPrevented:{configurable:!0}};return r.prototype.preventDefault=function(){this._defaultPrevented=!0},n.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(r.prototype,n),r}(t.Event),Ur=function(e){function r(r,n,i){var a=s.touchPos(n.getCanvasContainer(),i),o=a.map(function(t){return n.unproject(t)}),l=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new t.default$1(0,0)),c=n.unproject(l);e.call(this,r,{points:a,point:l,lngLats:o,lngLat:c,originalEvent:i}),this._defaultPrevented=!1}e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r;var n={defaultPrevented:{configurable:!0}};return r.prototype.preventDefault=function(){this._defaultPrevented=!0},n.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(r.prototype,n),r}(t.Event),qr=function(t){function e(e,r,n){t.call(this,e,{originalEvent:n}),this._defaultPrevented=!1}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,r),e}(t.Event),Hr=function(e){this._map=e,this._el=e.getCanvasContainer(),this._delta=0,t.bindAll([\"_onWheel\",\"_onTimeout\",\"_onScrollFrame\",\"_onScrollFinished\"],this)};Hr.prototype.isEnabled=function(){return!!this._enabled},Hr.prototype.isActive=function(){return!!this._active},Hr.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},Hr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Hr.prototype.onWheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.default.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=a.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type=\"wheel\":0!==r&&Math.abs(r)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this.isActive()||this._start(e)),e.preventDefault()}},Hr.prototype._onTimeout=function(t){this._type=\"wheel\",this._delta-=this._lastValue,this.isActive()||this._start(t)},Hr.prototype._start=function(e){if(this._delta){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),this._active=!0,this._map.fire(new t.Event(\"movestart\",{originalEvent:e})),this._map.fire(new t.Event(\"zoomstart\",{originalEvent:e})),this._finishTimeout&&clearTimeout(this._finishTimeout);var r=s.mousePos(this._el,e);this._around=G.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(r)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame))}},Hr.prototype._onScrollFrame=function(){var e=this;if(this._frameId=null,this.isActive()){var r=this._map.transform;if(0!==this._delta){var n=\"wheel\"===this._type&&Math.abs(this._delta)>4.000244140625?1/450:.01,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var o=\"number\"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(o*i))),\"wheel\"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var s=!1;if(\"wheel\"===this._type){var l=Math.min((a.now()-this._lastWheelEventTime)/200,1),c=this._easing(l);r.zoom=t.number(this._startZoom,this._targetZoom,c),l<1?this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame)):s=!0}else r.zoom=this._targetZoom,s=!0;r.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(new t.Event(\"move\",{originalEvent:this._lastWheelEvent})),this._map.fire(new t.Event(\"zoom\",{originalEvent:this._lastWheelEvent})),s&&(this._active=!1,this._finishTimeout=setTimeout(function(){e._map.fire(new t.Event(\"zoomend\",{originalEvent:e._lastWheelEvent})),e._map.fire(new t.Event(\"moveend\",{originalEvent:e._lastWheelEvent})),delete e._targetZoom},200))}},Hr.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(a.now()-n.start)/n.duration,o=n.easing(i+.01)-n.easing(i),s=.27/Math.sqrt(o*o+1e-4)*.01,l=Math.sqrt(.0729-s*s);r=t.bezier(s,l,.25,1)}return this._prevEase={start:a.now(),duration:e,easing:r},r};var Gr=function(e){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),t.bindAll([\"_onMouseMove\",\"_onMouseUp\",\"_onKeyDown\"],this)};Gr.prototype.isEnabled=function(){return!!this._enabled},Gr.prototype.isActive=function(){return!!this._active},Gr.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Gr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Gr.prototype.onMouseDown=function(e){this.isEnabled()&&e.shiftKey&&0===e.button&&(t.default.document.addEventListener(\"mousemove\",this._onMouseMove,!1),t.default.document.addEventListener(\"keydown\",this._onKeyDown,!1),t.default.document.addEventListener(\"mouseup\",this._onMouseUp,!1),s.disableDrag(),this._startPos=s.mousePos(this._el,e),this._active=!0)},Gr.prototype._onMouseMove=function(t){var e=this._startPos,r=s.mousePos(this._el,t);this._box||(this._box=s.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",t));var n=Math.min(e.x,r.x),i=Math.max(e.x,r.x),a=Math.min(e.y,r.y),o=Math.max(e.y,r.y);s.setTransform(this._box,\"translate(\"+n+\"px,\"+a+\"px)\"),this._box.style.width=i-n+\"px\",this._box.style.height=o-a+\"px\"},Gr.prototype._onMouseUp=function(e){if(0===e.button){var r=this._startPos,n=s.mousePos(this._el,e),i=(new W).extend(this._map.unproject(r)).extend(this._map.unproject(n));this._finish(),s.suppressClick(),r.x===n.x&&r.y===n.y?this._fireEvent(\"boxzoomcancel\",e):this._map.fitBounds(i,{linear:!0}).fire(new t.Event(\"boxzoomend\",{originalEvent:e,boxZoomBounds:i}))}},Gr.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent(\"boxzoomcancel\",t))},Gr.prototype._finish=function(){this._active=!1,t.default.document.removeEventListener(\"mousemove\",this._onMouseMove,!1),t.default.document.removeEventListener(\"keydown\",this._onKeyDown,!1),t.default.document.removeEventListener(\"mouseup\",this._onMouseUp,!1),this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(s.remove(this._box),this._box=null),s.enableDrag()},Gr.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,{originalEvent:r}))};var Wr=t.bezier(0,0,.25,1),Yr=function(e,r){this._map=e,this._el=r.element||e.getCanvasContainer(),this._state=\"disabled\",this._button=r.button||\"right\",this._bearingSnap=r.bearingSnap||0,this._pitchWithRotate=!1!==r.pitchWithRotate,t.bindAll([\"_onMouseMove\",\"_onMouseUp\",\"_onBlur\",\"_onDragFrame\"],this)};Yr.prototype.isEnabled=function(){return\"disabled\"!==this._state},Yr.prototype.isActive=function(){return\"active\"===this._state},Yr.prototype.enable=function(){this.isEnabled()||(this._state=\"enabled\")},Yr.prototype.disable=function(){if(this.isEnabled())switch(this._state){case\"active\":this._state=\"disabled\",this._unbind(),this._deactivate(),this._fireEvent(\"rotateend\"),this._pitchWithRotate&&this._fireEvent(\"pitchend\"),this._fireEvent(\"moveend\");break;case\"pending\":this._state=\"disabled\",this._unbind();break;default:this._state=\"disabled\"}},Yr.prototype.onMouseDown=function(e){if(\"enabled\"===this._state){if(\"right\"===this._button){if(this._eventButton=s.mouseButton(e),this._eventButton!==(e.ctrlKey?0:2))return}else{if(e.ctrlKey||0!==s.mouseButton(e))return;this._eventButton=0}s.disableDrag(),t.default.document.addEventListener(\"mousemove\",this._onMouseMove,{capture:!0}),t.default.document.addEventListener(\"mouseup\",this._onMouseUp),t.default.addEventListener(\"blur\",this._onBlur),this._state=\"pending\",this._inertia=[[a.now(),this._map.getBearing()]],this._previousPos=s.mousePos(this._el,e),this._center=this._map.transform.centerPoint,e.preventDefault()}},Yr.prototype._onMouseMove=function(t){this._lastMoveEvent=t,this._pos=s.mousePos(this._el,t),\"pending\"===this._state&&(this._state=\"active\",this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t),this._pitchWithRotate&&this._fireEvent(\"pitchstart\",t)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame))},Yr.prototype._onDragFrame=function(){this._frameId=null;var t=this._lastMoveEvent;if(t){var e=this._map.transform,r=this._previousPos,n=this._pos,i=.8*(r.x-n.x),o=-.5*(r.y-n.y),s=e.bearing-i,l=e.pitch-o,c=this._inertia,u=c[c.length-1];this._drainInertiaBuffer(),c.push([a.now(),this._map._normalizeBearing(s,u[1])]),e.bearing=s,this._pitchWithRotate&&(this._fireEvent(\"pitch\",t),e.pitch=l),this._fireEvent(\"rotate\",t),this._fireEvent(\"move\",t),delete this._lastMoveEvent,this._previousPos=this._pos}},Yr.prototype._onMouseUp=function(t){if(s.mouseButton(t)===this._eventButton)switch(this._state){case\"active\":this._state=\"enabled\",s.suppressClick(),this._unbind(),this._deactivate(),this._inertialRotate(t);break;case\"pending\":this._state=\"enabled\",this._unbind()}},Yr.prototype._onBlur=function(t){switch(this._state){case\"active\":this._state=\"enabled\",this._unbind(),this._deactivate(),this._fireEvent(\"rotateend\",t),this._pitchWithRotate&&this._fireEvent(\"pitchend\",t),this._fireEvent(\"moveend\",t);break;case\"pending\":this._state=\"enabled\",this._unbind()}},Yr.prototype._unbind=function(){t.default.document.removeEventListener(\"mousemove\",this._onMouseMove,{capture:!0}),t.default.document.removeEventListener(\"mouseup\",this._onMouseUp),t.default.removeEventListener(\"blur\",this._onBlur),s.enableDrag()},Yr.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._previousPos},Yr.prototype._inertialRotate=function(t){var e=this;this._fireEvent(\"rotateend\",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),i=this._inertia,a=function(){Math.abs(n)<e._bearingSnap?r.resetNorth({noMoveStart:!0},{originalEvent:t}):e._fireEvent(\"moveend\",t),e._pitchWithRotate&&e._fireEvent(\"pitchend\",t)};if(i.length<2)a();else{var o=i[0],s=i[i.length-1],l=i[i.length-2],c=r._normalizeBearing(n,l[1]),u=s[1]-o[1],f=u<0?-1:1,h=(s[0]-o[0])/1e3;if(0!==u&&0!==h){var p=Math.abs(u*(.25/h));p>180&&(p=180);var d=p/180;c+=f*p*(d/2),Math.abs(r._normalizeBearing(c,0))<this._bearingSnap&&(c=r._normalizeBearing(0,c)),r.rotateTo(c,{duration:1e3*d,easing:Wr,noMoveStart:!0},{originalEvent:t})}else a()}},Yr.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},Yr.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=a.now();t.length>0&&e-t[0][0]>160;)t.shift()};var Xr=t.bezier(0,0,.3,1),Zr=function(e){this._map=e,this._el=e.getCanvasContainer(),this._state=\"disabled\",t.bindAll([\"_onMove\",\"_onMouseUp\",\"_onTouchEnd\",\"_onBlur\",\"_onDragFrame\"],this)};Zr.prototype.isEnabled=function(){return\"disabled\"!==this._state},Zr.prototype.isActive=function(){return\"active\"===this._state},Zr.prototype.enable=function(){this.isEnabled()||(this._el.classList.add(\"mapboxgl-touch-drag-pan\"),this._state=\"enabled\")},Zr.prototype.disable=function(){if(this.isEnabled())switch(this._el.classList.remove(\"mapboxgl-touch-drag-pan\"),this._state){case\"active\":this._state=\"disabled\",this._unbind(),this._deactivate(),this._fireEvent(\"dragend\"),this._fireEvent(\"moveend\");break;case\"pending\":this._state=\"disabled\",this._unbind();break;default:this._state=\"disabled\"}},Zr.prototype.onMouseDown=function(e){\"enabled\"===this._state&&(e.ctrlKey||0!==s.mouseButton(e)||(s.addEventListener(t.default.document,\"mousemove\",this._onMove,{capture:!0}),s.addEventListener(t.default.document,\"mouseup\",this._onMouseUp),this._start(e)))},Zr.prototype.onTouchStart=function(e){\"enabled\"===this._state&&(e.touches.length>1||(s.addEventListener(t.default.document,\"touchmove\",this._onMove,{capture:!0,passive:!1}),s.addEventListener(t.default.document,\"touchend\",this._onTouchEnd),this._start(e)))},Zr.prototype._start=function(e){t.default.addEventListener(\"blur\",this._onBlur),this._state=\"pending\",this._previousPos=s.mousePos(this._el,e),this._inertia=[[a.now(),this._previousPos]]},Zr.prototype._onMove=function(t){this._lastMoveEvent=t,t.preventDefault(),this._pos=s.mousePos(this._el,t),this._drainInertiaBuffer(),this._inertia.push([a.now(),this._pos]),\"pending\"===this._state&&(this._state=\"active\",this._fireEvent(\"dragstart\",t),this._fireEvent(\"movestart\",t)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame))},Zr.prototype._onDragFrame=function(){this._frameId=null;var t=this._lastMoveEvent;if(t){var e=this._map.transform;e.setLocationAtPoint(e.pointLocation(this._previousPos),this._pos),this._fireEvent(\"drag\",t),this._fireEvent(\"move\",t),this._previousPos=this._pos,delete this._lastMoveEvent}},Zr.prototype._onMouseUp=function(t){if(0===s.mouseButton(t))switch(this._state){case\"active\":this._state=\"enabled\",s.suppressClick(),this._unbind(),this._deactivate(),this._inertialPan(t);break;case\"pending\":this._state=\"enabled\",this._unbind()}},Zr.prototype._onTouchEnd=function(t){switch(this._state){case\"active\":this._state=\"enabled\",this._unbind(),this._deactivate(),this._inertialPan(t);break;case\"pending\":this._state=\"enabled\",this._unbind()}},Zr.prototype._onBlur=function(t){switch(this._state){case\"active\":this._state=\"enabled\",this._unbind(),this._deactivate(),this._fireEvent(\"dragend\",t),this._fireEvent(\"moveend\",t);break;case\"pending\":this._state=\"enabled\",this._unbind()}},Zr.prototype._unbind=function(){s.removeEventListener(t.default.document,\"touchmove\",this._onMove,{capture:!0,passive:!1}),s.removeEventListener(t.default.document,\"touchend\",this._onTouchEnd),s.removeEventListener(t.default.document,\"mousemove\",this._onMove,{capture:!0}),s.removeEventListener(t.default.document,\"mouseup\",this._onMouseUp),s.removeEventListener(t.default,\"blur\",this._onBlur)},Zr.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._previousPos,delete this._pos},Zr.prototype._inertialPan=function(t){this._fireEvent(\"dragend\",t),this._drainInertiaBuffer();var e=this._inertia;if(e.length<2)this._fireEvent(\"moveend\",t);else{var r=e[e.length-1],n=e[0],i=r[1].sub(n[1]),a=(r[0]-n[0])/1e3;if(0===a||r[1].equals(n[1]))this._fireEvent(\"moveend\",t);else{var o=i.mult(.3/a),s=o.mag();s>1400&&(s=1400,o._unit()._mult(s));var l=s/750,c=o.mult(-l/2);this._map.panBy(c,{duration:1e3*l,easing:Xr,noMoveStart:!0},{originalEvent:t})}}},Zr.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},Zr.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=a.now();t.length>0&&e-t[0][0]>160;)t.shift()};var $r=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll([\"_onKeyDown\"],this)};function Jr(t){return t*(2-t)}$r.prototype.isEnabled=function(){return!!this._enabled},$r.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"keydown\",this._onKeyDown,!1),this._enabled=!0)},$r.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"keydown\",this._onKeyDown),this._enabled=!1)},$r.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,n=0,i=0,a=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),i=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),i=1);break;case 38:t.shiftKey?n=1:(t.preventDefault(),a=-1);break;case 40:t.shiftKey?n=-1:(a=1,t.preventDefault());break;default:return}var o=this._map,s=o.getZoom(),l={duration:300,delayEndEvents:500,easing:Jr,zoom:e?Math.round(s)+e*(t.shiftKey?2:1):s,bearing:o.getBearing()+15*r,pitch:o.getPitch()+10*n,offset:[100*-i,100*-a],center:o.getCenter()};o.easeTo(l,{originalEvent:t})}};var Kr=function(e){this._map=e,t.bindAll([\"_onDblClick\",\"_onZoomEnd\"],this)};Kr.prototype.isEnabled=function(){return!!this._enabled},Kr.prototype.isActive=function(){return!!this._active},Kr.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Kr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Kr.prototype.onTouchStart=function(t){var e=this;this.isEnabled()&&(t.points.length>1||(this._tapped?(clearTimeout(this._tapped),this._tapped=null,this._zoom(t)):this._tapped=setTimeout(function(){e._tapped=null},300)))},Kr.prototype.onDblClick=function(t){this.isEnabled()&&(t.originalEvent.preventDefault(),this._zoom(t))},Kr.prototype._zoom=function(t){this._active=!0,this._map.on(\"zoomend\",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},Kr.prototype._onZoomEnd=function(){this._active=!1,this._map.off(\"zoomend\",this._onZoomEnd)};var Qr=t.bezier(0,0,.15,1),tn=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll([\"_onMove\",\"_onEnd\",\"_onTouchFrame\"],this)};tn.prototype.isEnabled=function(){return!!this._enabled},tn.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add(\"mapboxgl-touch-zoom-rotate\"),this._enabled=!0,this._aroundCenter=!!t&&\"center\"===t.around)},tn.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\"),this._enabled=!1)},tn.prototype.disableRotation=function(){this._rotationDisabled=!0},tn.prototype.enableRotation=function(){this._rotationDisabled=!1},tn.prototype.onStart=function(e){if(this.isEnabled()&&2===e.touches.length){var r=s.mousePos(this._el,e.touches[0]),n=s.mousePos(this._el,e.touches[1]);this._startVec=r.sub(n),this._gestureIntent=void 0,this._inertia=[],s.addEventListener(t.default.document,\"touchmove\",this._onMove,{passive:!1}),s.addEventListener(t.default.document,\"touchend\",this._onEnd)}},tn.prototype._getTouchEventData=function(t){var e=s.mousePos(this._el,t.touches[0]),r=s.mousePos(this._el,t.touches[1]),n=e.sub(r);return{vec:n,center:e.add(r).div(2),scale:n.mag()/this._startVec.mag(),bearing:this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI}},tn.prototype._onMove=function(e){if(2===e.touches.length){var r=this._getTouchEventData(e),n=r.vec,i=r.scale,a=r.bearing;if(!this._gestureIntent){var o=Math.abs(1-i)>.15;Math.abs(a)>10?this._gestureIntent=\"rotate\":o&&(this._gestureIntent=\"zoom\"),this._gestureIntent&&(this._map.fire(new t.Event(this._gestureIntent+\"start\",{originalEvent:e})),this._map.fire(new t.Event(\"movestart\",{originalEvent:e})),this._startVec=n)}this._lastTouchEvent=e,this._frameId||(this._frameId=this._map._requestRenderFrame(this._onTouchFrame)),e.preventDefault()}},tn.prototype._onTouchFrame=function(){this._frameId=null;var e=this._gestureIntent;if(e){var r=this._map.transform;this._startScale||(this._startScale=r.scale,this._startBearing=r.bearing);var n=this._getTouchEventData(this._lastTouchEvent),i=n.center,o=n.bearing,s=n.scale,l=r.pointLocation(i),c=r.locationPoint(l);\"rotate\"===e&&(r.bearing=this._startBearing+o),r.zoom=r.scaleZoom(this._startScale*s),r.setLocationAtPoint(l,c),this._map.fire(new t.Event(e,{originalEvent:this._lastTouchEvent})),this._map.fire(new t.Event(\"move\",{originalEvent:this._lastTouchEvent})),this._drainInertiaBuffer(),this._inertia.push([a.now(),s,i])}},tn.prototype._onEnd=function(e){s.removeEventListener(t.default.document,\"touchmove\",this._onMove,{passive:!1}),s.removeEventListener(t.default.document,\"touchend\",this._onEnd);var r=this._gestureIntent,n=this._startScale;if(this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._gestureIntent,delete this._startScale,delete this._startBearing,delete this._lastTouchEvent,r){this._map.fire(new t.Event(r+\"end\",{originalEvent:e})),this._drainInertiaBuffer();var i=this._inertia,a=this._map;if(i.length<2)a.snapToNorth({},{originalEvent:e});else{var o=i[i.length-1],l=i[0],c=a.transform.scaleZoom(n*o[1]),u=a.transform.scaleZoom(n*l[1]),f=c-u,h=(o[0]-l[0])/1e3,p=o[2];if(0!==h&&c!==u){var d=.15*f/h;Math.abs(d)>2.5&&(d=d>0?2.5:-2.5);var g=1e3*Math.abs(d/(12*.15)),m=c+d*g/2e3;m<0&&(m=0),a.easeTo({zoom:m,duration:g,easing:Qr,around:this._aroundCenter?a.getCenter():a.unproject(p),noMoveStart:!0},{originalEvent:e})}else a.snapToNorth({},{originalEvent:e})}}},tn.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=a.now();t.length>2&&e-t[0][0]>160;)t.shift()};var en={scrollZoom:Hr,boxZoom:Gr,dragRotate:Yr,dragPan:Zr,keyboard:$r,doubleClickZoom:Kr,touchZoomRotate:tn},rn=function(e){function r(r,n){e.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,t.bindAll([\"_renderFrameCallback\"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getCenter=function(){return this.transform.center},r.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},r.prototype.panBy=function(e,r,n){return e=t.default$1.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},r),n)},r.prototype.panTo=function(e,r,n){return this.easeTo(t.extend({center:e},r),n)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},r.prototype.zoomTo=function(e,r,n){return this.easeTo(t.extend({zoom:e},r),n)},r.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},r.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},r.prototype.rotateTo=function(e,r,n){return this.easeTo(t.extend({bearing:e},r),n)},r.prototype.resetNorth=function(e,r){return this.rotateTo(0,t.extend({duration:1e3},e),r),this},r.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},r.prototype.getPitch=function(){return this.transform.pitch},r.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},r.prototype.fitBounds=function(e,r,n){if(\"number\"==typeof(r=t.extend({padding:{top:0,bottom:0,right:0,left:0},offset:[0,0],maxZoom:this.transform.maxZoom},r)).padding){var i=r.padding;r.padding={top:i,bottom:i,right:i,left:i}}if(!t.default$10(Object.keys(r.padding).sort(function(t,e){return t<e?-1:t>e?1:0}),[\"bottom\",\"left\",\"right\",\"top\"]))return t.warnOnce(\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\"),this;e=W.convert(e);var a=[(r.padding.left-r.padding.right)/2,(r.padding.top-r.padding.bottom)/2],o=Math.min(r.padding.right,r.padding.left),s=Math.min(r.padding.top,r.padding.bottom);r.offset=[r.offset[0]+a[0],r.offset[1]+a[1]];var l=t.default$1.convert(r.offset),c=this.transform,u=c.project(e.getNorthWest()),f=c.project(e.getSouthEast()),h=f.sub(u),p=(c.width-2*o-2*Math.abs(l.x))/h.x,d=(c.height-2*s-2*Math.abs(l.y))/h.y;return d<0||p<0?(t.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\"),this):(r.center=c.unproject(u.add(f).div(2)),r.zoom=Math.min(c.scaleZoom(c.scale*Math.min(p,d)),r.maxZoom),r.bearing=0,r.linear?this.easeTo(r,n):this.flyTo(r,n))},r.prototype.jumpTo=function(e,r){this.stop();var n=this.transform,i=!1,a=!1,o=!1;return\"zoom\"in e&&n.zoom!==+e.zoom&&(i=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=G.convert(e.center)),\"bearing\"in e&&n.bearing!==+e.bearing&&(a=!0,n.bearing=+e.bearing),\"pitch\"in e&&n.pitch!==+e.pitch&&(o=!0,n.pitch=+e.pitch),this.fire(new t.Event(\"movestart\",r)).fire(new t.Event(\"move\",r)),i&&this.fire(new t.Event(\"zoomstart\",r)).fire(new t.Event(\"zoom\",r)).fire(new t.Event(\"zoomend\",r)),a&&this.fire(new t.Event(\"rotatestart\",r)).fire(new t.Event(\"rotate\",r)).fire(new t.Event(\"rotateend\",r)),o&&this.fire(new t.Event(\"pitchstart\",r)).fire(new t.Event(\"pitch\",r)).fire(new t.Event(\"pitchend\",r)),this.fire(new t.Event(\"moveend\",r))},r.prototype.easeTo=function(e,r){var n=this;this.stop(),!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate&&(e.duration=0);var i=this.transform,a=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l=\"zoom\"in e?+e.zoom:a,c=\"bearing\"in e?this._normalizeBearing(e.bearing,o):o,u=\"pitch\"in e?+e.pitch:s,f=i.centerPoint.add(t.default$1.convert(e.offset)),h=i.pointLocation(f),p=G.convert(e.center||h);this._normalizeCenter(p);var d,g,m=i.project(h),v=i.project(p).sub(m),y=i.zoomScale(l-a);return e.around&&(d=G.convert(e.around),g=i.locationPoint(d)),this._zooming=l!==a,this._rotating=o!==c,this._pitching=u!==s,this._prepareEase(r,e.noMoveStart),clearTimeout(this._easeEndTimeoutID),this._ease(function(e){if(n._zooming&&(i.zoom=t.number(a,l,e)),n._rotating&&(i.bearing=t.number(o,c,e)),n._pitching&&(i.pitch=t.number(s,u,e)),d)i.setLocationAtPoint(d,g);else{var h=i.zoomScale(i.zoom-a),p=l>a?Math.min(2,y):Math.max(.5,y),x=Math.pow(p,1-e),b=i.unproject(m.add(v.mult(e*x)).mult(h));i.setLocationAtPoint(i.renderWorldCopies?b.wrap():b,f)}n._fireMoveEvents(r)},function(){e.delayEndEvents?n._easeEndTimeoutID=setTimeout(function(){return n._afterEase(r)},e.delayEndEvents):n._afterEase(r)},e),this},r.prototype._prepareEase=function(e,r){this._moving=!0,r||this.fire(new t.Event(\"movestart\",e)),this._zooming&&this.fire(new t.Event(\"zoomstart\",e)),this._rotating&&this.fire(new t.Event(\"rotatestart\",e)),this._pitching&&this.fire(new t.Event(\"pitchstart\",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event(\"move\",e)),this._zooming&&this.fire(new t.Event(\"zoom\",e)),this._rotating&&this.fire(new t.Event(\"rotate\",e)),this._pitching&&this.fire(new t.Event(\"pitch\",e))},r.prototype._afterEase=function(e){var r=this._zooming,n=this._rotating,i=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,r&&this.fire(new t.Event(\"zoomend\",e)),n&&this.fire(new t.Event(\"rotateend\",e)),i&&this.fire(new t.Event(\"pitchend\",e)),this.fire(new t.Event(\"moveend\",e))},r.prototype.flyTo=function(e,r){var n=this;this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var i=this.transform,a=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l=\"zoom\"in e?t.clamp(+e.zoom,i.minZoom,i.maxZoom):a,c=\"bearing\"in e?this._normalizeBearing(e.bearing,o):o,u=\"pitch\"in e?+e.pitch:s,f=i.zoomScale(l-a),h=i.centerPoint.add(t.default$1.convert(e.offset)),p=i.pointLocation(h),d=G.convert(e.center||p);this._normalizeCenter(d);var g=i.project(p),m=i.project(d).sub(g),v=e.curve,y=Math.max(i.width,i.height),x=y/f,b=m.mag();if(\"minZoom\"in e){var _=t.clamp(Math.min(e.minZoom,a,l),i.minZoom,i.maxZoom),w=y/i.zoomScale(_-a);v=Math.sqrt(w/b*2)}var k=v*v;function M(t){var e=(x*x-y*y+(t?-1:1)*k*k*b*b)/(2*(t?x:y)*k*b);return Math.log(Math.sqrt(e*e+1)-e)}function A(t){return(Math.exp(t)-Math.exp(-t))/2}function T(t){return(Math.exp(t)+Math.exp(-t))/2}var S=M(0),E=function(t){return T(S)/T(S+v*t)},C=function(t){return y*((T(S)*(A(e=S+v*t)/T(e))-A(S))/k)/b;var e},L=(M(1)-S)/v;if(Math.abs(b)<1e-6||!isFinite(L)){if(Math.abs(y-x)<1e-6)return this.easeTo(e,r);var z=x<y?-1:1;L=Math.abs(Math.log(x/y))/v,C=function(){return 0},E=function(t){return Math.exp(z*v*t)}}if(\"duration\"in e)e.duration=+e.duration;else{var P=\"screenSpeed\"in e?+e.screenSpeed/v:+e.speed;e.duration=1e3*L/P}return e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=o!==c,this._pitching=u!==s,this._prepareEase(r,!1),this._ease(function(e){var l=e*L,f=1/E(l);i.zoom=a+i.scaleZoom(f),n._rotating&&(i.bearing=t.number(o,c,e)),n._pitching&&(i.pitch=t.number(s,u,e));var p=i.unproject(g.add(m.mult(C(l))).mult(f));i.setLocationAtPoint(i.renderWorldCopies?p.wrap():p,h),n._fireMoveEvents(r)},function(){return n._afterEase(r)},e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var t=this._onEaseEnd;delete this._onEaseEnd,t.call(this)}return this},r.prototype._ease=function(t,e,r){!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._easeOptions=r,this._onEaseFrame=t,this._onEaseEnd=e,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var t=Math.min((a.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)<n&&(e-=360),Math.abs(e+360-r)<n&&(e+=360),e},r.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var r=t.lng-e.center.lng;t.lng+=r>180?-360:r<-180?360:0}},r}(t.Evented),nn=function(e){void 0===e&&(e={}),this.options=e,t.bindAll([\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};nn.prototype.getDefaultPosition=function(){return\"bottom-right\"},nn.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=s.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),e&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===e&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},nn.prototype.onRemove=function(){s.remove(this._container),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0},nn.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var e=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:m.ACCESS_TOKEN}];if(t){var r=e.reduce(function(t,r,n){return r.value&&(t+=r.key+\"=\"+r.value+(n<e.length-1?\"&\":\"\")),t},\"?\");t.href=\"https://www.mapbox.com/feedback/\"+r+(this._map._hash?this._map._hash.getHashString(!0):\"\")}},nn.prototype._updateData=function(t){t&&\"metadata\"===t.sourceDataType&&(this._updateAttributions(),this._updateEditLink())},nn.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}var r=this._map.style.sourceCaches;for(var n in r){var i=r[n].getSource();i.attribution&&t.indexOf(i.attribution)<0&&t.push(i.attribution)}t.sort(function(t,e){return t.length-e.length}),(t=t.filter(function(e,r){for(var n=r+1;n<t.length;n++)if(t[n].indexOf(e)>=0)return!1;return!0})).length?(this._container.innerHTML=t.join(\" | \"),this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null}},nn.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\")};var an=function(){t.bindAll([\"_updateLogo\"],this)};an.prototype.onAdd=function(t){this._map=t,this._container=s.create(\"div\",\"mapboxgl-ctrl\");var e=s.create(\"a\",\"mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.href=\"https://www.mapbox.com/\",e.setAttribute(\"aria-label\",\"Mapbox logo\"),this._container.appendChild(e),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._container},an.prototype.onRemove=function(){s.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo)},an.prototype.getDefaultPosition=function(){return\"bottom-left\"},an.prototype._updateLogo=function(t){t&&\"metadata\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\")},an.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}};var on=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};on.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},on.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;r<n.length;r+=1){var i=n[r];if(i.id===t)return void(i.cancelled=!0)}},on.prototype.run=function(){var t=this._currentlyRunning=this._queue;this._queue=[];for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!n.cancelled&&(n.callback(),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},on.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var sn=t.default.HTMLImageElement,ln=t.default.HTMLElement,cn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,transformRequest:null,fadeDuration:300},un=function(r){function n(e){if(null!=(e=t.extend({},cn,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than minZoom\");var n=new Fr(e.minZoom,e.maxZoom,e.renderWorldCopies);r.call(this,n,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new on;var i=e.transformRequest;if(this._transformRequest=i?function(t,e){return i(t,e)||{url:t}}:function(t){return{url:t}},\"string\"==typeof e.container){var a=t.default.document.getElementById(e.container);if(!a)throw new Error(\"Container '\"+e.container+\"' not found.\");this._container=a}else{if(!(e.container instanceof ln))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=e.container}e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\",\"_update\",\"_render\",\"_onData\",\"_onDataLoading\"],this),this._setupContainer(),this._setupPainter(),this.on(\"move\",this._update.bind(this,!1)),this.on(\"zoom\",this._update.bind(this,!0)),void 0!==t.default&&(t.default.addEventListener(\"online\",this._onWindowOnline,!1),t.default.addEventListener(\"resize\",this._onWindowResize,!1)),function(t,e){var r=t.getCanvasContainer(),n=null,i=!1;for(var a in en)t[a]=new en[a](t,e),e.interactive&&e[a]&&t[a].enable(e[a]);s.addEventListener(r,\"mouseout\",function(e){t.fire(new Vr(\"mouseout\",t,e))}),s.addEventListener(r,\"mousedown\",function(r){i=!0;var n=new Vr(\"mousedown\",t,r);t.fire(n),n.defaultPrevented||(e.interactive&&!t.doubleClickZoom.isActive()&&t.stop(),t.boxZoom.onMouseDown(r),t.boxZoom.isActive()||t.dragPan.isActive()||t.dragRotate.onMouseDown(r),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onMouseDown(r))}),s.addEventListener(r,\"mouseup\",function(e){var r=t.dragRotate.isActive();n&&!r&&t.fire(new Vr(\"contextmenu\",t,n)),n=null,i=!1,t.fire(new Vr(\"mouseup\",t,e))}),s.addEventListener(r,\"mousemove\",function(e){if(!t.dragPan.isActive()&&!t.dragRotate.isActive()){for(var n=e.toElement||e.target;n&&n!==r;)n=n.parentNode;n===r&&t.fire(new Vr(\"mousemove\",t,e))}}),s.addEventListener(r,\"mouseover\",function(e){for(var n=e.toElement||e.target;n&&n!==r;)n=n.parentNode;n===r&&t.fire(new Vr(\"mouseover\",t,e))}),s.addEventListener(r,\"touchstart\",function(r){var n=new Ur(\"touchstart\",t,r);t.fire(n),n.defaultPrevented||(e.interactive&&t.stop(),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onTouchStart(r),t.touchZoomRotate.onStart(r),t.doubleClickZoom.onTouchStart(n))},{passive:!1}),s.addEventListener(r,\"touchmove\",function(e){t.fire(new Ur(\"touchmove\",t,e))},{passive:!1}),s.addEventListener(r,\"touchend\",function(e){t.fire(new Ur(\"touchend\",t,e))}),s.addEventListener(r,\"touchcancel\",function(e){t.fire(new Ur(\"touchcancel\",t,e))}),s.addEventListener(r,\"click\",function(e){t.fire(new Vr(\"click\",t,e))}),s.addEventListener(r,\"dblclick\",function(e){var r=new Vr(\"dblclick\",t,e);t.fire(r),r.defaultPrevented||t.doubleClickZoom.onDblClick(r)}),s.addEventListener(r,\"contextmenu\",function(e){var r=t.dragRotate.isActive();i||r?i&&(n=e):t.fire(new Vr(\"contextmenu\",t,e)),e.preventDefault()}),s.addEventListener(r,\"wheel\",function(e){var r=new qr(\"wheel\",t,e);t.fire(r),r.defaultPrevented||t.scrollZoom.onWheel(e)},{passive:!1})}(this,e),this._hash=e.hash&&(new jr).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new nn),this.addControl(new an,e.logoPosition),this.on(\"style.load\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",this._onData),this.on(\"dataloading\",this._onDataLoading)}r&&(n.__proto__=r),n.prototype=Object.create(r&&r.prototype),n.prototype.constructor=n;var i={showTileBoundaries:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0}};return n.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\"top-right\");var r=t.onAdd(this),n=this._controlPositions[e];return-1!==e.indexOf(\"bottom\")?n.insertBefore(r,n.firstChild):n.appendChild(r),this},n.prototype.removeControl=function(t){return t.onRemove(this),this},n.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];return this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i),this.fire(new t.Event(\"movestart\",e)).fire(new t.Event(\"move\",e)).fire(new t.Event(\"resize\",e)).fire(new t.Event(\"moveend\",e))},n.prototype.getBounds=function(){var e=new W(this.transform.pointLocation(new t.default$1(0,this.transform.height)),this.transform.pointLocation(new t.default$1(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(e.extend(this.transform.pointLocation(new t.default$1(this.transform.size.x,0))),e.extend(this.transform.pointLocation(new t.default$1(0,this.transform.size.y)))),e},n.prototype.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new W([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},n.prototype.setMaxBounds=function(t){if(t){var e=W.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null==t&&(this.transform.lngRange=null,this.transform.latRange=null,this._update());return this},n.prototype.setMinZoom=function(t){if((t=null==t?0:t)>=0&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error(\"minZoom must be between 0 and the current maxZoom, inclusive\")},n.prototype.getMinZoom=function(){return this.transform.minZoom},n.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},n.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},n.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update(),this},n.prototype.getMaxZoom=function(){return this.transform.maxZoom},n.prototype.project=function(t){return this.transform.locationPoint(G.convert(t))},n.prototype.unproject=function(e){return this.transform.pointLocation(t.default$1.convert(e))},n.prototype.isMoving=function(){return this._moving||this.dragPan.isActive()||this.dragRotate.isActive()||this.scrollZoom.isActive()},n.prototype.isZooming=function(){return this._zooming||this.scrollZoom.isActive()},n.prototype.isRotating=function(){return this._rotating||this.dragRotate.isActive()},n.prototype.on=function(t,e,n){var i,a=this;if(void 0===n)return r.prototype.on.call(this,t,e);var o=function(){if(\"mouseenter\"===t||\"mouseover\"===t){var r=!1;return{layer:e,listener:n,delegates:{mousemove:function(i){var o=a.getLayer(e)?a.queryRenderedFeatures(i.point,{layers:[e]}):[];o.length?r||(r=!0,n.call(a,new Vr(t,a,i.originalEvent,{features:o}))):r=!1},mouseout:function(){r=!1}}}}if(\"mouseleave\"===t||\"mouseout\"===t){var o=!1;return{layer:e,listener:n,delegates:{mousemove:function(r){(a.getLayer(e)?a.queryRenderedFeatures(r.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,n.call(a,new Vr(t,a,r.originalEvent)))},mouseout:function(e){o&&(o=!1,n.call(a,new Vr(t,a,e.originalEvent)))}}}}return{layer:e,listener:n,delegates:(i={},i[t]=function(t){var r=a.getLayer(e)?a.queryRenderedFeatures(t.point,{layers:[e]}):[];r.length&&(t.features=r,n.call(a,t),delete t.features)},i)}}();for(var s in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(o),o.delegates)a.on(s,o.delegates[s]);return this},n.prototype.off=function(t,e,n){if(void 0===n)return r.prototype.off.call(this,t,e);if(this._delegatedListeners&&this._delegatedListeners[t])for(var i=this._delegatedListeners[t],a=0;a<i.length;a++){var o=i[a];if(o.layer===e&&o.listener===n){for(var s in o.delegates)this.off(s,o.delegates[s]);return i.splice(a,1),this}}return this},n.prototype.queryRenderedFeatures=function(e,r){var n;return 2===arguments.length?(e=arguments[0],r=arguments[1]):1===arguments.length&&((n=arguments[0])instanceof t.default$1||Array.isArray(n))?(e=arguments[0],r={}):1===arguments.length?(e=void 0,r=arguments[0]):(e=void 0,r={}),this.style?this.style.queryRenderedFeatures(this._makeQueryGeometry(e),r,this.transform):[]},n.prototype._makeQueryGeometry=function(e){var r,n=this;if(void 0===e&&(e=[t.default$1.convert([0,0]),t.default$1.convert([this.transform.width,this.transform.height])]),e instanceof t.default$1||\"number\"==typeof e[0])r=[t.default$1.convert(e)];else{var i=[t.default$1.convert(e[0]),t.default$1.convert(e[1])];r=[i[0],new t.default$1(i[1].x,i[0].y),i[1],new t.default$1(i[0].x,i[1].y),i[0]]}return{viewport:r,worldCoordinate:r.map(function(t){return n.transform.pointCoordinate(t)})}},n.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},n.prototype.setStyle=function(e,r){if((!r||!1!==r.diff&&!r.localIdeographFontFamily)&&this.style&&e&&\"object\"==typeof e)try{return this.style.setState(e)&&this._update(!0),this}catch(e){t.warnOnce(\"Unable to perform style diff: \"+(e.message||e.error||e)+\".  Rebuilding the style from scratch.\")}return this.style&&(this.style.setEventedParent(null),this.style._remove()),e?(this.style=new Je(this,r||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof e?this.style.loadURL(e):this.style.loadJSON(e),this):(delete this.style,this)},n.prototype.getStyle=function(){if(this.style)return this.style.serialize()},n.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce(\"There is no style added to the map.\")},n.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},n.prototype.isSourceLoaded=function(e){var r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.ErrorEvent(new Error(\"There is no source with ID '\"+e+\"'\")))},n.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var r=t[e]._tiles;for(var n in r){var i=r[n];if(\"loaded\"!==i.state&&\"errored\"!==i.state)return!1}}return!0},n.prototype.addSourceType=function(t,e,r){return this.style.addSourceType(t,e,r)},n.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},n.prototype.getSource=function(t){return this.style.getSource(t)},n.prototype.addImage=function(e,r,n){void 0===n&&(n={});var i=n.pixelRatio;void 0===i&&(i=1);var o=n.sdf;if(void 0===o&&(o=!1),r instanceof sn){var s=a.getImageData(r),l=s.width,c=s.height,u=s.data;this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},u),pixelRatio:i,sdf:o})}else{if(void 0===r.width||void 0===r.height)return this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));var f=r.width,h=r.height,p=r.data;this.style.addImage(e,{data:new t.RGBAImage({width:f,height:h},p.slice(0)),pixelRatio:i,sdf:o})}},n.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error(\"Missing required image id\"))),!1)},n.prototype.removeImage=function(t){this.style.removeImage(t)},n.prototype.loadImage=function(e,r){t.getImage(this._transformRequest(e,t.ResourceType.Image),r)},n.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},n.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},n.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},n.prototype.getLayer=function(t){return this.style.getLayer(t)},n.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},n.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},n.prototype.getFilter=function(t){return this.style.getFilter(t)},n.prototype.setPaintProperty=function(t,e,r){return this.style.setPaintProperty(t,e,r),this._update(!0),this},n.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},n.prototype.setLayoutProperty=function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},n.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},n.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},n.prototype.getLight=function(){return this.style.getLight()},n.prototype.getContainer=function(){return this._container},n.prototype.getCanvasContainer=function(){return this._canvasContainer},n.prototype.getCanvas=function(){return this._canvas},n.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},n.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\"),(this._missingCSSContainer=s.create(\"div\",\"mapboxgl-missing-css\",t)).innerHTML=\"Missing Mapbox GL JS CSS\";var e=this._canvasContainer=s.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=s.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.style.position=\"absolute\",this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\");var r=this._containerDimensions();this._resizeCanvas(r[0],r[1]);var n=this._controlContainer=s.create(\"div\",\"mapboxgl-control-container\",t),i=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(t){i[t]=s.create(\"div\",\"mapboxgl-ctrl-\"+t,n)})},n.prototype._resizeCanvas=function(e,r){var n=t.default.devicePixelRatio||1;this._canvas.width=n*e,this._canvas.height=n*r,this._canvas.style.width=e+\"px\",this._canvas.style.height=r+\"px\"},n.prototype._setupPainter=function(){var r=t.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},e.webGLContextAttributes),n=this._canvas.getContext(\"webgl\",r)||this._canvas.getContext(\"experimental-webgl\",r);n?this.painter=new zr(n,this.transform):this.fire(new t.ErrorEvent(new Error(\"Failed to initialize WebGL\")))},n.prototype._contextLost=function(e){e.preventDefault(),this._frameId&&(a.cancelFrame(this._frameId),this._frameId=null),this.fire(new t.Event(\"webglcontextlost\",{originalEvent:e}))},n.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event(\"webglcontextrestored\",{originalEvent:e}))},n.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},n.prototype._update=function(t){this.style&&(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender())},n.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},n.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t)},n.prototype._render=function(){this._renderTaskQueue.run();var e=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var r=this.transform.zoom,n=a.now();this.style.zoomHistory.update(r,n);var i=new t.default$16(r,{now:n,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),o=i.crossFadingFactor();1===o&&o===this._crossFadingFactor||(e=!0,this._crossFadingFactor=o),this.style.update(i)}return this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),fadeDuration:this._fadeDuration}),this.fire(new t.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event(\"load\"))),this.style&&(this.style.hasTransitions()||e)&&(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty||this._placementDirty)&&this._rerender(),this},n.prototype.remove=function(){this._hash&&this._hash.remove(),a.cancelFrame(this._frameId),this._renderTaskQueue.clear(),this._frameId=null,this.setStyle(null),void 0!==t.default&&(t.default.removeEventListener(\"resize\",this._onWindowResize,!1),t.default.removeEventListener(\"online\",this._onWindowOnline,!1));var e=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");e&&e.loseContext(),fn(this._canvasContainer),fn(this._controlContainer),fn(this._missingCSSContainer),this._container.classList.remove(\"mapboxgl-map\"),this.fire(new t.Event(\"remove\"))},n.prototype._rerender=function(){var t=this;this.style&&!this._frameId&&(this._frameId=a.frame(function(){t._frameId=null,t._render()}))},n.prototype._onWindowOnline=function(){this._update()},n.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},i.showTileBoundaries.get=function(){return!!this._showTileBoundaries},i.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},i.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},i.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},i.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},i.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},i.repaint.get=function(){return!!this._repaint},i.repaint.set=function(t){this._repaint=t,this._update()},i.vertices.get=function(){return!!this._vertices},i.vertices.set=function(t){this._vertices=t,this._update()},n.prototype._onData=function(e){this._update(\"style\"===e.dataType),this.fire(new t.Event(e.dataType+\"data\",e))},n.prototype._onDataLoading=function(e){this.fire(new t.Event(e.dataType+\"dataloading\",e))},Object.defineProperties(n.prototype,i),n}(rn);function fn(t){t.parentNode&&t.parentNode.removeChild(t)}var hn={showCompass:!0,showZoom:!0},pn=function(e){var r=this;this.options=t.extend({},hn,e),this._container=s.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this.options.showZoom&&(this._zoomInButton=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in\",\"Zoom In\",function(){return r._map.zoomIn()}),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out\",\"Zoom Out\",function(){return r._map.zoomOut()})),this.options.showCompass&&(t.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-compass\",\"Reset North\",function(){return r._map.resetNorth()}),this._compassArrow=s.create(\"span\",\"mapboxgl-ctrl-compass-arrow\",this._compass))};function dn(t,e,r){if(t=new G(t.lng,t.lat),e){var n=new G(t.lng-360,t.lat),i=new G(t.lng+360,t.lat),a=r.locationPoint(t).distSqr(e);r.locationPoint(n).distSqr(e)<a?t=n:r.locationPoint(i).distSqr(e)<a&&(t=i)}for(;Math.abs(t.lng-r.center.lng)>180;){var o=r.locationPoint(t);if(o.x>=0&&o.y>=0&&o.x<=r.width&&o.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}pn.prototype._rotateCompassArrow=function(){var t=\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassArrow.style.transform=t},pn.prototype.onAdd=function(t){return this._map=t,this.options.showCompass&&(this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Yr(t,{button:\"left\",element:this._compass}),this._handler.enable()),this._container},pn.prototype.onRemove=function(){s.remove(this._container),this.options.showCompass&&(this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.disable(),delete this._handler),delete this._map},pn.prototype._createButton=function(t,e,r){var n=s.create(\"button\",t,this._container);return n.type=\"button\",n.setAttribute(\"aria-label\",e),n.addEventListener(\"click\",r),n};var gn={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function mn(t,e,r){var n=t.classList;for(var i in gn)n.remove(\"mapboxgl-\"+r+\"-anchor-\"+i);n.add(\"mapboxgl-\"+r+\"-anchor-\"+e)}var vn=function(e){if((arguments[0]instanceof t.default.HTMLElement||2===arguments.length)&&(e=t.extend({element:e},arguments[1])),t.bindAll([\"_update\",\"_onMapClick\"],this),this._anchor=e&&e.anchor||\"center\",this._color=e&&e.color||\"#3FB1CE\",e&&e.element)this._element=e.element,this._offset=t.default$1.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=s.create(\"div\");var r=s.createNS(\"http://www.w3.org/2000/svg\",\"svg\");r.setAttributeNS(null,\"height\",\"41px\"),r.setAttributeNS(null,\"width\",\"27px\"),r.setAttributeNS(null,\"viewBox\",\"0 0 27 41\");var n=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");n.setAttributeNS(null,\"stroke\",\"none\"),n.setAttributeNS(null,\"stroke-width\",\"1\"),n.setAttributeNS(null,\"fill\",\"none\"),n.setAttributeNS(null,\"fill-rule\",\"evenodd\");var i=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");i.setAttributeNS(null,\"fill-rule\",\"nonzero\");var a=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");a.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),a.setAttributeNS(null,\"fill\",\"#000000\");for(var o=0,l=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];o<l.length;o+=1){var c=l[o],u=s.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");u.setAttributeNS(null,\"opacity\",\"0.04\"),u.setAttributeNS(null,\"cx\",\"10.5\"),u.setAttributeNS(null,\"cy\",\"5.80029008\"),u.setAttributeNS(null,\"rx\",c.rx),u.setAttributeNS(null,\"ry\",c.ry),a.appendChild(u)}var f=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");f.setAttributeNS(null,\"fill\",this._color);var h=s.createNS(\"http://www.w3.org/2000/svg\",\"path\");h.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),f.appendChild(h);var p=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");p.setAttributeNS(null,\"opacity\",\"0.25\"),p.setAttributeNS(null,\"fill\",\"#000000\");var d=s.createNS(\"http://www.w3.org/2000/svg\",\"path\");d.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),p.appendChild(d);var g=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");g.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),g.setAttributeNS(null,\"fill\",\"#FFFFFF\");var m=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");m.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var v=s.createNS(\"http://www.w3.org/2000/svg\",\"circle\");v.setAttributeNS(null,\"fill\",\"#000000\"),v.setAttributeNS(null,\"opacity\",\"0.25\"),v.setAttributeNS(null,\"cx\",\"5.5\"),v.setAttributeNS(null,\"cy\",\"5.5\"),v.setAttributeNS(null,\"r\",\"5.4999962\");var y=s.createNS(\"http://www.w3.org/2000/svg\",\"circle\");y.setAttributeNS(null,\"fill\",\"#FFFFFF\"),y.setAttributeNS(null,\"cx\",\"5.5\"),y.setAttributeNS(null,\"cy\",\"5.5\"),y.setAttributeNS(null,\"r\",\"5.4999962\"),m.appendChild(v),m.appendChild(y),i.appendChild(a),i.appendChild(f),i.appendChild(p),i.appendChild(g),i.appendChild(m),r.appendChild(i),this._element.appendChild(r),this._offset=t.default$1.convert(e&&e.offset||[0,-14])}this._element.classList.add(\"mapboxgl-marker\"),this._popup=null};vn.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this._update(),this._map.on(\"click\",this._onMapClick),this},vn.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),delete this._map),s.remove(this._element),this._popup&&this._popup.remove(),this},vn.prototype.getLngLat=function(){return this._lngLat},vn.prototype.setLngLat=function(t){return this._lngLat=G.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},vn.prototype.getElement=function(){return this._element},vn.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null),t){if(!(\"offset\"in t.options)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[e,-1*(24.6+e)],\"bottom-right\":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat)}return this},vn.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},vn.prototype.getPopup=function(){return this._popup},vn.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},vn.prototype._update=function(t){this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=dn(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),s.setTransform(this._element,gn[this._anchor]+\" translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px)\"),mn(this._element,this._anchor,\"marker\"))},vn.prototype.getOffset=function(){return this._offset},vn.prototype.setOffset=function(e){return this._offset=t.default$1.convert(e),this._update(),this};var yn,xn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},bn=function(e){function r(r){e.call(this),this.options=t.extend({},xn,r),t.bindAll([\"_onSuccess\",\"_onError\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.onAdd=function(e){var r;return this._map=e,this._container=s.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),r=this._setupUI,void 0!==yn?r(yn):void 0!==t.default.navigator.permissions?t.default.navigator.permissions.query({name:\"geolocation\"}).then(function(t){yn=\"denied\"!==t.state,r(yn)}):(yn=!!t.default.navigator.geolocation,r(yn)),this._container},r.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.default.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),s.remove(this._container),this._map=void 0},r.prototype._onSuccess=function(e){if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\")}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"geolocate\",e)),this._finish()},r.prototype._updateCamera=function(t){var e=new G(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy;this._map.fitBounds(e.toBounds(r),this.options.fitBoundsOptions,{geolocateSource:!0})},r.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},r.prototype._onError=function(e){if(this.options.trackUserLocation)if(1===e.code)this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),void 0!==this._geolocationWatchID&&this._clearWatch();else switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\")}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"error\",e)),this._finish()},r.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},r.prototype._setupUI=function(e){var r=this;!1!==e&&(this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this._geolocateButton=s.create(\"button\",\"mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate\",this._container),this._geolocateButton.type=\"button\",this._geolocateButton.setAttribute(\"aria-label\",\"Geolocate\"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=s.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new vn(this._dotElement),this.options.trackUserLocation&&(this._watchState=\"OFF\")),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",function(e){e.geolocateSource||\"ACTIVE_LOCK\"!==r._watchState||(r._watchState=\"BACKGROUND\",r._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),r._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),r.fire(new t.Event(\"trackuserlocationend\")))}))},r.prototype.trigger=function(){if(!this._setup)return t.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new t.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event(\"trackuserlocationstart\"))}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\")}\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),this._geolocationWatchID=t.default.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else t.default.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},r.prototype._clearWatch=function(){t.default.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)},r}(t.Evented),_n={maxWidth:100,unit:\"metric\"},wn=function(e){this.options=t.extend({},_n,e),t.bindAll([\"_onMove\",\"setUnit\"],this)};function kn(t,e,r){var n,i,a,o,s,l,c=r&&r.maxWidth||100,u=t._container.clientHeight/2,f=(n=t.unproject([0,u]),i=t.unproject([c,u]),a=Math.PI/180,o=n.lat*a,s=i.lat*a,l=Math.sin(o)*Math.sin(s)+Math.cos(o)*Math.cos(s)*Math.cos((i.lng-n.lng)*a),6371e3*Math.acos(Math.min(l,1)));if(r&&\"imperial\"===r.unit){var h=3.2808*f;h>5280?Mn(e,c,h/5280,\"mi\"):Mn(e,c,h,\"ft\")}else r&&\"nautical\"===r.unit?Mn(e,c,f/1852,\"nm\"):Mn(e,c,f,\"m\")}function Mn(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(\"\"+Math.floor(i)).length-1))*(o=(o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:1)),l=s/r;\"m\"===n&&s>=1e3&&(s/=1e3,n=\"km\"),t.style.width=e*l+\"px\",t.innerHTML=s+n}wn.prototype.getDefaultPosition=function(){return\"bottom-left\"},wn.prototype._onMove=function(){kn(this._map,this._container,this.options)},wn.prototype.onAdd=function(t){return this._map=t,this._container=s.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},wn.prototype.onRemove=function(){s.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},wn.prototype.setUnit=function(t){this.options.unit=t,kn(this._map,this._container,this.options)};var An=function(){this._fullscreen=!1,t.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in t.default.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in t.default.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in t.default.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in t.default.document&&(this._fullscreenchange=\"MSFullscreenChange\"),this._className=\"mapboxgl-ctrl\"};An.prototype.onAdd=function(e){return this._map=e,this._mapContainer=this._map.getContainer(),this._container=s.create(\"div\",this._className+\" mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display=\"none\",t.warnOnce(\"This device does not support fullscreen mode.\")),this._container},An.prototype.onRemove=function(){s.remove(this._container),this._map=null,t.default.document.removeEventListener(this._fullscreenchange,this._changeIcon)},An.prototype._checkFullscreenSupport=function(){return!!(t.default.document.fullscreenEnabled||t.default.document.mozFullScreenEnabled||t.default.document.msFullscreenEnabled||t.default.document.webkitFullscreenEnabled)},An.prototype._setupUI=function(){var e=this._fullscreenButton=s.create(\"button\",this._className+\"-icon \"+this._className+\"-fullscreen\",this._container);e.setAttribute(\"aria-label\",\"Toggle fullscreen\"),e.type=\"button\",this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),t.default.document.addEventListener(this._fullscreenchange,this._changeIcon)},An.prototype._isFullscreen=function(){return this._fullscreen},An.prototype._changeIcon=function(){(t.default.document.fullscreenElement||t.default.document.mozFullScreenElement||t.default.document.webkitFullscreenElement||t.default.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+\"-shrink\"),this._fullscreenButton.classList.toggle(this._className+\"-fullscreen\"))},An.prototype._onClickFullscreen=function(){this._isFullscreen()?t.default.document.exitFullscreen?t.default.document.exitFullscreen():t.default.document.mozCancelFullScreen?t.default.document.mozCancelFullScreen():t.default.document.msExitFullscreen?t.default.document.msExitFullscreen():t.default.document.webkitCancelFullScreen&&t.default.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()};var Tn={closeButton:!0,closeOnClick:!0},Sn=function(e){function r(r){e.call(this),this.options=t.extend(Object.create(Tn),r),t.bindAll([\"_update\",\"_onClickClose\"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addTo=function(e){return this._map=e,this._map.on(\"move\",this._update),this.options.closeOnClick&&this._map.on(\"click\",this._onClickClose),this._update(),this.fire(new t.Event(\"open\")),this},r.prototype.isOpen=function(){return!!this._map},r.prototype.remove=function(){return this._content&&s.remove(this._content),this._container&&(s.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"click\",this._onClickClose),delete this._map),this.fire(new t.Event(\"close\")),this},r.prototype.getLngLat=function(){return this._lngLat},r.prototype.setLngLat=function(t){return this._lngLat=G.convert(t),this._pos=null,this._update(),this},r.prototype.setText=function(e){return this.setDOMContent(t.default.document.createTextNode(e))},r.prototype.setHTML=function(e){var r,n=t.default.document.createDocumentFragment(),i=t.default.document.createElement(\"body\");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},r.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},r.prototype._createContent=function(){this._content&&s.remove(this._content),this._content=s.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=s.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"&#215;\",this._closeButton.addEventListener(\"click\",this._onClickClose))},r.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=s.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=s.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content)),this._map.transform.renderWorldCopies&&(this._lngLat=dn(this._lngLat,this._pos,this._map.transform));var e=this._pos=this._map.project(this._lngLat),r=this.options.anchor,n=function e(r){if(r){if(\"number\"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.default$1(0,0),top:new t.default$1(0,r),\"top-left\":new t.default$1(n,n),\"top-right\":new t.default$1(-n,n),bottom:new t.default$1(0,-r),\"bottom-left\":new t.default$1(n,-n),\"bottom-right\":new t.default$1(-n,-n),left:new t.default$1(r,0),right:new t.default$1(-r,0)}}if(r instanceof t.default$1||Array.isArray(r)){var i=t.default$1.convert(r);return{center:i,top:i,\"top-left\":i,\"top-right\":i,bottom:i,\"bottom-left\":i,\"bottom-right\":i,left:i,right:i}}return{center:t.default$1.convert(r.center||[0,0]),top:t.default$1.convert(r.top||[0,0]),\"top-left\":t.default$1.convert(r[\"top-left\"]||[0,0]),\"top-right\":t.default$1.convert(r[\"top-right\"]||[0,0]),bottom:t.default$1.convert(r.bottom||[0,0]),\"bottom-left\":t.default$1.convert(r[\"bottom-left\"]||[0,0]),\"bottom-right\":t.default$1.convert(r[\"bottom-right\"]||[0,0]),left:t.default$1.convert(r.left||[0,0]),right:t.default$1.convert(r.right||[0,0])}}return e(new t.default$1(0,0))}(this.options.offset);if(!r){var i,a=this._container.offsetWidth,o=this._container.offsetHeight;i=e.y+n.bottom.y<o?[\"top\"]:e.y>this._map.transform.height-o?[\"bottom\"]:[],e.x<a/2?i.push(\"left\"):e.x>this._map.transform.width-a/2&&i.push(\"right\"),r=0===i.length?\"bottom\":i.join(\"-\")}var l=e.add(n[r]).round();s.setTransform(this._container,gn[r]+\" translate(\"+l.x+\"px,\"+l.y+\"px)\"),mn(this._container,r,\"popup\")}},r.prototype._onClickClose=function(){this.remove()},r}(t.Evented),En={version:\"0.45.0\",supported:e,workerCount:Math.max(Math.floor(a.hardwareConcurrency/2),1),setRTLTextPlugin:t.setRTLTextPlugin,Map:un,NavigationControl:pn,GeolocateControl:bn,AttributionControl:nn,ScaleControl:wn,FullscreenControl:An,Popup:Sn,Marker:vn,Style:Je,LngLat:G,LngLatBounds:W,Point:t.default$1,Evented:t.Evented,config:m,get accessToken(){return m.ACCESS_TOKEN},set accessToken(t){m.ACCESS_TOKEN=t},workerUrl:\"\"};return En}),n})}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],407:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=a(t,n);return r};var n=t(\"convex-hull\");function i(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=0,i===e&&(n[i]+=.5),i===r&&(n[i]+=.5);return n}function a(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],a=[],o=0;o<=t;++o)if(e&1<<o){r.push(i(t,o-1,o-1)),a.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(i(t,o-1,s-1)),a.push([o,s]))}var l=n(r),c=[];t:for(o=0;o<l.length;++o){var u=l[o],f=[];for(s=0;s<u.length;++s){if(!a[u[s]])continue t;f.push(a[u[s]].slice())}c.push(f)}return c}},{\"convex-hull\":117}],408:[function(t,e,r){var n=t(\"./normalize\"),i=t(\"gl-mat4/create\"),a=t(\"gl-mat4/clone\"),o=t(\"gl-mat4/determinant\"),s=t(\"gl-mat4/invert\"),l=t(\"gl-mat4/transpose\"),c={length:t(\"gl-vec3/length\"),normalize:t(\"gl-vec3/normalize\"),dot:t(\"gl-vec3/dot\"),cross:t(\"gl-vec3/cross\")},u=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function g(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}e.exports=function(t,e,r,i,m,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),m||(m=[0,0,0,1]),v||(v=[0,0,0,1]),!n(u,t))return!1;if(a(f,u),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var y,x,b,_,w,k,M,A=u[3],T=u[7],S=u[11],E=u[12],C=u[13],L=u[14],z=u[15];if(0!==A||0!==T||0!==S){if(h[0]=A,h[1]=T,h[2]=S,h[3]=z,!s(f,f))return!1;l(f,f),y=m,b=f,_=(x=h)[0],w=x[1],k=x[2],M=x[3],y[0]=b[0]*_+b[4]*w+b[8]*k+b[12]*M,y[1]=b[1]*_+b[5]*w+b[9]*k+b[13]*M,y[2]=b[2]*_+b[6]*w+b[10]*k+b[14]*M,y[3]=b[3]*_+b[7]*w+b[11]*k+b[15]*M}else m[0]=m[1]=m[2]=0,m[3]=1;if(e[0]=E,e[1]=C,e[2]=L,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),g(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),g(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),g(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][2]*=-1;return v[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),v[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),v[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),v[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{\"./normalize\":409,\"gl-mat4/clone\":247,\"gl-mat4/create\":248,\"gl-mat4/determinant\":249,\"gl-mat4/invert\":253,\"gl-mat4/transpose\":263,\"gl-vec3/cross\":315,\"gl-vec3/dot\":320,\"gl-vec3/length\":330,\"gl-vec3/normalize\":337}],409:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],410:[function(t,e,r){var n=t(\"gl-vec3/lerp\"),i=t(\"mat4-recompose\"),a=t(\"mat4-decompose\"),o=t(\"gl-mat4/determinant\"),s=t(\"quat-slerp\"),l=f(),c=f(),u=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!h||!p||(n(u.translate,l.translate,c.translate,f),n(u.skew,l.skew,c.skew,f),n(u.scale,l.scale,c.scale,f),n(u.perspective,l.perspective,c.perspective,f),s(u.quaternion,l.quaternion,c.quaternion,f),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},{\"gl-mat4/determinant\":249,\"gl-vec3/lerp\":331,\"mat4-decompose\":408,\"mat4-recompose\":411,\"quat-slerp\":463}],411:[function(t,e,r){var n={identity:t(\"gl-mat4/identity\"),translate:t(\"gl-mat4/translate\"),multiply:t(\"gl-mat4/multiply\"),create:t(\"gl-mat4/create\"),scale:t(\"gl-mat4/scale\"),fromRotationTranslation:t(\"gl-mat4/fromRotationTranslation\")},i=(n.create(),n.create());e.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{\"gl-mat4/create\":248,\"gl-mat4/fromRotationTranslation\":251,\"gl-mat4/identity\":252,\"gl-mat4/multiply\":255,\"gl-mat4/scale\":261,\"gl-mat4/translate\":262}],412:[function(t,e,r){\"use strict\";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],413:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),i=t(\"mat4-interpolate\"),a=t(\"gl-mat4/invert\"),o=t(\"gl-mat4/rotateX\"),s=t(\"gl-mat4/rotateY\"),l=t(\"gl-mat4/rotateZ\"),c=t(\"gl-mat4/lookAt\"),u=t(\"gl-mat4/translate\"),f=(t(\"gl-mat4/scale\"),t(\"gl-vec3/normalize\")),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)h[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&h[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=h[c];else i(o,h,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],f(g,g);var m=this.computedInverse;a(m,o);var v=this.computedEye,y=m[15];v[0]=m[12]/y,v[1]=m[13]/y,v[2]=m[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=v[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t<this.lastT())){for(var e=this._components,r=e.length-16,n=0;n<16;++n)e.push(e[r++]);this._time.push(t)}},d.flush=function(t){var e=n.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},d.lastT=function(){return this._time[this._time.length-1]},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||h,n=n||this.computedUp,this.setMatrix(t,c(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},d.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&s(i,i,e),r&&o(i,i,r),n&&l(i,i,n),this.setMatrix(t,a(this.computedMatrix,i))};var g=[0,0,0];d.pan=function(t,e,r,n){g[0]=-(e||0),g[1]=-(r||0),g[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;u(i,i,g),this.setMatrix(t,a(i,i))},d.translate=function(t,e,r,n){g[0]=e||0,g[1]=r||0,g[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;u(i,i,g),this.setMatrix(t,i)},d.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},d.setDistance=function(t,e){this.computedRadius[0]=e},d.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},d.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{\"binary-search-bounds\":78,\"gl-mat4/invert\":253,\"gl-mat4/lookAt\":254,\"gl-mat4/rotateX\":258,\"gl-mat4/rotateY\":259,\"gl-mat4/rotateZ\":260,\"gl-mat4/scale\":261,\"gl-mat4/translate\":262,\"gl-vec3/normalize\":337,\"mat4-interpolate\":410}],414:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.length;if(e<3){for(var r=new Array(e),i=0;i<e;++i)r[i]=i;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var a=new Array(e),i=0;i<e;++i)a[i]=i;a.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var o=[a[0],a[1]],s=[a[0],a[1]],i=2;i<e;++i){for(var l=a[i],c=t[l],u=o.length;u>1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),f=0,i=0,h=o.length;i<h;++i)r[f++]=o[i];for(var p=s.length-2;p>0;--p)r[f++]=s[p];return r};var n=t(\"robust-orientation\")[3]},{\"robust-orientation\":483}],415:[function(t,e,r){\"use strict\";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);\"buttons\"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function g(t){c(r&~n.buttons(t),t)}function m(){s||(s=!0,t.addEventListener(\"mousemove\",p),t.addEventListener(\"mousedown\",d),t.addEventListener(\"mouseup\",g),t.addEventListener(\"mouseleave\",u),t.addEventListener(\"mouseenter\",u),t.addEventListener(\"mouseout\",u),t.addEventListener(\"mouseover\",u),t.addEventListener(\"blur\",f),t.addEventListener(\"keyup\",h),t.addEventListener(\"keydown\",h),t.addEventListener(\"keypress\",h),t!==window&&(window.addEventListener(\"blur\",f),window.addEventListener(\"keyup\",h),window.addEventListener(\"keydown\",h),window.addEventListener(\"keypress\",h)))}m();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?m():s&&(s=!1,t.removeEventListener(\"mousemove\",p),t.removeEventListener(\"mousedown\",d),t.removeEventListener(\"mouseup\",g),t.removeEventListener(\"mouseleave\",u),t.removeEventListener(\"mouseenter\",u),t.removeEventListener(\"mouseout\",u),t.removeEventListener(\"mouseover\",u),t.removeEventListener(\"blur\",f),t.removeEventListener(\"keyup\",h),t.removeEventListener(\"keydown\",h),t.removeEventListener(\"keypress\",h),t!==window&&(window.removeEventListener(\"blur\",f),window.removeEventListener(\"keyup\",h),window.removeEventListener(\"keydown\",h),window.removeEventListener(\"keypress\",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t(\"mouse-event\")},{\"mouse-event\":417}],416:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],417:[function(t,e,r){\"use strict\";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if(\"button\"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},r.element=n,r.x=function(t){if(\"object\"==typeof t){if(\"offsetX\"in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if(\"object\"==typeof t){if(\"offsetY\"in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],418:[function(t,e,r){\"use strict\";var n=t(\"to-px\");e.exports=function(t,e,r){\"function\"==typeof t&&(r=!!e,e=t,t=window);var i=n(\"ex\",t),a=function(t){r&&t.preventDefault();var n=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=i;break;case 2:l=window.innerHeight}if(a*=l,o*=l,(n*=l)||a||o)return e(n,a,o,t)};return t.addEventListener(\"wheel\",a),a}},{\"to-px\":513}],419:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\");function i(t){return\"a\"+t}function a(t){return\"d\"+t}function o(t,e){return\"c\"+t+\"_\"+e}function s(t){return\"s\"+t}function l(t,e){return\"t\"+t+\"_\"+e}function c(t){return\"o\"+t}function u(t){return\"x\"+t}function f(t){return\"p\"+t}function h(t,e){return\"d\"+t+\"_\"+e}function p(t){return\"i\"+t}function d(t,e){return\"u\"+t+\"_\"+e}function g(t){return\"b\"+t}function m(t){return\"y\"+t}function v(t){return\"e\"+t}function y(t){return\"v\"+t}e.exports=function(t){function e(t){throw new Error(\"ndarray-extract-contour: \"+t)}\"object\"!=typeof t&&e(\"Must specify arguments\");var r=t.order;Array.isArray(r)||e(\"Must specify order\");var T=t.arrayArguments||1;T<1&&e(\"Must have at least one array argument\");var S=t.scalarArguments||0;S<0&&e(\"Scalar arg count must be > 0\");\"function\"!=typeof t.vertex&&e(\"Must specify vertex creation function\");\"function\"!=typeof t.cell&&e(\"Must specify cell creation function\");\"function\"!=typeof t.phase&&e(\"Must specify phase function\");for(var E=t.getters||[],C=new Array(T),L=0;L<T;++L)E.indexOf(L)>=0?C[L]=!0:C[L]=!1;return function(t,e,r,T,S,E){var C=E.length,L=S.length;if(L<2)throw new Error(\"ndarray-extract-contour: Dimension must be at least 2\");for(var z=\"extractContour\"+S.join(\"_\"),P=[],O=[],I=[],D=0;D<C;++D)I.push(i(D));for(var D=0;D<T;++D)I.push(u(D));for(var D=0;D<L;++D)O.push(s(D)+\"=\"+i(0)+\".shape[\"+D+\"]|0\");for(var D=0;D<C;++D){O.push(a(D)+\"=\"+i(D)+\".data\",c(D)+\"=\"+i(D)+\".offset|0\");for(var R=0;R<L;++R)O.push(l(D,R)+\"=\"+i(D)+\".stride[\"+R+\"]|0\")}for(var D=0;D<C;++D){O.push(f(D)+\"=\"+c(D)),O.push(o(D,0));for(var R=1;R<1<<L;++R){for(var B=[],F=0;F<L;++F)R&1<<F&&B.push(\"-\"+l(D,F));O.push(h(D,R)+\"=(\"+B.join(\"\")+\")|0\"),O.push(o(D,R)+\"=0\")}}for(var D=0;D<C;++D)for(var R=0;R<L;++R){var N=[l(D,S[R])];R>0&&N.push(l(D,S[R-1])+\"*\"+s(S[R-1])),O.push(d(D,S[R])+\"=(\"+N.join(\"-\")+\")|0\")}for(var D=0;D<L;++D)O.push(p(D)+\"=0\");O.push(_+\"=0\");for(var j=[\"2\"],D=L-2;D>=0;--D)j.push(s(S[D]));O.push(w+\"=(\"+j.join(\"*\")+\")|0\",b+\"=mallocUint32(\"+w+\")\",x+\"=mallocUint32(\"+w+\")\",k+\"=0\"),O.push(g(0)+\"=0\");for(var R=1;R<1<<L;++R){for(var V=[],U=[],F=0;F<L;++F)R&1<<F&&(0===U.length?V.push(\"1\"):V.unshift(U.join(\"*\"))),U.push(s(S[F]));var q=\"\";V[0].indexOf(s(S[L-2]))<0&&(q=\"-\");var H=A(L,R,S);O.push(v(H)+\"=(-\"+V.join(\"-\")+\")|0\",m(H)+\"=(\"+q+V.join(\"-\")+\")|0\",g(H)+\"=0\")}function G(t,e){P.push(\"for(\",p(S[t]),\"=\",e,\";\",p(S[t]),\"<\",s(S[t]),\";\",\"++\",p(S[t]),\"){\")}function W(t){for(var e=0;e<C;++e)P.push(f(e),\"+=\",d(e,S[t]),\";\");P.push(\"}\")}function Y(){for(var t=1;t<1<<L;++t)P.push(M,\"=\",v(t),\";\",v(t),\"=\",m(t),\";\",m(t),\"=\",M,\";\")}O.push(y(0)+\"=0\",M+\"=0\"),function t(e,r){if(e<0)return void function(t){for(var e=0;e<C;++e)E[e]?P.push(o(e,0),\"=\",a(e),\".get(\",f(e),\");\"):P.push(o(e,0),\"=\",a(e),\"[\",f(e),\"];\");for(var r=[],e=0;e<C;++e)r.push(o(e,0));for(var e=0;e<T;++e)r.push(u(e));P.push(g(0),\"=\",b,\"[\",k,\"]=phase(\",r.join(),\");\");for(var n=1;n<1<<L;++n)P.push(g(n),\"=\",b,\"[\",k,\"+\",v(n),\"];\");for(var i=[],n=1;n<1<<L;++n)i.push(\"(\"+g(0)+\"!==\"+g(n)+\")\");P.push(\"if(\",i.join(\"||\"),\"){\");for(var s=[],e=0;e<L;++e)s.push(p(e));for(var e=0;e<C;++e){s.push(o(e,0));for(var n=1;n<1<<L;++n)E[e]?P.push(o(e,n),\"=\",a(e),\".get(\",f(e),\"+\",h(e,n),\");\"):P.push(o(e,n),\"=\",a(e),\"[\",f(e),\"+\",h(e,n),\"];\"),s.push(o(e,n))}for(var e=0;e<1<<L;++e)s.push(g(e));for(var e=0;e<T;++e)s.push(u(e));P.push(\"vertex(\",s.join(),\");\",y(0),\"=\",x,\"[\",k,\"]=\",_,\"++;\");for(var l=(1<<L)-1,c=g(l),n=0;n<L;++n)if(0==(t&~(1<<n))){for(var d=l^1<<n,m=g(d),w=[],M=d;M>0;M=M-1&d)w.push(x+\"[\"+k+\"+\"+v(M)+\"]\");w.push(y(0));for(var M=0;M<C;++M)1&n?w.push(o(M,l),o(M,d)):w.push(o(M,d),o(M,l));1&n?w.push(c,m):w.push(m,c);for(var M=0;M<T;++M)w.push(u(M));P.push(\"if(\",c,\"!==\",m,\"){\",\"face(\",w.join(),\")}\")}P.push(\"}\",k,\"+=1;\")}(r);!function(t){for(var e=t-1;e>=0;--e)G(e,0);for(var r=[],e=0;e<C;++e)E[e]?r.push(a(e)+\".get(\"+f(e)+\")\"):r.push(a(e)+\"[\"+f(e)+\"]\");for(var e=0;e<T;++e)r.push(u(e));P.push(b,\"[\",k,\"++]=phase(\",r.join(),\");\");for(var e=0;e<t;++e)W(e);for(var n=0;n<C;++n)P.push(f(n),\"+=\",d(n,S[t]),\";\")}(e);P.push(\"if(\",s(S[e]),\">0){\",p(S[e]),\"=1;\");t(e-1,r|1<<S[e]);for(var n=0;n<C;++n)P.push(f(n),\"+=\",d(n,S[e]),\";\");e===L-1&&(P.push(k,\"=0;\"),Y());G(e,2);t(e-1,r);e===L-1&&(P.push(\"if(\",p(S[L-1]),\"&1){\",k,\"=0;}\"),Y());W(e);P.push(\"}\")}(L-1,0),P.push(\"freeUint32(\",x,\");freeUint32(\",b,\");\");var X=[\"'use strict';\",\"function \",z,\"(\",I.join(),\"){\",\"var \",O.join(),\";\",P.join(\"\"),\"}\",\"return \",z].join(\"\");return new Function(\"vertex\",\"face\",\"phase\",\"mallocUint32\",\"freeUint32\",X)(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,S,r,C)};var x=\"V\",b=\"P\",_=\"N\",w=\"Q\",k=\"X\",M=\"T\";function A(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}},{\"typedarray-pool\":519}],420:[function(t,e,r){\"use strict\";var n=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},body:{body:\"{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"cwise\",blockSize:64});e.exports=function(t,e){return n(t,e),t}},{\"cwise/lib/wrapper\":136}],421:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(\"ndarray-gradient: invalid boundary conditions\")}else r=n(e.dimension,\"string\"==typeof r?r:\"clamp\");if(t.dimension!==e.dimension+1)throw new Error(\"ndarray-gradient: output dimension must be +1 input dimension\");if(t.shape[e.dimension]!==e.dimension)throw new Error(\"ndarray-gradient: output shape must match input shape\");for(var i=0;i<e.dimension;++i)if(t.shape[i]!==e.shape[i])throw new Error(\"ndarray-gradient: shape mismatch\");if(0===e.size)return t;if(e.dimension<=0)return t.set(0),t;return function(t){var e=t.join();if(v=o[e])return v;var r=t.length,n=[\"function gradient(dst,src){var s=src.shape.slice();\"];function i(e){for(var i=r-e.length,a=[],o=[],s=[],l=0;l<r;++l)e.indexOf(l+1)>=0?s.push(\"0\"):e.indexOf(-(l+1))>=0?s.push(\"s[\"+l+\"]-1\"):(s.push(\"-1\"),a.push(\"1\"),o.push(\"s[\"+l+\"]-2\"));var c=\".lo(\"+a.join()+\").hi(\"+o.join()+\")\";if(0===a.length&&(c=\"\"),i>0){n.push(\"if(1\");for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\"&&s[\",l,\"]>2\");n.push(\"){grad\",i,\"(src.pick(\",s.join(),\")\",c);for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\",dst.pick(\",s.join(),\",\",l,\")\",c);n.push(\");\")}for(var l=0;l<e.length;++l){var u=Math.abs(e[l])-1,f=\"dst.pick(\"+s.join()+\",\"+u+\")\"+c;switch(t[u]){case\"clamp\":var h=s.slice(),p=s.slice();e[l]<0?h[u]=\"s[\"+u+\"]-2\":p[u]=\"1\",0===i?n.push(\"if(s[\",u,\"]>1){dst.set(\",s.join(),\",\",u,\",0.5*(src.get(\",h.join(),\")-src.get(\",p.join(),\")))}else{dst.set(\",s.join(),\",\",u,\",0)};\"):n.push(\"if(s[\",u,\"]>1){diff(\",f,\",src.pick(\",h.join(),\")\",c,\",src.pick(\",p.join(),\")\",c,\");}else{zero(\",f,\");};\");break;case\"mirror\":0===i?n.push(\"dst.set(\",s.join(),\",\",u,\",0);\"):n.push(\"zero(\",f,\");\");break;case\"wrap\":var d=s.slice(),g=s.slice();e[l]<0?(d[u]=\"s[\"+u+\"]-2\",g[u]=\"0\"):(d[u]=\"s[\"+u+\"]-1\",g[u]=\"1\"),0===i?n.push(\"if(s[\",u,\"]>2){dst.set(\",s.join(),\",\",u,\",0.5*(src.get(\",d.join(),\")-src.get(\",g.join(),\")))}else{dst.set(\",s.join(),\",\",u,\",0)};\"):n.push(\"if(s[\",u,\"]>2){diff(\",f,\",src.pick(\",d.join(),\")\",c,\",src.pick(\",g.join(),\")\",c,\");}else{zero(\",f,\");};\");break;default:throw new Error(\"ndarray-gradient: Invalid boundary condition\")}}i>0&&n.push(\"};\")}for(var s=0;s<1<<r;++s){for(var f=[],h=0;h<r;++h)s&1<<h&&f.push(h+1);for(var p=0;p<1<<f.length;++p){for(var d=f.slice(),h=0;h<f.length;++h)p&1<<h&&(d[h]=-d[h]);i(d)}}n.push(\"return dst;};return gradient\");for(var g=[\"diff\",\"zero\"],m=[l,c],s=1;s<=r;++s)g.push(\"grad\"+s),m.push(u(s));g.push(n.join(\"\"));var v=Function.apply(void 0,g).apply(void 0,m);return a[e]=v,v}(r)(t,e)};var n=t(\"dup\"),i=t(\"cwise-compiler\"),a={},o={},s={body:\"\",args:[],thisVars:[],localVars:[]},l=i({args:[\"array\",\"array\",\"array\"],pre:s,post:s,body:{args:[{name:\"out\",lvalue:!0,rvalue:!1,count:1},{name:\"left\",lvalue:!1,rvalue:!0,count:1},{name:\"right\",lvalue:!1,rvalue:!0,count:1}],body:\"out=0.5*(left-right)\",thisVars:[],localVars:[]},funcName:\"cdiff\"}),c=i({args:[\"array\"],pre:s,post:s,body:{args:[{name:\"out\",lvalue:!0,rvalue:!1,count:1}],body:\"out=0\",thisVars:[],localVars:[]},funcName:\"zero\"});function u(t){if(t in a)return a[t];for(var e=[],r=0;r<t;++r)e.push(\"out\",r,\"s=0.5*(inp\",r,\"l-inp\",r,\"r);\");var o=[\"array\"],l=[\"junk\"];for(r=0;r<t;++r){o.push(\"array\"),l.push(\"out\"+r+\"s\");var c=n(t);c[r]=-1,o.push({array:0,offset:c.slice()}),c[r]=1,o.push({array:0,offset:c.slice()}),l.push(\"inp\"+r+\"l\",\"inp\"+r+\"r\")}return a[t]=i({args:o,pre:s,post:s,body:{body:e.join(\"\"),args:l.map(function(t){return{name:t,lvalue:0===t.indexOf(\"out\"),rvalue:0===t.indexOf(\"inp\"),count:\"junk\"!==t|0}}),thisVars:[],localVars:[]},funcName:\"fdTemplate\"+t})}},{\"cwise-compiler\":133,dup:154}],422:[function(t,e,r){\"use strict\";var n=t(\"ndarray-warp\"),i=t(\"gl-matrix-invert\");e.exports=function(t,e,r){var a=e.dimension,o=i([],r);return n(t,e,function(t,e){for(var r=0;r<a;++r){t[r]=o[(a+1)*a+r];for(var n=0;n<a;++n)t[r]+=o[(a+1)*n+r]*e[n]}var i=o[(a+1)*(a+1)-1];for(n=0;n<a;++n)i+=o[(a+1)*n+a]*e[n];var s=1/i;for(r=0;r<a;++r)t[r]*=s;return t}),t}},{\"gl-matrix-invert\":264,\"ndarray-warp\":429}],423:[function(t,e,r){\"use strict\";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function i(t,e,r){var n=Math.floor(e),i=e-n,a=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,c=0<=s&&s<t.shape[1],u=0<=s+1&&s+1<t.shape[1],f=a&&c?t.get(n,s):0,h=a&&u?t.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&&c?t.get(n+1,s):0))+l*((1-i)*h+i*(o&&u?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),c=r-l,u=0<=l&&l<t.shape[1],f=0<=l+1&&l+1<t.shape[1],h=Math.floor(n),p=n-h,d=0<=h&&h<t.shape[2],g=0<=h+1&&h+1<t.shape[2],m=o&&u&&d?t.get(i,l,h):0,v=o&&f&&d?t.get(i,l+1,h):0,y=s&&u&&d?t.get(i+1,l,h):0,x=s&&f&&d?t.get(i+1,l+1,h):0,b=o&&u&&g?t.get(i,l,h+1):0,_=o&&f&&g?t.get(i,l+1,h+1):0;return(1-p)*((1-c)*((1-a)*m+a*y)+c*((1-a)*v+a*x))+p*((1-c)*((1-a)*b+a*(s&&u&&g?t.get(i+1,l,h+1):0))+c*((1-a)*_+a*(s&&f&&g?t.get(i+1,l+1,h+1):0)))}e.exports=function(t,e,r,o){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return i(t,e,r);case 3:return a(t,e,r,o);default:return function(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,c,u,f=0;t:for(e=0;e<1<<n;++e){for(c=1,u=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;c*=a[l],u+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;c*=1-a[l],u+=t.stride[l]*i[l]}f+=c*t.data[u]}return f}.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],424:[function(t,e,r){\"use strict\";var n=t(\"cwise-compiler\"),i={body:\"\",args:[],thisVars:[],localVars:[]};function a(t){if(!t)return i;for(var e=0;e<t.args.length;++e){var r=t.args[e];t.args[e]=0===e?{name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function o(t){for(var e=[],r=0;r<t.args.length;++r)e.push(\"a\"+r);return new Function(\"P\",[\"return function \",t.funcName,\"_ndarrayops(\",e.join(\",\"),\") {P(\",e.join(\",\"),\");return a0}\"].join(\"\"))(function(t){return n({args:t.args,pre:a(t.pre),body:a(t.body),post:a(t.proc),funcName:t.funcName})}(t))}var s={add:\"+\",sub:\"-\",mul:\"*\",div:\"/\",mod:\"%\",band:\"&\",bor:\"|\",bxor:\"^\",lshift:\"<<\",rshift:\">>\",rrshift:\">>>\"};!function(){for(var t in s){var e=s[t];r[t]=o({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),r[t+\"eq\"]=o({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a\"+e+\"=b\"},rvalue:!0,funcName:t+\"eq\"}),r[t+\"s\"]=o({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),r[t+\"seq\"]=o({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a\"+e+\"=s\"},rvalue:!0,funcName:t+\"seq\"})}}();var l={not:\"!\",bnot:\"~\",neg:\"-\",recip:\"1.0/\"};!function(){for(var t in l){var e=l[t];r[t]=o({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=\"+e+\"b\"},funcName:t}),r[t+\"eq\"]=o({args:[\"array\"],body:{args:[\"a\"],body:\"a=\"+e+\"a\"},rvalue:!0,count:2,funcName:t+\"eq\"})}}();var c={and:\"&&\",or:\"||\",eq:\"===\",neq:\"!==\",lt:\"<\",gt:\">\",leq:\"<=\",geq:\">=\"};!function(){for(var t in c){var e=c[t];r[t]=o({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),r[t+\"s\"]=o({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),r[t+\"eq\"]=o({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=a\"+e+\"b\"},rvalue:!0,count:2,funcName:t+\"eq\"}),r[t+\"seq\"]=o({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a=a\"+e+\"s\"},rvalue:!0,count:2,funcName:t+\"seq\"})}}();var u=[\"abs\",\"acos\",\"asin\",\"atan\",\"ceil\",\"cos\",\"exp\",\"floor\",\"log\",\"round\",\"sin\",\"sqrt\",\"tan\"];!function(){for(var t=0;t<u.length;++t){var e=u[t];r[e]=o({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b)\",thisVars:[\"this_f\"]},funcName:e}),r[e+\"eq\"]=o({args:[\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\"],body:\"a=this_f(a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"eq\"})}}();var f=[\"max\",\"min\",\"atan2\",\"pow\"];!function(){for(var t=0;t<f.length;++t){var e=f[t];r[e]=o({args:[\"array\",\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(b,c)\",thisVars:[\"this_f\"]},funcName:e}),r[e+\"s\"]=o({args:[\"array\",\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(b,c)\",thisVars:[\"this_f\"]},funcName:e+\"s\"}),r[e+\"eq\"]=o({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(a,b)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"eq\"}),r[e+\"seq\"]=o({args:[\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(a,b)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"seq\"})}}();var h=[\"atan2\",\"pow\"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e+\"op\"]=o({args:[\"array\",\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(c,b)\",thisVars:[\"this_f\"]},funcName:e+\"op\"}),r[e+\"ops\"]=o({args:[\"array\",\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(c,b)\",thisVars:[\"this_f\"]},funcName:e+\"ops\"}),r[e+\"opeq\"]=o({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b,a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"opeq\"}),r[e+\"opseq\"]=o({args:[\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b,a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"opseq\"})}}(),r.any=n({args:[\"array\"],pre:i,body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"if(a){return true}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return false\"},funcName:\"any\"}),r.all=n({args:[\"array\"],pre:i,body:{args:[{name:\"x\",lvalue:!1,rvalue:!0,count:1}],body:\"if(!x){return false}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return true\"},funcName:\"all\"}),r.sum=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"this_s+=a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"sum\"}),r.prod=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=1\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"this_s*=a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"prod\"}),r.norm2squared=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:2}],body:\"this_s+=a*a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norm2squared\"}),r.norm2=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:2}],body:\"this_s+=a*a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return Math.sqrt(this_s)\"},funcName:\"norm2\"}),r.norminf=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:4}],body:\"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norminf\"}),r.norm1=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:3}],body:\"this_s+=a<0?-a:a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norm1\"}),r.sup=n({args:[\"array\"],pre:{body:\"this_h=-Infinity\",args:[],thisVars:[\"this_h\"],localVars:[]},body:{body:\"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_h\"],localVars:[]},post:{body:\"return this_h\",args:[],thisVars:[\"this_h\"],localVars:[]}}),r.inf=n({args:[\"array\"],pre:{body:\"this_h=Infinity\",args:[],thisVars:[\"this_h\"],localVars:[]},body:{body:\"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_h\"],localVars:[]},post:{body:\"return this_h\",args:[],thisVars:[\"this_h\"],localVars:[]}}),r.argmin=n({args:[\"index\",\"array\",\"shape\"],pre:{body:\"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}\",args:[{name:\"_inline_0_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_i\",\"this_v\"],localVars:[]},body:{body:\"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_i\",\"this_v\"],localVars:[\"_inline_1_k\"]},post:{body:\"{return this_i}\",args:[],thisVars:[\"this_i\"],localVars:[]}}),r.argmax=n({args:[\"index\",\"array\",\"shape\"],pre:{body:\"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}\",args:[{name:\"_inline_0_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_i\",\"this_v\"],localVars:[]},body:{body:\"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_i\",\"this_v\"],localVars:[\"_inline_1_k\"]},post:{body:\"{return this_i}\",args:[],thisVars:[\"this_i\"],localVars:[]}}),r.random=o({args:[\"array\"],pre:{args:[],body:\"this_f=Math.random\",thisVars:[\"this_f\"]},body:{args:[\"a\"],body:\"a=this_f()\",thisVars:[\"this_f\"]},funcName:\"random\"}),r.assign=o({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assign\"}),r.assigns=o({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assigns\"}),r.equals=n({args:[\"array\",\"array\"],pre:i,body:{args:[{name:\"x\",lvalue:!1,rvalue:!0,count:1},{name:\"y\",lvalue:!1,rvalue:!0,count:1}],body:\"if(x!==y){return false}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return true\"},funcName:\"equals\"})},{\"cwise-compiler\":133}],425:[function(t,e,r){\"use strict\";var n=t(\"ndarray\"),i=t(\"./doConvert.js\");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{\"./doConvert.js\":426,ndarray:430}],426:[function(t,e,r){e.exports=t(\"cwise-compiler\")({args:[\"array\",\"scalar\",\"index\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},body:{body:\"{\\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\\n}\\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\\n}\",args:[{name:\"_inline_1_arg0_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:[\"_inline_1_i\",\"_inline_1_v\"]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},funcName:\"convert\",blockSize:64})},{\"cwise-compiler\":133}],427:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\"),i=32;function a(t){switch(t){case\"uint8\":return[n.mallocUint8,n.freeUint8];case\"uint16\":return[n.mallocUint16,n.freeUint16];case\"uint32\":return[n.mallocUint32,n.freeUint32];case\"int8\":return[n.mallocInt8,n.freeInt8];case\"int16\":return[n.mallocInt16,n.freeInt16];case\"int32\":return[n.mallocInt32,n.freeInt32];case\"float32\":return[n.mallocFloat,n.freeFloat];case\"float64\":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r<t;++r)e.push(\"s\"+r);for(r=0;r<t;++r)e.push(\"n\"+r);for(r=1;r<t;++r)e.push(\"d\"+r);for(r=1;r<t;++r)e.push(\"e\"+r);for(r=1;r<t;++r)e.push(\"f\"+r);return e}e.exports=function(t,e){var r=[\"'use strict'\"],n=[\"ndarraySortWrapper\",t.join(\"d\"),e].join(\"\");r.push([\"function \",n,\"(\",[\"array\"].join(\",\"),\"){\"].join(\"\"));for(var s=[\"data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride\"],l=0;l<t.length;++l)s.push([\"s\",l,\"=stride[\",l,\"]|0,n\",l,\"=shape[\",l,\"]|0\"].join(\"\"));var c=new Array(t.length),u=[];for(l=0;l<t.length;++l)0!==(p=t[l])&&(0===u.length?c[p]=\"1\":c[p]=u.join(\"*\"),u.push(\"n\"+p));var f=-1,h=-1;for(l=0;l<t.length;++l){var p,d=t[l];0!==d&&(f>0?s.push([\"d\",d,\"=s\",d,\"-d\",f,\"*n\",f].join(\"\")):s.push([\"d\",d,\"=s\",d].join(\"\")),f=d),0!=(p=t.length-1-l)&&(h>0?s.push([\"e\",p,\"=s\",p,\"-e\",h,\"*n\",h,\",f\",p,\"=\",c[p],\"-f\",h,\"*n\",h].join(\"\")):s.push([\"e\",p,\"=s\",p,\",f\",p,\"=\",c[p]].join(\"\")),h=p)}r.push(\"var \"+s.join(\",\"));var g=[\"0\",\"n0-1\",\"data\",\"offset\"].concat(o(t.length));r.push([\"if(n0<=\",i,\"){\",\"insertionSort(\",g.join(\",\"),\")}else{\",\"quickSort(\",g.join(\",\"),\")}\"].join(\"\")),r.push(\"}return \"+n);var m=new Function(\"insertionSort\",\"quickSort\",r.join(\"\\n\")),v=function(t,e){var r=[\"'use strict'\"],n=[\"ndarrayInsertionSort\",t.join(\"d\"),e].join(\"\"),i=[\"left\",\"right\",\"data\",\"offset\"].concat(o(t.length)),s=a(e),l=[\"i,j,cptr,ptr=left*s0+offset\"];if(t.length>1){for(var c=[],u=1;u<t.length;++u)l.push(\"i\"+u),c.push(\"n\"+u);s?l.push(\"scratch=malloc(\"+c.join(\"*\")+\")\"):l.push(\"scratch=new Array(\"+c.join(\"*\")+\")\"),l.push(\"dptr\",\"sptr\",\"a\",\"b\")}else l.push(\"scratch\");function f(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function h(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}if(r.push([\"function \",n,\"(\",i.join(\",\"),\"){var \",l.join(\",\")].join(\"\"),\"for(i=left+1;i<=right;++i){\",\"j=i;ptr+=s0\",\"cptr=ptr\"),t.length>1){for(r.push(\"dptr=0;sptr=ptr\"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push([\"for(i\",p,\"=0;i\",p,\"<n\",p,\";++i\",p,\"){\"].join(\"\"));for(r.push(\"scratch[dptr++]=\",f(\"sptr\")),u=0;u<t.length;++u)0!==(p=t[u])&&r.push(\"sptr+=d\"+p,\"}\");for(r.push(\"__g:while(j--\\x3eleft){\",\"dptr=0\",\"sptr=cptr-s0\"),u=1;u<t.length;++u)1===u&&r.push(\"__l:\"),r.push([\"for(i\",u,\"=0;i\",u,\"<n\",u,\";++i\",u,\"){\"].join(\"\"));for(r.push([\"a=\",f(\"sptr\"),\"\\nb=scratch[dptr]\\nif(a<b){break __g}\\nif(a>b){break __l}\"].join(\"\")),u=t.length-1;u>=1;--u)r.push(\"sptr+=e\"+u,\"dptr+=f\"+u,\"}\");for(r.push(\"dptr=cptr;sptr=cptr-s0\"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push([\"for(i\",p,\"=0;i\",p,\"<n\",p,\";++i\",p,\"){\"].join(\"\"));for(r.push(h(\"dptr\",f(\"sptr\"))),u=0;u<t.length;++u)0!==(p=t[u])&&r.push([\"dptr+=d\",p,\";sptr+=d\",p].join(\"\"),\"}\");for(r.push(\"cptr-=s0\\n}\"),r.push(\"dptr=cptr;sptr=0\"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push([\"for(i\",p,\"=0;i\",p,\"<n\",p,\";++i\",p,\"){\"].join(\"\"));for(r.push(h(\"dptr\",\"scratch[sptr++]\")),u=0;u<t.length;++u){var p;0!==(p=t[u])&&r.push(\"dptr+=d\"+p,\"}\")}}else r.push(\"scratch=\"+f(\"ptr\"),\"while((j--\\x3eleft)&&(\"+f(\"cptr-s0\")+\">scratch)){\",h(\"cptr\",f(\"cptr-s0\")),\"cptr-=s0\",\"}\",h(\"cptr\",\"scratch\"));return r.push(\"}\"),t.length>1&&s&&r.push(\"free(scratch)\"),r.push(\"} return \"+n),s?new Function(\"malloc\",\"free\",r.join(\"\\n\"))(s[0],s[1]):new Function(r.join(\"\\n\"))()}(t,e),y=function(t,e,r){var n=[\"'use strict'\"],s=[\"ndarrayQuickSort\",t.join(\"d\"),e].join(\"\"),l=[\"left\",\"right\",\"data\",\"offset\"].concat(o(t.length)),c=a(e),u=0;n.push([\"function \",s,\"(\",l.join(\",\"),\"){\"].join(\"\"));var f=[\"sixth=((right-left+1)/6)|0\",\"index1=left+sixth\",\"index5=right-sixth\",\"index3=(left+right)>>1\",\"index2=index3-sixth\",\"index4=index3+sixth\",\"el1=index1\",\"el2=index2\",\"el3=index3\",\"el4=index4\",\"el5=index5\",\"less=left+1\",\"great=right-1\",\"pivots_are_equal=true\",\"tmp\",\"tmp0\",\"x\",\"y\",\"z\",\"k\",\"ptr0\",\"ptr1\",\"ptr2\",\"comp_pivot1=0\",\"comp_pivot2=0\",\"comp=0\"];if(t.length>1){for(var h=[],p=1;p<t.length;++p)h.push(\"n\"+p),f.push(\"i\"+p);for(p=0;p<8;++p)f.push(\"b_ptr\"+p);f.push(\"ptr3\",\"ptr4\",\"ptr5\",\"ptr6\",\"ptr7\",\"pivot_ptr\",\"ptr_shift\",\"elementSize=\"+h.join(\"*\")),c?f.push(\"pivot1=malloc(elementSize)\",\"pivot2=malloc(elementSize)\"):f.push(\"pivot1=new Array(elementSize),pivot2=new Array(elementSize)\")}else f.push(\"pivot1\",\"pivot2\");function d(t){return[\"(offset+\",t,\"*s0)\"].join(\"\")}function g(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function m(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}function v(e,r,i){if(1===e.length)n.push(\"ptr0=\"+d(e[0]));else for(var a=0;a<e.length;++a)n.push([\"b_ptr\",a,\"=s0*\",e[a]].join(\"\"));for(r&&n.push(\"pivot_ptr=0\"),n.push(\"ptr_shift=offset\"),a=t.length-1;a>=0;--a)0!==(o=t[a])&&n.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"));if(e.length>1)for(a=0;a<e.length;++a)n.push([\"ptr\",a,\"=b_ptr\",a,\"+ptr_shift\"].join(\"\"));for(n.push(i),r&&n.push(\"++pivot_ptr\"),a=0;a<t.length;++a){var o;0!==(o=t[a])&&(e.length>1?n.push(\"ptr_shift+=d\"+o):n.push(\"ptr0+=d\"+o),n.push(\"}\"))}}function y(e,r,i,a){if(1===r.length)n.push(\"ptr0=\"+d(r[0]));else{for(var o=0;o<r.length;++o)n.push([\"b_ptr\",o,\"=s0*\",r[o]].join(\"\"));n.push(\"ptr_shift=offset\")}for(i&&n.push(\"pivot_ptr=0\"),e&&n.push(e+\":\"),o=1;o<t.length;++o)n.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"));if(r.length>1)for(o=0;o<r.length;++o)n.push([\"ptr\",o,\"=b_ptr\",o,\"+ptr_shift\"].join(\"\"));for(n.push(a),o=t.length-1;o>=1;--o)i&&n.push(\"pivot_ptr+=f\"+o),r.length>1?n.push(\"ptr_shift+=e\"+o):n.push(\"ptr0+=e\"+o),n.push(\"}\")}function x(){t.length>1&&c&&n.push(\"free(pivot1)\",\"free(pivot2)\")}function b(e,r){var i=\"el\"+e,a=\"el\"+r;if(t.length>1){var o=\"__l\"+ ++u;y(o,[i,a],!1,[\"comp=\",g(\"ptr0\"),\"-\",g(\"ptr1\"),\"\\n\",\"if(comp>0){tmp0=\",i,\";\",i,\"=\",a,\";\",a,\"=tmp0;break \",o,\"}\\n\",\"if(comp<0){break \",o,\"}\"].join(\"\"))}else n.push([\"if(\",g(d(i)),\">\",g(d(a)),\"){tmp0=\",i,\";\",i,\"=\",a,\";\",a,\"=tmp0}\"].join(\"\"))}function _(e,r){t.length>1?v([e,r],!1,m(\"ptr0\",g(\"ptr1\"))):n.push(m(d(e),g(d(r))))}function w(e,r,i){if(t.length>1){var a=\"__l\"+ ++u;y(a,[r],!0,[e,\"=\",g(\"ptr0\"),\"-pivot\",i,\"[pivot_ptr]\\n\",\"if(\",e,\"!==0){break \",a,\"}\"].join(\"\"))}else n.push([e,\"=\",g(d(r)),\"-pivot\",i].join(\"\"))}function k(e,r){t.length>1?v([e,r],!1,[\"tmp=\",g(\"ptr0\"),\"\\n\",m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",\"tmp\")].join(\"\")):n.push([\"ptr0=\",d(e),\"\\n\",\"ptr1=\",d(r),\"\\n\",\"tmp=\",g(\"ptr0\"),\"\\n\",m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",\"tmp\")].join(\"\"))}function M(e,r,i){t.length>1?(v([e,r,i],!1,[\"tmp=\",g(\"ptr0\"),\"\\n\",m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",g(\"ptr2\")),\"\\n\",m(\"ptr2\",\"tmp\")].join(\"\")),n.push(\"++\"+r,\"--\"+i)):n.push([\"ptr0=\",d(e),\"\\n\",\"ptr1=\",d(r),\"\\n\",\"ptr2=\",d(i),\"\\n\",\"++\",r,\"\\n\",\"--\",i,\"\\n\",\"tmp=\",g(\"ptr0\"),\"\\n\",m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",g(\"ptr2\")),\"\\n\",m(\"ptr2\",\"tmp\")].join(\"\"))}function A(t,e){k(t,e),n.push(\"--\"+e)}function T(e,r,i){t.length>1?v([e,r],!0,[m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",[\"pivot\",i,\"[pivot_ptr]\"].join(\"\"))].join(\"\")):n.push(m(d(e),g(d(r))),m(d(r),\"pivot\"+i))}function S(e,r){n.push([\"if((\",r,\"-\",e,\")<=\",i,\"){\\n\",\"insertionSort(\",e,\",\",r,\",data,offset,\",o(t.length).join(\",\"),\")\\n\",\"}else{\\n\",s,\"(\",e,\",\",r,\",data,offset,\",o(t.length).join(\",\"),\")\\n\",\"}\"].join(\"\"))}function E(e,r,i){t.length>1?(n.push([\"__l\",++u,\":while(true){\"].join(\"\")),v([e],!0,[\"if(\",g(\"ptr0\"),\"!==pivot\",r,\"[pivot_ptr]){break __l\",u,\"}\"].join(\"\")),n.push(i,\"}\")):n.push([\"while(\",g(d(e)),\"===pivot\",r,\"){\",i,\"}\"].join(\"\"))}return n.push(\"var \"+f.join(\",\")),b(1,2),b(4,5),b(1,3),b(2,3),b(1,4),b(3,4),b(2,5),b(2,3),b(4,5),t.length>1?v([\"el1\",\"el2\",\"el3\",\"el4\",\"el5\",\"index1\",\"index3\",\"index5\"],!0,[\"pivot1[pivot_ptr]=\",g(\"ptr1\"),\"\\n\",\"pivot2[pivot_ptr]=\",g(\"ptr3\"),\"\\n\",\"pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\\n\",\"x=\",g(\"ptr0\"),\"\\n\",\"y=\",g(\"ptr2\"),\"\\n\",\"z=\",g(\"ptr4\"),\"\\n\",m(\"ptr5\",\"x\"),\"\\n\",m(\"ptr6\",\"y\"),\"\\n\",m(\"ptr7\",\"z\")].join(\"\")):n.push([\"pivot1=\",g(d(\"el2\")),\"\\n\",\"pivot2=\",g(d(\"el4\")),\"\\n\",\"pivots_are_equal=pivot1===pivot2\\n\",\"x=\",g(d(\"el1\")),\"\\n\",\"y=\",g(d(\"el3\")),\"\\n\",\"z=\",g(d(\"el5\")),\"\\n\",m(d(\"index1\"),\"x\"),\"\\n\",m(d(\"index3\"),\"y\"),\"\\n\",m(d(\"index5\"),\"z\")].join(\"\")),_(\"index2\",\"left\"),_(\"index4\",\"right\"),n.push(\"if(pivots_are_equal){\"),n.push(\"for(k=less;k<=great;++k){\"),w(\"comp\",\"k\",1),n.push(\"if(comp===0){continue}\"),n.push(\"if(comp<0){\"),n.push(\"if(k!==less){\"),k(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),n.push(\"while(true){\"),w(\"comp\",\"great\",1),n.push(\"if(comp>0){\"),n.push(\"great--\"),n.push(\"}else if(comp<0){\"),M(\"k\",\"less\",\"great\"),n.push(\"break\"),n.push(\"}else{\"),A(\"k\",\"great\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}else{\"),n.push(\"for(k=less;k<=great;++k){\"),w(\"comp_pivot1\",\"k\",1),n.push(\"if(comp_pivot1<0){\"),n.push(\"if(k!==less){\"),k(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),w(\"comp_pivot2\",\"k\",2),n.push(\"if(comp_pivot2>0){\"),n.push(\"while(true){\"),w(\"comp\",\"great\",2),n.push(\"if(comp>0){\"),n.push(\"if(--great<k){break}\"),n.push(\"continue\"),n.push(\"}else{\"),w(\"comp\",\"great\",1),n.push(\"if(comp<0){\"),M(\"k\",\"less\",\"great\"),n.push(\"}else{\"),A(\"k\",\"great\"),n.push(\"}\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),T(\"left\",\"(less-1)\",1),T(\"right\",\"(great+1)\",2),S(\"left\",\"(less-2)\"),S(\"(great+2)\",\"right\"),n.push(\"if(pivots_are_equal){\"),x(),n.push(\"return\"),n.push(\"}\"),n.push(\"if(less<index1&&great>index5){\"),E(\"less\",1,\"++less\"),E(\"great\",2,\"--great\"),n.push(\"for(k=less;k<=great;++k){\"),w(\"comp_pivot1\",\"k\",1),n.push(\"if(comp_pivot1===0){\"),n.push(\"if(k!==less){\"),k(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),w(\"comp_pivot2\",\"k\",2),n.push(\"if(comp_pivot2===0){\"),n.push(\"while(true){\"),w(\"comp\",\"great\",2),n.push(\"if(comp===0){\"),n.push(\"if(--great<k){break}\"),n.push(\"continue\"),n.push(\"}else{\"),w(\"comp\",\"great\",1),n.push(\"if(comp<0){\"),M(\"k\",\"less\",\"great\"),n.push(\"}else{\"),A(\"k\",\"great\"),n.push(\"}\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),x(),S(\"less\",\"great\"),n.push(\"}return \"+s),t.length>1&&c?new Function(\"insertionSort\",\"malloc\",\"free\",n.join(\"\\n\"))(r,c[0],c[1]):new Function(\"insertionSort\",n.join(\"\\n\"))(r)}(t,e,v);return m(v,y)}},{\"typedarray-pool\":519}],428:[function(t,e,r){\"use strict\";var n=t(\"./lib/compile_sort.js\"),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(\":\"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{\"./lib/compile_sort.js\":427}],429:[function(t,e,r){\"use strict\";var n=t(\"ndarray-linear-interpolate\"),i=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=new Array(_inline_3_arg4_)}\",args:[{name:\"_inline_3_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg2_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg3_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}\",args:[{name:\"_inline_4_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_4_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_4_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_4_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_4_arg4_\",lvalue:!1,rvalue:!1,count:0}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warpND\",blockSize:64}),a=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}\",args:[{name:\"_inline_7_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_7_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_7_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_7_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_7_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp1D\",blockSize:64}),o=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0,0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}\",args:[{name:\"_inline_10_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_10_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_10_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_10_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_10_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp2D\",blockSize:64}),s=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0,0,0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}\",args:[{name:\"_inline_13_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_13_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_13_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_13_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_13_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp3D\",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{\"cwise/lib/wrapper\":136,\"ndarray-linear-interpolate\":423}],430:[function(t,e,r){var n=t(\"iota-array\"),i=t(\"is-buffer\"),a=\"undefined\"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(o);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function l(t,e){var r=[\"View\",e,\"d\",t].join(\"\");e<0&&(r=\"View_Nil\"+t);var i=\"generic\"===t;if(-1===e){var a=\"function \"+r+\"(a){this.data=a;};var proto=\"+r+\".prototype;proto.dtype='\"+t+\"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new \"+r+\"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_\"+r+\"(a){return new \"+r+\"(a);}\";return new Function(a)()}if(0===e){a=\"function \"+r+\"(a,d) {this.data = a;this.offset = d};var proto=\"+r+\".prototype;proto.dtype='\"+t+\"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function \"+r+\"_copy() {return new \"+r+\"(this.data,this.offset)};proto.pick=function \"+r+\"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function \"+r+\"_get(){return \"+(i?\"this.data.get(this.offset)\":\"this.data[this.offset]\")+\"};proto.set=function \"+r+\"_set(v){return \"+(i?\"this.data.set(this.offset,v)\":\"this.data[this.offset]=v\")+\"};return function construct_\"+r+\"(a,b,c,d){return new \"+r+\"(a,d)}\";return new Function(\"TrivialArray\",a)(c[t][0])}a=[\"'use strict'\"];var o=n(e),l=o.map(function(t){return\"i\"+t}),u=\"this.offset+\"+o.map(function(t){return\"this.stride[\"+t+\"]*i\"+t}).join(\"+\"),f=o.map(function(t){return\"b\"+t}).join(\",\"),h=o.map(function(t){return\"c\"+t}).join(\",\");a.push(\"function \"+r+\"(a,\"+f+\",\"+h+\",d){this.data=a\",\"this.shape=[\"+f+\"]\",\"this.stride=[\"+h+\"]\",\"this.offset=d|0}\",\"var proto=\"+r+\".prototype\",\"proto.dtype='\"+t+\"'\",\"proto.dimension=\"+e),a.push(\"Object.defineProperty(proto,'size',{get:function \"+r+\"_size(){return \"+o.map(function(t){return\"this.shape[\"+t+\"]\"}).join(\"*\"),\"}})\"),1===e?a.push(\"proto.order=[0]\"):(a.push(\"Object.defineProperty(proto,'order',{get:\"),e<4?(a.push(\"function \"+r+\"_order(){\"),2===e?a.push(\"return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})\"):3===e&&a.push(\"var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})\")):a.push(\"ORDER})\")),a.push(\"proto.set=function \"+r+\"_set(\"+l.join(\",\")+\",v){\"),i?a.push(\"return this.data.set(\"+u+\",v)}\"):a.push(\"return this.data[\"+u+\"]=v}\"),a.push(\"proto.get=function \"+r+\"_get(\"+l.join(\",\")+\"){\"),i?a.push(\"return this.data.get(\"+u+\")}\"):a.push(\"return this.data[\"+u+\"]}\"),a.push(\"proto.index=function \"+r+\"_index(\",l.join(),\"){return \"+u+\"}\"),a.push(\"proto.hi=function \"+r+\"_hi(\"+l.join(\",\")+\"){return new \"+r+\"(this.data,\"+o.map(function(t){return[\"(typeof i\",t,\"!=='number'||i\",t,\"<0)?this.shape[\",t,\"]:i\",t,\"|0\"].join(\"\")}).join(\",\")+\",\"+o.map(function(t){return\"this.stride[\"+t+\"]\"}).join(\",\")+\",this.offset)}\");var p=o.map(function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"}),d=o.map(function(t){return\"c\"+t+\"=this.stride[\"+t+\"]\"});a.push(\"proto.lo=function \"+r+\"_lo(\"+l.join(\",\")+\"){var b=this.offset,d=0,\"+p.join(\",\")+\",\"+d.join(\",\"));for(var g=0;g<e;++g)a.push(\"if(typeof i\"+g+\"==='number'&&i\"+g+\">=0){d=i\"+g+\"|0;b+=c\"+g+\"*d;a\"+g+\"-=d}\");a.push(\"return new \"+r+\"(this.data,\"+o.map(function(t){return\"a\"+t}).join(\",\")+\",\"+o.map(function(t){return\"c\"+t}).join(\",\")+\",b)}\"),a.push(\"proto.step=function \"+r+\"_step(\"+l.join(\",\")+\"){var \"+o.map(function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"}).join(\",\")+\",\"+o.map(function(t){return\"b\"+t+\"=this.stride[\"+t+\"]\"}).join(\",\")+\",c=this.offset,d=0,ceil=Math.ceil\");for(g=0;g<e;++g)a.push(\"if(typeof i\"+g+\"==='number'){d=i\"+g+\"|0;if(d<0){c+=b\"+g+\"*(a\"+g+\"-1);a\"+g+\"=ceil(-a\"+g+\"/d)}else{a\"+g+\"=ceil(a\"+g+\"/d)}b\"+g+\"*=d}\");a.push(\"return new \"+r+\"(this.data,\"+o.map(function(t){return\"a\"+t}).join(\",\")+\",\"+o.map(function(t){return\"b\"+t}).join(\",\")+\",c)}\");var m=new Array(e),v=new Array(e);for(g=0;g<e;++g)m[g]=\"a[i\"+g+\"]\",v[g]=\"b[i\"+g+\"]\";a.push(\"proto.transpose=function \"+r+\"_transpose(\"+l+\"){\"+l.map(function(t,e){return t+\"=(\"+t+\"===undefined?\"+e+\":\"+t+\"|0)\"}).join(\";\"),\"var a=this.shape,b=this.stride;return new \"+r+\"(this.data,\"+m.join(\",\")+\",\"+v.join(\",\")+\",this.offset)}\"),a.push(\"proto.pick=function \"+r+\"_pick(\"+l+\"){var a=[],b=[],c=this.offset\");for(g=0;g<e;++g)a.push(\"if(typeof i\"+g+\"==='number'&&i\"+g+\">=0){c=(c+this.stride[\"+g+\"]*i\"+g+\")|0}else{a.push(this.shape[\"+g+\"]);b.push(this.stride[\"+g+\"])}\");return a.push(\"var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}\"),a.push(\"return function construct_\"+r+\"(data,shape,stride,offset){return new \"+r+\"(data,\"+o.map(function(t){return\"shape[\"+t+\"]\"}).join(\",\")+\",\"+o.map(function(t){return\"stride[\"+t+\"]\"}).join(\",\")+\",offset)}\"),new Function(\"CTOR_LIST\",\"ORDER\",a.join(\"\\n\"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);\"number\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===n)for(n=0,s=0;s<o;++s)r[s]<0&&(n-=(e[s]-1)*r[s]);for(var f=function(t){if(i(t))return\"buffer\";if(a)switch(Object.prototype.toString.call(t)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\"}return Array.isArray(t)?\"array\":\"generic\"}(t),h=c[f];h.length<=o+1;)h.push(l(f,h.length-1));return(0,h[o+1])(t,e,r,n)}},{\"iota-array\":397,\"is-buffer\":399}],431:[function(t,e,r){\"use strict\";var n=t(\"double-bits\"),i=Math.pow(2,-1074),a=-1>>>0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1;return n.pack(o,r)}},{\"double-bits\":151}],432:[function(t,e,r){var n=Math.PI,i=c(120);function a(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function o(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function s(t,e,r,a,o,c,u,f,h,p){if(p)k=p[0],M=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(f=(d=l(f,h,-o)).x))/2,m=(e-(h=d.y))/2,v=g*g/(r*r)+m*m/(a*a);v>1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*m*m-x*g*g)/(y*m*m+x*g*g)));b==1/0&&(b=1);var _=b*r*m/a+(t+f)/2,w=b*-a*g/r+(e+h)/2,k=Math.asin(((e-w)/a).toFixed(9)),M=Math.asin(((h-w)/a).toFixed(9));(k=t<_?n-k:k)<0&&(k=2*n+k),(M=f<_?n-M:M)<0&&(M=2*n+M),u&&k>M&&(k-=2*n),!u&&M>k&&(M-=2*n)}if(Math.abs(M-k)>i){var A=M,T=f,S=h;M=k+i*(u&&M>k?1:-1);var E=s(f=_+r*Math.cos(M),h=w+a*Math.sin(M),r,a,o,0,u,T,S,[M,A,_,w])}var C=Math.tan((M-k)/4),L=4/3*r*C,z=4/3*a*C,P=[2*t-(t+L*Math.sin(k)),2*e-(e-z*Math.cos(k)),f+L*Math.sin(M),h-z*Math.cos(M),f,h];if(p)return P;E&&(P=P.concat(E));for(var O=0;O<P.length;){var I=l(P[O],P[O+1],o);P[O++]=I.x,P[O++]=I.y}return P}function l(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function c(t){return t*(n/180)}e.exports=function(t){for(var e,r=[],n=0,i=0,l=0,u=0,f=null,h=null,p=0,d=0,g=0,m=t.length;g<m;g++){var v=t[g],y=v[0];switch(y){case\"M\":l=v[1],u=v[2];break;case\"A\":(v=s(p,d,v[1],v[2],c(v[3]),v[4],v[5],v[6],v[7])).unshift(\"C\"),v.length>7&&(r.push(v.splice(0,7)),v.unshift(\"C\"));break;case\"S\":var x=p,b=d;\"C\"!=e&&\"S\"!=e||(x+=x-n,b+=b-i),v=[\"C\",x,b,v[1],v[2],v[3],v[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),v=o(p,d,f,h,v[1],v[2]);break;case\"Q\":f=v[1],h=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case\"L\":v=a(p,d,v[1],v[2]);break;case\"H\":v=a(p,d,v[1],d);break;case\"V\":v=a(p,d,p,v[1]);break;case\"Z\":v=a(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],i=v[v.length-3]):(n=p,i=d),r.push(v)}return r}},{}],433:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[o]=[0,0,0];for(o=0;o<t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],f=0;f<s.length;++f){l=c,c=u,u=s[(f+1)%s.length];for(var h=e[l],p=e[c],d=e[u],g=new Array(3),m=0,v=new Array(3),y=0,x=0;x<3;++x)g[x]=h[x]-p[x],m+=g[x]*g[x],v[x]=d[x]-p[x],y+=v[x]*v[x];if(m*y>a){var b=i[c],_=1/Math.sqrt(m*y);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(v[w]*g[k]-v[k]*g[w])}}}for(o=0;o<n;++o){b=i[o];var M=0;for(x=0;x<3;++x)M+=b[x]*b[x];if(M>a)for(_=1/Math.sqrt(M),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),c=0;c<3;++c)l[c]=e[s[c]];var u=new Array(3),f=new Array(3);for(c=0;c<3;++c)u[c]=l[1][c]-l[0][c],f[c]=l[2][c]-l[0][c];var h=new Array(3),p=0;for(c=0;c<3;++c){var d=(c+1)%3,g=(c+2)%3;h[c]=u[d]*f[g]-u[g]*f[d],p+=h[c]*h[c]}p=p>a?1/Math.sqrt(p):0;for(c=0;c<3;++c)h[c]*=p;i[o]=h}return i}},{}],434:[function(t,e,r){\"use strict\";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(t){n[t]=t}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,o,s=function(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}(t),l=1;l<arguments.length;l++){for(var c in r=Object(arguments[l]))i.call(r,c)&&(s[c]=r[c]);if(n){o=n(r);for(var u=0;u<o.length;u++)a.call(r,o[u])&&(s[o[u]]=r[o[u]])}}return s}},{}],435:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f>0){var f=Math.sqrt(u+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,c),f=Math.sqrt(2*h-u+1);e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},{}],436:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),(\"eye\"in t||\"up\"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};var n=t(\"filtered-vector\"),i=t(\"gl-mat4/lookAt\"),a=t(\"gl-mat4/fromQuat\"),o=t(\"gl-mat4/invert\"),s=t(\"./lib/quatFromFrame\");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,f=0;f<3;++f)c+=r[l+4*f]*i[f];r[12+l]=-c}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=l(u-=a*p,f-=o*p,h-=s*p);u/=d,f/=d,h/=d;var g=i[2],m=i[6],v=i[10],y=g*a+m*o+v*s,x=g*u+m*f+v*h,b=l(g-=y*a+x*u,m-=y*o+x*f,v-=y*s+x*h);g/=b,m/=b,v/=b;var _=u*e+a*r,w=f*e+o*r,k=h*e+s*r;this.center.move(t,_,w,k);var M=Math.exp(this.computedRadius[0]);M=Math.max(1e-4,M+n),this.radius.set(t,Math.log(M))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],f=i[5],h=i[9],p=i[2],d=i[6],g=i[10],m=e*a+r*u,v=e*o+r*f,y=e*s+r*h,x=-(d*y-g*v),b=-(g*m-p*y),_=-(p*v-d*m),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),k=c(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var M=this.computedRotation,A=M[0],T=M[1],S=M[2],E=M[3],C=A*w+E*x+T*_-S*b,L=T*w+E*b+S*x-A*_,z=S*w+E*_+A*b-T*x,P=E*w-A*x-T*b-S*_;if(n){x=p,b=d,_=g;var O=Math.sin(n)/l(x,b,_);x*=O,b*=O,_*=O,P=P*(w=Math.cos(e))-(C=C*w+P*x+L*_-z*b)*x-(L=L*w+P*b+z*x-C*_)*b-(z=z*w+P*_+C*b-L*x)*_}var I=c(C,L,z,P);I>1e-6?(C/=I,L/=I,z/=I,P/=I):(C=L=z=0,P=1),this.rotation.set(t,C,L,z,P)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,c-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{\"./lib/quatFromFrame\":435,\"filtered-vector\":214,\"gl-mat4/fromQuat\":250,\"gl-mat4/invert\":253,\"gl-mat4/lookAt\":254}],437:[function(t,e,r){\"use strict\";var n=t(\"repeat-string\");e.exports=function(t,e,r){return n(r=\"undefined\"!=typeof r?r+\"\":\" \",e)+t}},{\"repeat-string\":476}],438:[function(t,e,r){\"use strict\";function n(t,e){if(\"string\"!=typeof t)return[t];var r=[t];\"string\"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:[\"{}\",\"[]\",\"()\"],i=e.escape||\"___\",a=!!e.flat;n.forEach(function(t){var e=new RegExp([\"\\\\\",t[0],\"[^\\\\\",t[0],\"\\\\\",t[1],\"]*\\\\\",t[1]].join(\"\")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s}r.forEach(function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[n]=t}),n=n.reverse(),r=r.map(function(e){return n.forEach(function(r){e=e.replace(new RegExp(\"(\\\\\"+i+r+\"(?![0-9]))\",\"g\"),t[0]+\"$1\"+t[1])}),e})});var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\");return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error(\"Circular references in parenthesis\");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function i(t,e){if(e&&e.flat){var r,n=e&&e.escape||\"___\",i=t[0];if(!i)return\"\";for(var a=new RegExp(\"\\\\\"+n+\"([0-9]+)\"),o=0;i!=r;){if(o++>1e4)throw Error(\"Circular references in \"+t);r=i,i=i.replace(a,s)}return i}return t.reduce(function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,\"\")),e+r},\"\");function s(e,r){if(null==t[r])throw Error(\"Reference \"+r+\"is undefined\");return t[r]}}function a(t,e){return Array.isArray(t)?i(t,e):n(t,e)}a.parse=n,a.stringify=i,e.exports=a},{}],439:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\");e.exports=function(t){var e;arguments.length>1&&(t=arguments);\"string\"==typeof t?t=t.split(/\\s/).map(parseFloat):\"number\"==typeof t&&(t=[t]);t.length&&\"number\"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{\"pick-by-alias\":445}],440:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),\"m\"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o=\"l\",r=\"m\"==r?\"l\":\"L\");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length<n[o])throw new Error(\"malformed path data\");e.push([r].concat(i.splice(0,n[o])))}}),e};var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var a=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/gi},{}],441:[function(t,e,r){e.exports=function(t,e){e||(e=[0,\"\"]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",e}},{}],442:[function(t,e,r){(function(t){(function(){var r,n,i,a,o,s;\"undefined\"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:\"undefined\"!=typeof t&&null!==t&&t.hrtime?(e.exports=function(){return(r()-o)/1e6},n=t.hrtime,a=(r=function(){var t;return 1e9*(t=n())[0]+t[1]})(),s=1e9*t.uptime(),o=a-s):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)}).call(this,t(\"_process\"))},{_process:462}],443:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.length;if(e<n){for(var r=1,a=0;a<e;++a)for(var o=0;o<a;++o)if(t[a]<t[o])r=-r;else if(t[a]===t[o])return 0;return r}for(var s=i.mallocUint8(e),a=0;a<e;++a)s[a]=0;for(var r=1,a=0;a<e;++a)if(!s[a]){var l=1;s[a]=1;for(var o=t[a];o!==a;o=t[o]){if(s[o])return i.freeUint8(s),0;l+=1,s[o]=1}1&l||(r=-r)}return i.freeUint8(s),r};var n=32,i=t(\"typedarray-pool\")},{\"typedarray-pool\":519}],444:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\"),i=t(\"invert-permutation\");r.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,a,o,s=n.mallocUint32(e),l=n.mallocUint32(e),c=0;for(i(t,l),o=0;o<e;++o)s[o]=t[o];for(o=e-1;o>0;--o)a=l[o],r=s[o],s[o]=s[a],s[a]=r,l[o]=l[r],l[r]=a,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}},{\"invert-permutation\":396,\"typedarray-pool\":519}],445:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n,a,o={};if(\"string\"==typeof e&&(e=i(e)),Array.isArray(e)){var s={};for(a=0;a<e.length;a++)s[e[a]]=!0;e=s}for(n in e)e[n]=i(e[n]);var l={};for(n in e){var c=e[n];if(Array.isArray(c))for(a=0;a<c.length;a++){var u=c[a];if(r&&(l[u]=!0),u in t){if(o[n]=t[u],r)for(var f=a;f<c.length;f++)l[c[f]]=!0;break}}else n in t&&(e[n]&&(o[n]=t[n]),r&&(l[n]=!0))}if(r)for(n in t)l[n]||(o[n]=t[n]);return o};var n={};function i(t){return n[t]?n[t]:(\"string\"==typeof t&&(t=n[t]=t.split(/\\s*,\\s*|\\s+/)),t)}},{}],446:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o<r;++o)a[0][o]=[],a[1][o]=[];for(var o=0;o<i;++o){var s=t[o];a[0][s[0]].push(s),a[1][s[1]].push(s)}for(var l=[],o=0;o<r;++o)a[0][o].length+a[1][o].length===0&&l.push([o]);function c(t,e){var r=a[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,i){for(var o,s,l,u=0;u<2;++u)if(a[u][r].length>0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p<h.length;++p){var d=h[p],g=d[1^f],m=n(e[t],e[r],e[s],e[g]);m>0&&(o=d,s=g,l=f)}return i?s:(o&&c(o,l),s)}function f(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(var o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];a[p][o].length>0;){a[0][o].length;var g=f(o,p);h(d,g)?d.push.apply(d,g):(d.length>0&&l.push(d),d=g)}d.length>0&&l.push(d)}return l};var n=t(\"compare-angle\")},{\"compare-angle\":114}],447:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();i[c]=!1;for(var u=r[c],s=0;s<u.length;++s){var f=u[s];0==--a[f]&&o.push(f)}}for(var h=new Array(e.length),p=[],s=0;s<e.length;++s)if(i[s]){var c=p.length;h[s]=c,p.push(e[s])}else h[s]=-1;for(var d=[],s=0;s<t.length;++s){var g=t[s];i[g[0]]&&i[g[1]]&&d.push([h[g[0]],h[g[1]]])}return[d,p]};var n=t(\"edges-to-adjacency-list\")},{\"edges-to-adjacency-list\":156}],448:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var f=(e=r[1]).length,h=(t.length,n(t,e.length)),p=0;p<f;++p)if(h[p].length%2==1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var d=i(t,e);for(var g=(d=d.filter(function(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],l=e[t[(i+1)%r]],c=o(-a[0],a[1]),u=o(-a[0],l[1]),f=o(l[0],a[1]),h=o(l[0],l[1]);n=s(n,s(s(c,u),s(f,h)))}return n[n.length-1]>0})).length,m=new Array(g),v=new Array(g),p=0;p<g;++p){m[p]=p;var y=new Array(g),x=d[p].map(function(t){return e[t]}),b=a([x]),_=0;t:for(var w=0;w<g;++w)if(y[w]=0,p!==w){for(var k=d[w],M=k.length,A=0;A<M;++A){var T=b(e[k[A]]);if(0!==T){T<0&&(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}v[p]=[_,p,y]}v.sort(function(t,e){return e[0]-t[0]});for(var p=0;p<g;++p)for(var y=v[p],S=y[1],E=y[2],w=0;w<g;++w)E[w]&&(m[w]=S);for(var C=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(g),p=0;p<g;++p)C[p].push(m[p]),C[m[p]].push(p);for(var L={},z=u(f,!1),p=0;p<g;++p)for(var k=d[p],M=k.length,w=0;w<M;++w){var P=k[w],O=k[(w+1)%M],I=Math.min(P,O)+\":\"+Math.max(P,O);if(I in L){var D=L[I];C[D].push(p),C[p].push(D),z[P]=z[O]=!0}else L[I]=p}function R(t){for(var e=t.length,r=0;r<e;++r)if(!z[t[r]])return!1;return!0}for(var B=[],F=u(g,-1),p=0;p<g;++p)m[p]!==p||R(d[p])?F[p]=-1:(B.push(p),F[p]=0);var r=[];for(;B.length>0;){var N=B.pop(),j=C[N];l(j,function(t,e){return t-e});var V,U=j.length,q=F[N];if(0===q){var k=d[N];V=[k]}for(var p=0;p<U;++p){var H=j[p];if(!(F[H]>=0)&&(F[H]=1^q,B.push(H),0===q)){var k=d[H];R(k)||(k.reverse(),V.push(k))}}0===q&&r.push(V)}return r};var n=t(\"edges-to-adjacency-list\"),i=t(\"planar-dual\"),a=t(\"point-in-big-polygon\"),o=t(\"two-product\"),s=t(\"robust-sum\"),l=t(\"uniq\"),c=t(\"./lib/trim-leaves\");function u(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}},{\"./lib/trim-leaves\":447,\"edges-to-adjacency-list\":156,\"planar-dual\":446,\"point-in-big-polygon\":452,\"robust-sum\":488,\"two-product\":517,uniq:521}],449:[function(t,e,r){\"use strict\";e.exports=t(\"./quad\")},{\"./quad\":451}],450:[function(t,e,r){arguments[4][98][0].apply(r,arguments)},{dup:98}],451:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),i=t(\"clamp\"),a=t(\"parse-rect\"),o=t(\"array-bounds\"),s=t(\"pick-by-alias\"),l=t(\"defined\"),c=t(\"flatten-vertex-data\"),u=t(\"is-obj\"),f=t(\"dtype\"),h=t(\"math-log2\");function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,c=t.length/2;l<c;l++)s[2*l]=i((t[2*l]-r)*a,0,1),s[2*l+1]=i((t[2*l+1]-n)*o,0,1);return s}e.exports=function(t,e){e||(e={}),t=c(t,\"float64\"),e=s(e,{bounds:\"range bounds dataBox databox\",maxDepth:\"depth maxDepth maxdepth level maxLevel maxlevel levels\",dtype:\"type dtype format out dst output destination\"});var r=l(e.maxDepth,255),i=l(e.bounds,o(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;var d,g=p(t,i),m=t.length>>>1;e.dtype||(e.dtype=\"array\"),\"string\"==typeof e.dtype?d=new(f(e.dtype))(m):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=m));for(var v=0;v<m;++v)d[v]=v;var y=[],x=[],b=[],_=[];!function t(e,n,i,a,o,s){if(!a.length)return null;var l=y[o]||(y[o]=[]);var c=b[o]||(b[o]=[]);var u=x[o]||(x[o]=[]);var f=l.length;o++;if(o>r){for(var h=0;h<a.length;h++)l.push(a[h]),c.push(s),u.push(null,null,null,null);return f}l.push(a[0]);c.push(s);if(a.length<=1)return u.push(null,null,null,null),f;var p=.5*i;var d=e+p,m=n+p;var v=[],_=[],w=[],k=[];for(var M=1,A=a.length;M<A;M++){var T=a[M],S=g[2*T],E=g[2*T+1];S<d?E<m?v.push(T):_.push(T):E<m?w.push(T):k.push(T)}s<<=2;u.push(t(e,n,p,v,o,s),t(e,m,p,_,o,s+1),t(d,n,p,w,o,s+2),t(d,m,p,k,o,s+3));return f}(0,0,1,d,0,1);for(var w=0,k=0;k<y.length;k++){var M=y[k];if(d.set)d.set(M,w);else for(var A=0,T=M.length;A<T;A++)d[A+w]=M[A];var S=w+y[k].length;_[k]=[w,S],w=S}return d.range=function(){var e,r=[],o=arguments.length;for(;o--;)r[o]=arguments[o];if(u(r[r.length-1])){var c=r.pop();r.length||null==c.x&&null==c.l&&null==c.left||(r=[c],e={}),e=s(c,{level:\"level maxLevel\",d:\"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize\",lod:\"lod details ranges offsets\"})}else e={};r.length||(r=i);var f=a.apply(void 0,r),d=[Math.min(f.x,f.x+f.width),Math.min(f.y,f.y+f.height),Math.max(f.x,f.x+f.width),Math.max(f.y,f.y+f.height)],g=d[0],m=d[1],v=d[2],w=d[3],k=p([g,m,v,w],i),M=k[0],A=k[1],T=k[2],S=k[3],C=l(e.level,y.length);if(null!=e.d){var L;\"number\"==typeof e.d?L=[e.d,e.d]:e.d.length&&(L=e.d),C=Math.min(Math.max(Math.ceil(-h(Math.abs(L[0])/(i[2]-i[0]))),Math.ceil(-h(Math.abs(L[1])/(i[3]-i[1])))),C)}if(C=Math.min(C,y.length),e.lod)return function(t,e,r,i,a){for(var o=[],s=0;s<a;s++){var l=b[s],c=_[s][0],u=E(t,e,s),f=E(r,i,s),h=n.ge(l,u),p=n.gt(l,f,h,l.length-1);o[s]=[h+c,p+c]}return o}(M,A,T,S,C);var z=[];return function e(r,n,i,a,o,s){if(null!==o&&null!==s){var l=r+i,c=n+i;if(!(M>l||A>c||T<r||S<n||a>=C||o===s)){var u=y[a];void 0===s&&(s=u.length);for(var f=o;f<s;f++){var h=u[f],p=t[2*h],d=t[2*h+1];p>=g&&p<=v&&d>=m&&d<=w&&z.push(h)}var b=x[a],_=b[4*o+0],k=b[4*o+1],E=b[4*o+2],L=b[4*o+3],P=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(b,o+1),O=.5*i,I=a+1;e(r,n,O,I,_,k||E||L||P),e(r,n+O,O,I,k,E||L||P),e(r+O,n,O,I,E,L||P),e(r+O,n+O,O,I,L,P)}}}(0,0,1,0,0,1),z},d;function E(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s<r;s++)n<<=2,n+=t<i?e<a?0:1:e<a?2:3,o*=.5,i+=t<i?-o:o,a+=e<a?-o:o;return n}}},{\"array-bounds\":52,\"binary-search-bounds\":450,clamp:102,defined:148,dtype:153,\"flatten-vertex-data\":215,\"is-obj\":402,\"math-log2\":412,\"parse-rect\":439,\"pick-by-alias\":445}],452:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[],a=[],s=0;s<e;++s)for(var u=t[s],f=u.length,h=f-1,p=0;p<f;h=p++){var d=u[h],g=u[p];d[0]===g[0]?a.push([d,g]):r.push([d,g])}if(0===r.length)return 0===a.length?c:(m=l(a),function(t){return m(t[0],t[1])?0:1});var m;var v=i(r),y=function(t,e){return function(r){var i=o.le(e,r[0]);if(i<0)return 1;var a=t[i];if(!a){if(!(i>0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]<l[1][0])if(c<0)a=a.left;else{if(!(c>0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(v.slabs,v.coordinates);return 0===a.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),y)};var n=t(\"robust-orientation\")[3],i=t(\"slab-decomposition\"),a=t(\"interval-tree-1d\"),o=t(\"binary-search-bounds\");function s(){return!0}function l(t){for(var e={},r=0;r<t.length;++r){var n=t[r],i=n[0][0],o=n[0][1],l=n[1][1],c=[Math.min(o,l),Math.max(o,l)];i in e?e[i].push(c):e[i]=[c]}var u={},f=Object.keys(e);for(r=0;r<f.length;++r){var h=e[f[r]];u[f[r]]=a(h)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,s)}}(u)}function c(t){return 1}},{\"binary-search-bounds\":78,\"interval-tree-1d\":395,\"robust-orientation\":483,\"slab-decomposition\":499}],453:[function(t,e,r){var n,i=t(\"./lib/build-log\"),a=t(\"./lib/epsilon\"),o=t(\"./lib/intersecter\"),s=t(\"./lib/segment-chainer\"),l=t(\"./lib/segment-selector\"),c=t(\"./lib/geojson\"),u=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},\"object\"==typeof window&&(window.PolyBool=n),e.exports=n},{\"./lib/build-log\":454,\"./lib/epsilon\":455,\"./lib/geojson\":456,\"./lib/intersecter\":457,\"./lib/segment-chainer\":459,\"./lib/segment-selector\":460}],454:[function(t,e,r){e.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n(\"check\",{seg1:t,seg2:e})},segmentChop:function(t,e){return n(\"div_seg\",{seg:t,pt:e}),n(\"chop\",{seg:t,pt:e})},statusRemove:function(t){return n(\"pop_seg\",{seg:t})},segmentUpdate:function(t){return n(\"seg_update\",{seg:t})},segmentNew:function(t,e){return n(\"new_seg\",{seg:t,primary:e})},segmentRemove:function(t){return n(\"rem_seg\",{seg:t})},tempStatus:function(t,e,r){return n(\"temp_status\",{seg:t,above:e,below:r})},rewind:function(t){return n(\"rewind\",{seg:t})},status:function(t,e,r){return n(\"status\",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n(\"vert\",{x:e}))},log:function(t){return\"string\"!=typeof t&&(t=JSON.stringify(t,!1,\"  \")),n(\"log\",{txt:t})},reset:function(){return n(\"reset\")},selected:function(t){return n(\"selected\",{segs:t})},chainStart:function(t){return n(\"chain_start\",{seg:t})},chainRemoveHead:function(t,e){return n(\"chain_rem_head\",{index:t,pt:e})},chainRemoveTail:function(t,e){return n(\"chain_rem_tail\",{index:t,pt:e})},chainNew:function(t,e){return n(\"chain_new\",{pt1:t,pt2:e})},chainMatch:function(t){return n(\"chain_match\",{index:t})},chainClose:function(t){return n(\"chain_close\",{index:t})},chainAddHead:function(t,e){return n(\"chain_add_head\",{index:t,pt:e})},chainAddTail:function(t,e){return n(\"chain_add_tail\",{index:t,pt:e})},chainConnect:function(t,e){return n(\"chain_con\",{index1:t,index2:e})},chainReverse:function(t){return n(\"chain_rev\",{index:t})},chainJoin:function(t,e){return n(\"chain_join\",{index1:t,index2:e})},done:function(){return n(\"done\")}}}},{}],455:[function(t,e,r){e.exports=function(t){\"number\"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return\"number\"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t||l-(a*a+s*s)>-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])<t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])<t},pointsSame:function(t,r){return e.pointsSameX(t,r)&&e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]<r[1]?-1:1:t[0]<r[0]?-1:1},pointsCollinear:function(e,r,n){var i=e[0]-r[0],a=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<t},linesIntersect:function(e,r,n,i){var a=r[0]-e[0],o=r[1]-e[1],s=i[0]-n[0],l=i[1]-n[1],c=a*l-o*s;if(Math.abs(c)<t)return!1;var u=e[0]-n[0],f=e[1]-n[1],h=(s*f-l*u)/c,p=(a*f-o*u)/c,d={alongA:0,alongB:0,pt:[e[0]+h*a,e[1]+h*o]};return d.alongA=h<=-t?-2:h<t?-1:h-1<=-t?0:h-1<t?1:2,d.alongB=p<=-t?-2:p<t?-1:p-1<=-t?0:p-1<t?1:2,d},pointInsideRegion:function(e,r){for(var n=e[0],i=e[1],a=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var c=r[l][0],u=r[l][1];u-i>t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},{}],456:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i<e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if(\"Polygon\"===e.type)return t.polygon(r(e.coordinates));if(\"MultiPolygon\"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i<e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));return t.polygon(n)}throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\")},fromPolygon:function(t,e,r){function n(t,r){return e.pointInsideRegion([.5*(t[0][0]+t[1][0]),.5*(t[0][1]+t[1][1])],r)}function i(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var a=i(null);function o(t,e){for(var r=0;r<t.children.length;r++){if(n(e,(s=t.children[r]).region))return void o(s,e)}var a=i(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(a.children.push(s),t.children.splice(r,1),r--)}t.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function c(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==e&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var u=[];function f(t){var e=[c(t.region,!1)];u.push(e);for(var r=0;r<t.children.length;r++)e.push(h(t.children[r]))}function h(t){for(var e=0;e<t.children.length;e++)f(t.children[e]);return c(t.region,!0)}for(s=0;s<a.children.length;s++)f(a.children[s]);return u.length<=0?{type:\"Polygon\",coordinates:[]}:1==u.length?{type:\"Polygon\",coordinates:u[0]}:{type:\"MultiPolygon\",coordinates:u}}};e.exports=n},{}],457:[function(t,e,r){var n=t(\"./linked-list\");e.exports=function(t,e,r){function i(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var a=n.create();function o(t,r){a.insertBefore(t,function(n){return function(t,r,n,i,a,o){var s=e.pointsCompare(r,a);return 0!==s?s:e.pointsSame(n,o)?0:t!==i?t?1:-1:e.pointAboveOrOnLine(n,i?a:o,i?o:a)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0})}function s(t,e){var r=function(t,e){var r=n.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return o(r,t.end),r}(t,e);return function(t,e,r){var i=n.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=i,o(i,t.pt)}(r,t,e),r}function l(t,e){var n=i(e,t.seg.end,t.seg);return function(t,e){r&&r.segmentChop(t.seg,e),t.other.remove(),t.seg.end=e,t.other.pt=e,o(t.other,t.pt)}(t,e),s(n,t.primary)}function c(i,o){var s=n.create();function c(t){return s.findTransition(function(r){var n,i,a,o,s,l;return n=t,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,(e.pointsCollinear(a,s,l)?e.pointsCollinear(o,s,l)?1:e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(a,s,l)?1:-1)>0})}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,c,u);if(!1===f){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var h=e.pointsSame(o,c),p=e.pointsSame(s,u);if(h&&p)return n;var d=!h&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(h)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,u)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=c(h),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function m(){if(d){var t=u(h,d);if(t)return t}return!!g&&u(h,g)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!g&&g.seg);var v,y,x=m();if(x)t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=g?g.seg.myFill.above:i,h.seg.myFill.above=y?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(v=g?h.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:v,below:v}),r&&r.status(h.seg,!!d&&d.seg,!!g&&g.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l<t.length;l++){n=o,o=t[l];var c=e.pointsCompare(n,o);0!==c&&s((i=c<0?n:o,a=c<0?o:n,{id:r?r.segmentId():-1,start:i,end:a,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach(function(t){s(i(t.start,t.end,t),!0)}),r.forEach(function(t){s(i(t.start,t.end,t),!1)}),c(e,n)}}}},{\"./linked-list\":458}],458:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&&e!==t.root},isEmpty:function(){return null===t.root.next},getHead:function(){return t.root.next},insertBefore:function(e,r){for(var n=t.root,i=t.root.next;null!==i;){if(r(i))return e.prev=i.prev,e.next=i,i.prev.next=e,void(i.prev=e);n=i,i=i.next}n.next=e,e.prev=n,e.next=null},findTransition:function(e){for(var r=t.root,n=t.root.next;null!==n&&!e(n);)r=n,n=n.next;return{before:r===t.root?null:r,after:n,insert:function(t){return t.prev=r,t.next=n,r.next=t,null!==n&&(n.prev=t),t}}}};return t},node:function(t){return t.prev=null,t.next=null,t.remove=function(){t.prev.next=t.next,t.next&&(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],459:[function(t,e,r){e.exports=function(t,e,r){var n=[],i=[];return t.forEach(function(t){var a=t.start,o=t.end;if(e.pointsSame(a,o))console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");else{r&&r.chainStart(t);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},c=s,u=0;u<n.length;u++){var f=(m=n[u])[0],h=(m[1],m[m.length-1]);if(m[m.length-2],e.pointsSame(f,a)){if(M(u,!0,!0))break}else if(e.pointsSame(f,o)){if(M(u,!0,!1))break}else if(e.pointsSame(h,a)){if(M(u,!1,!0))break}else if(e.pointsSame(h,o)&&M(u,!1,!1))break}if(c===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(c===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,g=s.matches_head,m=n[p],v=g?m[0]:m[m.length-1],y=g?m[1]:m[m.length-2],x=g?m[m.length-1]:m[0],b=g?m[m.length-2]:m[1];return e.pointsCollinear(y,v,d)&&(g?(r&&r.chainRemoveHead(s.index,d),m.shift()):(r&&r.chainRemoveTail(s.index,d),m.pop()),v=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,v)&&(g?(r&&r.chainRemoveTail(s.index,v),m.pop()):(r&&r.chainRemoveHead(s.index,v),m.shift())),r&&r.chainClose(s.index),void i.push(m)):void(g?(r&&r.chainAddHead(s.index,d),m.unshift(d)):(r&&r.chainAddTail(s.index,d),m.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var k=n[_].length<n[w].length;s.matches_head?l.matches_head?k?(A(_),T(_,w)):(A(w),T(w,_)):T(w,_):l.matches_head?T(_,w):k?(A(_),T(w,_)):(A(w),T(_,w))}function M(t,e,r){return c.index=t,c.matches_head=e,c.matches_pt1=r,c===s?(c=l,!1):(c=null,!0)}function A(t){r&&r.chainReverse(t),n[t].reverse()}function T(t,i){var a=n[t],o=n[i],s=a[a.length-1],l=a[a.length-2],c=o[0],u=o[1];e.pointsCollinear(l,s,c)&&(r&&r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,c,u)&&(r&&r.chainRemoveHead(i,c),o.shift()),r&&r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}}),i}},{}],460:[function(t,e,r){function n(t,e,r){var n=[];return t.forEach(function(t){var i=(t.myFill.above?8:0)+(t.myFill.below?4:0)+(t.otherFill&&t.otherFill.above?2:0)+(t.otherFill&&t.otherFill.below?1:0);0!==e[i]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[i],below:2===e[i]},otherFill:null})}),r&&r.selected(n),n}var i={union:function(t,e){return n(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return n(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return n(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return n(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return n(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}};e.exports=i},{}],461:[function(t,e,r){\"use strict\";var n=new Float64Array(4),i=new Float64Array(4),a=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length<o.length&&(n=new Float64Array(o.length),i=new Float64Array(o.length),a=new Float64Array(o.length));for(var l=0;l<o.length;++l)n[l]=t[l]-o[l],i[l]=e[l]-t[l],a[l]=r[l]-t[l];var c=0,u=0,f=0,h=0,p=0,d=0;for(l=0;l<o.length;++l){var g=i[l],m=a[l],v=n[l];c+=g*g,u+=g*m,f+=m*m,h+=v*g,p+=v*m,d+=v*v}var y,x,b,_,w,k=Math.abs(c*f-u*u),M=u*p-f*h,A=u*h-c*p;if(M+A<=k)if(M<0)A<0&&h<0?(A=0,-h>=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d):(M=0,p>=0?(A=0,y=d):-p>=f?(A=1,y=f+2*p+d):y=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(M=0,y=d):-h>=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d;else{var T=1/k;y=(M*=T)*(c*M+u*(A*=T)+2*h)+A*(u*M+f*A+2*p)+d}else M<0?(b=f+p)>(x=u+h)?(_=b-x)>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d:(M=0,b<=0?(A=1,y=f+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/f)+d):A<0?(b=c+h)>(x=u+p)?(_=b-x)>=(w=c-2*u+f)?(A=1,M=0,y=f+2*p+d):y=(M=1-(A=_/w))*(c*M+u*A+2*h)+A*(u*M+f*A+2*p)+d:(A=0,b<=0?(M=1,y=c+2*h+d):h>=0?(M=0,y=d):y=h*(M=-h/c)+d):(_=f+p-u-h)<=0?(M=0,A=1,y=f+2*p+d):_>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d;var S=1-M-A;for(l=0;l<o.length;++l)s[l]=S*t[l]+M*e[l]+A*r[l];return y<0?0:y}},{}],462:[function(t,e,r){var n,i,a=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function s(){throw new Error(\"clearTimeout has not been defined\")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{i=\"function\"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var c,u=[],f=!1,h=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!f){var t=l(p);f=!0;for(var e=u.length;e;){for(c=u,u=[];++h<e;)c&&c[h].run();h=-1,e=u.length}c=null,f=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function g(t,e){this.fun=t,this.array=e}function m(){}a.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];u.push(new g(t,e)),1!==u.length||f||l(d)},g.prototype.run=function(){this.fun.apply(null,this.array)},a.title=\"browser\",a.browser=!0,a.env={},a.argv=[],a.version=\"\",a.versions={},a.on=m,a.addListener=m,a.once=m,a.off=m,a.removeListener=m,a.removeAllListeners=m,a.emit=m,a.prependListener=m,a.prependOnceListener=m,a.listeners=function(t){return[]},a.binding=function(t){throw new Error(\"process.binding is not supported\")},a.cwd=function(){return\"/\"},a.chdir=function(t){throw new Error(\"process.chdir is not supported\")},a.umask=function(){return 0}},{}],463:[function(t,e,r){e.exports=t(\"gl-quat/slerp\")},{\"gl-quat/slerp\":279}],464:[function(t,e,r){(function(r){for(var n=t(\"performance-now\"),i=\"undefined\"==typeof window?r:window,a=[\"moz\",\"webkit\"],o=\"AnimationFrame\",s=i[\"request\"+o],l=i[\"cancel\"+o]||i[\"cancelRequest\"+o],c=0;!s&&c<a.length;c++)s=i[a[c]+\"Request\"+o],l=i[a[c]+\"Cancel\"+o]||i[a[c]+\"CancelRequest\"+o];if(!s||!l){var u=0,f=0,h=[];s=function(t){if(0===h.length){var e=n(),r=Math.max(0,1e3/60-(e-u));u=r+e,setTimeout(function(){var t=h.slice(0);h.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(u)}catch(t){setTimeout(function(){throw t},0)}},Math.round(r))}return h.push({handle:++f,callback:t,cancelled:!1}),f},l=function(t){for(var e=0;e<h.length;e++)h[e].handle===t&&(h[e].cancelled=!0)}}e.exports=function(t){return s.call(i,t)},e.exports.cancel=function(){l.apply(i,arguments)},e.exports.polyfill=function(t){t||(t=i),t.requestAnimationFrame=s,t.cancelAnimationFrame=l}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"performance-now\":442}],465:[function(t,e,r){\"use strict\";var n=t(\"big-rat/add\");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{\"big-rat/add\":62}],466:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=n(t[r]);return e};var n=t(\"big-rat\")},{\"big-rat\":65}],467:[function(t,e,r){\"use strict\";var n=t(\"big-rat\"),i=t(\"big-rat/mul\");e.exports=function(t,e){for(var r=n(e),a=t.length,o=new Array(a),s=0;s<a;++s)o[s]=i(t[s],r);return o}},{\"big-rat\":65,\"big-rat/mul\":74}],468:[function(t,e,r){\"use strict\";var n=t(\"big-rat/sub\");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{\"big-rat/sub\":76}],469:[function(t,e,r){\"use strict\";var n=t(\"compare-cell\"),i=t(\"compare-oriented-cell\"),a=t(\"cell-orientation\");e.exports=function(t){t.sort(i);for(var e=t.length,r=0,o=0;o<e;++o){var s=t[o],l=a(s);if(0!==l){if(r>0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{\"cell-orientation\":99,\"compare-cell\":115,\"compare-oriented-cell\":116}],470:[function(t,e,r){\"use strict\";var n=t(\"array-bounds\"),i=t(\"color-normalize\"),a=t(\"update-diff\"),o=t(\"pick-by-alias\"),s=t(\"object-assign\"),l=t(\"flatten-vertex-data\"),c=t(\"to-float32\"),u=c.float32,f=c.fract32;e.exports=function(t,e){\"function\"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");var r,c,p,d,g,m,v=t._gl,y={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),c=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),p=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),g=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),m=t.buffer({usage:\"static\",type:\"float\",data:h}),k(e),r=t({vert:\"\\n\\t\\tprecision highp float;\\n\\n\\t\\tattribute vec2 position, positionFract;\\n\\t\\tattribute vec4 error;\\n\\t\\tattribute vec4 color;\\n\\n\\t\\tattribute vec2 direction, lineOffset, capOffset;\\n\\n\\t\\tuniform vec4 viewport;\\n\\t\\tuniform float lineWidth, capSize;\\n\\t\\tuniform vec2 scale, scaleFract, translate, translateFract;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tfragColor = color / 255.;\\n\\n\\t\\t\\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\\n\\n\\t\\t\\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\\n\\n\\t\\t\\tvec2 position = position + dxy;\\n\\n\\t\\t\\tvec2 pos = (position + translate) * scale\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scale\\n\\t\\t\\t\\t+ (position + translate) * scaleFract\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scaleFract;\\n\\n\\t\\t\\tpos += pixelOffset / viewport.zw;\\n\\n\\t\\t\\tgl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\t\\t}\\n\\t\\t\",frag:\"\\n\\t\\tprecision mediump float;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tuniform float opacity;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tgl_FragColor = fragColor;\\n\\t\\t\\tgl_FragColor.a *= opacity;\\n\\t\\t}\\n\\t\\t\",uniforms:{range:t.prop(\"range\"),lineWidth:t.prop(\"lineWidth\"),capSize:t.prop(\"capSize\"),opacity:t.prop(\"opacity\"),scale:t.prop(\"scale\"),translate:t.prop(\"translate\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:g,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:m,stride:24,offset:0},lineOffset:{buffer:m,stride:24,offset:8},capOffset:{buffer:m,stride:24,offset:16}},primitive:\"triangles\",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\"),stencil:!1,instances:t.prop(\"count\"),count:h.length}),s(b,{update:k,draw:_,destroy:M,regl:t,gl:v,canvas:v.canvas,groups:x}),b;function b(t){t?k(t):null===t&&M(),_()}function _(e){if(\"number\"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach(function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)})}function w(t){\"number\"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function k(t){if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map(function(t,c){var u=x[c];return t?(\"function\"==typeof t?t={after:t}:\"number\"==typeof t[0]&&(t={positions:t}),t=o(t,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),a(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,\"float64\"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t=\"transparent\"),!Array.isArray(t)||\"number\"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a<r;a++)t[a]=n}if(t.length<r)throw Error(\"Not enough colors\");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=i(t[s],\"uint8\");o.set(l,4*s)}return o},range:function(t,e,r){var n=e.bounds;return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=f(e.scale),e.translateFract=f(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:v.drawingBufferWidth,height:v.drawingBufferHeight},e}}]),u):u}),e||r){var h=x.reduce(function(t,e,r){return t+(e?e.count:0)},0),m=new Float64Array(2*h),_=new Uint8Array(4*h),w=new Float32Array(4*h);x.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&&(_.set(a,4*i),w.set(o,4*i),m.set(r,2*i))}}),c(u(m)),p(f(m)),d(_),g(w)}}}function M(){c.destroy(),p.destroy(),d.destroy(),g.destroy(),m.destroy()}};var h=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]]},{\"array-bounds\":52,\"color-normalize\":107,\"flatten-vertex-data\":215,\"object-assign\":434,\"pick-by-alias\":445,\"to-float32\":512,\"update-diff\":523}],471:[function(t,e,r){\"use strict\";var n=t(\"color-normalize\"),i=t(\"array-bounds\"),a=t(\"object-assign\"),o=t(\"glslify\"),s=t(\"pick-by-alias\"),l=t(\"flatten-vertex-data\"),c=t(\"earcut\"),u=t(\"array-normalize\"),f=t(\"to-float32\"),h=f.float32,p=f.fract32,d=t(\"es6-weak-map\"),g=t(\"parse-rect\");function m(t,e){if(!(this instanceof m))return new m(t,e);if(\"function\"==typeof t?(e||(e={}),e.regl=t):e=t,e.length&&(e.positions=e),!(t=e.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=t._gl,this.regl=t,this.passes=[],this.shaders=m.shaders.has(t)?m.shaders.get(t):m.shaders.set(t,m.createShaders(t)).get(t),this.update(e)}e.exports=m,m.dashMult=2,m.maxPatternLength=256,m.precisionThreshold=3e6,m.maxPoints=1e4,m.maxLines=2048,m.shaders=new d,m.createShaders=function(t){var e,r=t.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),n={primitive:\"triangle strip\",instances:t.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:function(t,e){return\"round\"===e.join?2:1},miterLimit:t.prop(\"miterLimit\"),scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),thickness:t.prop(\"thickness\"),dashPattern:t.prop(\"dashTexture\"),opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),dashSize:t.prop(\"dashLength\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]},depth:t.prop(\"depth\")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:function(t,e){return!e.overlay}},stencil:{enable:!1},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\")},i=t(a({vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\\nattribute vec4 color;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float thickness, pixelRatio, id, depth;\\nuniform vec4 viewport;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\\n\\t// the order is important\\n\\treturn position * scale + translate\\n       + positionFract * scale + translateFract\\n       + position * scaleFract\\n       + positionFract * scaleFract;\\n}\\n\\nvoid main() {\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineOffset = lineTop * 2. - 1.;\\n\\n\\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\\n\\ttangent = normalize(diff * scale * viewport.zw);\\n\\tvec2 normal = vec2(-tangent.y, tangent.x);\\n\\n\\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\\n\\t\\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\\n\\n\\t\\t+ thickness * normal * .5 * lineOffset / viewport.zw;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D dashPattern;\\n\\nuniform float dashSize, pixelRatio, thickness, opacity, id;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nvoid main() {\\n\\tfloat alpha = 1.;\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\\n\\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\\n\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},n));try{e=t(a({cull:{enable:!0,face:\"back\"},vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\\nattribute vec4 aColor, bColor;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, translate;\\nuniform float thickness, pixelRatio, id, depth;\\nuniform vec4 viewport;\\nuniform float miterLimit, miterMode;\\n\\nvarying vec4 fragColor;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 tangent;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nconst float REVERSE_THRESHOLD = -.875;\\nconst float MIN_DIFF = 1e-6;\\n\\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\\n// TODO: precalculate dot products, normalize things beforehead etc.\\n// TODO: refactor to rectangular algorithm\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nbool isNaN( float val ){\\n  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\\n}\\n\\nvoid main() {\\n\\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\\n\\n\\t// adjust scale for horizontal bars\\n\\tvec2 scale = max(scale, MIN_DIFF);\\n\\tvec2 scaleRatio = scale * viewport.zw;\\n\\n\\tvec2 normalWidth = thickness / scaleRatio;\\n\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineBot = 1. - lineTop;\\n\\n\\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\\n\\n\\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\\n\\n\\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\\n\\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\\n\\n\\tvec2 prevDiff = aCoord - prevCoord;\\n\\tvec2 currDiff = bCoord - aCoord;\\n\\tvec2 nextDiff = nextCoord - bCoord;\\n\\n\\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\\n\\tvec2 currTangent = normalize(currDiff * scaleRatio);\\n\\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\\n\\n\\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\\n\\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\\n\\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\\n\\n\\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\\n\\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\\n\\n\\t// collapsed/unidirectional segment cases\\n\\t// FIXME: there should be more elegant solution\\n\\tvec2 prevTanDiff = abs(prevTangent - currTangent);\\n\\tvec2 nextTanDiff = abs(nextTangent - currTangent);\\n\\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\\n\\t\\tstartJoinDirection = currNormal;\\n\\t}\\n\\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\\n\\t\\tendJoinDirection = currNormal;\\n\\t}\\n\\tif (aCoord == bCoord) {\\n\\t\\tendJoinDirection = startJoinDirection;\\n\\t\\tcurrNormal = prevNormal;\\n\\t\\tcurrTangent = prevTangent;\\n\\t}\\n\\n\\ttangent = currTangent;\\n\\n\\t//calculate join shifts relative to normals\\n\\tfloat startJoinShift = dot(currNormal, startJoinDirection);\\n\\tfloat endJoinShift = dot(currNormal, endJoinDirection);\\n\\n\\tfloat startMiterRatio = abs(1. / startJoinShift);\\n\\tfloat endMiterRatio = abs(1. / endJoinShift);\\n\\n\\tvec2 startJoin = startJoinDirection * startMiterRatio;\\n\\tvec2 endJoin = endJoinDirection * endMiterRatio;\\n\\n\\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\\n\\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\\n\\tstartBotJoin = -startTopJoin;\\n\\n\\tendTopJoin = sign(endJoinShift) * endJoin * .5;\\n\\tendBotJoin = -endTopJoin;\\n\\n\\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\\n\\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\\n\\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\\n\\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\\n\\n\\t//miter anti-clipping\\n\\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\\n\\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\\n\\n\\t//prevent close to reverse direction switch\\n\\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\n\\tif (prevReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\\n\\t\\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\tbTopCoord -= normalWidth * endTopJoin;\\n\\t\\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\\n\\t}\\n\\n\\tif (nextReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\\n\\t\\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\taBotCoord -= normalWidth * startBotJoin;\\n\\t\\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\\n\\t}\\n\\n\\tvec2 aTopPosition = (aTopCoord) * scale + translate;\\n\\tvec2 aBotPosition = (aBotCoord) * scale + translate;\\n\\n\\tvec2 bTopPosition = (bTopCoord) * scale + translate;\\n\\tvec2 bBotPosition = (bBotCoord) * scale + translate;\\n\\n\\t//position is normalized 0..1 coord on the screen\\n\\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\\n\\n\\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\n\\tgl_Position = vec4(position  * 2.0 - 1.0, depth, 1);\\n\\n\\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\\n\\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\\n\\n\\t//bevel miter cutoffs\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n\\n\\t//round miter cutoffs\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D dashPattern;\\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nvoid main() {\\n\\tfloat alpha = 1., distToStart, distToEnd;\\n\\tfloat cutoff = thickness * .5;\\n\\n\\t//bevel miter\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToStart + 1., 0.), 1.);\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToEnd + 1., 0.), 1.);\\n\\t\\t}\\n\\t}\\n\\n\\t// round miter\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - startCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - endCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\\n\\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\\n\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:\"triangle\",elements:function(t,e){return e.triangles},offset:0,vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\n\\nuniform vec4 color;\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio, id;\\nuniform vec4 viewport;\\nuniform float opacity;\\n\\nvarying vec4 fragColor;\\n\\nconst float MAX_LINES = 256.;\\n\\nvoid main() {\\n\\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\\n\\n\\tvec2 position = position * scale + translate\\n       + positionFract * scale + translateFract\\n       + position * scaleFract\\n       + positionFract * scaleFract;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n\\tfragColor.a *= opacity;\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n\\tgl_FragColor = fragColor;\\n}\\n\"]),uniforms:{scale:t.prop(\"scale\"),color:t.prop(\"fill\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},m.defaults={dashes:null,join:\"miter\",miterLimit:1,thickness:10,cap:\"square\",color:\"black\",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},m.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},m.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach(function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);\"number\"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>m.precisionThreshold||e.scale[1]*e.viewport.height>m.precisionThreshold?t.shaders.rect(e):\"rect\"===e.join||!e.join&&(e.thickness<=2||e.count>=m.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))}),this},m.prototype.update=function(t){var e=this;if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach(function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if(\"number\"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:\"positions points data coords\",thickness:\"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth\",join:\"lineJoin linejoin join type mode\",miterLimit:\"miterlimit miterLimit\",dashes:\"dash dashes dasharray dash-array dashArray\",color:\"color colour stroke colors colours stroke-color strokeColor\",fill:\"fill fill-color fillColor\",opacity:\"alpha opacity\",overlay:\"overlay crease overlap intersect\",close:\"closed close closed-path closePath\",range:\"range dataBox\",viewport:\"viewport viewBox\",hole:\"holes hole hollow\"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:r.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},t=a({},m.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f<m.maxLines&&(d.depth=2*(m.maxLines-1-f%m.maxLines)/m.maxLines-1)),null!=t.join&&(d.join=t.join),null!=t.hole&&(d.hole=t.hole),null!=t.fill&&(d.fill=t.fill?n(t.fill,\"uint8\"):null),null!=t.viewport&&(d.viewport=g(t.viewport)),d.viewport||(d.viewport=g([o.drawingBufferWidth,o.drawingBufferHeight])),null!=t.close&&(d.close=t.close),null===t.positions&&(t.positions=[]),t.positions){var v,y;if(t.positions.x&&t.positions.y){var x=t.positions.x,b=t.positions.y;y=d.count=Math.max(x.length,b.length),v=new Float64Array(2*y);for(var _=0;_<y;_++)v[2*_]=x[_],v[2*_+1]=b[_]}else v=l(t.positions,\"float64\"),y=d.count=Math.floor(v.length/2);var w=d.bounds=i(v,2);if(d.fill){for(var k=[],M={},A=0,T=0,S=0,E=d.count;T<E;T++){var C=v[2*T],L=v[2*T+1];isNaN(C)||isNaN(L)||null==C||null==L?(C=v[2*A],L=v[2*A+1],M[T]=A):A=T,k[S++]=C,k[S++]=L}for(var z=c(k,d.hole||[]),P=0,O=z.length;P<O;P++)null!=M[z[P]]&&(z[P]=M[z[P]]);d.triangles=z}var I=new Float64Array(v);u(I,2,w);var D=new Float64Array(2*y+6);d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(D[0]=I[2*y-4],D[1]=I[2*y-3]):(D[0]=I[2*y-2],D[1]=I[2*y-1]):(D[0]=I[0],D[1]=I[1]),D.set(I,2),d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(D[2*y+2]=I[2],D[2*y+3]=I[3],d.count-=1):(D[2*y+2]=I[0],D[2*y+3]=I[1],D[2*y+4]=I[2],D[2*y+5]=I[3]):(D[2*y+2]=I[2*y-2],D[2*y+3]=I[2*y-1],D[2*y+4]=I[2*y-2],D[2*y+5]=I[2*y-1]),d.positionBuffer(h(D)),d.positionFractBuffer(p(D))}if(t.range?d.range=t.range:d.range||(d.range=d.bounds),(t.range||t.positions)&&d.count){var R=d.bounds,B=R[2]-R[0],F=R[3]-R[1],N=d.range[2]-d.range[0],j=d.range[3]-d.range[1];d.scale=[B/N,F/j],d.translate=[-d.range[0]/N+R[0]/N||0,-d.range[1]/j+R[1]/j||0],d.scaleFract=p(d.scale),d.translateFract=p(d.translate)}if(t.dashes){var V,U=0;if(!t.dashes||t.dashes.length<2)U=1,V=new Uint8Array([255,255,255,255,255,255,255,255]);else{U=0;for(var q=0;q<t.dashes.length;++q)U+=t.dashes[q];V=new Uint8Array(U*m.dashMult);for(var H=0,G=255,W=0;W<2;W++)for(var Y=0;Y<t.dashes.length;++Y){for(var X=0,Z=t.dashes[Y]*m.dashMult*.5;X<Z;++X)V[H++]=G;G^=255}}d.dashLength=U,d.dashTexture({channels:1,data:V,width:V.length,height:1,mag:\"linear\",min:\"linear\"},0,0)}if(t.color){var $=d.count,J=t.color;J||(J=\"transparent\");var K=new Uint8Array(4*$+4);if(Array.isArray(J)&&\"number\"!=typeof J[0]){for(var Q=0;Q<$;Q++){var tt=n(J[Q],\"uint8\");K.set(tt,4*Q)}K.set(n(J[0],\"uint8\"),4*$)}else for(var et=n(J,\"uint8\"),rt=0;rt<$+1;rt++)K.set(et,4*rt);d.colorBuffer({usage:\"dynamic\",type:\"uint8\",data:K})}}else e.passes[f]=null}),t.length<this.passes.length){for(var f=t.length;f<this.passes.length;f++){var d=e.passes[f];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=t.length}for(var v=[],y=0;y<this.passes.length;y++)null!==e.passes[y]&&v.push(e.passes[y]);return this.passes=v,this}},m.prototype.destroy=function(){return this.passes.forEach(function(t){t.colorBuffer.destroy(),t.positionBuffer.destroy(),t.dashTexture.destroy()}),this.passes.length=0,this}},{\"array-bounds\":52,\"array-normalize\":53,\"color-normalize\":107,earcut:155,\"es6-weak-map\":208,\"flatten-vertex-data\":215,glslify:390,\"object-assign\":434,\"parse-rect\":439,\"pick-by-alias\":445,\"to-float32\":512}],472:[function(t,e,r){\"use strict\";var n=t(\"./scatter\"),i=t(\"object-assign\");e.exports=function(t,e){var r=new n(t,e),a=r.render.bind(r);return i(a,{render:a,update:r.update.bind(r),draw:r.draw.bind(r),destroy:r.destroy.bind(r),regl:r.regl,gl:r.gl,canvas:r.gl.canvas,groups:r.groups,markers:r.markerCache,palette:r.palette}),a}},{\"./scatter\":473,\"object-assign\":434}],473:[function(t,e,r){\"use strict\";var n=t(\"color-normalize\"),i=t(\"array-bounds\"),a=t(\"color-id\"),o=t(\"point-cluster\"),s=t(\"object-assign\"),l=t(\"glslify\"),c=t(\"pick-by-alias\"),u=t(\"update-diff\"),f=t(\"flatten-vertex-data\"),h=t(\"is-iexplorer\"),p=t(\"to-float32\"),d=t(\"parse-rect\");function g(t,e){var r=this;if(!(this instanceof g))return new g(t,e);\"function\"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&&e.length&&(e.positions=e);var n,i=(t=e.regl)._gl,a=[];this.tooManyColors=h,n=t.texture({data:new Uint8Array(1020),width:255,height:1,type:\"uint8\",format:\"rgba\",wrapS:\"clamp\",wrapT:\"clamp\",mag:\"nearest\",min:\"nearest\"}),s(this,{regl:t,gl:i,groups:[],markerCache:[null],markerTextures:[null],palette:a,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:i.canvas}),this.update(e);var o={uniforms:{pixelRatio:t.context(\"pixelRatio\"),palette:n,paletteSize:function(t,e){return[r.tooManyColors?0:255,n.height]},scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translate:t.prop(\"translate\"),translateFract:t.prop(\"translateFract\"),opacity:t.prop(\"opacity\"),marker:t.prop(\"markerTexture\")},attributes:{x:function(t,e){return e.xAttr||{buffer:e.positionBuffer,stride:8,offset:0}},y:function(t,e){return e.yAttr||{buffer:e.positionBuffer,stride:8,offset:4}},xFract:function(t,e){return e.xAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:0}},yFract:function(t,e){return e.yAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:4}},size:function(t,e){return e.size.length?{buffer:e.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(255*e.size/r.maxSize)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:e.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/r.maxSize)]}},colorId:function(t,e){return e.color.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?a.slice(4*e.color,4*e.color+4):[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?a.slice(4*e.borderColor,4*e.borderColor+4):[e.borderColor]}},isActive:function(t,e){return!0===e.activation?{constant:[1]}:e.activation?e.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\"),stencil:{enable:!1},depth:{enable:!1},elements:t.prop(\"elements\"),count:t.prop(\"count\"),offset:t.prop(\"offset\"),primitive:\"points\"},c=s({},o);c.frag=l([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\\n\\nuniform sampler2D marker;\\nuniform float pixelRatio, opacity;\\n\\nfloat smoothStep(float x, float y) {\\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\\n}\\n\\nvoid main() {\\n  float dist = texture2D(marker, gl_PointCoord).r, delta = fragWidth;\\n\\n  // max-distance alpha\\n  if (dist < 0.003) discard;\\n\\n  // null-border case\\n  if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\\n    float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\\n    gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\\n  }\\n  else {\\n    float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\\n    float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\\n\\n    vec4 color = fragBorderColor;\\n    color.a *= borderColorAmt;\\n    color = mix(color, fragColor, colorAmt);\\n    color.a *= opacity;\\n\\n    gl_FragColor = color;\\n  }\\n\\n}\\n\"]),c.vert=l([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute float x, y, xFract, yFract;\\nattribute float size, borderSize;\\nattribute vec4 colorId, borderColorId;\\nattribute float isActive;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\\nuniform float pixelRatio;\\nuniform sampler2D palette;\\n\\nconst float maxSize = 100.;\\nconst float borderLevel = .5;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragPointSize, fragBorderRadius,\\n    fragWidth, fragBorderColorLevel, fragColorLevel;\\n\\nvec2 paletteCoord(float id) {\\n  return vec2(\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\n  );\\n}\\nvec2 paletteCoord(vec2 id) {\\n  return vec2(\\n    (id.x + .5) / paletteSize.x,\\n    (id.y + .5) / paletteSize.y\\n  );\\n}\\nvec4 getColor(vec4 id) {\\n  // zero-palette means we deal with direct buffer\\n  if (paletteSize.x == 0.) return id / 255.;\\n  return texture2D(palette, paletteCoord(id.xy));\\n}\\n\\nvoid main() {\\n  if (isActive == 0.) return;\\n\\n  vec2 position = vec2(x, y);\\n  vec2 positionFract = vec2(xFract, yFract);\\n\\n  vec4 color = getColor(colorId);\\n  vec4 borderColor = getColor(borderColorId);\\n\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n\\n  gl_PointSize = 2. * size * pixelRatio;\\n  fragPointSize = size * pixelRatio;\\n\\n  vec2 pos = (position + translate) * scale\\n      + (positionFract + translateFract) * scale\\n      + (position + translate) * scaleFract\\n      + (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\n  fragColor = color;\\n  fragBorderColor = borderColor;\\n  fragWidth = 1. / gl_PointSize;\\n\\n  fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\\n  fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\\n}\\n\"]),this.drawMarker=t(c);var u=s({},o);u.frag=l([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor, fragBorderColor;\\n\\nuniform float opacity;\\nvarying float fragBorderRadius, fragWidth;\\n\\nfloat smoothStep(float edge0, float edge1, float x) {\\n\\tfloat t;\\n\\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\\n\\treturn t * t * (3.0 - 2.0 * t);\\n}\\n\\nvoid main() {\\n\\tfloat radius, alpha = 1.0, delta = fragWidth;\\n\\n\\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\\n\\n\\tif (radius > 1.0 + delta) {\\n\\t\\tdiscard;\\n\\t}\\n\\n\\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\\n\\n\\tfloat borderRadius = fragBorderRadius;\\n\\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\\n\\tvec4 color = mix(fragColor, fragBorderColor, ratio);\\n\\tcolor.a *= alpha * opacity;\\n\\tgl_FragColor = color;\\n}\\n\"]),u.vert=l([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute float x, y, xFract, yFract;\\nattribute float size, borderSize;\\nattribute vec4 colorId, borderColorId;\\nattribute float isActive;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio;\\nuniform sampler2D palette;\\nuniform vec2 paletteSize;\\n\\nconst float maxSize = 100.;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth;\\n\\nvec2 paletteCoord(float id) {\\n  return vec2(\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\n  );\\n}\\nvec2 paletteCoord(vec2 id) {\\n  return vec2(\\n    (id.x + .5) / paletteSize.x,\\n    (id.y + .5) / paletteSize.y\\n  );\\n}\\n\\nvec4 getColor(vec4 id) {\\n  // zero-palette means we deal with direct buffer\\n  if (paletteSize.x == 0.) return id / 255.;\\n  return texture2D(palette, paletteCoord(id.xy));\\n}\\n\\nvoid main() {\\n  // ignore inactive points\\n  if (isActive == 0.) return;\\n\\n  vec2 position = vec2(x, y);\\n  vec2 positionFract = vec2(xFract, yFract);\\n\\n  vec4 color = getColor(colorId);\\n  vec4 borderColor = getColor(borderColorId);\\n\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n\\n  gl_PointSize = (size + borderSize) * pixelRatio;\\n\\n  vec2 pos = (position + translate) * scale\\n      + (positionFract + translateFract) * scale\\n      + (position + translate) * scaleFract\\n      + (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\n  fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\\n  fragColor = color;\\n  fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\\n  fragWidth = 1. / gl_PointSize;\\n}\\n\"]),h&&(u.frag=u.frag.replace(\"smoothstep\",\"smoothStep\"),c.frag=c.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=t(u)}e.exports=g,g.defaults={color:\"black\",borderColor:\"transparent\",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},g.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];return e.length&&(t=this).update.apply(t,e),this.draw(),this},g.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];var n=this.groups;if(1===e.length&&Array.isArray(e[0])&&(null===e[0][0]||Array.isArray(e[0][0]))&&(e=e[0]),this.regl._refresh(),e.length)for(var i=0;i<e.length;i++)t.drawItem(i,e[i]);else n.forEach(function(e,r){t.drawItem(r)});return this},g.prototype.drawItem=function(t,e){var r=this.groups,n=r[t];if(\"number\"==typeof e&&(t=e,n=r[e],e=null),n&&n.count&&n.opacity){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,e));for(var i=[],a=1;a<n.activation.length;a++)n.activation[a]&&(!0===n.activation[a]||n.activation[a].data.length)&&i.push.apply(i,this.getMarkerDrawOptions(a,n,e));i.length&&this.drawMarker(i)}},g.prototype.getMarkerDrawOptions=function(t,e,r){var n=e.range,i=e.tree,a=e.viewport,o=e.activation,l=e.selectionBuffer,c=e.count;this.regl;if(!i)return r?[s({},e,{markerTexture:this.markerTextures[t],activation:o[t],count:r.length,elements:r,offset:0})]:[s({},e,{markerTexture:this.markerTextures[t],activation:o[t],offset:0})];var u=[],f=i.range(n,{lod:!0,px:[(n[2]-n[0])/a.width,(n[3]-n[1])/a.height]});if(r){for(var h=o[t].data,p=new Uint8Array(c),d=0;d<r.length;d++){var g=r[d];p[g]=h?h[g]:1}l.subdata(p)}for(var m=f.length;m--;){var v=f[m],y=v[0],x=v[1];u.push(s({},e,{markerTexture:this.markerTextures[t],activation:r?l:o[t],offset:y,count:x-y}))}return u},g.prototype.update=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){1===e.length&&Array.isArray(e[0])&&(e=e[0]);var n=this.groups,a=this.gl,l=this.regl,h=this.maxSize,m=this.maxColors,v=this.palette;this.groups=n=e.map(function(e,r){var y=n[r];if(void 0===e)return y;null===e?e={positions:null}:\"function\"==typeof e?e={ondraw:e}:\"number\"==typeof e[0]&&(e={positions:e}),null===(e=c(e,{positions:\"positions data points\",snap:\"snap cluster lod tree\",size:\"sizes size radius\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",color:\"colors color fill fill-color fillColor\",borderColor:\"borderColors borderColor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range dataBox databox\",viewport:\"viewport viewPort viewBox viewbox\",opacity:\"opacity alpha transparency\",bounds:\"bound bounds boundaries limits\"})).positions&&(e.positions=[]),y||(n[r]=y={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:l.buffer({data:new Uint8Array(0),usage:\"stream\",type:\"uint8\"}),sizeBuffer:l.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),colorBuffer:l.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),positionBuffer:l.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"}),positionFractBuffer:l.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"})},e=s({},g.defaults,e)),!e.positions||\"marker\"in e||(e.marker=y.marker,delete y.marker),!e.marker||\"positions\"in e||(e.positions=y.positions,delete y.positions);var x=0,b=0;if(u(y,e,[{snap:!0,size:function(t,e){return null==t&&(t=g.defaults.size),x+=t&&t.length?1:0,t},borderSize:function(t,e){return null==t&&(t=g.defaults.borderSize),x+=t&&t.length?1:0,t},opacity:parseFloat,color:function(e,r){return null==e&&(e=g.defaults.color),e=t.updateColor(e),b++,e},borderColor:function(e,r){return null==e&&(e=g.defaults.borderColor),e=t.updateColor(e),b++,e},bounds:function(t,e,r){return\"range\"in r||(r.range=null),t},positions:function(t,e,r){var n=e.snap,a=e.positionBuffer,s=e.positionFractBuffer,c=e.selectionBuffer;if(t.x||t.y)return t.x.length?e.xAttr={buffer:l.buffer(t.x),offset:0,stride:4,count:t.x.length}:e.xAttr={buffer:t.x.buffer,offset:4*t.x.offset||0,stride:4*(t.x.stride||1),count:t.x.count},t.y.length?e.yAttr={buffer:l.buffer(t.y),offset:0,stride:4,count:t.y.length}:e.yAttr={buffer:t.y.buffer,offset:4*t.y.offset||0,stride:4*(t.y.stride||1),count:t.y.count},e.count=Math.max(e.xAttr.count,e.yAttr.count),t;t=f(t,\"float64\");var u=e.count=Math.floor(t.length/2),h=e.bounds=u?i(t,2):null;if(r.range||e.range||(delete e.range,r.range=h),r.marker||e.marker||(delete e.marker,r.marker=null),n&&(!0===n||u>n)?e.tree=o(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var d={primitive:\"points\",usage:\"static\",data:e.tree,type:\"uint32\"};e.elements?e.elements(d):e.elements=l.elements(d)}return a({data:p.float(t),usage:\"dynamic\"}),s({data:p.fract(t),usage:\"dynamic\"}),c({data:new Uint8Array(u),type:\"uint8\",usage:\"stream\"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach(function(t){return t&&t.destroy&&t.destroy()}),i.length=0,e&&\"number\"!=typeof e[0]){for(var a=[],o=0,s=Math.min(e.length,r.count);o<s;o++){var c=t.addMarker(e[o]);a[c]||(a[c]=new Uint8Array(r.count)),a[c][o]=1}for(var u=0;u<a.length;u++)if(a[u]){var f={data:a[u],type:\"uint8\",usage:\"static\"};i[u]?i[u](f):i[u]=l.buffer(f),i[u].data=a[u]}}else{i[t.addMarker(e)]=!0}return e},range:function(t,e,r){var n=e.bounds;if(n)return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=p.fract(e.scale),e.translateFract=p.fract(e.translate),t},viewport:function(t){return d(t||[a.drawingBufferWidth,a.drawingBufferHeight])}}]),x){var _=y.count,w=y.size,k=y.borderSize,M=y.sizeBuffer,A=new Uint8Array(2*_);if(w.length||k.length)for(var T=0;T<_;T++)A[2*T]=Math.round(255*(null==w[T]?w:w[T])/h),A[2*T+1]=Math.round(255*(null==k[T]?k:k[T])/h);M({data:A,usage:\"dynamic\"})}if(b){var S,E=y.count,C=y.color,L=y.borderColor,z=y.colorBuffer;if(t.tooManyColors){if(C.length||L.length){S=new Uint8Array(8*E);for(var P=0;P<E;P++){var O=C[P];S[8*P]=v[4*O],S[8*P+1]=v[4*O+1],S[8*P+2]=v[4*O+2],S[8*P+3]=v[4*O+3];var I=L[P];S[8*P+4]=v[4*I],S[8*P+5]=v[4*I+1],S[8*P+6]=v[4*I+2],S[8*P+7]=v[4*I+3]}}}else if(C.length||L.length){S=new Uint8Array(4*E+2);for(var D=0;D<E;D++)null!=C[D]&&(S[4*D]=C[D]%m,S[4*D+1]=Math.floor(C[D]/m)),null!=L[D]&&(S[4*D+2]=L[D]%m,S[4*D+3]=Math.floor(L[D]/m))}z({data:S||new Uint8Array(0),type:\"uint8\",usage:\"dynamic\"})}return y})}},g.prototype.addMarker=function(t){var e,r=this.markerTextures,n=this.regl,i=this.markerCache,a=null==t?0:i.indexOf(t);if(a>=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o<s;o++)e[o]=255*t[o]}var l=Math.floor(Math.sqrt(e.length));return a=r.length,i.push(t),r.push(n.texture({channels:1,data:e,radius:l,mag:\"linear\",min:\"linear\"})),a},g.prototype.updateColor=function(t){var e=this.paletteIds,r=this.palette,i=this.maxColors;Array.isArray(t)||(t=[t]);var o=[];if(\"number\"==typeof t[0]){var s=[];if(Array.isArray(t))for(var l=0;l<t.length;l+=4)s.push(t.slice(l,l+4));else for(var c=0;c<t.length;c+=4)s.push(t.subarray(c,c+4));t=s}for(var u=0;u<t.length;u++){var f=t[u];f=n(f,\"uint8\");var h=a(f,!1);if(null==e[h]){var p=r.length;e[h]=Math.floor(p/4),r[p]=f[0],r[p+1]=f[1],r[p+2]=f[2],r[p+3]=f[3]}o[u]=e[h]}return!this.tooManyColors&&r.length>i*i*4&&(this.tooManyColors=!0),this.updatePalette(r),1===o.length?o[0]:o},g.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i<n*e;i++)t.push(0,0,0,0);r.height<n&&r.resize(e,n),r.subimage({width:Math.min(.25*t.length,e),height:n,data:t},0,0)}},g.prototype.destroy=function(){return this.groups.forEach(function(t){t.sizeBuffer.destroy(),t.positionBuffer.destroy(),t.positionFractBuffer.destroy(),t.colorBuffer.destroy(),t.activation.forEach(function(t){return t&&t.destroy&&t.destroy()}),t.selectionBuffer.destroy(),t.elements&&t.elements.destroy()}),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach(function(t){return t&&t.destroy&&t.destroy()}),this}},{\"array-bounds\":52,\"color-id\":105,\"color-normalize\":107,\"flatten-vertex-data\":215,glslify:390,\"is-iexplorer\":400,\"object-assign\":434,\"parse-rect\":439,\"pick-by-alias\":445,\"point-cluster\":449,\"to-float32\":512,\"update-diff\":523}],474:[function(t,e,r){\"use strict\";var n=t(\"regl-scatter2d/scatter\"),i=t(\"pick-by-alias\"),a=t(\"array-bounds\"),o=t(\"raf\"),s=t(\"array-range\"),l=t(\"parse-rect\"),c=t(\"flatten-vertex-data\");function u(t,e){if(!(this instanceof u))return new u(t,e);this.traces=[],this.passes={},this.regl=t,this.scatter=n(t),this.canvas=this.scatter.canvas}function f(t,e,r){return(null!=t.id?t.id:t)<<16|(255&e)<<8|255&r}function h(t,e,r){var n,i,a,o,s=t[e],l=t[r];return s.length>2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x+s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y+l.height),[a,n,o,i]}function p(t){if(\"number\"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o(function(){e.draw(),e.dirty=!0,e.planned=null})):(this.draw(),this.dirty=!0,o(function(){e.dirty=!1})),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);for(var i=[],a=0,o=0;o<this.traces.length;o++){for(var s=this.traces[o],l=this.traces[o].passes,c=0;c<l.length;c++)i.push(this.passes[l[c]]);s.passOffset=a,a+=s.passes.length}return(t=this.scatter).update.apply(t,i),this}},u.prototype.updateItem=function(t,e){var r=this.regl;if(null===e)return this.traces[t]=null,this;if(!e)return this;var n,o=i(e,{data:\"data items columns rows values dimensions samples x\",snap:\"snap cluster\",size:\"sizes size radius\",color:\"colors color fill fill-color fillColor\",opacity:\"opacity alpha transparency opaque\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",borderColor:\"borderColors borderColor bordercolor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range ranges databox dataBox\",viewport:\"viewport viewBox viewbox\",domain:\"domain domains area areas\",padding:\"pad padding paddings pads margin margins\",transpose:\"transpose transposed\",diagonal:\"diagonal diag showDiagonal\",upper:\"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf\",lower:\"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower\"}),s=this.traces[t]||(this.traces[t]={id:t,buffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),color:\"black\",marker:null,size:12,borderColor:\"transparent\",borderSize:1,viewport:l([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(null!=o.color&&(s.color=o.color),null!=o.size&&(s.size=o.size),null!=o.marker&&(s.marker=o.marker),null!=o.borderColor&&(s.borderColor=o.borderColor),null!=o.borderSize&&(s.borderSize=o.borderSize),null!=o.opacity&&(s.opacity=o.opacity),o.viewport&&(s.viewport=l(o.viewport)),null!=o.diagonal&&(s.diagonal=o.diagonal),null!=o.upper&&(s.upper=o.upper),null!=o.lower&&(s.lower=o.lower),o.data){s.buffer(c(o.data)),s.columns=o.data.length,s.count=o.data[0].length,s.bounds=[];for(var u=0;u<s.columns;u++)s.bounds[u]=a(o.data[u],1)}o.range&&(s.range=o.range,n=s.range&&\"number\"!=typeof s.range[0]),o.domain&&(s.domain=o.domain);var d=!1;null!=o.padding&&(Array.isArray(o.padding)&&o.padding.length===s.columns&&\"number\"==typeof o.padding[o.padding.length-1]?(s.padding=o.padding.map(p),d=!0):s.padding=p(o.padding));var g=s.columns,m=s.count,v=s.viewport.width,y=s.viewport.height,x=s.viewport.x,b=s.viewport.y,_=v/g,w=y/g;s.passes=[];for(var k=0;k<g;k++)for(var M=0;M<g;M++)if((s.diagonal||M!==k)&&(s.upper||!(k>M))&&(s.lower||!(k<M))){var A=f(s.id,k,M),T=this.passes[A]||(this.passes[A]={});if(o.data&&(o.transpose?T.positions={x:{buffer:s.buffer,offset:M,count:m,stride:g},y:{buffer:s.buffer,offset:k,count:m,stride:g}}:T.positions={x:{buffer:s.buffer,offset:M*m,count:m},y:{buffer:s.buffer,offset:k*m,count:m}},T.bounds=h(s.bounds,k,M)),o.domain||o.viewport||o.data){var S=d?h(s.padding,k,M):s.padding;if(s.domain){var E=h(s.domain,k,M),C=E[0],L=E[1],z=E[2],P=E[3];T.viewport=[x+C*v+S[0],b+L*y+S[1],x+z*v-S[2],b+P*y-S[3]]}else T.viewport=[x+M*_+_*S[0],b+k*w+w*S[1],x+(M+1)*_-_*S[2],b+(k+1)*w-w*S[3]]}o.color&&(T.color=s.color),o.size&&(T.size=s.size),o.marker&&(T.marker=s.marker),o.borderSize&&(T.borderSize=s.borderSize),o.borderColor&&(T.borderColor=s.borderColor),o.opacity&&(T.opacity=s.opacity),o.range&&(T.range=n?h(s.range,k,M):s.range||T.bounds),s.passes.push(A)}return this},u.prototype.draw=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=[],i=0;i<e.length;i++)if(\"number\"==typeof e[i]){var a=this.traces[e[i]],o=a.passes,l=a.passOffset;n.push.apply(n,s(l,l+o.length))}else if(e[i].length){var c=e[i],u=this.traces[i],f=u.passes,h=u.passOffset;f=f.map(function(t,e){n[h+e]=c})}(t=this.scatter).draw.apply(t,n)}else this.scatter.draw();return this},u.prototype.destroy=function(){return this.traces.forEach(function(t){t.buffer&&t.buffer.destroy&&t.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this}},{\"array-bounds\":52,\"array-range\":54,\"flatten-vertex-data\":215,\"parse-rect\":439,\"pick-by-alias\":445,raf:464,\"regl-scatter2d/scatter\":473}],475:[function(t,e,r){var n,i;n=this,i=function(){function t(t,e){this.id=V++,this.type=t,this.data=e}function e(t){return\"[\"+function t(e){if(0===e.length)return[];var r=e.charAt(0),n=e.charAt(e.length-1);if(1<e.length&&r===n&&('\"'===r||\"'\"===r))return['\"'+e.substr(1,e.length-2).replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];if(r=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(e))return t(e.substr(0,r.index)).concat(t(r[1])).concat(t(e.substr(r.index+r[0].length)));if(1===(r=e.split(\".\")).length)return['\"'+e.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];for(e=[],n=0;n<r.length;++n)e=e.concat(t(r[n]));return e}(t).join(\"][\")+\"]\"}function r(t){return\"string\"==typeof t?t.split():t}function n(t){return\"string\"==typeof t?document.querySelector(t):t}function i(t){var e,i,a,o,s=t||{};t={};var l=[],c=[],u=\"undefined\"==typeof window?1:window.devicePixelRatio,f=!1,h=function(t){},p=function(){};if(\"string\"==typeof s?e=document.querySelector(s):\"object\"==typeof s&&(\"string\"==typeof s.nodeName&&\"function\"==typeof s.appendChild&&\"function\"==typeof s.getBoundingClientRect?e=s:\"function\"==typeof s.drawArrays||\"function\"==typeof s.drawElements?a=(o=s).canvas:(\"gl\"in s?o=s.gl:\"canvas\"in s?a=n(s.canvas):\"container\"in s&&(i=n(s.container)),\"attributes\"in s&&(t=s.attributes),\"extensions\"in s&&(l=r(s.extensions)),\"optionalExtensions\"in s&&(c=r(s.optionalExtensions)),\"onDone\"in s&&(h=s.onDone),\"profile\"in s&&(f=!!s.profile),\"pixelRatio\"in s&&(u=+s.pixelRatio))),e&&(\"canvas\"===e.nodeName.toLowerCase()?a=e:i=e),!o){if(!a){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&&(e=(n=t.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),i.width=r*e,i.height=r*n,j(i.style,{width:e+\"px\",height:n+\"px\"})}var i=document.createElement(\"canvas\");return j(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&&(i.style.position=\"absolute\",j(t.style,{margin:0,padding:0})),window.addEventListener(\"resize\",n,!1),n(),{canvas:i,onDestroy:function(){window.removeEventListener(\"resize\",n),t.removeChild(i)}}}(i||document.body,0,u)))return null;a=e.canvas,p=e.onDestroy}o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r(\"webgl\")||r(\"experimental-webgl\")||r(\"webgl-experimental\")}(a,t)}return o?{gl:o,canvas:a,container:i,extensions:l,optionalExtensions:c,pixelRatio:u,profile:f,onDone:h,onDestroy:p}:(p(),h(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function a(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function o(t){var e,r;return e=(65535<t)<<4,e|=r=(255<(t>>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=a(8,function(){return[]});return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function l(t){return!!t&&\"object\"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&\"number\"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||Y(t.data))}function c(t,e,r,n,i,a){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var c=s[l],u=0;u<n;++u)i[a++]=c[u]}function u(t){return 0|$[Object.prototype.toString.call(t)]}function f(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function h(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var c=0;c<n;++c)t[s++]=e[i*l+a*c+o]}function p(t,e,r,n){function i(e){this.id=c++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function a(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function o(t,e,r,n,i,o){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){i=tt(e);for(var s=n=1;s<i.length;++s)n*=i[s];t.dimension=n,a(t,e=Q(e,i,t.dtype),r),o?t.persistentData=e:G.freeType(e)}else\"number\"==typeof e[0]?(t.dimension=i,f(i=G.allocType(t.dtype,e.length),e),a(t,i,r),o?t.persistentData=i:G.freeType(i)):Y(e[0])&&(t.dimension=e[0].length,t.dtype=n||u(e[0])||5126,a(t,e=Q(e,[e.length,e[0].length],t.dtype),r),o?t.persistentData=e:G.freeType(e))}else if(Y(e))t.dtype=n||u(e),t.dimension=i,a(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(l(e)){i=e.shape;var c=e.stride,p=(s=e.offset,0),d=0,g=0,m=0;1===i.length?(p=i[0],d=1,g=c[0],m=0):2===i.length&&(p=i[0],d=i[1],g=c[0],m=c[1]),t.dtype=n||u(e.data)||5126,t.dimension=d,h(i=G.allocType(t.dtype,p*d),e.data,p,d,g,m,s),a(t,i,r),o?t.persistentData=i:G.freeType(i)}}function s(r){e.bufferCount--;for(var i=0;i<n.state.length;++i){var a=n.state[i];a.buffer===r&&(t.disableVertexAttribArray(i),a.buffer=null)}t.deleteBuffer(r.buffer),r.buffer=null,delete p[r.id]}var c=0,p={};i.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},i.prototype.destroy=function(){s(this)};var d=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(p).forEach(function(e){t+=p[e].stats.size}),t}),{create:function(n,a,c,d){function g(e){var n=35044,i=null,a=0,s=0,c=1;return Array.isArray(e)||Y(e)||l(e)?i=e:\"number\"==typeof e?a=0|e:e&&(\"data\"in e&&(i=e.data),\"usage\"in e&&(n=K[e.usage]),\"type\"in e&&(s=J[e.type]),\"dimension\"in e&&(c=0|e.dimension),\"length\"in e&&(a=0|e.length)),m.bind(),i?o(m,i,n,s,c,d):(a&&t.bufferData(m.type,a,n),m.dtype=s||5121,m.usage=n,m.dimension=c,m.byteLength=a),r.profile&&(m.stats.size=m.byteLength*et[m.dtype]),g}e.bufferCount++;var m=new i(a);return p[m.id]=m,c||g(n),g._reglType=\"buffer\",g._buffer=m,g.subdata=function(e,r){var n,i=0|(r||0);if(m.bind(),Y(e))t.bufferSubData(m.type,i,e);else if(Array.isArray(e)){if(0<e.length)if(\"number\"==typeof e[0]){var a=G.allocType(m.dtype,e.length);f(a,e),t.bufferSubData(m.type,i,a),G.freeType(a)}else(Array.isArray(e[0])||Y(e[0]))&&(n=tt(e),a=Q(e,n,m.dtype),t.bufferSubData(m.type,i,a),G.freeType(a))}else if(l(e)){n=e.shape;var o=e.stride,s=a=0,c=0,p=0;1===n.length?(a=n[0],s=1,c=o[0],p=0):2===n.length&&(a=n[0],s=n[1],c=o[0],p=o[1]),n=Array.isArray(e.data)?m.dtype:u(e.data),h(n=G.allocType(n,a*s),e.data,a,s,c,p,e.offset),t.bufferSubData(m.type,i,n),G.freeType(n)}return g},r.profile&&(g.stats=m.stats),g.destroy=function(){s(m)},g},createStream:function(t,e){var r=d.pop();return r||(r=new i(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){d.push(t)},clear:function(){X(p).forEach(s),d.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof i?t._buffer:null},restore:function(){X(p).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})},_initBuffer:o}}function d(t,e,r,n){function i(t){this.id=c++,s[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function a(n,i,a,o,s,c,u){if(n.buffer.bind(),i){var f=u;u||Y(i)&&(!l(i)||Y(i.data))||(f=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,f,3)}else t.bufferData(34963,c,a),n.buffer.dtype=f||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=c;if(f=u,!u){switch(n.buffer.dtype){case 5121:case 5120:f=5121;break;case 5123:case 5122:f=5123;break;case 5125:case 5124:f=5125}n.buffer.dtype=f}n.type=f,0>(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if(\"number\"==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||Y(t)||l(t)?e=t:(\"data\"in t&&(e=t.data),\"usage\"in t&&(r=K[t.usage]),\"primitive\"in t&&(n=rt[t.primitive]),\"count\"in t&&(i=0|t.count),\"type\"in t&&(h=u[t.type]),\"length\"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return s}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,s(t),s._reglType=\"elements\",s._elements=f,s.subdata=function(t,e){return c.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return\"function\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){X(s).forEach(o)}}}function g(t){for(var e=G.allocType(5123,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(1/0===t[r])e[r]=31744;else if(-1/0===t[r])e[r]=64512;else{nt[0]=t[r];var n=(a=it[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15<i?n+31744:n+(i+15<<10)+a}return e}function m(t){return Array.isArray(t)||Y(t)}function v(t){return\"[object \"+t+\"]\"}function y(t){return Array.isArray(t)&&(0===t.length||\"number\"==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!m(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=pt.indexOf(e)||(y(t)||x(t)||l(t))}function w(t,e){36193===t.type?(t.data=g(e),G.freeType(e)):t.data=e}function k(t,e,r,n,i,a){if(t=\"undefined\"!=typeof gt[t]?gt[t]:st[t]*dt[e],a&&(t*=6),i){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function M(t,e,r,n,i,a,o){function s(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function c(t,e){t.internalformat=e.internalformat,t.format=e.format,t.type=e.type,t.compressed=e.compressed,t.premultiplyAlpha=e.premultiplyAlpha,t.flipY=e.flipY,t.unpackAlignment=e.unpackAlignment,t.colorSpace=e.colorSpace,t.width=e.width,t.height=e.height,t.channels=e.channels}function u(t,e){if(\"object\"==typeof e&&e){\"premultiplyAlpha\"in e&&(t.premultiplyAlpha=e.premultiplyAlpha),\"flipY\"in e&&(t.flipY=e.flipY),\"alignment\"in e&&(t.unpackAlignment=e.alignment),\"colorSpace\"in e&&(t.colorSpace=q[e.colorSpace]),\"type\"in e&&(t.type=H[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;\"shape\"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(i=e.shape[2],a=!0)):(\"radius\"in e&&(r=n=e.radius),\"width\"in e&&(r=e.width),\"height\"in e&&(n=e.height),\"channels\"in e&&(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,\"format\"in e&&(r=e.format,n=t.internalformat=W[r],t.format=pt[n],r in H&&!(\"type\"in e)&&(t.type=H[r]),r in J&&(t.compressed=!0),r=!0),!a&&r?t.channels=st[t.format]:a&&!r&&t.channels!==ot[t.format]&&(t.format=t.internalformat=ot[t.channels])}}function f(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function h(){s.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,e){var r=null;if(_(e)?r=e:e&&(u(t,e),\"x\"in e&&(t.xOffset=0|e.x),\"y\"in e&&(t.yOffset=0|e.y),_(e.data)&&(r=e.data)),e.copy){var n=i.viewportWidth,a=i.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||a-t.yOffset,t.needsCopy=!0}else if(r){if(Y(r))t.channels=t.channels||4,t.data=r,\"type\"in e||5121!==t.type||(t.type=0|$[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,a=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(a=G.allocType(t.type,a)).set(n),t.data=a;break;case 36193:t.data=g(n)}t.alignment=1,t.needsFree=!0}else if(l(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|$[Object.prototype.toString.call(n)]);a=r.shape;var o,s,c,f,h=r.stride;3===a.length?(c=a[2],f=h[2]):f=c=1,o=a[0],s=a[1],a=h[0],h=h[1],t.alignment=1,t.width=o,t.height=s,t.channels=c,t.format=t.internalformat=ot[c],t.needsFree=!0,o=f,r=r.offset,c=t.width,f=t.height,s=t.channels;for(var p=G.allocType(36193===t.type?5126:t.type,c*f*s),d=0,v=0;v<f;++v)for(var k=0;k<c;++k)for(var M=0;M<s;++M)p[d++]=n[a*k+h*v+o*M+r];w(t,p)}else if(b(r)===lt||b(r)===ct)b(r)===lt?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(b(r)===ut)t.element=r,t.width=r.width,t.height=r.height,t.channels=4;else if(b(r)===ft)t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(b(r)===ht)t.element=r,t.width=r.videoWidth,t.height=r.videoHeight,t.channels=4;else if(x(r)){for(n=t.width||r[0].length,a=t.height||r.length,h=t.channels,h=m(r[0][0])?h||r[0][0].length:h||1,o=Z.shape(r),c=1,f=0;f<o.length;++f)c*=o[f];c=G.allocType(36193===t.type?5126:t.type,c),Z.flatten(r,o,\"\",c),w(t,c),t.alignment=1,t.width=n,t.height=a,t.channels=h,t.format=t.internalformat=ot[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,i,a,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,h=e.type,p=e.width,d=e.height;f(e),s?t.texSubImage2D(r,o,i,a,u,h,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,c,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,i,a,p,d,u,h,l)}function v(){return dt.pop()||new h}function M(t){t.needsFree&&G.freeType(t.data),h.call(t),dt.push(t)}function A(){s.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function T(t,e,r){var n=t.images[0]=v();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function S(t,e){var r=null;if(_(e))c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)c(r=t.images[i]=v(),t),r.width>>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<<i;else c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;c(t,t.images[0])}function E(e,r){for(var i=e.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,c=o.element,u=o.data,h=o.internalformat,p=o.format,d=o.type,g=o.width,m=o.height,v=o.channels;f(o),c?t.texImage2D(s,l,p,p,d,c):o.compressed?t.compressedTexImage2D(s,l,h,g,m,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,g,m,0)):((o=!u)&&(u=G.zero.allocType(d,g*m*v)),t.texImage2D(s,l,p,g,m,0,p,d,u),o&&u&&G.zero.freeType(u))}}function C(){var t=gt.pop()||new A;s.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&M(e[r]),e[r]=null;gt.push(t)}function z(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function P(t,e){\"min\"in e&&(t.minFilter=U[e.min],0<=at.indexOf(t.minFilter)&&!(\"faces\"in e)&&(t.genMipmaps=!0)),\"mag\"in e&&(t.magFilter=V[e.mag]);var r=t.wrapS,n=t.wrapT;if(\"wrap\"in e){var i=e.wrap;\"string\"==typeof i?r=n=N[i]:Array.isArray(i)&&(r=N[i[0]],n=N[i[1]])}else\"wrapS\"in e&&(r=N[e.wrapS]),\"wrapT\"in e&&(n=N[e.wrapT]);if(t.wrapS=r,t.wrapT=n,\"anisotropic\"in e&&(t.anisotropic=e.anisotropic),\"mipmap\"in e){switch(r=!1,typeof e.mipmap){case\"string\":t.mipmapHint=F[e.mipmap],r=t.genMipmaps=!0;break;case\"boolean\":r=t.genMipmaps=e.mipmap;break;case\"object\":t.genMipmaps=!1,r=!0}!r||\"min\"in e||(t.minFilter=9984)}}function O(r,n){t.texParameteri(n,10241,r.minFilter),t.texParameteri(n,10240,r.magFilter),t.texParameteri(n,10242,r.wrapS),t.texParameteri(n,10243,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function I(e){s.call(this),this.mipmask=0,this.internalformat=6408,this.id=mt++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new z,o.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function R(){var e=xt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function B(e){var r=e.texture,n=e.unit,i=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(i,null),xt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete vt[e.id],a.textureCount--}var F={\"don't care\":4352,\"dont care\":4352,nice:4354,fast:4353},N={repeat:10497,clamp:33071,mirror:33648},V={nearest:9728,linear:9729},U=j({mipmap:9987,\"nearest mipmap nearest\":9984,\"linear mipmap nearest\":9985,\"nearest mipmap linear\":9986,\"linear mipmap linear\":9987},V),q={none:0,browser:37444},H={uint8:5121,rgba4:32819,rgb565:33635,\"rgb5 a1\":32820},W={alpha:6406,luminance:6409,\"luminance alpha\":6410,rgb:6407,rgba:6408,rgba4:32854,\"rgb5 a1\":32855,rgb565:36194},J={};e.ext_srgb&&(W.srgb=35904,W.srgba=35906),e.oes_texture_float&&(H.float32=H.float=5126),e.oes_texture_half_float&&(H.float16=H[\"half float\"]=36193),e.webgl_depth_texture&&(j(W,{depth:6402,\"depth stencil\":34041}),j(H,{uint16:5123,uint32:5125,\"depth stencil\":34042})),e.webgl_compressed_texture_s3tc&&j(J,{\"rgb s3tc dxt1\":33776,\"rgba s3tc dxt1\":33777,\"rgba s3tc dxt3\":33778,\"rgba s3tc dxt5\":33779}),e.webgl_compressed_texture_atc&&j(J,{\"rgb atc\":35986,\"rgba atc explicit alpha\":35987,\"rgba atc interpolated alpha\":34798}),e.webgl_compressed_texture_pvrtc&&j(J,{\"rgb pvrtc 4bppv1\":35840,\"rgb pvrtc 2bppv1\":35841,\"rgba pvrtc 4bppv1\":35842,\"rgba pvrtc 2bppv1\":35843}),e.webgl_compressed_texture_etc1&&(J[\"rgb etc1\"]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(J).forEach(function(t){var e=J[t];0<=K.indexOf(e)&&(W[t]=e)});var Q=Object.keys(W);r.textureFormats=Q;var tt=[];Object.keys(W).forEach(function(t){tt[W[t]]=t});var et=[];Object.keys(H).forEach(function(t){et[H[t]]=t});var rt=[];Object.keys(V).forEach(function(t){rt[V[t]]=t});var nt=[];Object.keys(U).forEach(function(t){nt[U[t]]=t});var it=[];Object.keys(N).forEach(function(t){it[N[t]]=t});var pt=Q.reduce(function(t,e){var r=W[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0<=e.indexOf(\"rgba\")?t[r]=6408:t[r]=6407,t},{}),dt=[],gt=[],mt=0,vt={},yt=r.maxTextureUnits,xt=Array(yt).map(function(){return null});return j(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<yt;++r){var n=xt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}xt[r]=this,e=r;break}o.profile&&a.maxTextureUnits<e+1&&(a.maxTextureUnits=e+1),this.unit=e,t.activeTexture(33984+e),t.bindTexture(this.target,this.texture)}return e},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&B(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(vt).forEach(function(e){t+=vt[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;z.call(r);var a=C();return\"number\"==typeof t?T(a,0|t,\"number\"==typeof e?0|e:0|t):t?(P(r,t),S(a,t)):T(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),O(r,3553),R(),L(a),o.profile&&(i.stats.size=k(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=tt[i.internalformat],n.type=et[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new I(3553);return vt[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return c(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),R(),M(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,D(i);for(var l,c=i.channels,u=i.type,f=0;i.mipmask>>f;++f){var h=a>>f,p=s>>f;if(!h||!p)break;l=G.zero.allocType(u,h*p*c),t.texImage2D(3553,f,i.format,h,p,0,i.format,i.type,l),l&&G.zero.freeType(l)}return R(),o.profile&&(i.stats.size=k(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType=\"texture2d\",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,l){function f(t,e,r,n,i,a){var s,l=h.texInfo;for(z.call(l),s=0;6>s;++s)g[s]=C();if(\"number\"!=typeof t&&t){if(\"object\"==typeof t)if(e)S(g[0],t),S(g[1],e),S(g[2],r),S(g[3],n),S(g[4],i),S(g[5],a);else if(P(l,t),u(h,t),\"faces\"in t)for(t=t.faces,s=0;6>s;++s)c(g[s],h),S(g[s],t[s]);else for(s=0;6>s;++s)S(g[s],t)}else for(t=0|t||1,s=0;6>s;++s)T(g[s],t,t);for(c(h,g[0]),h.mipmask=l.genMipmaps?(g[0].width<<1)-1:g[0].mipmask,h.internalformat=g[0].internalformat,f.width=g[0].width,f.height=g[0].height,D(h),s=0;6>s;++s)E(g[s],34069+s);for(O(l,34067),R(),o.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=tt[h.internalformat],f.type=et[h.type],f.mag=rt[l.magFilter],f.min=nt[l.minFilter],f.wrapS=it[l.wrapS],f.wrapT=it[l.wrapT],s=0;6>s;++s)L(g[s]);return f}var h=new I(34067);vt[h.id]=h,a.cubeCount++;var g=Array(6);return f(e,r,n,i,s,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return c(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,D(h),d(a,34069+t,r,n,i),R(),M(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,D(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType=\"textureCube\",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;e<yt;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),xt[e]=null;X(vt).forEach(B),a.cubeCount=0,a.textureCount=0},getTexture:function(t){return null},restore:function(){X(vt).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32>r;++r)if(0!=(e.mipmask&1<<r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);O(e.texInfo,e.target)})}}}function A(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,i=t;return\"object\"==typeof t&&(i=t.data,\"target\"in t&&(e=0|t.target)),\"texture2d\"===(t=i._reglType)?r=i:\"textureCube\"===t?r=i:\"renderbuffer\"===t&&(n=i,e=36161),new o(e,r,n)}function f(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._renderbuffer.refCount=0,new o(36161,null,t))}function h(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r))}function d(){this.id=k++,M[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function m(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete M[e.id]}function v(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)c(36064+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),c(36096,e.depthAttachment),c(36128,e.stencilAttachment),c(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.bindFramebuffer(36160,x.next?x.next.framebuffer:null),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var i,a=0,o=0,s=!0,c=!0;i=null;var p=!0,d=\"rgba\",m=\"uint8\",y=1,x=null,w=null,k=null,M=!1;\"number\"==typeof t?(a=0|t,o=0|e||a):t?(\"shape\"in t?(a=(o=t.shape)[0],o=o[1]):(\"radius\"in t&&(a=o=t.radius),\"width\"in t&&(a=t.width),\"height\"in t&&(o=t.height)),(\"color\"in t||\"colors\"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||(\"colorCount\"in t&&(y=0|t.colorCount),\"colorTexture\"in t&&(p=!!t.colorTexture,d=\"rgba4\"),\"colorType\"in t&&(m=t.colorType,!p)&&(\"half float\"===m||\"float16\"===m?d=\"rgba16f\":\"float\"!==m&&\"float32\"!==m||(d=\"rgba32f\")),\"colorFormat\"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),(\"depthTexture\"in t||\"depthStencilTexture\"in t)&&(M=!(!t.depthTexture&&!t.depthStencilTexture)),\"depth\"in t&&(\"boolean\"==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),\"stencil\"in t&&(\"boolean\"==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),\"depthStencil\"in t&&(\"boolean\"==typeof t.depthStencil?s=c=t.depthStencil:(k=t.depthStencil,c=s=!1))):a=o=1;var A=null,T=null,S=null,E=null;if(Array.isArray(i))A=i.map(u);else if(i)A=[u(i)];else for(A=Array(y),i=0;i<y;++i)A[i]=f(a,o,p,d,m);for(a=a||A[0].width,o=o||A[0].height,x?T=u(x):s&&!c&&(T=f(a,o,M,\"depth\",\"uint32\")),w?S=u(w):c&&!s&&(S=f(a,o,!1,\"stencil\",\"uint8\")),k?E=u(k):!x&&!w&&c&&s&&(E=f(a,o,M,\"depth stencil\",\"depth stencil\")),s=null,i=0;i<A.length;++i)l(A[i]),A[i]&&A[i].texture&&(c=yt[A[i].texture._texture.format]*xt[A[i].texture._texture.type],null===s&&(s=c));return l(T),l(S),l(E),g(n),n.width=a,n.height=o,n.colorAttachments=A,n.depthAttachment=T,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=A.map(h),r.depth=h(T),r.stencil=h(S),r.depthStencil=h(E),r.width=n.width,r.height=n.height,v(n),r}var n=new d;return a.framebufferCount++,r(t,e),j(r,{resize:function(t,e){var i=0|t,a=0|e||i;if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,v(n),r},_reglType:\"framebuffer\",_framebuffer:n,destroy:function(){m(n),g(n)},use:function(t){x.setFBO({framebuffer:r},t)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=[\"rgba\"],_=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];e.ext_srgb&&_.push(\"srgba\"),e.ext_color_buffer_half_float&&_.push(\"rgba16f\",\"rgb16f\"),e.webgl_color_buffer_float&&_.push(\"rgba32f\");var w=[\"uint8\"];e.oes_texture_half_float&&w.push(\"half float\",\"float16\"),e.oes_texture_float&&w.push(\"float\",\"float32\");var k=0,M={};return j(x,{getFramebuffer:function(t){return\"function\"==typeof t&&\"framebuffer\"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:y,createCube:function(t){function e(t){var i,a={color:null},o=0,s=null;i=\"rgba\";var l=\"uint8\",c=1;if(\"number\"==typeof t?o=0|t:t?(\"shape\"in t?o=t.shape[0]:(\"radius\"in t&&(o=0|t.radius),\"width\"in t?o=0|t.width:\"height\"in t&&(o=0|t.height)),(\"color\"in t||\"colors\"in t)&&(s=t.color||t.colors,Array.isArray(s)),s||(\"colorCount\"in t&&(c=0|t.colorCount),\"colorType\"in t&&(l=t.colorType),\"colorFormat\"in t&&(i=t.colorFormat)),\"depth\"in t&&(a.depth=t.depth),\"stencil\"in t&&(a.stencil=t.stencil),\"depthStencil\"in t&&(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i<s.length;++i)t[i]=s[i];else t=[s];else for(t=Array(c),s={radius:o,format:i,type:l},i=0;i<c;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i<t.length;++i)c=t[i],o=o||c.width,a.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(c=0;c<t.length;++c)a.color[c].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=y(a)}return j(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),j(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t<i.length;++t)i[t].resize(n);for(t=0;6>t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:\"framebufferCube\",destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){X(M).forEach(m)},restore:function(){X(M).forEach(function(e){e.framebuffer=t.createFramebuffer(),v(e)})}})}function T(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(t,e,r,n){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(t,e){for(var r=0;r<t.length;++r)if(t[r].id===e.id)return void(t[r].location=e.location);t.push(e)}function o(r,n,i){if(!(o=(i=35632===r?c:u)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[n]=o}return o}function s(t,e){this.id=p++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(r,s){var l,c;l=o(35632,r.fragId),c=o(35633,r.vertId);var u=r.program=t.createProgram();t.attachShader(u,l),t.attachShader(u,c),t.linkProgram(u);var f=t.getProgramParameter(u,35718);n.profile&&(r.stats.uniformsCount=f);var h=r.uniforms;for(l=0;l<f;++l)if(c=t.getActiveUniform(u,l))if(1<c.size)for(var p=0;p<c.size;++p){var d=c.name.replace(\"[0]\",\"[\"+p+\"]\");a(h,new i(d,e.id(d),t.getUniformLocation(u,d),c))}else a(h,new i(c.name,e.id(c.name),t.getUniformLocation(u,c.name),c));for(f=t.getProgramParameter(u,35721),n.profile&&(r.stats.attributesCount=f),h=r.attributes,l=0;l<f;++l)(c=t.getActiveAttrib(u,l))&&a(h,new i(c.name,e.id(c.name),t.getAttribLocation(u,c.name),c))}var c={},u={},f={},h=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return h.forEach(function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);X(c).forEach(e),c={},X(u).forEach(e),u={},h.forEach(function(e){t.deleteProgram(e.program)}),h.length=0,f={},r.shaderCount=0},program:function(t,e,n){var i=f[e];i||(i=f[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a),i[t]=a,h.push(a)),a},restore:function(){c={},u={};for(var t=0;t<h.length;++t)l(h[t])},shader:o,frag:-1,vert:-1}}function E(t,e,r,n,i,a,o){function s(i){var a;a=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,c=n.framebufferHeight,u=null;return Y(i)?u=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),c=0|(i.height||n.framebufferHeight-s),u=i.data||null),r(),i=l*c*4,u||(5121===a?u=new Uint8Array(i):5126===a&&(u=u||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,a,u),u}return function(t){return t&&\"framebuffer\"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=s(t)}),r}(t):s(t)}}function C(t){return Array.prototype.slice.call(t)}function L(t){return C(t).join(\"\")}function z(){function t(){var t=[],e=[];return j(function(){t.push.apply(t,C(arguments))},{def:function(){var n=\"v\"+r++;return e.push(n),0<arguments.length&&(t.push(n,\"=\"),t.push.apply(t,C(arguments)),t.push(\";\")),n},toString:function(){return L([0<e.length?\"var \"+e+\";\":\"\",L(t)])}})}function e(){function e(t,e){n(t,e,\"=\",r.def(t,e),\";\")}var r=t(),n=t(),i=r.toString,a=n.toString;return j(function(){r.apply(r,C(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,\"=\",i,\";\")},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e<i.length;++e)if(i[e]===t)return n[e];return e=\"g\"+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t=\"a\"+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a<r;++a)n();var s=(a=e()).toString;return o[t]=j(a,{arg:n,toString:function(){return L([\"function(\",i.join(),\"){\",s(),\"}\"])}})},scope:e,cond:function(){var t=L(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return j(r,{then:function(){return r.apply(r,C(arguments)),this},else:function(){return n.apply(n,C(arguments)),this},toString:function(){var e=a();return e&&(e=\"else{\"+e+\"}\"),L([\"if(\",t,\"){\",i(),\"}\",e])}})},compile:function(){var t=['\"use strict\";',a,\"return {\"];Object.keys(o).forEach(function(e){t.push('\"',e,'\":',o[e].toString(),\",\")}),t.push(\"}\");var e=L(t).replace(/;/g,\";\\n\").replace(/}/g,\"}\\n\").replace(/{/g,\"{\\n\");return Function.apply(null,n.concat(e)).apply(null,i)}}}function P(t){return Array.isArray(t)||Y(t)||l(t)}function O(t){return t.sort(function(t,e){return\"viewport\"===t?-1:\"viewport\"===e?1:t<e?-1:1})}function I(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function D(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function R(t){return new I(!1,!1,!1,t)}function B(t,e){var r=t.type;return 0===r?new I(!0,1<=(r=t.data.length),2<=r,e):4===r?new I((r=t.data).thisDep,r.contextDep,r.propDep,e):new I(3===r,2===r,1===r,e)}function F(t,e,r,n,i,o,s,l,c,u,f,h,p,d,g){function v(t){return t.replace(\".\",\"_\")}function y(t,e,r){var n=v(t);nt.push(t),et[n]=tt[n]=!!r,it[n]=e}function x(t,e,r){var n=v(t);nt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,at[n]=e}function b(){var t=z(),r=t.link,n=t.global;t.id=lt++,t.batchId=\"0\";var i=r(ot),a=t.shared={props:\"a0\"};Object.keys(ot).forEach(function(t){a[t]=n.def(i,\".\",t)});var o=t.next={},s=t.current={};Object.keys(at).forEach(function(t){Array.isArray(tt[t])&&(o[t]=n.def(a.next,\".\",t),s[t]=n.def(a.current,\".\",t))});var l=t.constants={};Object.keys(st).forEach(function(t){l[t]=n.def(JSON.stringify(st[t]))}),t.invoke=function(e,n){switch(n.type){case 0:var i=[\"this\",a.context,a.props,t.batchId];return e.def(r(n.data),\".call(\",i.slice(0,Math.max(n.data.length+1,4)),\")\");case 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def(\"this\",n.data);case 4:return n.data.append(t,e),n.data.ref}},t.attribCache={};var c={};return t.scopeAttrib=function(t){if((t=e.id(t))in c)return c[t];var n=u.scope[t];return n||(n=u.scope[t]=new Z),c[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if(\"framebuffer\"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),R(function(t,e){var r=t.link(i),n=t.shared;return e.set(n.framebuffer,\".next\",r),n=n.context,e.set(n,\".framebufferWidth\",r+\".width\"),e.set(n,\".framebufferHeight\",r+\".height\"),r})):R(function(t,e){var r=t.shared;return e.set(r.framebuffer,\".next\",\"null\"),r=r.context,e.set(r,\".framebufferWidth\",r+\".drawingBufferWidth\"),e.set(r,\".framebufferHeight\",r+\".drawingBufferHeight\"),\"null\"})}if(\"framebuffer\"in n){var a=n.framebuffer;return B(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;r=e.def(i,\".getFramebuffer(\",r,\")\");return e.set(i,\".next\",r),n=n.context,e.set(n,\".framebufferWidth\",r+\"?\"+r+\".width:\"+n+\".drawingBufferWidth\"),e.set(n,\".framebufferHeight\",r+\"?\"+r+\".height:\"+n+\".drawingBufferHeight\"),r})}return null}function w(t){function r(t){if(t in n){var r=e.id(n[t]);return(t=R(function(){return r})).id=r,t}if(t in i){var a=i[t];return B(a,function(t,e){var r=t.invoke(e,a);return e.def(t.shared.strings,\".id(\",r,\")\")})}return null}var n=t.static,i=t.dynamic,a=r(\"frag\"),o=r(\"vert\"),s=null;return D(a)&&D(o)?(s=f.program(o.id,a.id),t=R(function(t,e){return t.link(s)})):t=new I(a&&a.thisDep||o&&o.thisDep,a&&a.contextDep||o&&o.contextDep,a&&a.propDep||o&&o.propDep,function(t,e){var r,n,i=t.shared.shader;return r=a?a.append(t,e):e.def(i,\".\",\"frag\"),n=o?o.append(t,e):e.def(i,\".\",\"vert\"),e.def(i+\".program(\"+n+\",\"+r+\")\")}),{frag:a,vert:o,progVar:t,program:s}}function k(t,e){function r(t,e){if(t in n){var r=0|n[t];return R(function(t,n){return e&&(t.OFFSET=r),r})}if(t in i){var o=i[t];return B(o,function(t,r){var n=t.invoke(r,o);return e&&(t.OFFSET=n),n})}return e&&a?R(function(t,e){return t.OFFSET=\"0\",0}):null}var n=t.static,i=t.dynamic,a=function(){if(\"elements\"in n){var t=n.elements;P(t)?t=o.getElements(o.create(t,!0)):t&&(t=o.getElements(t));var e=R(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null});return e.value=t,e}if(\"elements\"in i){var r=i.elements;return B(r,function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def(\"null\");n=e.def(n,\"(\",a,\")\"),a=t.cond(n).then(o,\"=\",i,\".createStream(\",a,\");\").else(o,\"=\",i,\".getElements(\",a,\");\");return e.entry(a),e.exit(t.cond(n).then(i,\".destroyStream(\",o,\");\")),t.ELEMENTS=o})}return null}(),s=r(\"offset\",!0);return{elements:a,primitive:function(){if(\"primitive\"in n){var t=n.primitive;return R(function(e,r){return rt[t]})}if(\"primitive\"in i){var e=i.primitive;return B(e,function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,\"[\",i,\"]\")})}return a?D(a)?a.value?R(function(t,e){return e.def(t.ELEMENTS,\".primType\")}):R(function(){return 4}):new I(a.thisDep,a.contextDep,a.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,\"?\",r,\".primType:\",4)}):null}(),count:function(){if(\"count\"in n){var t=0|n.count;return R(function(){return t})}if(\"count\"in i){var e=i.count;return B(e,function(t,r){return t.invoke(r,e)})}return a?D(a)?a?s?new I(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,\".vertCount-\",t.OFFSET)}):R(function(t,e){return e.def(t.ELEMENTS,\".vertCount\")}):R(function(){return-1}):new I(a.thisDep||s.thisDep,a.contextDep||s.contextDep,a.propDep||s.propDep,function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,\"?\",r,\".vertCount-\",t.OFFSET,\":-1\"):e.def(r,\"?\",r,\".vertCount:-1\")}):null}(),instances:r(\"instances\",!1),offset:s}}function M(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach(function(t){var r=n[t],a=e.id(t),s=new Z;if(P(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(c=i.getBuffer(r))s.state=1,s.buffer=c,s.type=0;else if(\"constant\"in r){var l=r.constant;s.buffer=\"null\",s.state=2,\"number\"==typeof l?s.x=l:bt.forEach(function(t,e){e<l.length&&(s[t]=l[e])})}else{var c=P(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),u=0|r.offset,f=0|r.stride,h=0|r.size,p=!!r.normalized,d=0;\"type\"in r&&(d=J[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=h,s.normalized=p,s.type=d||c.dtype,s.offset=u,s.stride=f,s.divisor=r}o[t]=R(function(t,e){var r=t.attribCache;if(a in r)return r[a];var n={isStream:!1};return Object.keys(s).forEach(function(t){n[t]=s[t]}),s.buffer&&(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+\".dtype\"),r[a]=n})}),Object.keys(a).forEach(function(t){var e=a[t];o[t]=B(e,function(t,r){function n(t){r(l[t],\"=\",i,\".\",t,\"|0;\")}var i=t.invoke(r,e),a=t.shared,o=a.isBufferArgs,s=a.buffer,l={isStream:r.def(!1)},c=new Z;c.state=1,Object.keys(c).forEach(function(t){l[t]=r.def(\"\"+c[t])});var u=l.buffer,f=l.type;return r(\"if(\",o,\"(\",i,\")){\",l.isStream,\"=true;\",u,\"=\",s,\".createStream(\",34962,\",\",i,\");\",f,\"=\",u,\".dtype;\",\"}else{\",u,\"=\",s,\".getBuffer(\",i,\");\",\"if(\",u,\"){\",f,\"=\",u,\".dtype;\",'}else if(\"constant\" in ',i,\"){\",l.state,\"=\",2,\";\",\"if(typeof \"+i+'.constant === \"number\"){',l[bt[0]],\"=\",i,\".constant;\",bt.slice(1).map(function(t){return l[t]}).join(\"=\"),\"=0;\",\"}else{\",bt.map(function(t,e){return l[t]+\"=\"+i+\".constant.length>\"+e+\"?\"+i+\".constant[\"+e+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",o,\"(\",i,\".buffer)){\",u,\"=\",s,\".createStream(\",34962,\",\",i,\".buffer);\",\"}else{\",u,\"=\",s,\".getBuffer(\",i,\".buffer);\",\"}\",f,'=\"type\" in ',i,\"?\",a.glTypes,\"[\",i,\".type]:\",u,\".dtype;\",l.normalized,\"=!!\",i,\".normalized;\"),n(\"size\"),n(\"offset\"),n(\"stride\"),n(\"divisor\"),r(\"}}\"),r.exit(\"if(\",l.isStream,\"){\",s,\".destroyStream(\",u,\");\",\"}\"),l})}),o}function A(t,e,r,n,i){var o=_(t),s=function(t,e,r){function n(t){if(t in i){var r=i[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return\"width\"in r?n=0|r.width:t=!1,\"height\"in r?o=0|r.height:t=!1,new I(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,function(t,e){var i=t.shared.context,a=n;\"width\"in r||(a=e.def(i,\".\",\"framebufferWidth\",\"-\",s));var c=o;return\"height\"in r||(c=e.def(i,\".\",\"framebufferHeight\",\"-\",l)),[s,l,a,c]})}if(t in a){var c=a[t];return t=B(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,\".x|0\"),a=e.def(r,\".y|0\");return[i,a,e.def('\"width\" in ',r,\"?\",r,\".width|0:\",\"(\",n,\".\",\"framebufferWidth\",\"-\",i,\")\"),r=e.def('\"height\" in ',r,\"?\",r,\".height|0:\",\"(\",n,\".\",\"framebufferHeight\",\"-\",a,\")\")]}),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new I(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,\".\",\"framebufferWidth\"),e.def(r,\".\",\"framebufferHeight\")]}):null}var i=t.static,a=t.dynamic;if(t=n(\"viewport\")){var o=t;t=new I(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,\".viewportWidth\",r[2]),e.set(n,\".viewportHeight\",r[3]),r})}return{viewport:t,scissor_box:n(\"scissor.box\")}}(t,o),l=k(t),c=function(t,e){var r=t.static,n=t.dynamic,i={};return nt.forEach(function(t){function e(e,a){if(t in r){var s=e(r[t]);i[o]=R(function(){return s})}else if(t in n){var l=n[t];i[o]=B(l,function(t,e){return a(t,e,t.invoke(e,l))})}}var o=v(t);switch(t){case\"cull.enable\":case\"blend.enable\":case\"dither\":case\"stencil.enable\":case\"depth.enable\":case\"scissor.enable\":case\"polygonOffset.enable\":case\"sample.alpha\":case\"sample.enable\":case\"depth.mask\":return e(function(t){return t},function(t,e,r){return r});case\"depth.func\":return e(function(t){return kt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,\"[\",r,\"]\")});case\"depth.range\":return e(function(t){return t},function(t,e,r){return[e.def(\"+\",r,\"[0]\"),e=e.def(\"+\",r,\"[1]\")]});case\"blend.func\":return e(function(t){return[wt[\"srcRGB\"in t?t.srcRGB:t.src],wt[\"dstRGB\"in t?t.dstRGB:t.dst],wt[\"srcAlpha\"in t?t.srcAlpha:t.src],wt[\"dstAlpha\"in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('\"',t,n,'\" in ',r,\"?\",r,\".\",t,n,\":\",r,\".\",t)}t=t.constants.blendFuncs;var i=n(\"src\",\"RGB\"),a=n(\"dst\",\"RGB\"),o=(i=e.def(t,\"[\",i,\"]\"),e.def(t,\"[\",n(\"src\",\"Alpha\"),\"]\"));return[i,a=e.def(t,\"[\",a,\"]\"),o,t=e.def(t,\"[\",n(\"dst\",\"Alpha\"),\"]\")]});case\"blend.equation\":return e(function(t){return\"string\"==typeof t?[$[t],$[t]]:\"object\"==typeof t?[$[t.rgb],$[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond(\"typeof \",r,'===\"string\"')).then(i,\"=\",a,\"=\",n,\"[\",r,\"];\"),t.else(i,\"=\",n,\"[\",r,\".rgb];\",a,\"=\",n,\"[\",r,\".alpha];\"),e(t),[i,a]});case\"blend.color\":return e(function(t){return a(4,function(e){return+t[e]})},function(t,e,r){return a(4,function(t){return e.def(\"+\",r,\"[\",t,\"]\")})});case\"stencil.mask\":return e(function(t){return 0|t},function(t,e,r){return e.def(r,\"|0\")});case\"stencil.func\":return e(function(t){return[kt[t.cmp||\"keep\"],t.ref||0,\"mask\"in t?t.mask:-1]},function(t,e,r){return[t=e.def('\"cmp\" in ',r,\"?\",t.constants.compareFuncs,\"[\",r,\".cmp]\",\":\",7680),e.def(r,\".ref|0\"),e=e.def('\"mask\" in ',r,\"?\",r,\".mask|0:-1\")]});case\"stencil.opFront\":case\"stencil.opBack\":return e(function(e){return[\"stencil.opBack\"===t?1029:1028,Mt[e.fail||\"keep\"],Mt[e.zfail||\"keep\"],Mt[e.zpass||\"keep\"]]},function(e,r,n){function i(t){return r.def('\"',t,'\" in ',n,\"?\",a,\"[\",n,\".\",t,\"]:\",7680)}var a=e.constants.stencilOps;return[\"stencil.opBack\"===t?1029:1028,i(\"fail\"),i(\"zfail\"),i(\"zpass\")]});case\"polygonOffset.offset\":return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return[e.def(r,\".factor|0\"),e=e.def(r,\".units|0\")]});case\"cull.face\":return e(function(t){var e=0;return\"front\"===t?e=1028:\"back\"===t&&(e=1029),e},function(t,e,r){return e.def(r,'===\"front\"?',1028,\":\",1029)});case\"lineWidth\":return e(function(t){return t},function(t,e,r){return r});case\"frontFace\":return e(function(t){return At[t]},function(t,e,r){return e.def(r+'===\"cw\"?2304:2305')});case\"colorMask\":return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return a(4,function(t){return\"!!\"+r+\"[\"+t+\"]\"})});case\"sample.coverage\":return e(function(t){return[\"value\"in t?t.value:1,!!t.invert]},function(t,e,r){return[e.def('\"value\" in ',r,\"?+\",r,\".value:1\"),e=e.def(\"!!\",r,\".invert\")]})}}),i}(t),u=w(t),f=s.viewport;return f&&(c.viewport=f),(s=s[f=v(\"scissor.box\")])&&(c[f]=s),(o={framebuffer:o,draw:l,shader:u,state:c,dirty:s=0<Object.keys(c).length}).profile=function(t){var e,r=t.static;if(t=t.dynamic,\"profile\"in r){var n=!!r.profile;(e=R(function(t,e){return n})).enable=n}else if(\"profile\"in t){var i=t.profile;e=B(i,function(t,e){return t.invoke(e,i)})}return e}(t),o.uniforms=function(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach(function(t){var e,n=r[t];if(\"number\"==typeof n||\"boolean\"==typeof n)e=R(function(){return n});else if(\"function\"==typeof n){var o=n._reglType;\"texture2d\"===o||\"textureCube\"===o?e=R(function(t){return t.link(n)}):\"framebuffer\"!==o&&\"framebufferCube\"!==o||(e=R(function(t){return t.link(n.color[0])}))}else m(n)&&(e=R(function(t){return t.global.def(\"[\",a(n.length,function(t){return n[t]}),\"]\")}));e.value=n,i[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=B(e,function(t,r){return t.invoke(r,e)})}),i}(r),o.attributes=M(e),o.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=R(function(t,e){return\"number\"==typeof r||\"boolean\"==typeof r?\"\"+r:t.link(r)})}),Object.keys(r).forEach(function(t){var e=r[t];n[t]=B(e,function(t,r){return t.invoke(r,e)})}),n}(n),o}function T(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach(function(a){e.save(n,\".\"+a),i(n,\".\",a,\"=\",r[a].append(t,e),\";\")}),e(i)}function S(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;Q&&(i=e.def(s.extensions,\".webgl_draw_buffers\"));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,\".next\"),n||e(\"if(\",t,\"!==\",o,\".cur){\"),e(\"if(\",t,\"){\",a,\".bindFramebuffer(\",36160,\",\",t,\".framebuffer);\"),Q&&e(i,\".drawBuffersWEBGL(\",s,\"[\",t,\".colorAttachments.length]);\"),e(\"}else{\",a,\".bindFramebuffer(\",36160,\",null);\"),Q&&e(i,\".drawBuffersWEBGL(\",l,\");\"),e(\"}\",o,\".cur=\",t,\";\"),n||e(\"}\")}function E(t,e,r){var n=t.shared,i=n.gl,o=t.current,s=t.next,l=n.current,c=n.next,u=t.cond(l,\".dirty\");nt.forEach(function(e){var n,f;if(!((e=v(e))in r.state))if(e in s){n=s[e],f=o[e];var h=a(tt[e].length,function(t){return u.def(n,\"[\",t,\"]\")});u(t.cond(h.map(function(t,e){return t+\"!==\"+f+\"[\"+e+\"]\"}).join(\"||\")).then(i,\".\",at[e],\"(\",h,\");\",h.map(function(t,e){return f+\"[\"+e+\"]=\"+t}).join(\";\"),\";\"))}else n=u.def(c,\".\",e),h=t.cond(n,\"!==\",l,\".\",e),u(h),e in it?h(t.cond(n).then(i,\".enable(\",it[e],\");\").else(i,\".disable(\",it[e],\");\"),l,\".\",e,\"=\",n,\";\"):h(i,\".\",at[e],\"(\",n,\");\",l,\".\",e,\"=\",n,\";\")}),0===Object.keys(r.state).length&&u(l,\".dirty=false;\"),e(u)}function C(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;O(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var c=l.append(t,e);if(it[i]){var u=it[i];D(l)?e(s,c?\".enable(\":\".disable(\",u,\");\"):e(t.cond(c).then(s,\".enable(\",u,\");\").else(s,\".disable(\",u,\");\")),e(o,\".\",i,\"=\",c,\";\")}else if(m(c)){var f=a[i];e(s,\".\",at[i],\"(\",c,\");\",c.map(function(t,e){return f+\"[\"+e+\"]=\"+t}).join(\";\"),\";\")}else e(s,\".\",at[i],\"(\",c,\");\",o,\".\",i,\"=\",c,\";\")}})}function L(t,e){K&&(t.instancing=e.def(t.shared.extensions,\".angle_instanced_arrays\"))}function F(t,e,r,n,i){function a(){return\"undefined\"==typeof performance?\"Date.now()\":\"performance.now()\"}function o(t){t(c=e.def(),\"=\",a(),\";\"),\"string\"==typeof i?t(h,\".count+=\",i,\";\"):t(h,\".count++;\"),d&&(n?t(u=e.def(),\"=\",g,\".getNumPendingQueries();\"):t(g,\".beginQuery(\",h,\");\"))}function s(t){t(h,\".cpuTime+=\",a(),\"-\",c,\";\"),d&&(n?t(g,\".pushScopeStats(\",u,\",\",g,\".getNumPendingQueries(),\",h,\");\"):t(g,\".endQuery();\"))}function l(t){var r=e.def(p,\".profile\");e(p,\".profile=\",t,\";\"),e.exit(p,\".profile=\",r,\";\")}var c,u,f=t.shared,h=t.stats,p=f.current,g=f.timer;if(r=r.profile){if(D(r))return void(r.enable?(o(e),s(e.exit),l(\"true\")):l(\"false\"));l(r=r.append(t,e))}else r=e.def(p,\".profile\");o(f=t.block()),e(\"if(\",r,\"){\",f,\"}\"),s(t=t.block()),e.exit(\"if(\",r,\"){\",t,\"}\")}function N(t,e,r,n,i){function a(r,n,i){function a(){e(\"if(!\",u,\".buffer){\",l,\".enableVertexAttribArray(\",c,\");}\");var r,a=i.type;r=i.size?e.def(i.size,\"||\",n):n,e(\"if(\",u,\".type!==\",a,\"||\",u,\".size!==\",r,\"||\",p.map(function(t){return u+\".\"+t+\"!==\"+i[t]}).join(\"||\"),\"){\",l,\".bindBuffer(\",34962,\",\",f,\".buffer);\",l,\".vertexAttribPointer(\",[c,r,a,i.normalized,i.stride,i.offset],\");\",u,\".type=\",a,\";\",u,\".size=\",r,\";\",p.map(function(t){return u+\".\"+t+\"=\"+i[t]+\";\"}).join(\"\"),\"}\"),K&&(a=i.divisor,e(\"if(\",u,\".divisor!==\",a,\"){\",t.instancing,\".vertexAttribDivisorANGLE(\",[c,a],\");\",u,\".divisor=\",a,\";}\"))}function s(){e(\"if(\",u,\".buffer){\",l,\".disableVertexAttribArray(\",c,\");\",\"}if(\",bt.map(function(t,e){return u+\".\"+t+\"!==\"+h[e]}).join(\"||\"),\"){\",l,\".vertexAttrib4f(\",c,\",\",h,\");\",bt.map(function(t,e){return u+\".\"+t+\"=\"+h[e]+\";\"}).join(\"\"),\"}\")}var l=o.gl,c=e.def(r,\".location\"),u=e.def(o.attributes,\"[\",c,\"]\");r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],p=[\"buffer\",\"normalized\",\"offset\",\"stride\"];1===r?a():2===r?s():(e(\"if(\",r,\"===\",1,\"){\"),a(),e(\"}else{\"),s(),e(\"}\"))}var o=t.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(t,e)}else{if(!i(Tt))return;var c=t.scopeAttrib(s);o={},Object.keys(new Z).forEach(function(t){o[t]=e.def(c,\".\",t)})}a(t.link(n),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)})}function j(t,r,n,i,o){for(var s,l=t.shared,c=l.gl,u=0;u<i.length;++u){var f,h=(g=i[u]).name,p=g.info.type,d=n.uniforms[h],g=t.link(g)+\".location\";if(d){if(!o(d))continue;if(D(d)){if(h=d.value,35678===p||35680===p)r(c,\".uniform1i(\",g,\",\",(p=t.link(h._texture||h.color[0]._texture))+\".bind());\"),r.exit(p,\".unbind();\");else if(35674===p||35675===p||35676===p)d=2,35675===p?d=3:35676===p&&(d=4),r(c,\".uniformMatrix\",d,\"fv(\",g,\",false,\",h=t.global.def(\"new Float32Array([\"+Array.prototype.slice.call(h)+\"])\"),\");\");else{switch(p){case 5126:s=\"1f\";break;case 35664:s=\"2f\";break;case 35665:s=\"3f\";break;case 35666:s=\"4f\";break;case 35670:case 5124:s=\"1i\";break;case 35671:case 35667:s=\"2i\";break;case 35672:case 35668:s=\"3i\";break;case 35673:s=\"4i\";break;case 35669:s=\"4i\"}r(c,\".uniform\",s,\"(\",g,\",\",m(h)?Array.prototype.slice.call(h):h,\");\")}continue}f=d.append(t,r)}else{if(!o(Tt))continue;f=r.def(l.uniforms,\"[\",e.id(h),\"]\")}switch(35678===p?r(\"if(\",f,\"&&\",f,'._reglType===\"framebuffer\"){',f,\"=\",f,\".color[0];\",\"}\"):35680===p&&r(\"if(\",f,\"&&\",f,'._reglType===\"framebufferCube\"){',f,\"=\",f,\".color[0];\",\"}\"),h=1,p){case 35678:case 35680:p=r.def(f,\"._texture\"),r(c,\".uniform1i(\",g,\",\",p,\".bind());\"),r.exit(p,\".unbind();\");continue;case 5124:case 35670:s=\"1i\";break;case 35667:case 35671:s=\"2i\",h=2;break;case 35668:case 35672:s=\"3i\",h=3;break;case 35669:case 35673:s=\"4i\",h=4;break;case 5126:s=\"1f\";break;case 35664:s=\"2f\",h=2;break;case 35665:s=\"3f\",h=3;break;case 35666:s=\"4f\",h=4;break;case 35674:s=\"Matrix2fv\";break;case 35675:s=\"Matrix3fv\";break;case 35676:s=\"Matrix4fv\"}if(r(c,\".uniform\",s,\"(\",g,\",\"),\"M\"===s.charAt(0)){g=Math.pow(p-35674+2,2);var v=t.global.def(\"new Float32Array(\",g,\")\");r(\"false,(Array.isArray(\",f,\")||\",f,\" instanceof Float32Array)?\",f,\":(\",a(g,function(t){return v+\"[\"+t+\"]=\"+f+\"[\"+t+\"]\"}),\",\",v,\")\")}else r(1<h?a(h,function(t){return f+\"[\"+t+\"]\"}):f);r(\");\")}}function V(t,e,r,n){function i(i){var a=h[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(f,\".\",i)}function a(){function t(){r(l,\".drawElementsInstancedANGLE(\",[d,m,v,g+\"<<((\"+v+\"-5121)>>1)\",s],\");\")}function e(){r(l,\".drawArraysInstancedANGLE(\",[d,g,m,s],\");\")}p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}function o(){function t(){r(u+\".drawElements(\"+[d,m,v,g+\"<<((\"+v+\"-5121)>>1)\"]+\");\")}function e(){r(u+\".drawArrays(\"+[d,g,m]+\");\")}p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}var s,l,c=t.shared,u=c.gl,f=c.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,\".\",\"elements\"),i&&a(\"if(\"+i+\")\"+u+\".bindBuffer(34963,\"+i+\".buffer.buffer);\"),i}(),d=i(\"primitive\"),g=i(\"offset\"),m=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,\".\",\"count\"),i}();if(\"number\"==typeof m){if(0===m)return}else r(\"if(\",m,\"){\"),r.exit(\"}\");K&&(s=i(\"instances\"),l=t.instancing);var v=p+\".type\",y=h.elements&&D(h.elements);K&&(\"number\"!=typeof s||0<=s)?\"string\"==typeof s?(r(\"if(\",s,\">0){\"),a(),r(\"}else if(\",s,\"<0){\"),o(),r(\"}\")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc(\"body\",i),K&&(e.instancing=i.def(e.shared.extensions,\".angle_instanced_arrays\")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){L(t,e),N(t,e,r,n.attributes,function(){return!0}),j(t,e,r,n.uniforms,function(){return!0}),V(t,e,e,r)}function G(t,e,r,n){function i(){return!0}t.batchId=\"a1\",L(t,e),N(t,e,r,n.attributes,i),j(t,e,r,n.uniforms,i),V(t,e,e,r)}function W(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}L(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,\"for(\",s,\"=0;\",s,\"<\",\"a1\",\";++\",s,\"){\",l,\"=\",\"a0\",\"[\",s,\"];\",u,\"}\",c.exit),r.needsContext&&T(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),C(t,u,r.state,i),r.profile&&i(r.profile)&&F(t,u,r,!1,!0),n?(N(t,c,r,n.attributes,a),N(t,u,r,n.attributes,i),j(t,c,r,n.uniforms,a),j(t,u,r,n.uniforms,i),V(t,c,u,r)):(e=t.global.def(\"{}\"),n=r.shader.progVar.append(t,u),l=u.def(n,\".id\"),c=u.def(e,\"[\",l,\"]\"),u(t.shared.gl,\".useProgram(\",n,\".program);\",\"if(!\",c,\"){\",c,\"=\",e,\"[\",l,\"]=\",t.link(function(e){return q(G,t,r,e,2)}),\"(\",n,\");}\",c,\".call(this,a0[\",s,\"],\",s,\");\"))}function Y(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,\".\"+e,n.append(t,i))}var i=t.proc(\"scope\",3);t.batchId=\"a2\";var a=t.shared,o=a.current;T(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),O(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);m(n)?n.forEach(function(r,n){i.set(t.next[e],\"[\"+n+\"]\",r)}):i.set(a.next,\".\"+e,n)}),F(t,i,r,!0,!0),[\"elements\",\"offset\",\"count\",\"instances\",\"primitive\"].forEach(function(e){var n=r.draw[e];n&&i.set(a.draw,\".\"+e,\"\"+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,\"[\"+e.id(n)+\"]\",r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new Z).forEach(function(t){i.set(a,\".\"+t,n[t])})}),n(\"vert\"),n(\"frag\"),0<Object.keys(r.state).length&&(i(o,\".dirty=true;\"),i.exit(o,\".dirty=true;\")),i(\"a1(\",t.shared.context,\",a0,\",t.batchId,\");\")}function X(t,e,r){var n=e.static[r];if(n&&function(t){if(\"object\"==typeof t&&!m(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(U.isDynamic(t[e[r]]))return!0;return!1}}(n)){var i=t.global,a=Object.keys(n),o=!1,s=!1,l=!1,c=t.global.def(\"{}\");a.forEach(function(e){var r=n[e];if(U.isDynamic(r))\"function\"==typeof r&&(r=n[e]=U.unbox(r)),e=B(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(i(c,\".\",e,\"=\"),typeof r){case\"number\":i(r);break;case\"string\":i('\"',r,'\"');break;case\"object\":Array.isArray(r)&&i(\"[\",r.join(),\"]\");break;default:i(t.link(r))}i(\";\")}}),e.dynamic[r]=new U.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:c,append:function(t,e){a.forEach(function(r){var i=n[r];U.isDynamic(i)&&(i=t.invoke(e,i),e(c,\".\",r,\"=\",i,\";\"))})}}),delete e.static[r]}}var Z=u.Record,$={add:32774,subtract:32778,\"reverse subtract\":32779};r.ext_blend_minmax&&($.min=32775,$.max=32776);var K=r.angle_instanced_arrays,Q=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},nt=[],it={},at={};y(\"dither\",3024),y(\"blend.enable\",3042),x(\"blend.color\",\"blendColor\",[0,0,0,0]),x(\"blend.equation\",\"blendEquationSeparate\",[32774,32774]),x(\"blend.func\",\"blendFuncSeparate\",[1,0,1,0]),y(\"depth.enable\",2929,!0),x(\"depth.func\",\"depthFunc\",513),x(\"depth.range\",\"depthRange\",[0,1]),x(\"depth.mask\",\"depthMask\",!0),x(\"colorMask\",\"colorMask\",[!0,!0,!0,!0]),y(\"cull.enable\",2884),x(\"cull.face\",\"cullFace\",1029),x(\"frontFace\",\"frontFace\",2305),x(\"lineWidth\",\"lineWidth\",1),y(\"polygonOffset.enable\",32823),x(\"polygonOffset.offset\",\"polygonOffset\",[0,0]),y(\"sample.alpha\",32926),y(\"sample.enable\",32928),x(\"sample.coverage\",\"sampleCoverage\",[1,!1]),y(\"stencil.enable\",2960),x(\"stencil.mask\",\"stencilMask\",-1),x(\"stencil.func\",\"stencilFunc\",[519,0,-1]),x(\"stencil.opFront\",\"stencilOpSeparate\",[1028,7680,7680,7680]),x(\"stencil.opBack\",\"stencilOpSeparate\",[1029,7680,7680,7680]),y(\"scissor.enable\",3089),x(\"scissor.box\",\"scissor\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x(\"viewport\",\"viewport\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var ot={gl:t,context:p,strings:e,next:et,current:tt,draw:h,elements:o,buffer:i,shader:f,attributes:u.state,uniforms:c,framebuffer:l,extensions:r,timer:d,isBufferArgs:P},st={primTypes:rt,compareFuncs:kt,blendFuncs:wt,blendEquations:$,stencilOps:Mt,glTypes:J,orientationType:At};Q&&(st.backBuffer=[1029],st.drawBuffer=a(n.maxDrawbuffers,function(t){return 0===t?[0]:a(t,function(t){return 36064+t})}));var lt=0;return{next:et,current:tt,procs:function(){var t=b(),e=t.proc(\"poll\"),r=t.proc(\"refresh\"),i=t.block();e(i),r(i);var o,s=t.shared,l=s.gl,c=s.next,u=s.current;i(u,\".dirty=false;\"),S(t,e),S(t,r,null,!0),K&&(o=t.link(K));for(var f=0;f<n.maxAttributes;++f){var h=r.def(s.attributes,\"[\",f,\"]\"),p=t.cond(h,\".buffer\");p.then(l,\".enableVertexAttribArray(\",f,\");\",l,\".bindBuffer(\",34962,\",\",h,\".buffer.buffer);\",l,\".vertexAttribPointer(\",f,\",\",h,\".size,\",h,\".type,\",h,\".normalized,\",h,\".stride,\",h,\".offset);\").else(l,\".disableVertexAttribArray(\",f,\");\",l,\".vertexAttrib4f(\",f,\",\",h,\".x,\",h,\".y,\",h,\".z,\",h,\".w);\",h,\".buffer=null;\"),r(p),K&&r(o,\".vertexAttribDivisorANGLE(\",f,\",\",h,\".divisor);\")}return Object.keys(it).forEach(function(n){var a=it[n],o=i.def(c,\".\",n),s=t.block();s(\"if(\",o,\"){\",l,\".enable(\",a,\")}else{\",l,\".disable(\",a,\")}\",u,\".\",n,\"=\",o,\";\"),r(s),e(\"if(\",o,\"!==\",u,\".\",n,\"){\",s,\"}\")}),Object.keys(at).forEach(function(n){var o,s,f=at[n],h=tt[n],p=t.block();p(l,\".\",f,\"(\"),m(h)?(f=h.length,o=t.global.def(c,\".\",n),s=t.global.def(u,\".\",n),p(a(f,function(t){return o+\"[\"+t+\"]\"}),\");\",a(f,function(t){return s+\"[\"+t+\"]=\"+o+\"[\"+t+\"];\"}).join(\"\")),e(\"if(\",a(f,function(t){return o+\"[\"+t+\"]!==\"+s+\"[\"+t+\"]\"}).join(\"||\"),\"){\",p,\"}\")):(o=i.def(c,\".\",n),s=i.def(u,\".\",n),p(o,\");\",u,\".\",n,\"=\",o,\";\"),e(\"if(\",o,\"!==\",s,\"){\",p,\"}\")),r(p)}),t.compile()}(),compile:function(t,e,r,n,i){var a=b();return a.stats=a.link(i),Object.keys(e.static).forEach(function(t){X(a,e,t)}),_t.forEach(function(e){X(a,t,e)}),r=A(t,e,r,n),function(t,e){var r=t.proc(\"draw\",1);L(t,r),T(t,r,e.context),S(t,r,e.framebuffer),E(t,r,e),C(t,r,e.state),F(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,\".useProgram(\",n,\".program);\"),e.shader.program)H(t,r,e,e.shader.program);else{var i=t.global.def(\"{}\"),a=r.def(n,\".id\"),o=r.def(i,\"[\",a,\"]\");r(t.cond(o).then(o,\".call(this,a0);\").else(o,\"=\",i,\"[\",a,\"]=\",t.link(function(r){return q(H,t,e,r,1)}),\"(\",n,\");\",o,\".call(this,a0);\"))}0<Object.keys(e.state).length&&r(t.shared.current,\".dirty=true;\")}(a,r),Y(a,r),function(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc(\"batch\",2);t.batchId=\"0\",L(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(T(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),E(t,n,e),C(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||F(t,n,e,!1,\"a1\"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&&i||a.propDep)W(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,\".useProgram(\",a,\".program);\"),e.shader.program)W(t,n,e,e.shader.program);else{var s=t.global.def(\"{}\"),l=(o=n.def(a,\".id\"),n.def(s,\"[\",o,\"]\"));n(t.cond(l).then(l,\".call(this,a0,a1);\").else(l,\"=\",s,\"[\",o,\"]=\",t.link(function(r){return q(W,t,e,r,2)}),\"(\",a,\");\",l,\".call(this,a0,a1);\"))}0<Object.keys(e.state).length&&n(t.shared.current,\".dirty=true;\")}(a,r),a.compile()}}}function N(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var j=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,U={DynamicVariable:t,define:function(r,n){return new t(r,e(n+\"\"))},isDynamic:function(e){return\"function\"==typeof e&&!e._reglType||e instanceof t},unbox:function(e,r){return\"function\"==typeof e?new t(0,e):e},accessor:e},q={next:\"function\"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:\"function\"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},H=\"undefined\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},G=s();G.zero=s();var W=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063));var a=!!e.oes_texture_float;if(a){a=t.createTexture(),t.bindTexture(3553,a),t.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var o=t.createFramebuffer();if(t.bindFramebuffer(36160,o),t.framebufferTexture2D(36160,36064,3553,a,0),t.bindTexture(3553,null),36053!==t.checkFramebufferStatus(36160))a=!1;else{t.viewport(0,0,1,1),t.clearColor(1,0,0,1),t.clear(16384);var s=G.allocType(5126,4);t.readPixels(0,0,1,1,6408,5126,s),t.getError()?a=!1:(t.deleteFramebuffer(o),t.deleteTexture(a),a=1===s[0]),G.freeType(s)}}return s=!0,s=t.createTexture(),o=G.allocType(5121,36),t.activeTexture(33984),t.bindTexture(34067,s),t.texImage2D(34069,0,6408,3,3,0,6408,5121,o),G.freeType(o),t.bindTexture(34067,null),t.deleteTexture(s),s=!t.getError(),{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(e).filter(function(t){return!!e[t]}),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:i,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938),readFloat:a,npotTextureCube:s}},Y=function(t){return t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof Uint8ClampedArray},X=function(t){return Object.keys(t).map(function(e){return t[e]})},Z={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;switch(r=n||G.allocType(r,i),e.length){case 0:break;case 1:for(n=e[0],e=0;e<n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],a=i=0;a<n;++a)for(var o=t[a],s=0;s<e;++s)r[i++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,i,a){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var u=r[n+1],f=r[n+2];for(r=r[n+3],s=0;s<l;++s)c(e[s],u,f,r,i,a),a+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,i,a),a+=o}(t,e,0,r,0)}return r}},$={\"[object Int8Array]\":5120,\"[object Int16Array]\":5122,\"[object Int32Array]\":5124,\"[object Uint8Array]\":5121,\"[object Uint8ClampedArray]\":5121,\"[object Uint16Array]\":5123,\"[object Uint32Array]\":5125,\"[object Float32Array]\":5126,\"[object Float64Array]\":5121,\"[object ArrayBuffer]\":5121},J={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},K={dynamic:35048,stream:35040,static:35044},Q=Z.flatten,tt=Z.shape,et=[];et[5120]=1,et[5122]=2,et[5124]=4,et[5121]=1,et[5123]=2,et[5125]=4,et[5126]=4;var rt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},nt=new Float32Array(1),it=new Uint32Array(nt.buffer),at=[9984,9986,9985,9987],ot=[0,6409,6410,6407,6408],st={};st[6409]=st[6406]=st[6402]=1,st[34041]=st[6410]=2,st[6407]=st[35904]=3,st[6408]=st[35906]=4;var lt=v(\"HTMLCanvasElement\"),ct=v(\"CanvasRenderingContext2D\"),ut=v(\"ImageBitmap\"),ft=v(\"HTMLImageElement\"),ht=v(\"HTMLVideoElement\"),pt=Object.keys($).concat([lt,ct,ut,ft,ht]),dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2,dt[5123]=2,dt[5125]=4;var gt=[];gt[32854]=2,gt[32855]=2,gt[36194]=2,gt[34041]=4,gt[33776]=.5,gt[33777]=.5,gt[33778]=1,gt[33779]=1,gt[35986]=.5,gt[35987]=1,gt[34798]=1,gt[35840]=.5,gt[35841]=.25,gt[35842]=.5,gt[35843]=.25,gt[36196]=.5;var mt=[];mt[32854]=2,mt[32855]=2,mt[36194]=2,mt[33189]=2,mt[36168]=1,mt[34041]=4,mt[35907]=4,mt[34836]=16,mt[34842]=8,mt[34843]=6;var vt=function(t,e,r,n,i){function a(t){this.id=c++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete u[e.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,\"rgb5 a1\":32855,depth:33189,stencil:36168,\"depth stencil\":34041};e.ext_srgb&&(s.srgba=35907),e.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach(function(t){l[s[t]]=t});var c=0,u={};return a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,a=0,u=32854;if(\"object\"==typeof e&&e?(\"shape\"in e?(n=0|(a=e.shape)[0],a=0|a[1]):(\"radius\"in e&&(n=a=0|e.radius),\"width\"in e&&(n=0|e.width),\"height\"in e&&(a=0|e.height)),\"format\"in e&&(u=s[e.format])):\"number\"==typeof e?(n=0|e,a=\"number\"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=mt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height?o:(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=mt[c.format]*c.width*c.height),o)},o._reglType=\"renderbuffer\",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){X(u).forEach(o)},restore:function(){X(u).forEach(function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)}),t.bindRenderbuffer(36161,null)}}},yt=[];yt[6408]=4,yt[6407]=3;var xt=[];xt[5121]=1,xt[5126]=4,xt[36193]=2;var bt=[\"x\",\"y\",\"z\",\"w\"],_t=\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\".split(\" \"),wt={0:0,1:1,zero:0,one:1,\"src color\":768,\"one minus src color\":769,\"src alpha\":770,\"one minus src alpha\":771,\"dst color\":774,\"one minus dst color\":775,\"dst alpha\":772,\"one minus dst alpha\":773,\"constant color\":32769,\"one minus constant color\":32770,\"constant alpha\":32771,\"one minus constant alpha\":32772,\"src alpha saturate\":776},kt={never:512,less:513,\"<\":513,equal:514,\"=\":514,\"==\":514,\"===\":514,lequal:515,\"<=\":515,greater:516,\">\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Mt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},At={cw:2304,ccw:2305},Tt=new I(!1,!1,!1,function(){});return function(t){function e(){if(0===Z.length)w&&w.update(),Q=null;else{Q=q.next(e),f();for(var t=Z.length-1;0<=t;--t){var r=Z[t];r&&r(z,null,0)}m.flush(),w&&w.update()}}function r(){!Q&&0<Z.length&&(Q=q.next(e))}function n(){Q&&(q.cancel(e),Q=null)}function a(t){t.preventDefault(),n(),$.forEach(function(t){t()})}function o(t){m.getError(),y.restore(),D.restore(),O.restore(),R.restore(),B.restore(),V.restore(),w&&w.restore(),G.procs.refresh(),r(),J.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];U.isDynamic(i)?r[n]=U.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),i=e(t.attributes||{}),a=e(function(t){function e(t){if(t in r){var e=r[t];delete r[t],Object.keys(e).forEach(function(n){r[t+\".\"+n]=e[n]})}}var r=j({},t);return delete r.uniforms,delete r.attributes,delete r.context,\"stencil\"in r&&r.stencil.op&&(r.stencil.opBack=r.stencil.opFront=r.stencil.op,delete r.stencil.op),e(\"blend\"),e(\"depth\"),e(\"cull\"),e(\"stencil\"),e(\"polygonOffset\"),e(\"scissor\"),e(\"sample\"),r}(t));t={gpuTime:0,cpuTime:0,count:0};var o=(r=G.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return j(function(t,e){var r;if(\"function\"==typeof t)return l.call(this,null,t,0);if(\"function\"==typeof e)if(\"number\"==typeof t)for(r=0;r<t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r<t.length;++r)l.call(this,t[r],e,r)}else if(\"number\"==typeof t){if(0<t)return s.call(this,function(t){for(;c.length<t;)c.push(null);return c}(0|t),0|t)}else{if(!Array.isArray(t))return o.call(this,t);if(t.length)return s.call(this,t,t.length)}},{stats:t})}function l(t,e){var r=0;G.procs.poll();var n=e.color;n&&(m.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),\"depth\"in e&&(m.clearDepth(+e.depth),r|=256),\"stencil\"in e&&(m.clearStencil(0|e.stencil),r|=1024),m.clear(r)}function c(t){return Z.push(t),r(),{cancel:function(){var e=N(Z,t);Z[e]=function t(){var e=N(Z,t);Z[e]=Z[Z.length-1],--Z.length,0>=Z.length&&n()}}}}function u(){var t=Y.viewport,e=Y.scissor_box;t[0]=t[1]=e[0]=e[1]=0,z.viewportWidth=z.framebufferWidth=z.drawingBufferWidth=t[2]=e[2]=m.drawingBufferWidth,z.viewportHeight=z.framebufferHeight=z.drawingBufferHeight=t[3]=e[3]=m.drawingBufferHeight}function f(){z.tick+=1,z.time=g(),u(),G.procs.poll()}function h(){u(),G.procs.refresh(),w&&w.update()}function g(){return(H()-k)/1e3}if(!(t=i(t)))return null;var m=t.gl,v=m.getContextAttributes();m.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('\"'+a+'\" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return e.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach(function(t){if(!r(t))throw Error(\"(regl): error restoring extension \"+t)})}}}(m,t);if(!y)return null;var x=function(){var t={\"\":0},e=[\"\"];return{id:function(r){var n=t[r];return n||(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}(),b={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function n(t,e,n){var i=s.pop()||new r;i.startQueryIndex=t,i.endQueryIndex=e,i.sum=0,i.stats=n,l.push(i)}var i=e.ext_disjoint_timer_query;if(!i)return null;var a=[],o=[],s=[],l=[],c=[],u=[];return{beginQuery:function(t){var e=a.pop()||i.createQueryEXT();i.beginQueryEXT(35007,e),o.push(e),n(o.length-1,o.length,t)},endQuery:function(){i.endQueryEXT(35007)},pushScopeStats:n,update:function(){var t,e;if(0!==(t=o.length)){u.length=Math.max(u.length,t+1),c.length=Math.max(c.length,t+1),c[0]=0;var r=u[0]=0;for(e=t=0;e<o.length;++e){var n=o[e];i.getQueryObjectEXT(n,34919)?(r+=i.getQueryObjectEXT(n,34918),a.push(n)):o[t++]=n,c[e+1]=r,u[e+1]=t}for(o.length=t,e=t=0;e<l.length;++e){var f=(r=l[e]).startQueryIndex;n=r.endQueryIndex,r.sum+=c[n]-c[f],f=u[f],(n=u[n])===f?(r.stats.gpuTime+=r.sum/1e6,s.push(r)):(r.startQueryIndex=f,r.endQueryIndex=n,l[t++]=r)}l.length=t}},getNumPendingQueries:function(){return o.length},clear:function(){a.push.apply(a,o);for(var t=0;t<a.length;t++)i.deleteQueryEXT(a[t]);o.length=0,a.length=0},restore:function(){o.length=0,a.length=0}}}(0,_),k=H(),C=m.drawingBufferWidth,L=m.drawingBufferHeight,z={tick:0,time:0,viewportWidth:C,viewportHeight:L,framebufferWidth:C,framebufferHeight:L,drawingBufferWidth:C,drawingBufferHeight:L,pixelRatio:t.pixelRatio},P=W(m,_),O=(C=function(t,e,r,n){for(t=r.maxAttributes,e=Array(t),r=0;r<t;++r)e[r]=new T;return{Record:T,scope:{},state:e}}(m,_,P),p(m,b,t,C)),I=d(m,_,O,b),D=S(m,x,b,t),R=M(m,_,P,function(){G.procs.poll()},z,b,t),B=vt(m,_,0,b,t),V=A(m,_,P,R,B,b),G=F(m,x,_,P,O,I,0,V,{},C,D,{elements:null,primitive:4,count:-1,offset:0,instances:-1},z,w,t),Y=(x=E(m,V,G.procs.poll,z),G.next),X=m.canvas,Z=[],$=[],J=[],K=[t.onDestroy],Q=null;X&&(X.addEventListener(\"webglcontextlost\",a,!1),X.addEventListener(\"webglcontextrestored\",o,!1));var tt=V.setFBO=s({framebuffer:U.define.call(null,1,\"framebuffer\")});return h(),v=j(s,{clear:function(t){if(\"framebuffer\"in t)if(t.framebuffer&&\"framebufferCube\"===t.framebuffer_reglType)for(var e=0;6>e;++e)tt(j({framebuffer:t.framebuffer.faces[e]},t),l);else tt(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return O.create(t,34962,!1,!1)},elements:function(t){return I.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:B.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:v,frame:c,on:function(t,e){var r;switch(t){case\"frame\":return c(e);case\"lost\":r=$;break;case\"restore\":r=J;break;case\"destroy\":r=K}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:P,hasExtension:function(t){return 0<=P.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){Z.length=0,n(),X&&(X.removeEventListener(\"webglcontextlost\",a),X.removeEventListener(\"webglcontextrestored\",o)),D.clear(),V.clear(),B.clear(),R.clear(),I.clear(),O.clear(),w&&w.clear(),K.forEach(function(t){t()})},_gl:m,_refresh:h,poll:function(){f(),w&&w.update()},now:g,stats:b}),t.onDone(null,v),v}},\"object\"==typeof r&&\"undefined\"!=typeof e?e.exports=i():n.createREGL=i()},{}],476:[function(t,e,r){\"use strict\";var n,i=\"\";e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"expected a string\");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||\"undefined\"==typeof n)n=t,i=\"\";else if(i.length>=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],477:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],478:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i],s=(r=a+o)-a,l=o-s;l&&(t[--n]=r,r=l)}for(var c=0,i=n;i<e;++i){var a=t[i],o=r,s=(r=a+o)-a,l=o-s;l&&(t[c++]=l)}return t[c++]=r,t.length=c,t}},{}],479:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\"),a=t(\"robust-scale\"),o=t(\"robust-compress\"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function c(t){if(2===t.length)return[\"sum(prod(\",t[0][0],\",\",t[1][1],\"),prod(-\",t[0][1],\",\",t[1][0],\"))\"].join(\"\");for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",c(l(t,r)),\",\",(n=r,1&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return function t(e){if(1===e.length)return e[0];if(2===e.length)return[\"sum(\",e[0],\",\",e[1],\")\"].join(\"\");var r=e.length>>1;return[\"sum(\",t(e.slice(0,r)),\",\",t(e.slice(r)),\")\"].join(\"\")}(e);var n}function u(t){return new Function(\"sum\",\"scale\",\"prod\",\"compress\",[\"function robustDeterminant\",t,\"(m){return compress(\",c(function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m[\",r,\"][\",n,\"]\"].join(\"\")}return e}(t)),\")};return robustDeterminant\",t].join(\"\"))(i,a,n,o)}var f=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;f.length<s;)f.push(u(f.length));for(var t=[],r=[\"function robustDeterminant(m){switch(m.length){\"],n=0;n<s;++n)t.push(\"det\"+n),r.push(\"case \",n,\":return det\",n,\"(m);\");r.push(\"}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant\"),t.push(\"CACHE\",\"gen\",r.join(\"\"));var i=Function.apply(void 0,t);for(e.exports=i.apply(void 0,f.concat([f,u])),n=0;n<f.length;++n)e.exports[n]=f[n]}()},{\"robust-compress\":478,\"robust-scale\":485,\"robust-sum\":488,\"two-product\":517}],480:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\");e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a<t.length;++a)r=i(r,n(t[a],e[a]));return r}},{\"robust-sum\":488,\"two-product\":517}],481:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\"),a=t(\"robust-subtract\"),o=t(\"robust-scale\"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function c(t){if(1===t.length)return t[0];if(2===t.length)return[\"sum(\",t[0],\",\",t[1],\")\"].join(\"\");var e=t.length>>1;return[\"sum(\",c(t.slice(0,e)),\",\",c(t.slice(e)),\")\"].join(\"\")}function u(t,e){if(\"m\"===t.charAt(0)){if(\"w\"===e.charAt(0)){var r=t.split(\"[\");return[\"w\",e.substr(1),\"m\",r[0].substr(1)].join(\"\")}return[\"prod(\",t,\",\",e,\")\"].join(\"\")}return u(e,t)}function f(t){if(2===t.length)return[[\"diff(\",u(t[0][0],t[1][1]),\",\",u(t[1][0],t[0][1]),\")\"].join(\"\")];for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",c(f(l(t,r))),\",\",(n=r,!0&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return e;var n}function h(t,e){for(var r=[],n=0;n<e-2;++n)r.push([\"prod(m\",t,\"[\",n,\"],m\",t,\"[\",n,\"])\"].join(\"\"));return c(r)}function p(t){for(var e=[],r=[],s=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m\",n,\"[\",t-r-2,\"]\"].join(\"\")}return e}(t),u=0;u<t;++u)s[0][u]=\"1\",s[t-1][u]=\"w\"+u;for(u=0;u<t;++u)0==(1&u)?e.push.apply(e,f(l(s,u))):r.push.apply(r,f(l(s,u)));var p=c(e),d=c(r),g=\"exactInSphere\"+t,m=[];for(u=0;u<t;++u)m.push(\"m\"+u);var v=[\"function \",g,\"(\",m.join(),\"){\"];for(u=0;u<t;++u){v.push(\"var w\",u,\"=\",h(u,t),\";\");for(var y=0;y<t;++y)y!==u&&v.push(\"var w\",u,\"m\",y,\"=scale(w\",u,\",m\",y,\"[0]);\")}return v.push(\"var p=\",p,\",n=\",d,\",d=diff(p,n);return d[d.length-1];}return \",g),new Function(\"sum\",\"diff\",\"prod\",\"scale\",v.join(\"\"))(i,a,n,o)}var d=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;d.length<=s;)d.push(p(d.length));for(var t=[],r=[\"slow\"],n=0;n<=s;++n)t.push(\"a\"+n),r.push(\"o\"+n);var i=[\"function testInSphere(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"];for(n=2;n<=s;++n)i.push(\"case \",n,\":return o\",n,\"(\",t.slice(0,n).join(),\");\");i.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere\"),r.push(i.join(\"\"));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=p(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{\"robust-scale\":485,\"robust-subtract\":487,\"robust-sum\":488,\"two-product\":517}],482:[function(t,e,r){\"use strict\";var n=t(\"robust-determinant\"),i=6;function a(t){for(var e=\"robustLinearSolve\"+t+\"d\",r=[\"function \",e,\"(A,b){return [\"],i=0;i<t;++i){r.push(\"det([\");for(var a=0;a<t;++a){a>0&&r.push(\",\"),r.push(\"[\");for(var o=0;o<t;++o)o>0&&r.push(\",\"),o===i?r.push(\"+b[\",a,\"]\"):r.push(\"+A[\",a,\"][\",o,\"]\");r.push(\"]\")}r.push(\"]),\")}r.push(\"det(A)]}return \",e);var s=new Function(\"det\",r.join(\"\"));return s(t<6?n[t]:n)}var o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length<i;)o.push(a(o.length));for(var t=[],r=[\"function dispatchLinearSolve(A,b){switch(A.length){\"],n=0;n<i;++n)t.push(\"s\"+n),r.push(\"case \",n,\":return s\",n,\"(A,b);\");r.push(\"}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve\"),t.push(\"CACHE\",\"g\",r.join(\"\"));var s=Function.apply(void 0,t);for(e.exports=s.apply(void 0,o.concat([o,a])),n=0;n<i;++n)e.exports[n]=o[n]}()},{\"robust-determinant\":479}],483:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\"),a=t(\"robust-scale\"),o=t(\"robust-subtract\"),s=5;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function c(t){if(1===t.length)return t[0];if(2===t.length)return[\"sum(\",t[0],\",\",t[1],\")\"].join(\"\");var e=t.length>>1;return[\"sum(\",c(t.slice(0,e)),\",\",c(t.slice(e)),\")\"].join(\"\")}function u(t){if(2===t.length)return[[\"sum(prod(\",t[0][0],\",\",t[1][1],\"),prod(-\",t[0][1],\",\",t[1][0],\"))\"].join(\"\")];for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",c(u(l(t,r))),\",\",(n=r,1&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return e;var n}function f(t){for(var e=[],r=[],s=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m\",n,\"[\",t-r-1,\"]\"].join(\"\")}return e}(t),f=[],h=0;h<t;++h)0==(1&h)?e.push.apply(e,u(l(s,h))):r.push.apply(r,u(l(s,h))),f.push(\"m\"+h);var p=c(e),d=c(r),g=\"orientation\"+t+\"Exact\",m=[\"function \",g,\"(\",f.join(),\"){var p=\",p,\",n=\",d,\",d=sub(p,n);return d[d.length-1];};return \",g].join(\"\");return new Function(\"sum\",\"prod\",\"scale\",\"sub\",m)(i,n,a,o)}var h=f(3),p=f(4),d=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:h(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],f=e[2]-n[2],h=r[2]-n[2],d=a*c,g=o*l,m=o*s,v=i*c,y=i*l,x=a*s,b=u*(d-g)+f*(m-v)+h*(y-x),_=7.771561172376103e-16*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(m)+Math.abs(v))*Math.abs(f)+(Math.abs(y)+Math.abs(x))*Math.abs(h));return b>_||-b>_?b:p(t,e,r,n)}];!function(){for(;d.length<=s;)d.push(f(d.length));for(var t=[],r=[\"slow\"],n=0;n<=s;++n)t.push(\"a\"+n),r.push(\"o\"+n);var i=[\"function getOrientation(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"];for(n=2;n<=s;++n)i.push(\"case \",n,\":return o\",n,\"(\",t.slice(0,n).join(),\");\");i.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation\"),r.push(i.join(\"\"));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=f(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{\"robust-scale\":485,\"robust-subtract\":487,\"robust-sum\":488,\"two-product\":517}],484:[function(t,e,r){\"use strict\";var n=t(\"robust-sum\"),i=t(\"robust-scale\");e.exports=function(t,e){if(1===t.length)return i(e,t[0]);if(1===e.length)return i(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var a=0;a<t.length;++a)r=n(r,i(e,t[a]));else for(var a=0;a<e.length;++a)r=n(r,i(t,e[a]));return r}},{\"robust-scale\":485,\"robust-sum\":488}],485:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"two-sum\");e.exports=function(t,e){var r=t.length;if(1===r){var a=n(t[0],e);return a[0]?a:[a[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],c=0;n(t[0],e,s),s[0]&&(o[c++]=s[0]);for(var u=1;u<r;++u){n(t[u],e,l);var f=s[1];i(f,l[0],s),s[0]&&(o[c++]=s[0]);var h=l[1],p=s[1],d=h+p,g=d-h,m=p-g;s[1]=d,m&&(o[c++]=m)}s[1]&&(o[c++]=s[1]);0===c&&(o[c++]=0);return o.length=c,o}},{\"two-product\":517,\"two-sum\":518}],486:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i){var a=n(t,r,i),o=n(e,r,i);if(a>0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===a&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],f=Math.min(c,u),h=Math.max(c,u);if(h<s||l<f)return!1}return!0}(t,e,r,i);return!0};var n=t(\"robust-orientation\")[3]},{\"robust-orientation\":483}],487:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],-e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=-e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(c+=1)<n&&(p=-e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],488:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(c+=1)<n&&(p=e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],489:[function(t,e,r){\"use strict\";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],490:[function(t,e,r){\"use strict\";e.exports=function(t){return i(n(t))};var n=t(\"boundary-cells\"),i=t(\"reduce-simplicial-complex\")},{\"boundary-cells\":82,\"reduce-simplicial-complex\":469}],491:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,s){r=r||0,\"undefined\"==typeof s&&(s=function(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}(t));if(0===t.length||s<1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=i.mallocUint8(r),a=0;a<r;++a)n[a]=t[a]<e|0;return n}(e,+r),c=function(t,e){for(var r=t.length,o=e*(e+1)/2*r|0,s=i.mallocUint32(2*o),l=0,c=0;c<r;++c)for(var u=t[c],e=u.length,f=0;f<e;++f)for(var h=0;h<f;++h){var p=u[h],d=u[f];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}a(n(s,[l/2|0,2]));for(var g=2,c=2;c<l;c+=2)s[c-2]===s[c]&&s[c-1]===s[c+1]||(s[g++]=s[c],s[g++]=s[c+1]);return n(s,[g/2|0,2])}(t,s),u=function(t,e,r,a){for(var o=t.data,s=t.shape[0],l=i.mallocDouble(s),c=0,u=0;u<s;++u){var f=o[2*u],h=o[2*u+1];if(r[f]!==r[h]){var p=e[f],d=e[h];o[2*c]=f,o[2*c+1]=h,l[c++]=(d-a)/(d-p)}}return t.shape[0]=c,n(l,[c])}(c,e,l,+r),f=function(t,e){var r=i.mallocInt32(2*e),n=t.shape[0],a=t.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=a[2*s];if(l!==o){for(r[2*o+1]=s;++o<l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}r[2*o+1]=n;for(;++o<e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),h=o(s)(t,c.data,f,l),p=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(c),d=[].slice.call(u.data,0,u.shape[0]);return i.free(l),i.free(c.data),i.free(u.data),i.free(f),{cells:h,vertexIds:p,vertexWeights:d}};var n=t(\"ndarray\"),i=t(\"typedarray-pool\"),a=t(\"ndarray-sort\"),o=t(\"./lib/codegen\")},{\"./lib/codegen\":492,ndarray:430,\"ndarray-sort\":428,\"typedarray-pool\":519}],492:[function(t,e,r){\"use strict\";e.exports=function(t){var e=a[t];e||(e=a[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var a=1;a<=t;++a)for(var o=r[a]=i(a),s=0;s<o.length;++s)e=Math.max(e,o[a].length);var l=[\"function B(C,E,i,j){\",\"var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];\",\"while(l<h){\",\"var m=(l+h)>>1,v=E[2*m+1];\",\"if(v===b){return m}\",\"if(b<v){h=m}else{l=m+1}\",\"}\",\"return l;\",\"};\",\"function getContour\",t,\"d(F,E,C,S){\",\"var n=F.length,R=[];\",\"for(var i=0;i<n;++i){var c=F[i],l=c.length;\"];function c(t){if(!(t.length<=0)){l.push(\"R.push(\");for(var e=0;e<t.length;++e){var r=t[e];e>0&&l.push(\",\"),l.push(\"[\");for(var n=0;n<r.length;++n){var i=r[n];n>0&&l.push(\",\"),l.push(\"B(C,E,c[\",i[0],\"],c[\",i[1],\"])\")}l.push(\"]\")}l.push(\");\")}}for(var a=t+1;a>1;--a){a<t+1&&l.push(\"else \"),l.push(\"if(l===\",a,\"){\");for(var u=[],s=0;s<a;++s)u.push(\"(S[c[\"+s+\"]]<<\"+s+\")\");l.push(\"var M=\",u.join(\"+\"),\";if(M===0||M===\",(1<<a)-1,\"){continue}switch(M){\");for(var o=r[a-1],s=0;s<o.length;++s)l.push(\"case \",s,\":\"),c(o[s]),l.push(\"break;\");l.push(\"}}\")}return l.push(\"}return R;};return getContour\",t,\"d\"),new Function(\"pool\",l.join(\"\"))(n)}(t));return e};var n=t(\"typedarray-pool\"),i=t(\"marching-simplex-table\"),a={}},{\"marching-simplex-table\":407,\"typedarray-pool\":519}],493:[function(t,e,r){\"use strict\";var n=t(\"bit-twiddle\"),i=t(\"union-find\");function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),c=i(e[0],e[1]);return(s=i(l,t[2])-i(c,e[2]))||i(l+t[2],a)-i(c+e[2],o);default:var u=t.slice(0);u.sort();var f=e.slice(0);f.sort();for(var h=0;h<r;++h)if(n=u[h]-f[h])return n;return 0}}function o(t,e){return a(t[0],e[0])}function s(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(o);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(a),t}function l(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(a(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var o=r+n>>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i<o;++i)r[i]=[];for(var s=[],l=(i=0,e.length);i<l;++i)for(var u=e[i],f=u.length,h=1,p=1<<f;h<p;++h){s.length=n.popCount(h);for(var d=0,g=0;g<f;++g)h&1<<g&&(s[d++]=u[g]);var m=c(t,s);if(!(m<0))for(;r[m++].push(i),!(m>=t.length||0!==a(t[m],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<<e+1)-1,a=0;a<t.length;++a)for(var o=t[a],l=i;l<1<<o.length;l=n.nextCombination(l)){for(var c=new Array(e+1),u=0,f=0;f<o.length;++f)l&1<<f&&(c[u++]=o[f]);r.push(c)}return s(r)}r.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1},r.countVertices=function(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1},r.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},r.compareCells=a,r.normalize=s,r.unique=l,r.findCell=c,r.incidence=u,r.dual=function(t,e){if(!e)return u(l(f(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,l=1<<a;o<l;++o){for(var c=[],u=0;u<a;++u)o>>>u&1&&c.push(i[u]);e.push(c)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var l=new Array(i.length-1),c=0,u=0;c<o;++c)c!==a&&(l[u++]=i[c]);e.push(l)}return s(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new i(e),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var s=o+1;s<a.length;++s)r.link(a[o],a[s]);var l=[],c=r.ranks;for(n=0;n<c.length;++n)c[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);c[u]<0?(c[u]=l.length,l.push([t[n].slice(0)])):l[c[u]].push(t[n].slice(0))}return l}(t,e):function(t){for(var e=l(s(f(t,0))),r=new i(e.length),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var u=c(e,[a[o]]),h=o+1;h<a.length;++h)r.link(u,c(e,[a[h]]));var p=[],d=r.ranks;for(n=0;n<d.length;++n)d[n]=-1;for(n=0;n<t.length;++n){var g=r.find(c(e,[t[n][0]]));d[g]<0?(d[g]=p.length,p.push([t[n].slice(0)])):p[d[g]].push(t[n].slice(0))}return p}(t)}},{\"bit-twiddle\":79,\"union-find\":520}],494:[function(t,e,r){arguments[4][79][0].apply(r,arguments)},{dup:79}],495:[function(t,e,r){arguments[4][493][0].apply(r,arguments)},{\"bit-twiddle\":494,dup:493,\"union-find\":496}],496:[function(t,e,r){\"use strict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n,n.prototype.length=function(){return this.roots.length},n.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},n.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},n.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],497:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){for(var a=e.length,o=t.length,s=new Array(a),l=new Array(a),c=new Array(a),u=new Array(a),f=0;f<a;++f)s[f]=l[f]=-1,c[f]=1/0,u[f]=!1;for(var f=0;f<o;++f){var h=t[f];if(2!==h.length)throw new Error(\"Input must be a graph\");var p=h[1],d=h[0];-1!==l[d]?l[d]=-2:l[d]=p,-1!==s[p]?s[p]=-2:s[p]=d}function g(t){if(u[t])return 1/0;var r,i,a,o,c,f=s[t],h=l[t];return f<0||h<0?1/0:(r=e[t],i=e[f],a=e[h],o=Math.abs(n(r,i,a)),c=Math.sqrt(Math.pow(i[0]-a[0],2)+Math.pow(i[1]-a[1],2)),o/c)}function m(t,e){var r=M[t],n=M[e];M[t]=n,M[e]=r,A[r]=e,A[n]=t}function v(t){return c[M[t]]}function y(t){return 1&t?t-1>>1:(t>>1)-1}function x(t){for(var e=v(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n<S){var o=v(n);o<r&&(a=n,r=o)}if(i<S){var s=v(i);s<r&&(a=i)}if(a===t)return t;m(t,a),t=a}}function b(t){for(var e=v(t);t>0;){var r=y(t);if(r>=0){var n=v(r);if(e<n){m(t,r),t=r;continue}}return t}}function _(){if(S>0){var t=M[0];return m(0,S-1),S-=1,x(0),t}return-1}function w(t,e){var r=M[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((S+=1)-1))}function k(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],g(e)),A[r]>=0&&w(A[r],g(r))}}for(var M=[],A=new Array(a),f=0;f<a;++f){var T=c[f]=g(f);T<1/0?(A[f]=M.length,M.push(f)):A[f]=-1}for(var S=M.length,f=S>>1;f>=0;--f)x(f);for(;;){var E=_();if(E<0||c[E]>r)break;k(E)}for(var C=[],f=0;f<a;++f)u[f]||(A[f]=C.length,C.push(e[f].slice()));C.length;function L(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!u[n]||i<0||i===n)break;if(i=t[n=i],!u[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}var z=[];return t.forEach(function(t){var e=L(s,t[0]),r=L(l,t[1]);if(e>=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&z.push([n,i])}}),i.unique(i.normalize(z)),{positions:C,edges:z}};var n=t(\"robust-orientation\"),i=t(\"simplicial-complex\")},{\"robust-orientation\":483,\"simplicial-complex\":495}],498:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,a,o,s;if(e[0][0]<e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]>e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=t(\"robust-orientation\");function i(t,e){var r,i,a,o;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return l<c?l-c:s>u?s-u:l-u}r=e[1],i=e[0]}t[0][1]<t[1][1]?(a=t[0],o=t[1]):(a=t[1],o=t[0]);var f=n(i,r,a);return f||((f=n(i,r,o))||o-i)}},{\"robust-orientation\":483}],499:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=2*e,n=new Array(r),a=0;a<e;++a){var l=t[a],c=l[0][0]<l[1][0];n[2*a]=new f(l[0][0],l,c,a),n[2*a+1]=new f(l[1][0],l,!c,a)}n.sort(function(t,e){var r=t.x-e.x;return r||((r=t.create-e.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))});for(var h=i(o),p=[],d=[],g=[],a=0;a<r;){for(var m=n[a].x,v=[];a<r;){var y=n[a];if(y.x!==m)break;a+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(v.push(new u(y.segment[0][1],y.index,!0,!0)),v.push(new u(y.segment[1][1],y.index,!1,!1))):(v.push(new u(y.segment[1][1],y.index,!0,!1)),v.push(new u(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}p.push(h.root),d.push(m),g.push(v)}return new s(p,d,g)};var n=t(\"binary-search-bounds\"),i=t(\"functional-red-black-tree\"),a=t(\"robust-orientation\"),o=t(\"./lib/order-segments\");function s(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function l(t,e){return t.y-e}function c(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=a(n,i,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h<f.length){var p=f[h];if(t[1]===p.y){if(p.closed)return p.index;for(;h<f.length-1&&f[h+1].y===t[1];)if((p=f[h+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((h+=1)>=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},{\"./lib/order-segments\":498,\"binary-search-bounds\":78,\"functional-red-black-tree\":218,\"robust-orientation\":483}],500:[function(t,e,r){\"use strict\";var n=t(\"robust-dot-product\"),i=t(\"robust-sum\");function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=i*t[l]+a*r[l];return s}e.exports=function(t,e){for(var r=[],n=[],i=a(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c<t.length;++c,s=l){var u=a(l=t[c],e);if(i<0&&u>0||i>0&&u<0){var f=o(s,u,l,i);r.push(f),n.push(f.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{\"robust-dot-product\":480,\"robust-sum\":488}],501:[function(t,e,r){!function(){\"use strict\";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^\\)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[\\+\\-]/};function e(r){return function(r,n){var i,a,o,s,l,c,u,f,h,p=1,d=r.length,g=\"\";for(a=0;a<d;a++)if(\"string\"==typeof r[a])g+=r[a];else if(Array.isArray(r[a])){if((s=r[a])[2])for(i=n[p],o=0;o<s[2].length;o++){if(!i.hasOwnProperty(s[2][o]))throw new Error(e('[sprintf] property \"%s\" does not exist',s[2][o]));i=i[s[2][o]]}else i=s[1]?n[s[1]]:n[p++];if(t.not_type.test(s[8])&&t.not_primitive.test(s[8])&&i instanceof Function&&(i=i()),t.numeric_arg.test(s[8])&&\"number\"!=typeof i&&isNaN(i))throw new TypeError(e(\"[sprintf] expecting number but found %T\",i));switch(t.number.test(s[8])&&(f=i>=0),s[8]){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,s[6]?parseInt(s[6]):0);break;case\"e\":i=s[7]?parseFloat(i).toExponential(s[7]):parseFloat(i).toExponential();break;case\"f\":i=s[7]?parseFloat(i).toFixed(s[7]):parseFloat(i);break;case\"g\":i=s[7]?String(Number(i.toPrecision(s[7]))):parseFloat(i);break;case\"o\":i=(parseInt(i,10)>>>0).toString(8);break;case\"s\":i=String(i),i=s[7]?i.substring(0,s[7]):i;break;case\"t\":i=String(!!i),i=s[7]?i.substring(0,s[7]):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s[7]?i.substring(0,s[7]):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=s[7]?i.substring(0,s[7]):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s[8])?g+=i:(!t.number.test(s[8])||f&&!s[3]?h=\"\":(h=f?\"+\":\"-\",i=i.toString().replace(t.sign,\"\")),c=s[4]?\"0\"===s[4]?\"0\":s[4].charAt(1):\" \",u=s[6]-(h+i).length,l=s[6]&&u>0?c.repeat(u):\"\",g+=s[5]?h+i+l:\"0\"===c?h+l+i:l+h+i)}return g}(function(e){if(i[e])return i[e];var r,n=e,a=[],o=0;for(;n;){if(null!==(r=t.text.exec(n)))a.push(r[0]);else if(null!==(r=t.modulo.exec(n)))a.push(\"%\");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(s.push(c[1]);\"\"!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");a.push(r)}n=n.substring(r[0].length)}return i[e]=a}(r),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}var i=Object.create(null);\"undefined\"!=typeof r&&(r.sprintf=e,r.vsprintf=n),\"undefined\"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],502:[function(t,e,r){\"use strict\";var n=t(\"parenthesis\");e.exports=function(t,e,r){if(null==t)throw Error(\"First argument should be a string\");if(null==e)throw Error(\"Separator should be a string or a RegExp\");r?(\"string\"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201c\\u201d\",\"\\xab\\xbb\"]:(\"string\"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map(function(t){return 1===t.length&&(t+=t),t}));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s<a.length;s++){var l=a[s],c=a[s+1];\"\\\\\"===l[l.length-1]&&\"\\\\\"!==l[l.length-2]?(o.push(l+e+c),s++):o.push(l)}a=o}for(s=0;s<a.length;s++)i[0]=a[s],a[s]=n.stringify(i,{flat:!0});return a}},{parenthesis:438}],503:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var c,u=0,f=[],h=[];function p(e){var l=[e],c=[e];for(r[e]=n[e]=u,i[e]=!0,u+=1;c.length>0;){e=c[c.length-1];var p=t[e];if(a[e]<p.length){for(var d=a[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=u,i[g]=!0,u+=1,l.push(g),c.push(g);break}i[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){for(var m=[],v=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,m.push(x),v.push(s[x]),y+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(m);for(var b=new Array(y),d=0;d<v.length;d++)for(var _=0;_<v[d].length;_++)b[--y]=v[d][_];h.push(b)}c.pop()}}}for(var l=0;l<e;++l)r[l]<0&&p(l);for(var l=0;l<h.length;l++){var d=h[l];if(0!==d.length){d.sort(function(t,e){return t-e}),c=[d[0]];for(var g=1;g<d.length;g++)d[g]!==d[g-1]&&c.push(d[g]);h[l]=c}}return{components:f,adjacencyList:h}}},{}],504:[function(t,e,r){\"use strict\";e.exports=function(t){return t.split(\"\").map(function(t){return t in n?n[t]:\"\"}).join(\"\")};var n={\" \":\" \",0:\"\\u2070\",1:\"\\xb9\",2:\"\\xb2\",3:\"\\xb3\",4:\"\\u2074\",5:\"\\u2075\",6:\"\\u2076\",7:\"\\u2077\",8:\"\\u2078\",9:\"\\u2079\",\"+\":\"\\u207a\",\"-\":\"\\u207b\",a:\"\\u1d43\",b:\"\\u1d47\",c:\"\\u1d9c\",d:\"\\u1d48\",e:\"\\u1d49\",f:\"\\u1da0\",g:\"\\u1d4d\",h:\"\\u02b0\",i:\"\\u2071\",j:\"\\u02b2\",k:\"\\u1d4f\",l:\"\\u02e1\",m:\"\\u1d50\",n:\"\\u207f\",o:\"\\u1d52\",p:\"\\u1d56\",r:\"\\u02b3\",s:\"\\u02e2\",t:\"\\u1d57\",u:\"\\u1d58\",v:\"\\u1d5b\",w:\"\\u02b7\",x:\"\\u02e3\",y:\"\\u02b8\",z:\"\\u1dbb\"}},{}],505:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=a(t,e),n=r.length,i=new Array(n),o=new Array(n),s=0;s<n;++s)i[s]=[r[s]],o[s]=[s];return{positions:i,cells:o}}(t,e);var r=t.order.join()+\"-\"+t.dtype,s=o[r],e=+e||0;s||(s=o[r]=function(t,e){var r=t.length,a=[\"'use strict';\"],o=\"surfaceNets\"+t.join(\"_\")+\"d\"+e;a.push(\"var contour=genContour({\",\"order:[\",t.join(),\"],\",\"scalarArguments: 3,\",\"phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },\"),\"generic\"===e&&a.push(\"getters:[0],\");for(var s=[],l=[],c=0;c<r;++c)s.push(\"d\"+c),l.push(\"d\"+c);for(var c=0;c<1<<r;++c)s.push(\"v\"+c),l.push(\"v\"+c);for(var c=0;c<1<<r;++c)s.push(\"p\"+c),l.push(\"p\"+c);s.push(\"a\",\"b\",\"c\"),l.push(\"a\",\"c\"),a.push(\"vertex:function vertexFunc(\",s.join(),\"){\");for(var u=[],c=0;c<1<<r;++c)u.push(\"(p\"+c+\"<<\"+c+\")\");a.push(\"var m=(\",u.join(\"+\"),\")|0;if(m===0||m===\",(1<<(1<<r))-1,\"){return}\");var f=[],h=[];1<<(1<<r)<=128?(a.push(\"switch(m){\"),h=a):a.push(\"switch(m>>>7){\");for(var c=0;c<1<<(1<<r);++c){if(1<<(1<<r)>128&&c%128==0){f.length>0&&h.push(\"}}\");var p=\"vExtra\"+f.length;a.push(\"case \",c>>>7,\":\",p,\"(m&0x7f,\",l.join(),\");break;\"),h=[\"function \",p,\"(m,\",l.join(),\"){switch(m){\"],f.push(h)}h.push(\"case \",127&c,\":\");for(var d=new Array(r),g=new Array(r),m=new Array(r),v=new Array(r),y=0,x=0;x<r;++x)d[x]=[],g[x]=[],m[x]=0,v[x]=0;for(var x=0;x<1<<r;++x)for(var b=0;b<r;++b){var _=x^1<<b;if(!(_>x)&&!(c&1<<_)!=!(c&1<<x)){var w=1;c&1<<_?g[b].push(\"v\"+_+\"-v\"+x):(g[b].push(\"v\"+x+\"-v\"+_),w=-w),w<0?(d[b].push(\"-v\"+x+\"-v\"+_),m[b]+=2):(d[b].push(\"v\"+x+\"+v\"+_),m[b]-=2),y+=1;for(var k=0;k<r;++k)k!==b&&(_&1<<k?v[k]+=1:v[k]-=1)}}for(var M=[],b=0;b<r;++b)if(0===d[b].length)M.push(\"d\"+b+\"-0.5\");else{var A=\"\";m[b]<0?A=m[b]+\"*c\":m[b]>0&&(A=\"+\"+m[b]+\"*c\");var T=d[b].length/y*.5,S=.5+v[b]/y*.5;M.push(\"d\"+b+\"-\"+S+\"-\"+T+\"*(\"+d[b].join(\"+\")+A+\")/(\"+g[b].join(\"+\")+\")\")}h.push(\"a.push([\",M.join(),\"]);\",\"break;\")}a.push(\"}},\"),f.length>0&&h.push(\"}}\");for(var E=[],c=0;c<1<<r-1;++c)E.push(\"v\"+c);E.push(\"c0\",\"c1\",\"p0\",\"p1\",\"a\",\"b\",\"c\"),a.push(\"cell:function cellFunc(\",E.join(),\"){\");var C=i(r-1);a.push(\"if(p0){b.push(\",C.map(function(t){return\"[\"+t.map(function(t){return\"v\"+t})+\"]\"}).join(),\")}else{b.push(\",C.map(function(t){var e=t.slice();return e.reverse(),\"[\"+e.map(function(t){return\"v\"+t})+\"]\"}).join(),\")}}});function \",o,\"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return \",o,\";\");for(var c=0;c<f.length;++c)a.push(f[c].join(\"\"));return new Function(\"genContour\",a.join(\"\"))(n)}(t.order,t.dtype));return s(t,e)};var n=t(\"ndarray-extract-contour\"),i=t(\"triangulate-hypercube\"),a=t(\"zero-crossings\");var o={}},{\"ndarray-extract-contour\":419,\"triangulate-hypercube\":515,\"zero-crossings\":548}],506:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),i=2*Math.PI,a=function(t,e,r,n,i,a,o){var s=t.x,l=t.y;return{x:n*(s*=e)-i*(l*=r)+a,y:i*s+n*l+o}},o=function(t,e){var r=.551915024494,n=Math.cos(t),i=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},s=function(t,e,r,n){var i=t*n-e*r<0?-1:1,a=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return a>1&&(a=1),a<-1&&(a=-1),i*Math.acos(a)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,f=t.ry,h=t.xAxisRotation,p=void 0===h?0:h,d=t.largeArcFlag,g=void 0===d?0:d,m=t.sweepFlag,v=void 0===m?0:m,y=[];if(0===u||0===f)return[];var x=Math.sin(p*i/360),b=Math.cos(p*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),f=Math.abs(f);var k=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);k>1&&(u*=Math.sqrt(k),f*=Math.sqrt(k));var M=function(t,e,r,n,a,o,l,c,u,f,h,p){var d=Math.pow(a,2),g=Math.pow(o,2),m=Math.pow(h,2),v=Math.pow(p,2),y=d*g-d*v-g*m;y<0&&(y=0),y/=d*v+g*m;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*p,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,k=(h-x)/a,M=(p-b)/o,A=(-h-x)/a,T=(-p-b)/o,S=s(1,0,k,M),E=s(k,M,A,T);return 0===c&&E>0&&(E-=i),1===c&&E<0&&(E+=i),[_,w,S,E]}(e,r,l,c,u,f,g,v,x,b,_,w),A=n(M,4),T=A[0],S=A[1],E=A[2],C=A[3],L=Math.max(Math.ceil(Math.abs(C)/(i/4)),1);C/=L;for(var z=0;z<L;z++)y.push(o(E,C)),E+=C;return y.map(function(t){var e=a(t[0],u,f,b,x,T,S),r=e.x,n=e.y,i=a(t[1],u,f,b,x,T,S),o=i.x,s=i.y,l=a(t[2],u,f,b,x,T,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}})},e.exports=r.default},{}],507:[function(t,e,r){\"use strict\";var n=t(\"parse-svg-path\"),i=t(\"abs-svg-path\"),a=t(\"normalize-svg-path\"),o=t(\"is-svg-path\"),s=t(\"assert\");e.exports=function(t){Array.isArray(t)&&1===t.length&&\"string\"==typeof t[0]&&(t=t[0]);\"string\"==typeof t&&(s(o(t),\"String is not an SVG path.\"),t=n(t));if(s(Array.isArray(t),\"Argument should be a string or an array of path segments.\"),t=i(t),!(t=a(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,l=t.length;r<l;r++)for(var c=t[r].slice(1),u=0;u<c.length;u+=2)c[u+0]<e[0]&&(e[0]=c[u+0]),c[u+1]<e[1]&&(e[1]=c[u+1]),c[u+0]>e[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{\"abs-svg-path\":47,assert:55,\"is-svg-path\":404,\"normalize-svg-path\":508,\"parse-svg-path\":440}],508:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,p=0,d=0,g=t.length;d<g;d++){var m=t[d],v=m[0];switch(v){case\"M\":l=m[1],c=m[2];break;case\"A\":var y=n({px:h,py:p,cx:m[6],cy:m[7],rx:m[1],ry:m[2],xAxisRotation:m[3],largeArcFlag:m[4],sweepFlag:m[5]});if(!y.length)continue;for(var x,b=0;b<y.length;b++)x=y[b],m=[\"C\",x.x1,x.y1,x.x2,x.y2,x.x,x.y],b<y.length-1&&r.push(m);break;case\"S\":var _=h,w=p;\"C\"!=e&&\"S\"!=e||(_+=_-o,w+=w-s),m=[\"C\",_,w,m[1],m[2],m[3],m[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(u=2*h-u,f=2*p-f):(u=h,f=p),m=a(h,p,u,f,m[1],m[2]);break;case\"Q\":u=m[1],f=m[2],m=a(h,p,m[1],m[2],m[3],m[4]);break;case\"L\":m=i(h,p,m[1],m[2]);break;case\"H\":m=i(h,p,m[1],p);break;case\"V\":m=i(h,p,h,m[1]);break;case\"Z\":m=i(h,p,l,c)}e=v,h=m[m.length-2],p=m[m.length-1],m.length>4?(o=m[m.length-4],s=m[m.length-3]):(o=h,s=p),r.push(m)}return r};var n=t(\"svg-arc-to-cubic-bezier\");function i(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},{\"svg-arc-to-cubic-bezier\":506}],509:[function(t,e,r){(function(r){\"use strict\";var n=t(\"svg-path-bounds\"),i=t(\"parse-svg-path\"),a=t(\"draw-svg-path\"),o=t(\"is-svg-path\"),s=t(\"bitmap-sdf\"),l=document.createElement(\"canvas\"),c=l.getContext(\"2d\");e.exports=function(t,e){if(!o(t))throw Error(\"Argument should be valid svg path string\");e||(e={});var u,f;e.shape?(u=e.shape[0],f=e.shape[1]):(u=l.width=e.w||e.width||200,f=l.height=e.h||e.height||200);var h=Math.min(u,f),p=e.stroke||0,d=e.viewbox||e.viewBox||n(t),g=[u/(d[2]-d[0]),f/(d[3]-d[1])],m=Math.min(g[0]||0,g[1]||0)/2;c.fillStyle=\"black\",c.fillRect(0,0,u,f),c.fillStyle=\"white\",p&&(\"number\"!=typeof p&&(p=1),c.strokeStyle=p>0?\"white\":\"black\",c.lineWidth=Math.abs(p));if(c.translate(.5*u,.5*f),c.scale(m,m),r.Path2D){var v=new Path2D(t);c.fill(v),p&&c.stroke(v)}else{var y=i(t);a(c,y),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"bitmap-sdf\":80,\"draw-svg-path\":152,\"is-svg-path\":404,\"parse-svg-path\":440,\"svg-path-bounds\":507}],510:[function(t,e,r){(function(r){\"use strict\";e.exports=function t(e,r,i){var i=i||{};var o=a[e];o||(o=a[e]={\" \":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var c=r[s[l]];n[i++]=c[0],n[i++]=c[1]+1.4,a=Math.max(c[0],a)}return{data:n,shape:a}}(n(r,{triangles:!0,font:e,textAlign:i.textAlign||\"left\",textBaseline:\"alphabetic\"}));else{for(var l=r.split(/(\\d|\\s)/),c=new Array(l.length),u=0,f=0,h=0;h<l.length;++h)c[h]=t(e,l[h]),u+=c[h].data.length,f+=c[h].shape,h>0&&(f+=.02);for(var p=new Float32Array(u),d=0,g=-.5*f,h=0;h<c.length;++h){for(var m=c[h].data,v=0;v<m.length;v+=2)p[d++]=m[v]+g,p[d++]=m[v+1];g+=c[h].shape+.02}s=o[r]={data:p,shape:f}}return s};var n=t(\"vectorize-text\"),i=window||r.global||{},a=i.__TEXT_CACHE||{};i.__TEXT_CACHE={}}).call(this,t(\"_process\"))},{_process:462,\"vectorize-text\":524}],511:[function(t,e,r){!function(t){var r=/^\\s+/,n=/\\s+$/,i=0,a=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(l=l||{},(e=e||\"\")instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var i={r:0,g:0,b:0},a=1,l=null,c=null,u=null,f=!1,h=!1;\"string\"==typeof e&&(e=function(t){t=t.replace(r,\"\").replace(n,\"\").toLowerCase();var e,i=!1;if(S[t])t=S[t],i=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};if(e=j.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=j.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=j.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=j.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=j.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=j.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=j.hex8.exec(t))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),a:R(e[4]),format:i?\"name\":\"hex8\"};if(e=j.hex6.exec(t))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),format:i?\"name\":\"hex\"};if(e=j.hex4.exec(t))return{r:P(e[1]+\"\"+e[1]),g:P(e[2]+\"\"+e[2]),b:P(e[3]+\"\"+e[3]),a:R(e[4]+\"\"+e[4]),format:i?\"name\":\"hex8\"};if(e=j.hex3.exec(t))return{r:P(e[1]+\"\"+e[1]),g:P(e[2]+\"\"+e[2]),b:P(e[3]+\"\"+e[3]),format:i?\"name\":\"hex\"};return!1}(e));\"object\"==typeof e&&(V(e.r)&&V(e.g)&&V(e.b)?(p=e.r,d=e.g,g=e.b,i={r:255*L(p,255),g:255*L(d,255),b:255*L(g,255)},f=!0,h=\"%\"===String(e.r).substr(-1)?\"prgb\":\"rgb\"):V(e.h)&&V(e.s)&&V(e.v)?(l=I(e.s),c=I(e.v),i=function(e,r,n){e=6*L(e,360),r=L(r,100),n=L(n,100);var i=t.floor(e),a=e-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),c=i%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(e.h,l,c),f=!0,h=\"hsv\"):V(e.h)&&V(e.s)&&V(e.l)&&(l=I(e.s),u=I(e.l),i=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=L(t,360),e=L(e,100),r=L(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(e.h,l,u),f=!0,h=\"hsl\"),e.hasOwnProperty(\"a\")&&(a=e.a));var p,d,g;return a=C(a),{ok:f,format:e.format||h,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a:a}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:i,l:c}}function f(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=a,u=a-l;if(i=0===a?0:u/a,a==l)n=0;else{switch(a){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:i,v:c}}function h(t,e,r,n){var i=[O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(\"\")}function p(t,e,r,n){return[O(D(n)),O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16))].join(\"\")}function d(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s-=e/100,r.s=z(r.s),c(r)}function g(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s+=e/100,r.s=z(r.s),c(r)}function m(t){return c(t).desaturate(100)}function v(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l+=e/100,r.l=z(r.l),c(r)}function y(t,e){e=0===e?0:e||10;var r=c(t).toRgb();return r.r=s(0,o(255,r.r-a(-e/100*255))),r.g=s(0,o(255,r.g-a(-e/100*255))),r.b=s(0,o(255,r.b-a(-e/100*255))),c(r)}function x(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l-=e/100,r.l=z(r.l),c(r)}function b(t,e){var r=c(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,c(r)}function _(t){var e=c(t).toHsl();return e.h=(e.h+180)%360,c(e)}function w(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+120)%360,s:e.s,l:e.l}),c({h:(r+240)%360,s:e.s,l:e.l})]}function k(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+90)%360,s:e.s,l:e.l}),c({h:(r+180)%360,s:e.s,l:e.l}),c({h:(r+270)%360,s:e.s,l:e.l})]}function M(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+72)%360,s:e.s,l:e.l}),c({h:(r+216)%360,s:e.s,l:e.l})]}function A(t,e,r){e=e||6,r=r||30;var n=c(t).toHsl(),i=360/r,a=[c(t)];for(n.h=(n.h-(i*e>>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(c(n));return a}function T(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:i,v:a})),a=(a+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=C(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return\"#\"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var o=[O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16)),O(D(n))];if(i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join(\"\")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\")\":\"rgba(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:a(100*L(this._r,255))+\"%\",g:a(100*L(this._g,255))+\"%\",b:a(100*L(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+a(100*L(this._r,255))+\"%, \"+a(100*L(this._g,255))+\"%, \"+a(100*L(this._b,255))+\"%)\":\"rgba(\"+a(100*L(this._r,255))+\"%, \"+a(100*L(this._g,255))+\"%, \"+a(100*L(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(E[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?\"GradientType = 1, \":\"\";if(t){var i=c(t);r=\"#\"+p(i._r,i._g,i._b,i._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+n+\"startColorstr=\"+e+\",endColorstr=\"+r+\")\"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||\"hex\"!==t&&\"hex6\"!==t&&\"hex3\"!==t&&\"hex4\"!==t&&\"hex8\"!==t&&\"name\"!==t?(\"rgb\"===t&&(r=this.toRgbString()),\"prgb\"===t&&(r=this.toPercentageRgbString()),\"hex\"!==t&&\"hex6\"!==t||(r=this.toHexString()),\"hex3\"===t&&(r=this.toHexString(!0)),\"hex4\"===t&&(r=this.toHex8String(!0)),\"hex8\"===t&&(r=this.toHex8String()),\"name\"===t&&(r=this.toName()),\"hsl\"===t&&(r=this.toHslString()),\"hsv\"===t&&(r=this.toHsvString()),r||this.toHexString()):\"name\"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(m,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(T,arguments)},splitcomplement:function(){return this._applyCombination(M,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},c.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\"a\"===n?t[n]:I(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),i=c(e).toRgb(),a=r/100;return c({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},c.readability=function(e,r){var n=c(e),i=c(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,i,a=c.readability(t,e);switch(i=!1,(n=function(t){var e,r;e=((t=t||{level:\"AA\",size:\"small\"}).level||\"AA\").toUpperCase(),r=(t.size||\"small\").toLowerCase(),\"AA\"!==e&&\"AAA\"!==e&&(e=\"AA\");\"small\"!==r&&\"large\"!==r&&(r=\"small\");return{level:e,size:r}}(r)).level+n.size){case\"AAsmall\":case\"AAAlarge\":i=a>=4.5;break;case\"AAlarge\":i=a>=3;break;case\"AAAsmall\":i=a>=7}return i},c.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;u<e.length;u++)(n=c.readability(t,e[u]))>l&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,c.mostReadable(t,[\"#fff\",\"#000\"],r))};var S=c.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function C(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function L(e,r){(function(t){return\"string\"==typeof t&&-1!=t.indexOf(\".\")&&1===parseFloat(t)})(e)&&(e=\"100%\");var n=function(t){return\"string\"==typeof t&&-1!=t.indexOf(\"%\")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function z(t){return o(1,s(0,t))}function P(t){return parseInt(t,16)}function O(t){return 1==t.length?\"0\"+t:\"\"+t}function I(t){return t<=1&&(t=100*t+\"%\"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return P(t)/255}var B,F,N,j=(F=\"[\\\\s|\\\\(]+(\"+(B=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\")+\")[,|\\\\s]+(\"+B+\")[,|\\\\s]+(\"+B+\")\\\\s*\\\\)?\",N=\"[\\\\s|\\\\(]+(\"+B+\")[,|\\\\s]+(\"+B+\")[,|\\\\s]+(\"+B+\")[,|\\\\s]+(\"+B+\")\\\\s*\\\\)?\",{CSS_UNIT:new RegExp(B),rgb:new RegExp(\"rgb\"+F),rgba:new RegExp(\"rgba\"+N),hsl:new RegExp(\"hsl\"+F),hsla:new RegExp(\"hsla\"+N),hsv:new RegExp(\"hsv\"+F),hsva:new RegExp(\"hsva\"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function V(t){return!!j.CSS_UNIT.exec(t)}\"undefined\"!=typeof e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],512:[function(t,e,r){\"use strict\";function n(t){if(t instanceof Float32Array)return t;if(\"number\"==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}e.exports=n,e.exports.float32=e.exports.float=n,e.exports.fract32=e.exports.fract=function(t){if(\"number\"==typeof t)return n(t-n(t));for(var e=n(t),r=0,i=e.length;r<i;r++)e[r]=t[r]-e[r];return e}},{}],513:[function(t,e,r){\"use strict\";var n=t(\"parse-unit\");e.exports=o;var i=96;function a(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*o(r[1],t)}function o(t,e){switch(e=e||document.body,t=(t||\"px\").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case\"%\":return e.clientHeight/100;case\"ch\":case\"ex\":return function(t,e){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+t,e.appendChild(r);var n=a(r,\"font-size\")/128;return e.removeChild(r),n}(t,e);case\"em\":return a(e,\"font-size\");case\"rem\":return a(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return i;case\"cm\":return i/2.54;case\"mm\":return i/25.4;case\"pt\":return i/72;case\"pc\":return i/6}return 1}},{\"parse-unit\":441}],514:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e=function(t){return t},r=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){return e||(n=i=0),t[0]=(n+=t[0])*a+s,t[1]=(i+=t[1])*o+l,t}},n=function(t){var e=t.bbox;function n(t){l[0]=t[0],l[1]=t[1],s(l),l[0]<c&&(c=l[0]),l[0]>f&&(f=l[0]),l[1]<u&&(u=l[1]),l[1]>h&&(h=l[1])}function i(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(i);break;case\"Point\":n(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(n)}}if(!e){var a,o,s=r(t),l=new Array(2),c=1/0,u=c,f=-c,h=-c;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)a=t[e],l[0]=a[0],l[1]=a[1],s(l,e),l[0]<c&&(c=l[0]),l[0]>f&&(f=l[0]),l[1]<u&&(u=l[1]),l[1]>h&&(h=l[1])}),t.objects)i(t.objects[o]);e=t.bbox=[c,u,f,h]}return e},i=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r};function a(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,a=o(t,e);return null==r&&null==n?{type:\"Feature\",properties:i,geometry:a}:null==n?{type:\"Feature\",id:r,properties:i,geometry:a}:{type:\"Feature\",id:r,bbox:n,properties:i,geometry:a}}function o(t,e){var n=r(t),a=t.arcs;function o(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],o=0,s=r.length;o<s;++o)e.push(n(r[o].slice(),o));t<0&&i(e,s)}function s(t){return n(t.slice())}function l(t){for(var e=[],r=0,n=t.length;r<n;++r)o(t[r],e);return e.length<2&&e.push(e[0].slice()),e}function c(t){for(var e=l(t);e.length<4;)e.push(e[0].slice());return e}function u(t){return t.map(c)}return function t(e){var r,n=e.type;switch(n){case\"GeometryCollection\":return{type:n,geometries:e.geometries.map(t)};case\"Point\":r=s(e.coordinates);break;case\"MultiPoint\":r=e.coordinates.map(s);break;case\"LineString\":r=l(e.arcs);break;case\"MultiLineString\":r=e.arcs.map(l);break;case\"Polygon\":r=u(e.arcs);break;case\"MultiPolygon\":r=e.arcs.map(u);break;default:return null}return{type:n,coordinates:r}}(e)}var s=function(t,e){var r={},n={},i={},a=[],o=-1;function s(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){r[t<0?~t:t]=1}),a.push(i)}}return e.forEach(function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++o],e[o]=r,e[n]=i)}),e.forEach(function(e){var r,a,o=function(e){var r,n=t.arcs[e<0?~e:e],i=n[0];t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1];return e<0?[r,i]:[i,r]}(e),s=o[0],l=o[1];if(r=i[s])if(delete i[r.end],r.push(e),r.end=l,a=n[l]){delete n[a.start];var c=a===r?r:r.concat(a);n[c.start=r.start]=i[c.end=a.end]=c}else n[r.start]=i[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,a=i[s]){delete i[a.end];var u=a===r?r:a.concat(r);n[u.start=a.start]=i[u.end=r.end]=u}else n[r.start]=i[r.end]=r;else n[(r=[e]).start=s]=i[r.end=l]=r}),s(i,n),s(n,i),e.forEach(function(t){r[t<0?~t:t]||a.push([t])}),a};function l(t,e,r){var n,i,a;if(arguments.length>1)n=function(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case\"GeometryCollection\":e.geometries.forEach(t);break;case\"LineString\":s(e.arcs);break;case\"MultiLineString\":case\"Polygon\":l(e.arcs);break;case\"MultiPolygon\":e.arcs.forEach(l)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i<a;++i)n[i]=i;return{type:\"MultiLineString\",arcs:s(t,n)}}function c(t,e){var r={},n=[],i=[];function a(t){t.forEach(function(e){e.forEach(function(e){(r[e=e<0?~e:e]||(r[e]=[])).push(t)})}),n.push(t)}function l(e){return function(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(o(t,{type:\"Polygon\",arcs:[e]}).coordinates[0])}return e.forEach(function t(e){switch(e.type){case\"GeometryCollection\":e.geometries.forEach(t);break;case\"Polygon\":a(e.arcs);break;case\"MultiPolygon\":e.arcs.forEach(a)}}),n.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,i.push(e);t=n.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].forEach(function(t){t._||(t._=1,n.push(t))})})})}}),n.forEach(function(t){delete t._}),{type:\"MultiPolygon\",arcs:i.map(function(e){var n,i=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].length<2&&i.push(t)})})}),(n=(i=s(t,i)).length)>1)for(var a,o,c=1,u=l(i[0]);c<n;++c)(a=l(i[c]))>u&&(o=i[0],i[0]=i[c],i[c]=o,u=a);return i})}}var u=function(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r};t.bbox=n,t.feature=function(t,e){return\"GeometryCollection\"===e.type?{type:\"FeatureCollection\",features:e.geometries.map(function(e){return a(t,e)})}:a(t,e)},t.mesh=function(t){return o(t,l.apply(this,arguments))},t.meshArcs=l,t.merge=function(t){return o(t,c.apply(this,arguments))},t.mergeArcs=c,t.neighbors=function(t){var e={},r=t.map(function(){return[]});function n(t,r){t.forEach(function(t){t<0&&(t=~t);var n=e[t];n?n.push(r):e[t]=[r]})}function i(t,e){t.forEach(function(t){n(t,e)})}var a={LineString:n,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach(function(t){i(t,e)})}};for(var o in t.forEach(function t(e,r){\"GeometryCollection\"===e.type?e.geometries.forEach(function(e){t(e,r)}):e.type in a&&a[e.type](e.arcs,r)}),e)for(var s=e[o],l=s.length,c=0;c<l;++c)for(var f=c+1;f<l;++f){var h,p=s[c],d=s[f];(h=r[p])[o=u(h,d)]!==d&&h.splice(o,0,d),(h=r[d])[o=u(h,p)]!==p&&h.splice(o,0,p)}return r},t.quantize=function(t,e){if(!((e=Math.floor(e))>=2))throw new Error(\"n must be \\u22652\");if(t.transform)throw new Error(\"already quantized\");var r,i=n(t),a=i[0],o=(i[2]-a)/(e-1)||1,s=i[1],l=(i[3]-s)/(e-1)||1;function c(t){t[0]=Math.round((t[0]-a)/o),t[1]=Math.round((t[1]-s)/l)}function u(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(u);break;case\"Point\":c(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(c)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,i=1,c=1,u=t.length,f=t[0],h=f[0]=Math.round((f[0]-a)/o),p=f[1]=Math.round((f[1]-s)/l);i<u;++i)f=t[i],r=Math.round((f[0]-a)/o),n=Math.round((f[1]-s)/l),r===h&&n===p||((e=t[c++])[0]=r-h,h=r,e[1]=n-p,p=n);c<2&&((e=t[c++])[0]=0,e[1]=0),t.length=c}),t.objects)u(t.objects[r]);return t.transform={scale:[o,l],translate:[a,s]},t},t.transform=r,t.untransform=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){e||(n=i=0);var r=Math.round((t[0]-s)/a),c=Math.round((t[1]-l)/o);return t[0]=r-n,n=r,t[1]=c-i,i=c,t}},Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.topojson=n.topojson||{})},{}],515:[function(t,e,r){\"use strict\";e.exports=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(a(t+1)),r=[],o=0;o<e;++o){for(var s=n.unrank(t,o),l=[0],c=0,u=0;u<s.length;++u)c+=1<<s[u],l.push(c);i(s)<1&&(l[0]=c,l[t]=0),r.push(l)}return r};var n=t(\"permutation-rank\"),i=t(\"permutation-parity\"),a=t(\"gamma\")},{gamma:219,\"permutation-parity\":443,\"permutation-rank\":444}],516:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||f(r),i=t.radius||1,a=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),\"eye\"in t){var p=t.eye,d=[p[0]-e[0],p[1]-e[1],p[2]-e[2]];o(n,d,r),c(n[0],n[1],n[2])<1e-6?n=f(r):s(n,n),i=c(d[0],d[1],d[2]);var g=l(r,d)/i,m=l(n,d)/i;u=Math.acos(g),a=Math.acos(m)}return i=Math.log(i),new h(t.zoomMin,t.zoomMax,e,r,n,i,a,u)};var n=t(\"filtered-vector\"),i=t(\"gl-mat4/invert\"),a=t(\"gl-mat4/rotate\"),o=t(\"gl-vec3/cross\"),s=t(\"gl-vec3/normalize\"),l=t(\"gl-vec3/dot\");function c(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t){return Math.min(1,Math.max(-1,t))}function f(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],g=this.computedAngle[1],m=Math.cos(d),v=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=m*y,w=v*y,k=x,M=-m*x,A=-v*x,T=y,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var C=_*r[a]+w*h[a]+k*e[a];E[4*a+1]=M*r[a]+A*h[a]+T*e[a],E[4*a+2]=C,E[4*a+3]=0}var L=E[1],z=E[5],P=E[9],O=E[2],I=E[6],D=E[10],R=z*D-P*I,B=P*O-L*D,F=L*I-z*O,N=c(R,B,F);R/=N,B/=N,F/=N,E[0]=R,E[4]=B,E[8]=F;for(a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=E[a+4*j]*S[j];E[12+a]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];a(i,i,n,d);for(c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=c(u-=a*p,f-=o*p,h-=s*p),g=(u/=d)*e+a*r,m=(f/=d)*e+o*r,v=(h/=d)*e+s*r;this.center.move(t,g,m,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;\"number\"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),g=Math.max(h,p,d);h===g?(s=s<0?-1:1,l=f=0):d===g?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var m=c(s,l,f);s/=m,l/=m,f/=m}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,k=c(x-=s*w,b-=l*w,_-=f*w),M=l*(_/=k)-f*(b/=k),A=f*(x/=k)-s*_,T=s*b-l*x,S=c(M,A,T);if(M/=S,A/=S,T/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],C=e[5],L=e[9],z=E*x+C*b+L*_,P=E*M+C*A+L*T;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(P,z)}else{var O=e[2],I=e[6],D=e[10],R=O*s+I*l+D*f,B=O*x+I*b+D*_,F=O*M+I*A+D*T;v=Math.asin(u(R)),y=Math.atan2(F,B)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;i(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,W=U[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-V*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=c(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,g=d[0],m=d[1],v=d[2],y=i*g+a*m+o*v,x=c(g-=y*i,m-=y*a,v-=y*o);if(!(x<.01&&(x=c(g=a*h-o*f,m=o*l-i*h,v=i*f-a*l))<1e-6)){g/=x,m/=x,v/=x,this.up.set(t,i,a,o),this.right.set(t,g,m,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*v-o*m,_=o*g-i*v,w=i*m-a*g,k=c(b,_,w),M=i*l+a*f+o*h,A=g*l+m*f+v*h,T=(b/=k)*l+(_/=k)*f+(w/=k)*h,S=Math.asin(u(M)),E=Math.atan2(T,A),C=this.angle._state,L=C[C.length-1],z=C[C.length-2];L%=2*Math.PI;var P=Math.abs(L+2*Math.PI-E),O=Math.abs(L-E),I=Math.abs(L-2*Math.PI-E);P<O&&(L+=2*Math.PI),I<O&&(L-=2*Math.PI),this.angle.jump(this.angle.lastT(),L,z),this.angle.set(t,E,S)}}}}},{\"filtered-vector\":214,\"gl-mat4/invert\":253,\"gl-mat4/rotate\":257,\"gl-vec3/cross\":315,\"gl-vec3/dot\":320,\"gl-vec3/normalize\":337}],517:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var i=t*e,a=n*t,o=a-(a-t),s=t-o,l=n*e,c=l-(l-e),u=e-c,f=s*u-(i-o*c-s*c-o*u);if(r)return r[0]=f,r[1]=i,r;return[f,i]};var n=+(Math.pow(2,27)+1)},{}],518:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);if(r)return r[0]=o+a,r[1]=n,r;return[o+a,n]}},{}],519:[function(t,e,r){(function(e,n){\"use strict\";var i=t(\"bit-twiddle\"),a=t(\"dup\");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:a([32,0]),UINT16:a([32,0]),UINT32:a([32,0]),INT8:a([32,0]),INT16:a([32,0]),INT32:a([32,0]),FLOAT:a([32,0]),DOUBLE:a([32,0]),DATA:a([32,0]),UINT8C:a([32,0]),BUFFER:a([32,0])});var o=\"undefined\"!=typeof Uint8ClampedArray,s=e.__TYPEDARRAY_POOL;s.UINT8C||(s.UINT8C=a([32,0])),s.BUFFER||(s.BUFFER=a([32,0]));var l=s.DATA,c=s.BUFFER;function u(t){if(t){var e=t.length||t.byteLength,r=i.log2(e);l[r].push(t)}}function f(t){t=i.nextPow2(t);var e=i.log2(t),r=l[e];return r.length>0?r.pop():new ArrayBuffer(t)}function h(t){return new Uint8Array(f(t),0,t)}function p(t){return new Uint16Array(f(2*t),0,t)}function d(t){return new Uint32Array(f(4*t),0,t)}function g(t){return new Int8Array(f(t),0,t)}function m(t){return new Int16Array(f(2*t),0,t)}function v(t){return new Int32Array(f(4*t),0,t)}function y(t){return new Float32Array(f(4*t),0,t)}function x(t){return new Float64Array(f(8*t),0,t)}function b(t){return o?new Uint8ClampedArray(f(t),0,t):h(t)}function _(t){return new DataView(f(t),0,t)}function w(t){t=i.nextPow2(t);var e=i.log2(t),r=c[e];return r.length>0?r.pop():new n(t)}r.free=function(t){if(n.isBuffer(t))c[i.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|i.log2(e);l[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){u(t.buffer)},r.freeArrayBuffer=u,r.freeBuffer=function(t){c[i.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return f(t);switch(e){case\"uint8\":return h(t);case\"uint16\":return p(t);case\"uint32\":return d(t);case\"int8\":return g(t);case\"int16\":return m(t);case\"int32\":return v(t);case\"float\":case\"float32\":return y(t);case\"double\":case\"float64\":return x(t);case\"uint8_clamped\":return b(t);case\"buffer\":return w(t);case\"data\":case\"dataview\":return _(t);default:return null}return null},r.mallocArrayBuffer=f,r.mallocUint8=h,r.mallocUint16=p,r.mallocUint32=d,r.mallocInt8=g,r.mallocInt16=m,r.mallocInt32=v,r.mallocFloat32=r.mallocFloat=y,r.mallocFloat64=r.mallocDouble=x,r.mallocUint8Clamped=b,r.mallocDataView=_,r.mallocBuffer=w,r.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,l[t].length=0,c[t].length=0}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},t(\"buffer\").Buffer)},{\"bit-twiddle\":79,buffer:92,dup:154}],520:[function(t,e,r){\"use strict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var i=n.prototype;Object.defineProperty(i,\"length\",{get:function(){return this.roots.length}}),i.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},i.find=function(t){for(var e=t,r=this.roots;r[t]!==t;)t=r[t];for(;r[e]!==t;){var n=r[e];r[e]=t,e=n}return t},i.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],521:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,e(i=t[o],a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},{}],522:[function(t,e,r){var n=/[\\'\\\"]/;e.exports=function(t){return t?(n.test(t.charAt(0))&&(t=t.substr(1)),n.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}},{}],523:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if(\"function\"==typeof a[o]&&void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],524:[function(t,e,r){\"use strict\";e.exports=function(t,e){\"object\"==typeof e&&null!==e||(e={});return n(t,e.canvas||i,e.context||a,e)};var n=t(\"./lib/vtext\"),i=null,a=null;\"undefined\"!=typeof document&&((i=document.createElement(\"canvas\")).width=8192,i.height=1024,a=i.getContext(\"2d\"))},{\"./lib/vtext\":525}],525:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var a=n.size||64,o=n.font||\"normal\";return r.font=a+\"px \"+o,r.textAlign=\"start\",r.textBaseline=\"alphabetic\",r.direction=\"ltr\",f(function(t,e,r,n){var a=0|Math.ceil(e.measureText(r).width+2*n);if(a>8192)throw new Error(\"vectorize-text: String too long (sorry, this will get fixed later)\");var o=3*n;t.height<o&&(t.height=o),e.fillStyle=\"#000\",e.fillRect(0,0,t.width,t.height),e.fillStyle=\"#fff\",e.fillText(r,n,2*n);var s=e.getImageData(0,0,a,o);return i(s.data,[o,a,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,a),n,a)},e.exports.processPixels=f;var n=t(\"surface-nets\"),i=t(\"ndarray\"),a=t(\"simplify-planar-graph\"),o=t(\"clean-pslg\"),s=t(\"cdt2d\"),l=t(\"planar-graph-to-polyline\");function c(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function u(t,e,r,n){var i=c(t,n),a=function(t,e,r){for(var n=e.textAlign||\"start\",i=e.textBaseline||\"alphabetic\",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var c=t[l],u=0;u<2;++u)a[u]=0|Math.min(a[u],c[u]),o[u]=0|Math.max(o[u],c[u]);var f=0;switch(n){case\"center\":f=-.5*(a[0]+o[0]);break;case\"right\":case\"end\":f=-o[0];break;case\"left\":case\"start\":f=-a[0];break;default:throw new Error(\"vectorize-text: Unrecognized textAlign: '\"+n+\"'\")}var h=0;switch(i){case\"hanging\":case\"top\":h=-a[1];break;case\"middle\":h=-.5*(a[1]+o[1]);break;case\"alphabetic\":case\"ideographic\":h=-3*r;break;case\"bottom\":h=-o[1];break;default:throw new Error(\"vectorize-text: Unrecoginized textBaseline: '\"+i+\"'\")}var p=1/r;return\"lineHeight\"in e?p*=+e.lineHeight:\"width\"in e?p=e.width/(o[0]-a[0]):\"height\"in e&&(p=e.height/(o[1]-a[1])),t.map(function(t){return[p*(t[0]+f),p*(t[1]+h)]})}(i.positions,e,r),u=i.edges,f=\"ccw\"===e.orientation;if(o(a,u),e.polygons||e.polygon||e.polyline){for(var h=l(u,a),p=new Array(h.length),d=0;d<h.length;++d){for(var g=h[d],m=new Array(g.length),v=0;v<g.length;++v){for(var y=g[v],x=new Array(y.length),b=0;b<y.length;++b)x[b]=a[y[b]].slice();f&&x.reverse(),m[v]=x}p[d]=m}return p}return e.triangles||e.triangulate||e.triangle?{cells:s(a,u,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:u,positions:a}}function f(t,e,r){try{return u(t,e,r,!0)}catch(t){}try{return u(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},{cdt2d:93,\"clean-pslg\":103,ndarray:430,\"planar-graph-to-polyline\":448,\"simplify-planar-graph\":497,\"surface-nets\":505}],526:[function(t,e,r){!function(){\"use strict\";if(\"undefined\"==typeof ses||!ses.ok||ses.ok()){\"undefined\"!=typeof ses&&(ses.weakMapPermitHostObjects=m);var t=!1;if(\"function\"==typeof WeakMap){var r=WeakMap;if(\"undefined\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,i=Object.freeze({});if(n.set(i,1),1===n.get(i))return void(e.exports=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var a=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l=\"weakmap:\",c=l+\"ident:\"+Math.random()+\"___\";if(\"undefined\"!=typeof crypto&&\"function\"==typeof crypto.getRandomValues&&\"function\"==typeof ArrayBuffer&&\"function\"==typeof Uint8Array){var u=new ArrayBuffer(25),f=new Uint8Array(u);crypto.getRandomValues(f),c=l+\"rand:\"+Array.prototype.map.call(f,function(t){return(t%36).toString(36)}).join(\"\")+\"___\"}if(o(Object,\"getOwnPropertyNames\",{value:function(t){return a(t).filter(v)}}),\"getPropertyNames\"in Object){var h=Object.getPropertyNames;o(Object,\"getPropertyNames\",{value:function(t){return h(t).filter(v)}})}!function(){var t=Object.freeze;o(Object,\"freeze\",{value:function(e){return y(e),t(e)}});var e=Object.seal;o(Object,\"seal\",{value:function(t){return y(t),e(t)}});var r=Object.preventExtensions;o(Object,\"preventExtensions\",{value:function(t){return y(t),r(t)}})}();var p=!1,d=0,g=function(){this instanceof g||b();var t=[],e=[],r=d++;return Object.create(g.prototype,{get___:{value:x(function(n,i){var a,o=y(n);return o?r in o?o[r]:i:(a=t.indexOf(n))>=0?e[a]:i})},has___:{value:x(function(e){var n=y(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:x(function(n,i){var a,o=y(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this})},delete___:{value:x(function(n){var i,a,o=y(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))})}})};g.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),\"function\"==typeof r?function(){function n(){this instanceof g||b();var e,n=new r,i=void 0,a=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new g),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new g),i.set___(t,e)}else n.set(t,e);return this},Object.create(g.prototype,{get___:{value:x(function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)})},has___:{value:x(function(t){return n.has(t)||!!i&&i.has___(t)})},set___:{value:x(e)},delete___:{value:x(function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e})},permitHostObjects___:{value:x(function(t){if(t!==m)throw new Error(\"bogus call to permitHostObjects___\");a=!0})}})}t&&\"undefined\"!=typeof Proxy&&(Proxy=void 0),n.prototype=g.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\"undefined\"!=typeof Proxy&&(Proxy=void 0),e.exports=g)}function m(t){t.permitHostObjects___&&t.permitHostObjects___(m)}function v(t){return!(t.substr(0,l.length)==l&&\"___\"===t.substr(t.length-3))}function y(t){if(t!==Object(t))throw new TypeError(\"Not an object: \"+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||\"undefined\"==typeof console||(p=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}}()},{}],527:[function(t,e,r){var n=t(\"./hidden-store.js\");e.exports=function(){var t={};return function(e){if((\"object\"!=typeof e||null===e)&&\"function\"!=typeof e)throw new Error(\"Weakmap-shim: Key must be object\");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{\"./hidden-store.js\":528}],528:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,\"valueOf\",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],529:[function(t,e,r){var n=t(\"./create-store.js\");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty(\"value\")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return\"value\"in t(e)},delete:function(e){return delete t(e).value}}}},{\"./create-store.js\":527}],530:[function(t,e,r){var n=t(\"get-canvas-context\");e.exports=function(t){return n(\"webgl\",t)}},{\"get-canvas-context\":220}],531:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Chinese\",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(t,e){if(\"string\"==typeof t){var r=t.match(l);return r?r[0]:\"\"}var n=this._validateYear(t),i=t.month(),a=\"\"+this.toChineseMonth(n,i);return e&&a.length<2&&(a=\"0\"+a),this.isIntercalaryMonth(n,i)&&(a+=\"i\"),a},monthNames:function(t){if(\"string\"==typeof t){var e=t.match(c);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=[\"\\u4e00\\u6708\",\"\\u4e8c\\u6708\",\"\\u4e09\\u6708\",\"\\u56db\\u6708\",\"\\u4e94\\u6708\",\"\\u516d\\u6708\",\"\\u4e03\\u6708\",\"\\u516b\\u6708\",\"\\u4e5d\\u6708\",\"\\u5341\\u6708\",\"\\u5341\\u4e00\\u6708\",\"\\u5341\\u4e8c\\u6708\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"\\u95f0\"+i),i},monthNamesShort:function(t){if(\"string\"==typeof t){var e=t.match(u);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=[\"\\u4e00\",\"\\u4e8c\",\"\\u4e09\",\"\\u56db\",\"\\u4e94\",\"\\u516d\",\"\\u4e03\",\"\\u516b\",\"\\u4e5d\",\"\\u5341\",\"\\u5341\\u4e00\",\"\\u5341\\u4e8c\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"\\u95f0\"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))\"\\u95f0\"===e[0]&&(r=!0,e=e.substring(1)),\"\\u6708\"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+[\"\\u4e00\",\"\\u4e8c\",\"\\u4e09\",\"\\u56db\",\"\\u4e94\",\"\\u516d\",\"\\u4e03\",\"\\u516b\",\"\\u4e5d\",\"\\u5341\",\"\\u5341\\u4e00\",\"\\u5341\\u4e8c\"].indexOf(e);else{var i=e[e.length-1];r=\"i\"===i||\"I\"===i}return this.toMonthIndex(t,n,r)},dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),\"number\"!=typeof t||t<1888||t>2111)throw e.replace(/\\{0\\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),f[t-f[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),\"d\");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if(\"object\"==typeof t)o=t,a=e||{};else{var l=\"number\"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error(\"Lunar year outside range 1888-2111\");var c=\"number\"==typeof e&&e>=1&&e<=12;if(!c)throw new Error(\"Lunar month outside range 1 - 12\");var u,p=\"number\"==typeof r&&r>=1&&r<=30;if(!p)throw new Error(\"Lunar day outside range 1 - 30\");\"object\"==typeof n?(u=!1,a=n):(u=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:u}}s=o.day-1;var d,g=f[o.year-f[0]],m=g>>13;d=m?o.month>m?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var v=0;v<d;v++){var y=g&1<<12-v?30:29;s+=y}var x=h[o.year-h[0]],b=new Date(x>>9&4095,(x>>5&15)-1,(31&x)+s);return a.year=b.getFullYear(),a.month=1+b.getMonth(),a.day=b.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if(\"object\"==typeof t)i=t,a=e||{};else{var o=\"number\"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error(\"Solar year outside range 1888-2111\");var s=\"number\"==typeof e&&e>=1&&e<=12;if(!s)throw new Error(\"Solar month outside range 1 - 12\");var l=\"number\"==typeof r&&r>=1&&r<=31;if(!l)throw new Error(\"Solar day outside range 1 - 31\");i={year:t,month:e,day:r},a=n||{}}var c=h[i.year-h[0]],u=i.year<<9|i.month<<5|i.day;a.year=u>=c?i.year:i.year-1,c=h[a.year-h[0]];var p,d=new Date(c>>9&4095,(c>>5&15)-1,31&c),g=new Date(i.year,i.month-1,i.day);p=Math.round((g-d)/864e5);var m,v=f[a.year-f[0]];for(m=0;m<13;m++){var y=v&1<<12-m?30:29;if(p<y)break;p-=y}var x=v>>13;!x||m<x?(a.isIntercalary=!1,a.month=1+m):m===x?(a.isIntercalary=!0,a.month=m):(a.isIntercalary=!1,a.month=m);return a.day=1+p,a}(e.year(),e.month(),e.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(t){var e=t.match(s),r=this._validateYear(+e[1]),n=+e[2],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var n=t.year(),i=t.month(),a=this.isIntercalaryMonth(n,i),s=this.toChineseMonth(n,i),l=Object.getPrototypeOf(o.prototype).add.call(this,t,e,r);if(\"y\"===r){var c=l.year(),u=l.month(),f=this.isIntercalaryMonth(c,s),h=a&&f?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);h!==u&&l.month(h)}return l}});var s=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-\\/](\\d?\\d)([iI]?)[-\\/](\\d?\\d)/m,l=/^\\d?\\d[iI]?/m,c=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?\\u6708/m,u=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?/m;n.calendars.chinese=o;var f=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],h=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904]},{\"../main\":545,\"object-assign\":434}],532:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Coptic\",jdEpoch:1825029.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Coptic\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Thout\",\"Paopi\",\"Hathor\",\"Koiak\",\"Tobi\",\"Meshir\",\"Paremhat\",\"Paremoude\",\"Pashons\",\"Paoni\",\"Epip\",\"Mesori\",\"Pi Kogi Enavot\"],monthNamesShort:[\"Tho\",\"Pao\",\"Hath\",\"Koi\",\"Tob\",\"Mesh\",\"Pat\",\"Pad\",\"Pash\",\"Pao\",\"Epi\",\"Meso\",\"PiK\"],dayNames:[\"Tkyriaka\",\"Pesnau\",\"Pshoment\",\"Peftoou\",\"Ptiou\",\"Psoou\",\"Psabbaton\"],dayNamesShort:[\"Tky\",\"Pes\",\"Psh\",\"Pef\",\"Pti\",\"Pso\",\"Psa\"],dayNamesMin:[\"Tk\",\"Pes\",\"Psh\",\"Pef\",\"Pt\",\"Pso\",\"Psa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.coptic=a},{\"../main\":545,\"object-assign\":434}],533:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Discworld\",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Discworld\",epochs:[\"BUC\",\"UC\"],monthNames:[\"Ick\",\"Offle\",\"February\",\"March\",\"April\",\"May\",\"June\",\"Grune\",\"August\",\"Spune\",\"Sektober\",\"Ember\",\"December\"],monthNamesShort:[\"Ick\",\"Off\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Gru\",\"Aug\",\"Spu\",\"Sek\",\"Emb\",\"Dec\"],dayNames:[\"Sunday\",\"Octeday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Oct\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Oc\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,n.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n>=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||\"\"}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:\"Fruitbat\",21:\"Anchovy\"};n.calendars.discworld=a},{\"../main\":545,\"object-assign\":434}],534:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Ethiopian\",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Ethiopian\",epochs:[\"BEE\",\"EE\"],monthNames:[\"Meskerem\",\"Tikemet\",\"Hidar\",\"Tahesas\",\"Tir\",\"Yekatit\",\"Megabit\",\"Miazia\",\"Genbot\",\"Sene\",\"Hamle\",\"Nehase\",\"Pagume\"],monthNamesShort:[\"Mes\",\"Tik\",\"Hid\",\"Tah\",\"Tir\",\"Yek\",\"Meg\",\"Mia\",\"Gen\",\"Sen\",\"Ham\",\"Neh\",\"Pag\"],dayNames:[\"Ehud\",\"Segno\",\"Maksegno\",\"Irob\",\"Hamus\",\"Arb\",\"Kidame\"],dayNamesShort:[\"Ehu\",\"Seg\",\"Mak\",\"Iro\",\"Ham\",\"Arb\",\"Kid\"],dayNamesMin:[\"Eh\",\"Se\",\"Ma\",\"Ir\",\"Ha\",\"Ar\",\"Ki\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},{\"../main\":545,\"object-assign\":434}],535:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s<e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s<e;s++)o+=this.daysInMonth(t,s);return o},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return o(3*(n+1),7)<3&&n++,n},_delay2:function(t){var e=this._delay1(t-1),r=this._delay1(t);return this._delay1(t+1)-r==356?2:r-e==382?1:0},fromJD:function(t){t=Math.floor(t)+.5;for(var e=Math.floor(98496*(t-this.jdEpoch)/35975351)-1;t>=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t<this.toJD(e,1,1)?7:1;t>this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},{\"../main\":545,\"object-assign\":434}],536:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Islamic\",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Islamic\",epochs:[\"BH\",\"AH\"],monthNames:[\"Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' al-thani\",\"Jumada al-awwal\",\"Jumada al-thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-ahad\",\"Yawm al-ithnayn\",\"Yawm ath-thulaathaa'\",\"Yawm al-arbi'aa'\",\"Yawm al-kham\\u012bs\",\"Yawm al-jum'a\",\"Yawm as-sabt\"],dayNamesShort:[\"Aha\",\"Ith\",\"Thu\",\"Arb\",\"Kha\",\"Jum\",\"Sab\"],dayNamesMin:[\"Ah\",\"It\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},{\"../main\":545,\"object-assign\":434}],537:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Julian\",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Julian\",epochs:[\"BC\",\"AD\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},{\"../main\":545,\"object-assign\":434}],538:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+\".\"+Math.floor(t/20)+\".\"+t%20},forYear:function(t){if((t=t.split(\".\")).length<3)throw\"Invalid Mayan year\";for(var e=0,r=0;r<t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)>19||r>0&&n<0)throw\"Invalid Mayan year\";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},{\"../main\":545,\"object-assign\":434}],539:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar;var o=n.instance(\"gregorian\");i(a.prototype,{name:\"Nanakshahi\",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s<i.month();s++)a+=this.daysPerMonth[s-1];return a+o.toJD(t+1468,3,13)},fromJD:function(t){t=Math.floor(t+.5);for(var e=Math.floor((t-(this.jdEpoch-1))/366);t>=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},{\"../main\":545,\"object-assign\":434}],540:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Nepali\",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),\"undefined\"==typeof this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),\"undefined\"==typeof this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,\"d\").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)\"undefined\"==typeof this.NEPALI_CALENDAR_DATA[r]&&(this.NEPALI_CALENDAR_DATA[r]=e)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2000:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),n.calendars.nepali=a},{\"../main\":545,\"object-assign\":434}],541:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Persian\",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Persian\",epochs:[\"BP\",\"AP\"],monthNames:[\"Farvardin\",\"Ordibehesht\",\"Khordad\",\"Tir\",\"Mordad\",\"Shahrivar\",\"Mehr\",\"Aban\",\"Azar\",\"Day\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Day\",\"Bah\",\"Esf\"],dayNames:[\"Yekshambe\",\"Doshambe\",\"Seshambe\",\"Ch\\xe6harshambe\",\"Panjshambe\",\"Jom'e\",\"Shambe\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Ch\\xe6\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 682*((e.year()-(e.year()>0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),n.calendars.persian=a,n.calendars.jalali=a},{\"../main\":545,\"object-assign\":434}],542:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Taiwan\",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Taiwan\",epochs:[\"BROC\",\"ROC\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{\"../main\":545,\"object-assign\":434}],543:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Thai\",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Thai\",epochs:[\"BBE\",\"BE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{\"../main\":545,\"object-assign\":434}],544:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"UmmAlQura\",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Umm al-Qura\",epochs:[\"BH\",\"AH\"],monthNames:[\"Al-Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' Al-Thani\",\"Jumada Al-Awwal\",\"Jumada Al-Thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-Ahad\",\"Yawm al-Ithnain\",\"Yawm al-Thal\\u0101th\\u0101\\u2019\",\"Yawm al-Arba\\u2018\\u0101\\u2019\",\"Yawm al-Kham\\u012bs\",\"Yawm al-Jum\\u2018a\",\"Yawm al-Sabt\"],dayNamesMin:[\"Ah\",\"Ith\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;a<o.length;a++){if(o[a]>r)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<o.length&&!(o[n]>e);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\\{0\\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{\"../main\":545,\"object-assign\":434}],545:[function(t,e,r){var n=t(\"object-assign\");function i(){this.regionalOptions=[],this.regionalOptions[\"\"]={invalidCalendar:\"Calendar {0} not found\",invalidDate:\"Invalid {0} date\",invalidMonth:\"Invalid {0} month\",invalidYear:\"Invalid {0} year\",differentCalendars:\"Cannot mix {0} and {1} dates\"},this.local=this.regionalOptions[\"\"],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function o(t,e){return\"000000\".substring(0,e-(t=\"\"+t).length)+t}function s(){this.shortYearCutoff=\"+10\"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[\"\"]}n(i.prototype,{instance:function(t,e){t=(t||\"gregorian\").toLowerCase(),e=e||\"\";var r=this._localCals[t+\"-\"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+\"-\"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():\"string\"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+\"\").replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(0===a?\"\":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,\"y\")},month:function(t){return 0===arguments.length?this._month:this.set(t,\"m\")},day:function(t){return 0===arguments.length?this._day:this.set(t,\"d\")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?\"-\":\"\")+o(Math.abs(this.year()),4)+\"-\"+o(this.month(),2)+\"-\"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return(e.year()<0?\"-\":\"\")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,\"d\"===r||\"w\"===r){var n=t.toJD()+e*(\"w\"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(\"y\"===r?e:0),o=t.monthOfYear()+(\"m\"===r?e:0);i=t.day();\"y\"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\"m\"===r&&(!function(t){for(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||\"y\"!==n&&\"m\"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);var n=\"y\"===r?e:t.year(),i=\"m\"===r?e:t.month(),a=\"d\"===r?e:t.day();return\"y\"!==r&&\"m\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return c.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(c.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this.local.name).replace(/\\{1\\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\\{0\\}/,this.local.name);var i=this.newDate(t,e,r);return this._validateLevel--,i}catch(t){throw this._validateLevel--,t}}}),l.prototype=new s,n(l.prototype,{name:\"Gregorian\",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Gregorian\",epochs:[\"BCE\",\"CE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==0&&(t%100!=0||t%400==0)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25),n=(r=e+1+r-Math.floor(r/4))+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},{\"object-assign\":434}],546:[function(t,e,r){var n=t(\"object-assign\"),i=t(\"./main\");n(i.regionalOptions[\"\"],{invalidArguments:\"Invalid arguments\",invalidFormat:\"Cannot format a date from another calendar\",missingNumberAt:\"Missing number at position {0}\",unknownNameAt:\"Unknown name at position {0}\",unexpectedLiteralAt:\"Unexpected literal at position {0}\",unexpectedText:\"Additional text found at end\"}),i.local=i.regionalOptions[\"\"],n(i.cdate.prototype,{formatDate:function(t,e){return\"string\"!=typeof t&&(e=t,t=\"\"),this._calendar.formatDate(t||\"\",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(t,e,r){if(\"string\"!=typeof t&&(r=e,e=t,t=\"\"),!e)return\"\";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[\"\"].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,f=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n<t.length&&t.charAt(w+n)===e;)n++;return w+=n-1,Math.floor(n/(r||1))>1}),d=function(t,e,r,n){var i=\"\"+e;if(p(t,n))for(;i.length<r;)i=\"0\"+i;return i},g=this,m=function(t){return\"function\"==typeof u?u.call(g,t,p(\"m\")):x(d(\"m\",t.month(),2))},v=function(t,e){return e?\"function\"==typeof h?h.call(g,t):h[t.month()-g.minMonth]:\"function\"==typeof f?f.call(g,t):f[t.month()-g.minMonth]},y=this.local.digits,x=function(t){return r.localNumbers&&y?y(t):t},b=\"\",_=!1,w=0;w<t.length;w++)if(_)\"'\"!==t.charAt(w)||p(\"'\")?b+=t.charAt(w):_=!1;else switch(t.charAt(w)){case\"d\":b+=x(d(\"d\",e.day(),2));break;case\"D\":b+=(n=\"D\",a=e.dayOfWeek(),o=l,s=c,p(n)?s[a]:o[a]);break;case\"o\":b+=d(\"o\",e.dayOfYear(),3);break;case\"w\":b+=d(\"w\",e.weekOfYear(),2);break;case\"m\":b+=m(e);break;case\"M\":b+=v(e,p(\"M\"));break;case\"y\":b+=p(\"y\",2)?e.year():(e.year()%100<10?\"0\":\"\")+e.year()%100;break;case\"Y\":p(\"Y\",2),b+=e.formatYear();break;case\"J\":b+=e.toJD();break;case\"@\":b+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\"!\":b+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\"'\":p(\"'\")?b+=\"'\":_=!0;break;default:b+=t.charAt(w)}return b},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[\"\"].invalidArguments;if(\"\"===(e=\"object\"==typeof e?e.toString():e+\"\"))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n=\"string\"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var a=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,f=-1,h=-1,p=-1,d=-1,g=-1,m=!1,v=!1,y=function(e,r){for(var n=1;T+n<t.length&&t.charAt(T+n)===e;)n++;return T+=n-1,Math.floor(n/(r||1))>1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][\"oyYJ@!\".indexOf(t)+1],o=new RegExp(\"^-?\\\\d{1,\"+a+\"}\"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if(\"function\"==typeof l){y(\"m\");var t=l.call(b,e.substring(A));return A+=t.length,t}return x(\"m\")},w=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s<o.length;s++)if(e.substr(A,o[s].length).toLowerCase()===o[s].toLowerCase())return A+=o[s].length,s+b.minMonth;throw(i.local.unknownNameAt||i.regionalOptions[\"\"].unknownNameAt).replace(/\\{0\\}/,A)},k=function(){if(\"function\"==typeof u){var t=y(\"M\")?u.call(b,e.substring(A)):c.call(b,e.substring(A));return A+=t.length,t}return w(\"M\",c,u)},M=function(){if(e.charAt(A)!==t.charAt(T))throw(i.local.unexpectedLiteralAt||i.regionalOptions[\"\"].unexpectedLiteralAt).replace(/\\{0\\}/,A);A++},A=0,T=0;T<t.length;T++)if(v)\"'\"!==t.charAt(T)||y(\"'\")?M():v=!1;else switch(t.charAt(T)){case\"d\":d=x(\"d\");break;case\"D\":w(\"D\",a,o);break;case\"o\":g=x(\"o\");break;case\"w\":x(\"w\");break;case\"m\":p=_();break;case\"M\":p=k();break;case\"y\":var S=T;m=!y(\"y\",2),T=S,h=x(\"y\",2);break;case\"Y\":h=x(\"Y\",2);break;case\"J\":f=x(\"J\")+.5,\".\"===e.charAt(A)&&(A++,x(\"J\"));break;case\"@\":f=x(\"@\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\"!\":f=x(\"!\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\"*\":A=e.length;break;case\"'\":y(\"'\")?M():v=!0;break;default:M()}if(A<e.length)throw i.local.unexpectedText||i.regionalOptions[\"\"].unexpectedText;if(-1===h?h=this.today().year():h<100&&m&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),\"string\"==typeof p&&(p=s.call(this,h,p)),g>-1){p=1,d=g;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&\"object\"!=typeof r&&(i=n,n=r,r=null),\"string\"!=typeof n&&(i=n,n=\"\");var a=this;return e=e?e.newDate():null,t=null==t?e:\"string\"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||\"d\"),s=o.exec(t);return e}(t):\"number\"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,\"d\"):a.newDate(t)}})},{\"./main\":545,\"object-assign\":434}],547:[function(t,e,r){e.exports=t(\"cwise-compiler\")({args:[\"array\",{offset:[1],array:0},\"scalar\",\"scalar\",\"index\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},body:{body:\"{\\n        var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\\n        var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\\n        if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\\n          _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\\n        }\\n      }\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg3_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[\"_inline_1_da\",\"_inline_1_db\"]},funcName:\"zeroCrossings\"})},{\"cwise-compiler\":133}],548:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t(\"./lib/zc-core\")},{\"./lib/zc-core\":547}],549:[function(t,e,r){\"use strict\";e.exports=[{path:\"\",backoff:0},{path:\"M-2.4,-3V3L0.6,0Z\",backoff:.6},{path:\"M-3.7,-2.5V2.5L1.3,0Z\",backoff:1.3},{path:\"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z\",backoff:1.55},{path:\"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z\",backoff:1.6},{path:\"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z\",backoff:2},{path:\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\",backoff:0,noRotate:!0},{path:\"M2,2V-2H-2V2Z\",backoff:0,noRotate:!0}]},{}],550:[function(t,e,r){\"use strict\";var n=t(\"./arrow_paths\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../plots/cartesian/constants\"),o=t(\"../../plot_api/plot_template\").templatedArray;e.exports=o(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:i({editType:\"calc+arraydraw\",colorEditType:\"arraydraw\"}),width:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},height:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"center\",editType:\"arraydraw\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"arraydraw\"},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},borderpad:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},showarrow:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},arrowcolor:{valType:\"color\",editType:\"arraydraw\"},arrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},arrowside:{valType:\"flaglist\",flags:[\"end\",\"start\"],extras:[\"none\"],dflt:\"end\",editType:\"arraydraw\"},arrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},startarrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},arrowwidth:{valType:\"number\",min:.1,editType:\"calc+arraydraw\"},standoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},startstandoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},ax:{valType:\"any\",editType:\"calc+arraydraw\"},ay:{valType:\"any\",editType:\"calc+arraydraw\"},axref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.x.toString()],editType:\"calc\"},x:{valType:\"any\",editType:\"calc+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calc+arraydraw\"},xshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.y.toString()],editType:\"calc\"},y:{valType:\"any\",editType:\"calc+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"calc+arraydraw\"},yshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},clicktoshow:{valType:\"enumerated\",values:[!1,\"onoff\",\"onout\"],dflt:!1,editType:\"arraydraw\"},xclick:{valType:\"any\",editType:\"arraydraw\"},yclick:{valType:\"any\",editType:\"arraydraw\"},hovertext:{valType:\"string\",editType:\"arraydraw\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",editType:\"arraydraw\"},font:i({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\",_deprecated:{ref:{valType:\"string\",editType:\"calc\"}}})},{\"../../plot_api/plot_template\":732,\"../../plots/cartesian/constants\":747,\"../../plots/font_attributes\":768,\"./arrow_paths\":549}],551:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"./draw\").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach(function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref);e._extremes={},r&&s(e,r),n&&s(e,n)})}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t[\"a\"+a],l=t[a+\"ref\"],c=t[\"a\"+a+\"ref\"],u=t[\"_\"+a+\"padplus\"],f=t[\"_\"+a+\"padminus\"],h={x:1,y:-1}[a]*t[a+\"shift\"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,g=p-h,m=3*t.startarrowsize*t.arrowwidth||0,v=m+h,y=m-h;if(c===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:g}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,v),ppadminus:Math.max(f,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else v=s?v+s:v,y=s?y-s:y,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,v),ppadminus:Math.max(f,g,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"./draw\":556}],552:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"../../plot_api/plot_template\").arrayEditor;function o(t,e){var r,n,i,a,o,l,c,u=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r<u.length;r++)if(a=(i=u[r]).clicktoshow){for(n=0;n<d;n++)if(l=(o=e[n]).xaxis,c=o.yaxis,l._id===i.xref&&c._id===i.yref&&l.d2r(o.x)===s(i._xclick,l)&&c.d2r(o.y)===s(i._yclick,c)){(i.visible?\"onout\"===a?h:p:f).push(r);break}n===d&&i.visible&&\"onout\"===a&&h.push(r)}return{on:f,off:h,explicitOff:p}}function s(t,e){return\"log\"===e.type?e.l2r(t):e.d2r(t)}e.exports={hasClickToShow:function(t,e){var r=o(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r<c.length;r++)(s=a(t.layout,\"annotations\",h[c[r]])).modifyItem(\"visible\",!0),n.extendFlat(f,s.getUpdateObj());for(r=0;r<u.length;r++)(s=a(t.layout,\"annotations\",h[u[r]])).modifyItem(\"visible\",!1),n.extendFlat(f,s.getUpdateObj());return i.call(\"update\",t,{},f)}}},{\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../registry\":825}],553:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../color\");e.exports=function(t,e,r,a){a(\"opacity\");var o=a(\"bgcolor\"),s=a(\"bordercolor\"),l=i.opacity(s);a(\"borderpad\");var c=a(\"borderwidth\"),u=a(\"showarrow\");if(a(\"text\",u?\" \":r._dfltTitle.annotation),a(\"textangle\"),n.coerceFont(a,\"font\",r.font),a(\"width\"),a(\"align\"),a(\"height\")&&a(\"valign\"),u){var f,h,p=a(\"arrowside\");-1!==p.indexOf(\"end\")&&(f=a(\"arrowhead\"),h=a(\"arrowsize\")),-1!==p.indexOf(\"start\")&&(a(\"startarrowhead\",f),a(\"startarrowsize\",h)),a(\"arrowcolor\",l?e.bordercolor:i.defaultLine),a(\"arrowwidth\",2*(l&&c||1)),a(\"standoff\"),a(\"startstandoff\")}var d=a(\"hovertext\"),g=r.hoverlabel||{};if(d){var m=a(\"hoverlabel.bgcolor\",g.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),v=a(\"hoverlabel.bordercolor\",g.bordercolor||i.contrast(m));n.coerceFont(a,\"hoverlabel.font\",{family:g.font.family,size:g.font.size,color:g.font.color||v})}a(\"captureevents\",!!d)}},{\"../../lib\":693,\"../color\":567}],554:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib/to_log_range\");e.exports=function(t,e,r,a){e=e||{};var o=\"log\"===r&&\"linear\"===e.type,s=\"linear\"===r&&\"log\"===e.type;if(o||s)for(var l,c,u=t._fullLayout.annotations,f=e._id.charAt(0),h=0;h<u.length;h++)l=u[h],c=\"annotations[\"+h+\"].\",l[f+\"ref\"]===e._id&&p(f),l[\"a\"+f+\"ref\"]===e._id&&p(\"a\"+f);function p(t){var r=l[t],s=null;s=o?i(r,e.range):Math.pow(10,r),n(s)||(s=null),a(c+t,s)}}},{\"../../lib/to_log_range\":720,\"fast-isnumeric\":213}],555:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/array_container_defaults\"),o=t(\"./common_defaults\"),s=t(\"./attributes\");function l(t,e,r){function a(r,i){return n.coerce(t,e,s,r,i)}var l=a(\"visible\"),c=a(\"clicktoshow\");if(l||c){o(t,e,r,a);for(var u=e.showarrow,f=[\"x\",\"y\"],h=[-10,-30],p={_fullLayout:r},d=0;d<2;d++){var g=f[d],m=i.coerceRef(t,e,p,g,\"\",\"paper\");if(\"paper\"!==m)i.getFromId(p,m)._annIndices.push(e._index);if(i.coercePosition(e,p,a,m,g,.5),u){var v=\"a\"+g,y=i.coerceRef(t,e,p,v,\"pixel\");\"pixel\"!==y&&y!==m&&(y=e[v]=\"pixel\");var x=\"pixel\"===y?h[d]:.4;i.coercePosition(e,p,a,y,v,x)}a(g+\"anchor\"),a(g+\"shift\")}if(n.noneOrAll(t,e,[\"x\",\"y\"]),u&&n.noneOrAll(t,e,[\"ax\",\"ay\"]),c){var b=a(\"xclick\"),_=a(\"yclick\");e._xclick=void 0===b?e.x:i.cleanPosition(b,p,e.xref),e._yclick=void 0===_?e.y:i.cleanPosition(_,p,e.yref)}}}e.exports=function(t,e){a(t,e,{name:\"annotations\",handleItemDefaults:l})}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"../../plots/cartesian/axes\":742,\"./attributes\":550,\"./common_defaults\":553}],556:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../plots/plots\"),o=t(\"../../lib\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../color\"),c=t(\"../drawing\"),u=t(\"../fx\"),f=t(\"../../lib/svg_text_utils\"),h=t(\"../../lib/setcursor\"),p=t(\"../dragelement\"),d=t(\"../../plot_api/plot_template\").arrayEditor,g=t(\"./draw_arrow_head\");function m(t,e){var r=t._fullLayout.annotations[e]||{};v(t,r,e,!1,s.getFromId(t,r.xref),s.getFromId(t,r.yref))}function v(t,e,r,a,s,m){var v,y,x=t._fullLayout,b=t._fullLayout._size,_=t._context.edits;a?(v=\"annotation-\"+a,y=a+\".annotations\"):(v=\"annotation\",y=\"annotations\");var w=d(t.layout,y,e),k=w.modifyBase,M=w.modifyItem,A=w.getUpdateObj;x._infolayer.selectAll(\".\"+v+'[data-index=\"'+r+'\"]').remove();var T=\"clip\"+x._uid+\"_ann\"+r;if(e._input&&!1!==e.visible){var S={x:{},y:{}},E=+e.textangle||0,C=x._infolayer.append(\"g\").classed(v,!0).attr(\"data-index\",String(r)).style(\"opacity\",e.opacity),L=C.append(\"g\").classed(\"annotation-text-g\",!0),z=_[e.showarrow?\"annotationTail\":\"annotationPosition\"],P=e.captureevents||_.annotationText||z,O=L.append(\"g\").style(\"pointer-events\",P?\"all\":null).call(h,\"pointer\").on(\"click\",function(){t._dragging=!1;var i={index:r,annotation:e._input,fullAnnotation:e,event:n.event};a&&(i.subplotId=a),t.emit(\"plotly_clickannotation\",i)});e.hovertext&&O.on(\"mouseover\",function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();u.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:e.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:t})}).on(\"mouseout\",function(){u.loneUnhover(x._hoverlayer.node())});var I=e.borderwidth,D=e.borderpad,R=I+D,B=O.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",I+\"px\").call(l.stroke,e.bordercolor).call(l.fill,e.bgcolor),F=e.width||e.height,N=x._topclips.selectAll(\"#\"+T).data(F?[0]:[]);N.enter().append(\"clipPath\").classed(\"annclip\",!0).attr(\"id\",T).append(\"rect\"),N.exit().remove();var j=e.font,V=O.append(\"text\").classed(\"annotation-text\",!0).text(e.text);_.annotationText?V.call(f.makeEditable,{delegate:O,gd:t}).call(U).on(\"edit\",function(r){e.text=r,this.call(U),M(\"text\",r),s&&s.autorange&&k(s._name+\".autorange\",!0),m&&m.autorange&&k(m._name+\".autorange\",!0),i.call(\"relayout\",t,A())}):V.call(U)}else n.selectAll(\"#\"+T).remove();function U(r){return r.call(c.font,j).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[e.align]||\"middle\"}),f.convertToTspans(r,t,q),r}function q(){var r=V.selectAll(\"a\");1===r.size()&&r.text()===V.text()&&O.insert(\"a\",\":first-child\").attr({\"xlink:xlink:href\":r.attr(\"xlink:href\"),\"xlink:xlink:show\":r.attr(\"xlink:show\")}).style({cursor:\"pointer\"}).node().appendChild(B.node());var n=O.select(\".annotation-text-math-group\"),u=!n.empty(),d=c.bBox((u?n:V).node()),v=d.width,y=d.height,w=e.width||v,P=e.height||y,D=Math.round(w+2*R),j=Math.round(P+2*R);function U(t,e){return\"auto\"===e&&(e=t<1/3?\"left\":t>2/3?\"right\":\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var q=!1,H=[\"x\",\"y\"],G=0;G<H.length;G++){var W,Y,X,Z,$,J=H[G],K=e[J+\"ref\"]||J,Q=e[\"a\"+J+\"ref\"],tt={x:s,y:m}[J],et=(E+(\"x\"===J?0:-90))*Math.PI/180,rt=D*Math.cos(et),nt=j*Math.sin(et),it=Math.abs(rt)+Math.abs(nt),at=e[J+\"anchor\"],ot=e[J+\"shift\"]*(\"x\"===J?1:-1),st=S[J];if(tt){var lt=tt.r2fraction(e[J]);(lt<0||lt>1)&&(Q===K?((lt=tt.r2fraction(e[\"a\"+J]))<0||lt>1)&&(q=!0):q=!0),W=tt._offset+tt.r2p(e[J]),Z=.5}else\"x\"===J?(X=e[J],W=b.l+b.w*X):(X=1-e[J],W=b.t+b.h*X),Z=e.showarrow?.5:X;if(e.showarrow){st.head=W;var ct=e[\"a\"+J];$=rt*U(.5,e.xanchor)-nt*U(.5,e.yanchor),Q===K?(st.tail=tt._offset+tt.r2p(ct),Y=$):(st.tail=W+ct,Y=$+ct),st.text=st.tail+$;var ut=x[\"x\"===J?\"width\":\"height\"];if(\"paper\"===K&&(st.head=o.constrain(st.head,1,ut-1)),\"pixel\"===Q){var ft=-Math.max(st.tail-3,st.text),ht=Math.min(st.tail+3,st.text)-ut;ft>0?(st.tail+=ft,st.text+=ft):ht>0&&(st.tail-=ht,st.text-=ht)}st.tail+=ot,st.head+=ot}else Y=$=it*U(Z,at),st.text=W+$;st.text+=ot,$+=ot,Y+=ot,e[\"_\"+J+\"padplus\"]=it/2+Y,e[\"_\"+J+\"padminus\"]=it/2-Y,e[\"_\"+J+\"size\"]=it,e[\"_\"+J+\"shift\"]=$}if(t._dragging||!q){var pt=0,dt=0;if(\"left\"!==e.align&&(pt=(w-v)*(\"center\"===e.align?.5:1)),\"top\"!==e.valign&&(dt=(P-y)*(\"middle\"===e.valign?.5:1)),u)n.select(\"svg\").attr({x:R+pt-1,y:R+dt}).call(c.setClipUrl,F?T:null);else{var gt=R+dt-d.top,mt=R+pt-d.left;V.call(f.positionText,mt,gt).call(c.setClipUrl,F?T:null)}N.select(\"rect\").call(c.setRect,R,R,w,P),B.call(c.setRect,I/2,I/2,D-I,j-I),O.call(c.setTranslate,Math.round(S.x.text-D/2),Math.round(S.y.text-j/2)),L.attr({transform:\"rotate(\"+E+\",\"+S.x.text+\",\"+S.y.text+\")\"});var vt,yt=function(r,n){C.selectAll(\".annotation-arrow-g\").remove();var u=S.x.head,f=S.y.head,h=S.x.tail+r,d=S.y.tail+n,v=S.x.text+r,y=S.y.text+n,x=o.rotationXYMatrix(E,v,y),w=o.apply2DTransform(x),T=o.apply2DTransform2(x),z=+B.attr(\"width\"),P=+B.attr(\"height\"),I=v-.5*z,D=I+z,R=y-.5*P,F=R+P,N=[[I,R,I,F],[I,F,D,F],[D,F,D,R],[D,R,I,R]].map(T);if(!N.reduce(function(t,e){return t^!!o.segmentsIntersect(u,f,u+1e6,f+1e6,e[0],e[1],e[2],e[3])},!1)){N.forEach(function(t){var e=o.segmentsIntersect(h,d,u,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,d=e.y)});var j=e.arrowwidth,V=e.arrowcolor,U=e.arrowside,q=C.append(\"g\").style({opacity:l.opacity(V)}).classed(\"annotation-arrow-g\",!0),H=q.append(\"path\").attr(\"d\",\"M\"+h+\",\"+d+\"L\"+u+\",\"+f).style(\"stroke-width\",j+\"px\").call(l.stroke,l.rgb(V));if(g(H,U,e),_.annotationPosition&&H.node().parentNode&&!a){var G=u,W=f;if(e.standoff){var Y=Math.sqrt(Math.pow(u-h,2)+Math.pow(f-d,2));G+=e.standoff*(h-u)/Y,W+=e.standoff*(d-f)/Y}var X,Z,$=q.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(h-G)+\",\"+(d-W),transform:\"translate(\"+G+\",\"+W+\")\"}).style(\"stroke-width\",j+6+\"px\").call(l.stroke,\"rgba(0,0,0,0)\").call(l.fill,\"rgba(0,0,0,0)\");p.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(O);X=t.x,Z=t.y,s&&s.autorange&&k(s._name+\".autorange\",!0),m&&m.autorange&&k(m._name+\".autorange\",!0)},moveFn:function(t,r){var n=w(X,Z),i=n[0]+t,a=n[1]+r;O.call(c.setTranslate,i,a),M(\"x\",s?s.p2r(s.r2p(e.x)+t):e.x+t/b.w),M(\"y\",m?m.p2r(m.r2p(e.y)+r):e.y-r/b.h),e.axref===e.xref&&M(\"ax\",s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&M(\"ay\",m.p2r(m.r2p(e.ay)+r)),q.attr(\"transform\",\"translate(\"+t+\",\"+r+\")\"),L.attr({transform:\"rotate(\"+E+\",\"+i+\",\"+a+\")\"})},doneFn:function(){i.call(\"relayout\",t,A());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&yt(0,0),z)p.init({element:O.node(),gd:t,prepFn:function(){vt=L.attr(\"transform\")},moveFn:function(t,r){var n=\"pointer\";if(e.showarrow)e.axref===e.xref?M(\"ax\",s.p2r(s.r2p(e.ax)+t)):M(\"ax\",e.ax+t),e.ayref===e.yref?M(\"ay\",m.p2r(m.r2p(e.ay)+r)):M(\"ay\",e.ay+r),yt(t,r);else{if(a)return;var i,o;if(s)i=s.p2r(s.r2p(e.x)+t);else{var l=e._xsize/b.w,c=e.x+(e._xshift-e.xshift)/b.w-l/2;i=p.align(c+t/b.w,l,0,1,e.xanchor)}if(m)o=m.p2r(m.r2p(e.y)+r);else{var u=e._ysize/b.h,f=e.y-(e._yshift+e.yshift)/b.h-u/2;o=p.align(f-r/b.h,u,0,1,e.yanchor)}M(\"x\",i),M(\"y\",o),s&&m||(n=p.getCursor(s?.5:i,m?.5:o,e.xanchor,e.yanchor))}L.attr({transform:\"translate(\"+t+\",\"+r+\")\"+vt}),h(O,n)},doneFn:function(){h(O),i.call(\"relayout\",t,A());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}else O.remove()}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&m(t,r);return a.previousPromises(t)},drawOne:m,drawRaw:v}},{\"../../lib\":693,\"../../lib/setcursor\":714,\"../../lib/svg_text_utils\":718,\"../../plot_api/plot_template\":732,\"../../plots/cartesian/axes\":742,\"../../plots/plots\":805,\"../../registry\":825,\"../color\":567,\"../dragelement\":589,\"../drawing\":592,\"../fx\":609,\"./draw_arrow_head\":557,d3:147}],557:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../color\"),a=t(\"./arrow_paths\");e.exports=function(t,e,r){var o,s,l,c,u=t.node(),f=a[r.arrowhead||0],h=a[r.startarrowhead||0],p=(r.arrowwidth||1)*(r.arrowsize||1),d=(r.arrowwidth||1)*(r.startarrowsize||1),g=e.indexOf(\"start\")>=0,m=e.indexOf(\"end\")>=0,v=f.backoff*p+r.standoff,y=h.backoff*d+r.startstandoff;if(\"line\"===u.nodeName){o={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},s={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var x=o.x-s.x,b=o.y-s.y;if(c=(l=Math.atan2(b,x))+Math.PI,v&&y&&v+y>Math.sqrt(x*x+b*b))return void z();if(v){if(v*v>x*x+b*b)return void z();var _=v*Math.cos(l),w=v*Math.sin(l);s.x+=_,s.y+=w,t.attr({x2:s.x,y2:s.y})}if(y){if(y*y>x*x+b*b)return void z();var k=y*Math.cos(l),M=y*Math.sin(l);o.x-=k,o.y-=M,t.attr({x1:o.x,y1:o.y})}}else if(\"path\"===u.nodeName){var A=u.getTotalLength(),T=\"\";if(A<v+y)return void z();var S=u.getPointAtLength(0),E=u.getPointAtLength(.1);l=Math.atan2(S.y-E.y,S.x-E.x),o=u.getPointAtLength(Math.min(y,A)),T=\"0px,\"+y+\"px,\";var C=u.getPointAtLength(A),L=u.getPointAtLength(A-.1);c=Math.atan2(C.y-L.y,C.x-L.x),s=u.getPointAtLength(Math.max(0,A-v)),T+=A-(T?y+v:v)+\"px,\"+A+\"px\",t.style(\"stroke-dasharray\",T)}function z(){t.style(\"stroke-dasharray\",\"0px,100px\")}function P(e,a,o,s){e.path&&(e.noRotate&&(o=0),n.select(u.parentNode).append(\"path\").attr({class:t.attr(\"class\"),d:e.path,transform:\"translate(\"+a.x+\",\"+a.y+\")\"+(o?\"rotate(\"+180*o/Math.PI+\")\":\"\")+\"scale(\"+s+\")\"}).style({fill:i.rgb(r.arrowcolor),\"stroke-width\":0}))}g&&P(h,o,l,d),m&&P(f,s,c,p)}},{\"../color\":567,\"./arrow_paths\":549,d3:147}],558:[function(t,e,r){\"use strict\";var n=t(\"./draw\"),i=t(\"./click\");e.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),includeBasePlot:t(\"../../plots/cartesian/include_components\")(\"annotations\"),calcAutorange:t(\"./calc_autorange\"),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:t(\"./convert_coords\")}},{\"../../plots/cartesian/include_components\":752,\"./attributes\":550,\"./calc_autorange\":551,\"./click\":552,\"./convert_coords\":554,\"./defaults\":555,\"./draw\":556}],559:[function(t,e,r){\"use strict\";var n=t(\"../annotations/attributes\"),i=t(\"../../plot_api/edit_types\").overrideAll,a=t(\"../../plot_api/plot_template\").templatedArray;e.exports=i(a(\"annotation\",{visible:n.visible,x:{valType:\"any\"},y:{valType:\"any\"},z:{valType:\"any\"},ax:{valType:\"number\"},ay:{valType:\"number\"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),\"calc\",\"from-root\")},{\"../../plot_api/edit_types\":725,\"../../plot_api/plot_template\":732,\"../annotations/attributes\":550}],560:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\");function a(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:\"linear\",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),i.setConvert(t._xa),t._xa._offset=a.l+r.x[0]*a.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*a.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),i.setConvert(t._ya),t._ya._offset=a.t+(1-r.y[1])*a.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*a.h*(r.y[1]-r.y[0])}}e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)a(e[r],t);t.fullLayout._infolayer.selectAll(\".annotation-\"+t.id).remove()}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742}],561:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/array_container_defaults\"),o=t(\"../annotations/common_defaults\"),s=t(\"./attributes\");function l(t,e,r,a){function l(r,i){return n.coerce(t,e,s,r,i)}function c(t){var n=t+\"axis\",a={_fullLayout:{}};return a._fullLayout[n]=r[n],i.coercePosition(e,a,l,t,t,.5)}l(\"visible\")&&(o(t,e,a.fullLayout,l),c(\"x\"),c(\"y\"),c(\"z\"),n.noneOrAll(t,e,[\"x\",\"y\",\"z\"]),e.xref=\"x\",e.yref=\"y\",e.zref=\"z\",l(\"xanchor\"),l(\"yanchor\"),l(\"xshift\"),l(\"yshift\"),e.showarrow&&(e.axref=\"pixel\",e.ayref=\"pixel\",l(\"ax\",-10),l(\"ay\",-30),n.noneOrAll(t,e,[\"ax\",\"ay\"])))}e.exports=function(t,e,r){a(t,e,{name:\"annotations\",handleItemDefaults:l,fullLayout:r.fullLayout})}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"../../plots/cartesian/axes\":742,\"../annotations/common_defaults\":553,\"./attributes\":559}],562:[function(t,e,r){\"use strict\";var n=t(\"../annotations/draw\").drawRaw,i=t(\"../../plots/gl3d/project\"),a=[\"x\",\"y\",\"z\"];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s<o.length;s++){for(var l=o[s],c=!1,u=0;u<3;u++){var f=a[u],h=l[f],p=e[f+\"axis\"].r2fraction(h);if(p<0||p>1){c=!0;break}}c?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+s+'\"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{\"../../plots/gl3d/project\":793,\"../annotations/draw\":556}],563:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\");e.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:t(\"./attributes\")}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var a=r.attrRegex,o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];a.test(l)&&(t[l].annotations||[]).length&&(i.pushUnique(e._basePlotModules,r),i.pushUnique(e._subplots.gl3d,l))}},convert:t(\"./convert\"),draw:t(\"./draw\")}},{\"../../lib\":693,\"../../registry\":825,\"./attributes\":559,\"./convert\":560,\"./defaults\":561,\"./draw\":562}],564:[function(t,e,r){\"use strict\";e.exports=t(\"world-calendars/dist/main\"),t(\"world-calendars/dist/plus\"),t(\"world-calendars/dist/calendars/chinese\"),t(\"world-calendars/dist/calendars/coptic\"),t(\"world-calendars/dist/calendars/discworld\"),t(\"world-calendars/dist/calendars/ethiopian\"),t(\"world-calendars/dist/calendars/hebrew\"),t(\"world-calendars/dist/calendars/islamic\"),t(\"world-calendars/dist/calendars/julian\"),t(\"world-calendars/dist/calendars/mayan\"),t(\"world-calendars/dist/calendars/nanakshahi\"),t(\"world-calendars/dist/calendars/nepali\"),t(\"world-calendars/dist/calendars/persian\"),t(\"world-calendars/dist/calendars/taiwan\"),t(\"world-calendars/dist/calendars/thai\"),t(\"world-calendars/dist/calendars/ummalqura\")},{\"world-calendars/dist/calendars/chinese\":531,\"world-calendars/dist/calendars/coptic\":532,\"world-calendars/dist/calendars/discworld\":533,\"world-calendars/dist/calendars/ethiopian\":534,\"world-calendars/dist/calendars/hebrew\":535,\"world-calendars/dist/calendars/islamic\":536,\"world-calendars/dist/calendars/julian\":537,\"world-calendars/dist/calendars/mayan\":538,\"world-calendars/dist/calendars/nanakshahi\":539,\"world-calendars/dist/calendars/nepali\":540,\"world-calendars/dist/calendars/persian\":541,\"world-calendars/dist/calendars/taiwan\":542,\"world-calendars/dist/calendars/thai\":543,\"world-calendars/dist/calendars/ummalqura\":544,\"world-calendars/dist/main\":545,\"world-calendars/dist/plus\":546}],565:[function(t,e,r){\"use strict\";var n=t(\"./calendars\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\"),o=a.EPOCHJD,s=a.ONEDAY,l={valType:\"enumerated\",values:Object.keys(n.calendars),editType:\"calc\",dflt:\"gregorian\"},c=function(t,e,r,n){var a={};return a[r]=l,i.coerce(t,e,a,r,n)},u=\"##\",f={d:{0:\"dd\",\"-\":\"d\"},e:{0:\"d\",\"-\":\"d\"},a:{0:\"D\",\"-\":\"D\"},A:{0:\"DD\",\"-\":\"DD\"},j:{0:\"oo\",\"-\":\"o\"},W:{0:\"ww\",\"-\":\"w\"},m:{0:\"mm\",\"-\":\"m\"},b:{0:\"M\",\"-\":\"M\"},B:{0:\"MM\",\"-\":\"MM\"},y:{0:\"yy\",\"-\":\"yy\"},Y:{0:\"yyyy\",\"-\":\"yyyy\"},U:u,w:u,c:{0:\"D M d %X yyyy\",\"-\":\"D M d %X yyyy\"},x:{0:\"mm/dd/yyyy\",\"-\":\"mm/dd/yyyy\"}};var h={};function p(t){var e=h[t];return e||(e=h[t]=n.instance(t))}function d(t){return i.extendFlat({},l,{description:t})}function g(t){return\"Sets the calendar system to use with `\"+t+\"` date data.\"}var m={xcalendar:d(g(\"x\"))},v=i.extendFlat({},m,{ycalendar:d(g(\"y\"))}),y=i.extendFlat({},v,{zcalendar:d(g(\"z\"))}),x=d([\"Sets the calendar system to use for `range` and `tick0`\",\"if this is a date axis. This does not set the calendar for\",\"interpreting data on this axis, that's specified in the trace\",\"or via the global `layout.calendar`\"].join(\" \"));e.exports={moduleType:\"component\",name:\"calendars\",schema:{traces:{scatter:v,bar:v,box:v,heatmap:v,contour:v,histogram:v,histogram2d:v,histogram2dcontour:v,scatter3d:y,surface:y,mesh3d:y,scattergl:v,ohlc:m,candlestick:m},layout:{calendar:d([\"Sets the default calendar system to use for interpreting and\",\"displaying dates throughout the plot.\"].join(\" \"))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:d([\"Sets the calendar system to use for `value`, if it is a date.\"].join(\" \")),targetcalendar:d([\"Sets the calendar system to use for `target`, if it is an\",\"array of dates. If `target` is a string (eg *x*) we use the\",\"corresponding trace attribute (eg `xcalendar`) if it exists,\",\"even if `targetcalendar` is provided.\"].join(\" \"))}}},layoutAttributes:l,handleDefaults:c,handleTraceDefaults:function(t,e,r,n){for(var i=0;i<r.length;i++)c(t,e,r[i]+\"calendar\",n.calendar)},CANONICAL_SUNDAY:{chinese:\"2000-01-02\",coptic:\"2000-01-03\",discworld:\"2000-01-03\",ethiopian:\"2000-01-05\",hebrew:\"5000-01-01\",islamic:\"1000-01-02\",julian:\"2000-01-03\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-05\",nepali:\"2000-01-05\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-04\",thai:\"2000-01-04\",ummalqura:\"1400-01-06\"},CANONICAL_TICK:{chinese:\"2000-01-01\",coptic:\"2000-01-01\",discworld:\"2000-01-01\",ethiopian:\"2000-01-01\",hebrew:\"5000-01-01\",islamic:\"1000-01-01\",julian:\"2000-01-01\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-01\",nepali:\"2000-01-01\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-01\",thai:\"2000-01-01\",ummalqura:\"1400-01-01\"},DFLTRANGE:{chinese:[\"2000-01-01\",\"2001-01-01\"],coptic:[\"1700-01-01\",\"1701-01-01\"],discworld:[\"1800-01-01\",\"1801-01-01\"],ethiopian:[\"2000-01-01\",\"2001-01-01\"],hebrew:[\"5700-01-01\",\"5701-01-01\"],islamic:[\"1400-01-01\",\"1401-01-01\"],julian:[\"2000-01-01\",\"2001-01-01\"],mayan:[\"5200-01-01\",\"5201-01-01\"],nanakshahi:[\"0500-01-01\",\"0501-01-01\"],nepali:[\"2000-01-01\",\"2001-01-01\"],persian:[\"1400-01-01\",\"1401-01-01\"],jalali:[\"1400-01-01\",\"1401-01-01\"],taiwan:[\"0100-01-01\",\"0101-01-01\"],thai:[\"2500-01-01\",\"2501-01-01\"],ummalqura:[\"1400-01-01\",\"1401-01-01\"]},getCal:p,worldCalFmt:function(t,e,r){for(var n,i,a,l,c,h=Math.floor((e+.05)/s)+o,d=p(r).fromJD(h),g=0;-1!==(g=t.indexOf(\"%\",g));)\"0\"===(n=t.charAt(g+1))||\"-\"===n||\"_\"===n?(a=3,i=t.charAt(g+2),\"_\"===n&&(n=\"-\")):(i=n,n=\"0\",a=2),(l=f[i])?(c=l===u?u:d.formatDate(l[n]),t=t.substr(0,g)+c+t.substr(g+a),g+=c.length):g+=a;return t}}},{\"../../constants/numerical\":670,\"../../lib\":693,\"./calendars\":564}],566:[function(t,e,r){\"use strict\";r.defaults=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"],r.defaultLine=\"#444\",r.lightLine=\"#eee\",r.background=\"#fff\",r.borderLine=\"#BEC8D9\",r.lightFraction=1e3/11},{}],567:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\"),i=t(\"fast-isnumeric\"),a=e.exports={},o=t(\"./attributes\");a.defaults=o.defaults;var s=a.defaultLine=o.defaultLine;a.lightLine=o.lightLine;var l=a.background=o.background;function c(t){if(i(t)||\"string\"!=typeof t)return t;var e=t.trim();if(\"rgb\"!==e.substr(0,3))return t;var r=e.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!r)return t;var n=r[1].trim().split(/\\s*[\\s,]\\s*/),a=\"a\"===e.charAt(3)&&4===n.length;if(!a&&3!==n.length)return t;for(var o=0;o<n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]>=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+\", \"+Math.round(255*n[1])+\", \"+Math.round(255*n[2]);return a?\"rgba(\"+s+\", \"+n[3]+\")\":\"rgb(\"+s+\")\"}a.tinyRGB=function(t){var e=t.toRgb();return\"rgb(\"+Math.round(e.r)+\", \"+Math.round(e.g)+\", \"+Math.round(e.b)+\")\"},a.rgb=function(t){return a.tinyRGB(n(t))},a.opacity=function(t){return t?n(t).getAlpha():0},a.addOpacity=function(t,e){var r=n(t).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+e+\")\"},a.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||l).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},a.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(a.combine(t,l))),(i.isDark()?e?i.lighten(e):l:r?i.darken(r):s).toString()},a.stroke=function(t,e){var r=n(e);t.style({stroke:a.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})},a.fill=function(t,e){var r=n(e);t.style({fill:a.tinyRGB(r),\"fill-opacity\":r.getAlpha()})},a.clean=function(t){if(t&&\"object\"==typeof t){var e,r,n,i,o=Object.keys(t);for(e=0;e<o.length;e++)if(i=t[n=o[e]],\"color\"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=c(i[r]);else t[n]=c(i);else if(\"colorscale\"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=c(i[r][1]));else if(Array.isArray(i)){var s=i[0];if(!Array.isArray(s)&&s&&\"object\"==typeof s)for(r=0;r<i.length;r++)a.clean(i[r])}else i&&\"object\"==typeof i&&a.clean(i)}}},{\"./attributes\":566,\"fast-isnumeric\":213,tinycolor2:511}],568:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/layout_attributes\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"../../plot_api/edit_types\").overrideAll;e.exports=o({thicknessmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\"},thickness:{valType:\"number\",min:0,dflt:30},lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",dflt:1.02,min:-2,max:3},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},xpad:{valType:\"number\",min:0,dflt:10},y:{valType:\"number\",dflt:.5,min:-2,max:3},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\"},ypad:{valType:\"number\",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:\"\"}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:i({}),tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,showexponent:n.showexponent,title:{valType:\"string\"},titlefont:i({}),titleside:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"],dflt:\"top\"}},\"colorbars\",\"from-root\")},{\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/cartesian/layout_attributes\":754,\"../../plots/font_attributes\":768}],569:[function(t,e,r){\"use strict\";var n=t(\"./draw\");e.exports=function(t,e,r){if(\"function\"==typeof r)return r(t,e);var i=e[0].trace,a=\"cb\"+i.uid,o=r.container,s=o?i[o]:i;(t._fullLayout._infolayer.selectAll(\".\"+a).remove(),s&&s.showscale)&&(e[0].t.cb=n(t,a)).fillgradient(s.colorscale).zrange([s[r.min],s[r.max]]).options(s.colorbar)()}},{\"./draw\":572}],570:[function(t,e,r){\"use strict\";e.exports={cn:{colorbar:\"colorbar\",cbbg:\"cbbg\",cbfill:\"cbfill\",cbfills:\"cbfills\",cbline:\"cbline\",cblines:\"cblines\",cbaxis:\"cbaxis\",cbtitleunshift:\"cbtitleunshift\",cbtitle:\"cbtitle\",cboutline:\"cboutline\",crisp:\"crisp\",jsPlaceholder:\"js-placeholder\"}}},{}],571:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plot_api/plot_template\"),a=t(\"../../plots/cartesian/tick_value_defaults\"),o=t(\"../../plots/cartesian/tick_mark_defaults\"),s=t(\"../../plots/cartesian/tick_label_defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r){var c=i.newContainer(e,\"colorbar\"),u=t.colorbar||{};function f(t,e){return n.coerce(u,c,l,t,e)}var h=f(\"thicknessmode\");f(\"thickness\",\"fraction\"===h?30/(r.width-r.margin.l-r.margin.r):30);var p=f(\"lenmode\");f(\"len\",\"fraction\"===p?1:r.height-r.margin.t-r.margin.b),f(\"x\"),f(\"xanchor\"),f(\"xpad\"),f(\"y\"),f(\"yanchor\"),f(\"ypad\"),n.noneOrAll(u,c,[\"x\",\"y\"]),f(\"outlinecolor\"),f(\"outlinewidth\"),f(\"bordercolor\"),f(\"borderwidth\"),f(\"bgcolor\"),a(u,c,f,\"linear\");var d={outerTicks:!1,font:r.font};s(u,c,f,\"linear\",d),o(u,c,f,\"linear\",d),f(\"title\",r._dfltTitle.colorbar),n.coerceFont(f,\"titlefont\",r.font),f(\"titleside\")}},{\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../plots/cartesian/tick_label_defaults\":761,\"../../plots/cartesian/tick_mark_defaults\":762,\"../../plots/cartesian/tick_value_defaults\":763,\"./attributes\":568}],572:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../dragelement\"),c=t(\"../../lib\"),u=t(\"../../lib/extend\").extendFlat,f=t(\"../../lib/setcursor\"),h=t(\"../drawing\"),p=t(\"../color\"),d=t(\"../titles\"),g=t(\"../../lib/svg_text_utils\"),m=t(\"../../constants/alignment\"),v=m.LINE_SPACING,y=m.FROM_TL,x=m.FROM_BR,b=t(\"../../plots/cartesian/axis_defaults\"),_=t(\"../../plots/cartesian/position_defaults\"),w=t(\"../../plots/cartesian/layout_attributes\"),k=t(\"./attributes\"),M=t(\"./constants\").cn;e.exports=function(t,e){var r={};for(var m in k)r[m]=null;function A(){var m=t._fullLayout,k=m._size;if(\"function\"==typeof r.fillcolor||\"function\"==typeof r.line.color||r.fillgradient){var S,E,C=r.zrange||n.extent((\"function\"==typeof r.fillcolor?r.fillcolor:r.line.color).domain()),L=[],z=[],P=\"function\"==typeof r.line.color?r.line.color:function(){return r.line.color},O=\"function\"==typeof r.fillcolor?r.fillcolor:function(){return r.fillcolor},I=r.levels.end+r.levels.size/100,D=r.levels.size,R=1.001*C[0]-.001*C[1],B=1.001*C[1]-.001*C[0];for(E=0;E<1e5&&(S=r.levels.start+E*D,!(D>0?S>=I:S<=I));E++)S>R&&S<B&&L.push(S);if(r.fillgradient)z=[0];else if(\"function\"==typeof r.fillcolor)if(r.filllevels)for(I=r.filllevels.end+r.filllevels.size/100,D=r.filllevels.size,E=0;E<1e5&&(S=r.filllevels.start+E*D,!(D>0?S>=I:S<=I));E++)S>C[0]&&S<C[1]&&z.push(S);else(z=L.map(function(t){return t-r.levels.size/2})).push(z[z.length-1]+r.levels.size);else r.fillcolor&&\"string\"==typeof r.fillcolor&&(z=[0]);r.levels.size<0&&(L.reverse(),z.reverse());var F,N=k.h,j=k.w,V=Math.round(r.thickness*(\"fraction\"===r.thicknessmode?j:1)),U=V/k.w,q=Math.round(r.len*(\"fraction\"===r.lenmode?N:1)),H=q/k.h,G=r.xpad/k.w,W=(r.borderwidth+r.outlinewidth)/2,Y=r.ypad/k.h,X=Math.round(r.x*k.w+r.xpad),Z=r.x-U*({middle:.5,right:1}[r.xanchor]||0),$=r.y+H*(({top:-.5,bottom:.5}[r.yanchor]||0)-.5),J=Math.round(k.h*(1-$)),K=J-q,Q={type:\"linear\",range:C,tickmode:r.tickmode,nticks:r.nticks,tick0:r.tick0,dtick:r.dtick,tickvals:r.tickvals,ticktext:r.ticktext,ticks:r.ticks,ticklen:r.ticklen,tickwidth:r.tickwidth,tickcolor:r.tickcolor,showticklabels:r.showticklabels,tickfont:r.tickfont,tickangle:r.tickangle,tickformat:r.tickformat,exponentformat:r.exponentformat,separatethousands:r.separatethousands,showexponent:r.showexponent,showtickprefix:r.showtickprefix,tickprefix:r.tickprefix,showticksuffix:r.showticksuffix,ticksuffix:r.ticksuffix,title:r.title,titlefont:r.titlefont,showline:!0,anchor:\"free\",position:1},tt={type:\"linear\",_id:\"y\"+e},et={letter:\"y\",font:m.font,noHover:!0,calendar:m.calendar};if(b(Q,tt,mt,et,m),_(Q,tt,mt,et),tt.position=r.x+G+U,A.axis=tt,-1!==[\"top\",\"bottom\"].indexOf(r.titleside)&&(tt.titleside=r.titleside,tt.titlex=r.x+G,tt.titley=$+(\"top\"===r.titleside?H-Y:Y)),r.line.color&&\"auto\"===r.tickmode){tt.tickmode=\"linear\",tt.tick0=r.levels.start;var rt=r.levels.size,nt=c.constrain((J-K)/50,4,15)+1,it=(C[1]-C[0])/((r.nticks||nt)*rt);if(it>1){var at=Math.pow(10,Math.floor(Math.log(it)/Math.LN10));rt*=at*c.roundUp(it/at,[2,5,10]),(Math.abs(r.levels.start)/r.levels.size+1e-6)%1<2e-6&&(tt.tick0=0)}tt.dtick=rt}tt.domain=[$+Y,$+H-Y],tt.setScale();var ot=c.ensureSingle(m._infolayer,\"g\",e,function(t){t.classed(M.colorbar,!0).each(function(){var t=n.select(this);t.append(\"rect\").classed(M.cbbg,!0),t.append(\"g\").classed(M.cbfills,!0),t.append(\"g\").classed(M.cblines,!0),t.append(\"g\").classed(M.cbaxis,!0).classed(M.crisp,!0),t.append(\"g\").classed(M.cbtitleunshift,!0).append(\"g\").classed(M.cbtitle,!0),t.append(\"rect\").classed(M.cboutline,!0),t.select(\".cbtitle\").datum(0)})});ot.attr(\"transform\",\"translate(\"+Math.round(k.l)+\",\"+Math.round(k.t)+\")\");var st=ot.select(\".cbtitleunshift\").attr(\"transform\",\"translate(-\"+Math.round(k.l)+\",-\"+Math.round(k.t)+\")\");tt._axislayer=ot.select(\".cbaxis\");var lt=0;if(-1!==[\"top\",\"bottom\"].indexOf(r.titleside)){var ct,ut=k.l+(r.x+G)*k.w,ft=tt.titlefont.size;ct=\"top\"===r.titleside?(1-($+H-Y))*k.h+k.t+3+.75*ft:(1-($+Y))*k.h+k.t-3-.25*ft,vt(tt._id+\"title\",{attributes:{x:ut,y:ct,\"text-anchor\":\"start\"}})}var ht,pt,dt,gt=c.syncOrAsync([a.previousPromises,function(){if(-1!==[\"top\",\"bottom\"].indexOf(r.titleside)){var a=ot.select(\".cbtitle\"),o=a.select(\"text\"),l=[-r.outlinewidth/2,r.outlinewidth/2],u=a.select(\".h\"+tt._id+\"title-math-group\").node(),f=15.6;if(o.node()&&(f=parseInt(o.node().style.fontSize,10)*v),u?(lt=h.bBox(u).height)>f&&(l[1]-=(lt-f)/2):o.node()&&!o.classed(M.jsPlaceholder)&&(lt=h.bBox(o.node()).height),lt){if(lt+=5,\"top\"===r.titleside)tt.domain[1]-=lt/k.h,l[1]*=-1;else{tt.domain[0]+=lt/k.h;var p=g.lineCount(o);l[1]+=(1-p)*f}a.attr(\"transform\",\"translate(\"+l+\")\"),tt.setScale()}}ot.selectAll(\".cbfills,.cblines\").attr(\"transform\",\"translate(0,\"+Math.round(k.h*(1-tt.domain[1]))+\")\"),tt._axislayer.attr(\"transform\",\"translate(0,\"+Math.round(-k.t)+\")\");var d=ot.select(\".cbfills\").selectAll(\"rect.cbfill\").data(z);d.enter().append(\"rect\").classed(M.cbfill,!0).style(\"stroke\",\"none\"),d.exit().remove();var y=C.map(tt.c2p).map(Math.round).sort(function(t,e){return t-e});d.each(function(a,o){var s=[0===o?C[0]:(z[o]+z[o-1])/2,o===z.length-1?C[1]:(z[o]+z[o+1])/2].map(tt.c2p).map(Math.round);s[1]=c.constrain(s[1]+(s[1]>s[0])?1:-1,y[0],y[1]);var l=n.select(this).attr({x:X,width:Math.max(V,2),y:n.min(s),height:Math.max(n.max(s)-n.min(s),2)});if(r.fillgradient)h.gradient(l,t,e,\"vertical\",r.fillgradient,\"fill\");else{var u=O(a).replace(\"e-\",\"\");l.attr(\"fill\",i(u).toHexString())}});var x=ot.select(\".cblines\").selectAll(\"path.cbline\").data(r.line.color&&r.line.width?L:[]);return x.enter().append(\"path\").classed(M.cbline,!0),x.exit().remove(),x.each(function(t){n.select(this).attr(\"d\",\"M\"+X+\",\"+(Math.round(tt.c2p(t))+r.line.width/2%1)+\"h\"+V).call(h.lineGroupStyle,r.line.width,P(t),r.line.dash)}),tt._axislayer.selectAll(\"g.\"+tt._id+\"tick,path\").remove(),tt._pos=X+V+(r.outlinewidth||0)/2-(\"outside\"===r.ticks?1:0),tt.side=\"right\",c.syncOrAsync([function(){return s.doTicksSingle(t,tt,!0)},function(){if(-1===[\"top\",\"bottom\"].indexOf(r.titleside)){var e=tt.titlefont.size,i=tt._offset+tt._length/2,a=k.l+(tt.position||0)*k.w+(\"right\"===tt.side?10+e*(tt.showticklabels?1:.5):-10-e*(tt.showticklabels?.5:0));vt(\"h\"+tt._id+\"title\",{avoid:{selection:n.select(t).selectAll(\"g.\"+tt._id+\"tick\"),side:r.titleside,offsetLeft:k.l,offsetTop:0,maxShift:m.width},attributes:{x:a,y:i,\"text-anchor\":\"middle\"},transform:{rotate:\"-90\",offset:0}})}}])},a.previousPromises,function(){var n=V+r.outlinewidth/2+h.bBox(tt._axislayer.node()).width;if((F=st.select(\"text\")).node()&&!F.classed(M.jsPlaceholder)){var i,o=st.select(\".h\"+tt._id+\"title-math-group\").node();i=o&&-1!==[\"top\",\"bottom\"].indexOf(r.titleside)?h.bBox(o).width:h.bBox(st.node()).right-X-k.l,n=Math.max(n,i)}var s=2*r.xpad+n+r.borderwidth+r.outlinewidth/2,l=J-K;ot.select(\".cbbg\").attr({x:X-r.xpad-(r.borderwidth+r.outlinewidth)/2,y:K-W,width:Math.max(s,2),height:Math.max(l+2*W,2)}).call(p.fill,r.bgcolor).call(p.stroke,r.bordercolor).style({\"stroke-width\":r.borderwidth}),ot.selectAll(\".cboutline\").attr({x:X,y:K+r.ypad+(\"top\"===r.titleside?lt:0),width:Math.max(V,2),height:Math.max(l-2*r.ypad-lt,2)}).call(p.stroke,r.outlinecolor).style({fill:\"None\",\"stroke-width\":r.outlinewidth});var c=({center:.5,right:1}[r.xanchor]||0)*s;ot.attr(\"transform\",\"translate(\"+(k.l-c)+\",\"+k.t+\")\");var u={},f=y[r.yanchor],d=x[r.yanchor];\"pixels\"===r.lenmode?(u.y=r.y,u.t=l*f,u.b=l*d):(u.t=u.b=0,u.yt=r.y+r.len*f,u.yb=r.y-r.len*d);var g=y[r.xanchor],m=x[r.xanchor];if(\"pixels\"===r.thicknessmode)u.x=r.x,u.l=s*g,u.r=s*m;else{var v=s-V;u.l=v*g,u.r=v*m,u.xl=r.x-r.thickness*g,u.xr=r.x+r.thickness*m}a.autoMargin(t,e,u)}],t);if(gt&&gt.then&&(t._promises||[]).push(gt),t._context.edits.colorbarPosition)l.init({element:ot.node(),gd:t,prepFn:function(){ht=ot.attr(\"transform\"),f(ot)},moveFn:function(t,e){ot.attr(\"transform\",ht+\" translate(\"+t+\",\"+e+\")\"),pt=l.align(Z+t/k.w,U,0,1,r.xanchor),dt=l.align($-e/k.h,H,0,1,r.yanchor);var n=l.getCursor(pt,dt,r.xanchor,r.yanchor);f(ot,n)},doneFn:function(){f(ot),void 0!==pt&&void 0!==dt&&o.call(\"restyle\",t,{\"colorbar.x\":pt,\"colorbar.y\":dt},T().index)}});return gt}function mt(t,e){return c.coerce(Q,tt,w,t,e)}function vt(e,r){var n=T(),i=\"colorbar.title\",a=n._module.colorbar.container;a&&(i=a+\".\"+i);var o={propContainer:tt,propName:i,traceIndex:n.index,placeholder:m._dfltTitle.colorbar,containerGroup:ot.select(\".cbtitle\")},s=\"h\"===e.charAt(0)?e.substr(1):\"h\"+e;ot.selectAll(\".\"+s+\",.\"+s+\"-math-group\").remove(),d.draw(t,e,u(o,r||{}))}m._infolayer.selectAll(\"g.\"+e).remove()}function T(){var r,n,i=e.substr(2);for(r=0;r<t._fullData.length;r++)if((n=t._fullData[r]).uid===i)return n}return r.fillcolor=null,r.line={color:null,width:null,dash:null},r.levels={start:null,end:null,size:null},r.filllevels=null,r.fillgradient=null,r.zrange=null,Object.keys(r).forEach(function(t){A[t]=function(e){return arguments.length?(r[t]=c.isPlainObject(r[t])?c.extendFlat(r[t],e):e,A):r[t]}}),A.options=function(t){for(var e in t)\"function\"==typeof A[e]&&A[e](t[e]);return A},A._opts=r,A}},{\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/extend\":682,\"../../lib/setcursor\":714,\"../../lib/svg_text_utils\":718,\"../../plots/cartesian/axes\":742,\"../../plots/cartesian/axis_defaults\":744,\"../../plots/cartesian/layout_attributes\":754,\"../../plots/cartesian/position_defaults\":757,\"../../plots/plots\":805,\"../../registry\":825,\"../color\":567,\"../dragelement\":589,\"../drawing\":592,\"../titles\":658,\"./attributes\":568,\"./constants\":570,d3:147,tinycolor2:511}],573:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{\"../../lib\":693}],574:[function(t,e,r){\"use strict\";var n=t(\"./scales.js\");Object.keys(n);function i(t){return\"`\"+t+\"`\"}e.exports=function(t,e){t=t||\"\";var r,a=(e=e||{}).cLetter||\"c\",o=(\"onlyIfNumerical\"in e?e.onlyIfNumerical:Boolean(t),\"noScale\"in e?e.noScale:\"marker.line\"===t),s=\"showScaleDflt\"in e?e.showScaleDflt:\"z\"===a,l=\"string\"==typeof e.colorscaleDflt?n[e.colorscaleDflt]:null,c=e.editTypeOverride||\"\",u=t?t+\".\":\"\";\"colorAttr\"in e?(r=e.colorAttr,e.colorAttr):i(u+(r={z:\"z\",c:\"color\"}[a]));var f=a+\"auto\",h=a+\"min\",p=a+\"max\",d=(i(u+h),i(u+p),{});d[h]=d[p]=void 0;var g={};g[f]=!1;var m={};return\"color\"===r&&(m.color={valType:\"color\",arrayOk:!0,editType:c||\"style\"}),m[f]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:d},m[h]={valType:\"number\",dflt:null,editType:c||\"plot\",impliedEdits:g},m[p]={valType:\"number\",dflt:null,editType:c||\"plot\",impliedEdits:g},m.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:l,impliedEdits:{autocolorscale:!1}},m.autocolorscale={valType:\"boolean\",dflt:!1!==e.autoColorDflt,editType:\"calc\",impliedEdits:{colorscale:void 0}},m.reversescale={valType:\"boolean\",dflt:!1,editType:\"calc\"},o||(m.showscale={valType:\"boolean\",dflt:s,editType:\"calc\"}),m}},{\"./scales.js\":586}],575:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./scales\"),a=t(\"./flip_scale\");e.exports=function(t,e,r,o){var s=t,l=t._input,c=t._fullInput,u=t.updateStyle;function f(e,n,i){void 0===i&&(i=n),u?u(t._input,r?r+\".\"+e:e,n):l[e]=n,s[e]=i,c&&t!==t._fullInput&&(u?u(t._fullInput,r?r+\".\"+e:e,i):c[e]=i)}r&&(s=n.nestedProperty(s,r).get(),l=n.nestedProperty(l,r).get(),c=n.nestedProperty(c,r).get()||{});var h=o+\"auto\",p=o+\"min\",d=o+\"max\",g=s[h],m=s[p],v=s[d],y=s.colorscale;!1===g&&void 0!==m||(m=n.aggNums(Math.min,null,e)),!1===g&&void 0!==v||(v=n.aggNums(Math.max,null,e)),m===v&&(m-=.5,v+=.5),f(p,m),f(d,v),f(h,!1!==g||void 0===m&&void 0===v),s.autocolorscale&&(f(\"colorscale\",y=m*v<0?i.RdBu:m>=0?i.Reds:i.Blues,s.reversescale?a(y):y),l.autocolorscale||f(\"autocolorscale\",!1))}},{\"../../lib\":693,\"./flip_scale\":579,\"./scales\":586}],576:[function(t,e,r){\"use strict\";var n=t(\"./scales\");e.exports=n.RdBu},{\"./scales\":586}],577:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../colorbar/has_colorbar\"),o=t(\"../colorbar/defaults\"),s=t(\"./is_valid_scale\"),l=t(\"./flip_scale\");e.exports=function(t,e,r,c,u){var f,h=u.prefix,p=u.cLetter,d=h.slice(0,h.length-1),g=h?i.nestedProperty(t,d).get()||{}:t,m=h?i.nestedProperty(e,d).get()||{}:e,v=g[p+\"min\"],y=g[p+\"max\"],x=g.colorscale;c(h+p+\"auto\",!(n(v)&&n(y)&&v<y)),c(h+p+\"min\"),c(h+p+\"max\"),void 0!==x&&(f=!s(x)),c(h+\"autocolorscale\",f);var b,_=c(h+\"colorscale\");(c(h+\"reversescale\")&&(m.colorscale=l(_)),\"marker.line.\"!==h)&&(u.noScale||(h&&(b=a(g)),c(h+\"showscale\",b)&&o(g,m,r)))}},{\"../../lib\":693,\"../colorbar/defaults\":571,\"../colorbar/has_colorbar\":573,\"./flip_scale\":579,\"./is_valid_scale\":583,\"fast-isnumeric\":213}],578:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o<n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}}},{}],579:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i>=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],580:[function(t,e,r){\"use strict\";var n=t(\"./scales\"),i=t(\"./default_scale\"),a=t(\"./is_valid_scale_array\");e.exports=function(t,e){if(e||(e=i),!t)return e;function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return\"string\"==typeof t&&(r(),\"string\"==typeof t&&r()),a(t)?t:e}},{\"./default_scale\":576,\"./is_valid_scale_array\":584,\"./scales\":586}],581:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"./is_valid_scale\");e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(i.isArrayOrTypedArray(o))for(var l=0;l<o.length;l++)if(n(o[l])){s=!0;break}return i.isPlainObject(r)&&(s||!0===r.showscale||n(r.cmin)&&n(r.cmax)||a(r.colorscale)||i.isPlainObject(r.colorbar))}},{\"../../lib\":693,\"./is_valid_scale\":583,\"fast-isnumeric\":213}],582:[function(t,e,r){\"use strict\";r.scales=t(\"./scales\"),r.defaultScale=t(\"./default_scale\"),r.attributes=t(\"./attributes\"),r.handleDefaults=t(\"./defaults\"),r.calc=t(\"./calc\"),r.hasColorscale=t(\"./has_colorscale\"),r.isValidScale=t(\"./is_valid_scale\"),r.getScale=t(\"./get_scale\"),r.flipScale=t(\"./flip_scale\"),r.extractScale=t(\"./extract_scale\"),r.makeColorScaleFunc=t(\"./make_color_scale_func\")},{\"./attributes\":574,\"./calc\":575,\"./default_scale\":576,\"./defaults\":577,\"./extract_scale\":578,\"./flip_scale\":579,\"./get_scale\":580,\"./has_colorscale\":581,\"./is_valid_scale\":583,\"./make_color_scale_func\":585,\"./scales\":586}],583:[function(t,e,r){\"use strict\";var n=t(\"./scales\"),i=t(\"./is_valid_scale_array\");e.exports=function(t){return void 0!==n[t]||i(t)}},{\"./is_valid_scale_array\":584,\"./scales\":586}],584:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\");e.exports=function(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var i=t[r];if(2!==i.length||+i[0]<e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}},{tinycolor2:511}],585:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"fast-isnumeric\"),o=t(\"../color\");function s(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return i(e).toRgbString()}e.exports=function(t,e){e=e||{};for(var r=t.domain,l=t.range,c=l.length,u=new Array(c),f=0;f<c;f++){var h=i(l[f]).toRgb();u[f]=[h.r,h.g,h.b,h.a]}var p,d=n.scale.linear().domain(r).range(u).clamp(!0),g=e.noNumericCheck,m=e.returnArray;return(p=g&&m?d:g?function(t){return s(d(t))}:m?function(t){return a(t)?d(t):i(t).isValid()?t:o.defaultLine}:function(t){return a(t)?s(d(t)):i(t).isValid()?t:o.defaultLine}).domain=d.domain,p.range=function(){return l},p}},{\"../color\":567,d3:147,\"fast-isnumeric\":213,tinycolor2:511}],586:[function(t,e,r){\"use strict\";e.exports={Greys:[[0,\"rgb(0,0,0)\"],[1,\"rgb(255,255,255)\"]],YlGnBu:[[0,\"rgb(8,29,88)\"],[.125,\"rgb(37,52,148)\"],[.25,\"rgb(34,94,168)\"],[.375,\"rgb(29,145,192)\"],[.5,\"rgb(65,182,196)\"],[.625,\"rgb(127,205,187)\"],[.75,\"rgb(199,233,180)\"],[.875,\"rgb(237,248,217)\"],[1,\"rgb(255,255,217)\"]],Greens:[[0,\"rgb(0,68,27)\"],[.125,\"rgb(0,109,44)\"],[.25,\"rgb(35,139,69)\"],[.375,\"rgb(65,171,93)\"],[.5,\"rgb(116,196,118)\"],[.625,\"rgb(161,217,155)\"],[.75,\"rgb(199,233,192)\"],[.875,\"rgb(229,245,224)\"],[1,\"rgb(247,252,245)\"]],YlOrRd:[[0,\"rgb(128,0,38)\"],[.125,\"rgb(189,0,38)\"],[.25,\"rgb(227,26,28)\"],[.375,\"rgb(252,78,42)\"],[.5,\"rgb(253,141,60)\"],[.625,\"rgb(254,178,76)\"],[.75,\"rgb(254,217,118)\"],[.875,\"rgb(255,237,160)\"],[1,\"rgb(255,255,204)\"]],Bluered:[[0,\"rgb(0,0,255)\"],[1,\"rgb(255,0,0)\"]],RdBu:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(106,137,247)\"],[.5,\"rgb(190,190,190)\"],[.6,\"rgb(220,170,132)\"],[.7,\"rgb(230,145,90)\"],[1,\"rgb(178,10,28)\"]],Reds:[[0,\"rgb(220,220,220)\"],[.2,\"rgb(245,195,157)\"],[.4,\"rgb(245,160,105)\"],[1,\"rgb(178,10,28)\"]],Blues:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(40,60,190)\"],[.5,\"rgb(70,100,245)\"],[.6,\"rgb(90,120,245)\"],[.7,\"rgb(106,137,247)\"],[1,\"rgb(220,220,220)\"]],Picnic:[[0,\"rgb(0,0,255)\"],[.1,\"rgb(51,153,255)\"],[.2,\"rgb(102,204,255)\"],[.3,\"rgb(153,204,255)\"],[.4,\"rgb(204,204,255)\"],[.5,\"rgb(255,255,255)\"],[.6,\"rgb(255,204,255)\"],[.7,\"rgb(255,153,255)\"],[.8,\"rgb(255,102,204)\"],[.9,\"rgb(255,102,102)\"],[1,\"rgb(255,0,0)\"]],Rainbow:[[0,\"rgb(150,0,90)\"],[.125,\"rgb(0,0,200)\"],[.25,\"rgb(0,25,255)\"],[.375,\"rgb(0,152,255)\"],[.5,\"rgb(44,255,150)\"],[.625,\"rgb(151,255,0)\"],[.75,\"rgb(255,234,0)\"],[.875,\"rgb(255,111,0)\"],[1,\"rgb(255,0,0)\"]],Portland:[[0,\"rgb(12,51,131)\"],[.25,\"rgb(10,136,186)\"],[.5,\"rgb(242,211,56)\"],[.75,\"rgb(242,143,56)\"],[1,\"rgb(217,30,30)\"]],Jet:[[0,\"rgb(0,0,131)\"],[.125,\"rgb(0,60,170)\"],[.375,\"rgb(5,255,255)\"],[.625,\"rgb(255,255,0)\"],[.875,\"rgb(250,0,0)\"],[1,\"rgb(128,0,0)\"]],Hot:[[0,\"rgb(0,0,0)\"],[.3,\"rgb(230,0,0)\"],[.6,\"rgb(255,210,0)\"],[1,\"rgb(255,255,255)\"]],Blackbody:[[0,\"rgb(0,0,0)\"],[.2,\"rgb(230,0,0)\"],[.4,\"rgb(230,210,0)\"],[.7,\"rgb(255,255,255)\"],[1,\"rgb(160,200,255)\"]],Earth:[[0,\"rgb(0,0,130)\"],[.1,\"rgb(0,180,180)\"],[.2,\"rgb(40,210,40)\"],[.4,\"rgb(230,230,50)\"],[.6,\"rgb(120,70,20)\"],[1,\"rgb(255,255,255)\"]],Electric:[[0,\"rgb(0,0,0)\"],[.15,\"rgb(30,0,100)\"],[.4,\"rgb(120,0,100)\"],[.6,\"rgb(160,90,0)\"],[.8,\"rgb(230,200,0)\"],[1,\"rgb(255,250,220)\"]],Viridis:[[0,\"#440154\"],[.06274509803921569,\"#48186a\"],[.12549019607843137,\"#472d7b\"],[.18823529411764706,\"#424086\"],[.25098039215686274,\"#3b528b\"],[.3137254901960784,\"#33638d\"],[.3764705882352941,\"#2c728e\"],[.4392156862745098,\"#26828e\"],[.5019607843137255,\"#21918c\"],[.5647058823529412,\"#1fa088\"],[.6274509803921569,\"#28ae80\"],[.6901960784313725,\"#3fbc73\"],[.7529411764705882,\"#5ec962\"],[.8156862745098039,\"#84d44b\"],[.8784313725490196,\"#addc30\"],[.9411764705882353,\"#d8e219\"],[1,\"#fde725\"]],Cividis:[[0,\"rgb(0,32,76)\"],[.058824,\"rgb(0,42,102)\"],[.117647,\"rgb(0,52,110)\"],[.176471,\"rgb(39,63,108)\"],[.235294,\"rgb(60,74,107)\"],[.294118,\"rgb(76,85,107)\"],[.352941,\"rgb(91,95,109)\"],[.411765,\"rgb(104,106,112)\"],[.470588,\"rgb(117,117,117)\"],[.529412,\"rgb(131,129,120)\"],[.588235,\"rgb(146,140,120)\"],[.647059,\"rgb(161,152,118)\"],[.705882,\"rgb(176,165,114)\"],[.764706,\"rgb(192,177,109)\"],[.823529,\"rgb(209,191,102)\"],[.882353,\"rgb(225,204,92)\"],[.941176,\"rgb(243,219,79)\"],[1,\"rgb(255,233,69)\"]]}},{}],587:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return\"left\"===i||\"bottom\"===i?a:\"center\"===i||\"middle\"===i?s:\"right\"===i||\"top\"===i?o:a<2/3-s?a:o>4/3-s?o:s}},{}],588:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];e.exports=function(t,e,r,a){return t=\"left\"===r?0:\"center\"===r?1:\"right\"===r?2:n.constrain(Math.floor(3*t),0,2),e=\"bottom\"===a?0:\"middle\"===a?1:\"top\"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{\"../../lib\":693}],589:[function(t,e,r){\"use strict\";var n=t(\"mouse-event-offset\"),i=t(\"has-hover\"),a=t(\"has-passive-events\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../plots/cartesian/constants\"),c=t(\"../../constants/interactions\"),u=e.exports={};u.align=t(\"./align\"),u.getCursor=t(\"./cursor\");var f=t(\"./unhover\");function h(){var t=document.createElement(\"div\");t.className=\"dragcover\";var e=t.style;return e.position=\"fixed\",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background=\"none\",document.body.appendChild(t),t}function p(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}u.unhover=f.wrapped,u.unhoverRaw=f.raw,u.init=function(t){var e,r,n,f,d,g,m,v,y=t.gd,x=1,b=c.DBLCLICKDELAY,_=t.element;y._mouseDownTime||(y._mouseDownTime=0),_.style.pointerEvents=\"all\",_.onmousedown=k,a?(_._ontouchstart&&_.removeEventListener(\"touchstart\",_._ontouchstart),_._ontouchstart=k,_.addEventListener(\"touchstart\",k,{passive:!1})):_.ontouchstart=k;var w=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function k(a){a.preventDefault(),y._dragged=!1,y._dragging=!0;var o=p(a);e=o[0],r=o[1],m=a.target,g=a,v=2===a.buttons||a.ctrlKey,\"undefined\"==typeof a.clientX&&\"undefined\"==typeof a.clientY&&(a.clientX=e,a.clientY=r),(n=(new Date).getTime())-y._mouseDownTime<b?x+=1:(x=1,y._mouseDownTime=n),t.prepFn&&t.prepFn(a,e,r),i&&!v?(d=h()).style.cursor=window.getComputedStyle(_).cursor:i||(d=document,f=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(_).cursor),document.addEventListener(\"mousemove\",M),document.addEventListener(\"mouseup\",A),document.addEventListener(\"touchmove\",M),document.addEventListener(\"touchend\",A)}function M(n){n.preventDefault();var i=p(n),a=t.minDrag||l.MINDRAG,o=w(i[0]-e,i[1]-r,a),s=o[0],c=o[1];(s||c)&&(y._dragged=!0,u.unhover(y)),y._dragged&&t.moveFn&&!v&&t.moveFn(s,c)}function A(e){if(document.removeEventListener(\"mousemove\",M),document.removeEventListener(\"mouseup\",A),document.removeEventListener(\"touchmove\",M),document.removeEventListener(\"touchend\",A),e.preventDefault(),i?s.removeElement(d):f&&(d.documentElement.style.cursor=f,f=null),y._dragging){if(y._dragging=!1,(new Date).getTime()-y._mouseDownTime>b&&(x=Math.max(x-1,1)),y._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(x,g),!v){var r;try{r=new MouseEvent(\"click\",e)}catch(t){var n=p(e);(r=document.createEvent(\"MouseEvents\")).initMouseEvent(\"click\",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}m.dispatchEvent(r)}!function(t){t._dragging=!1,t._replotPending&&o.call(\"plot\",t)}(y),y._dragged=!1}else y._dragged=!1}},u.coverSlip=h},{\"../../constants/interactions\":669,\"../../lib\":693,\"../../plots/cartesian/constants\":747,\"../../registry\":825,\"./align\":587,\"./cursor\":588,\"./unhover\":590,\"has-hover\":391,\"has-passive-events\":392,\"mouse-event-offset\":416}],590:[function(t,e,r){\"use strict\";var n=t(\"../../lib/events\"),i=t(\"../../lib/throttle\"),a=t(\"../../lib/get_graph_div\"),o=t(\"../fx/constants\"),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!1===n.triggerHandler(t,\"plotly_beforehover\",e)||(r._hoverlayer.selectAll(\"g\").remove(),r._hoverlayer.selectAll(\"line\").remove(),r._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,e.target&&i&&t.emit(\"plotly_unhover\",{event:e,points:i}))}},{\"../../lib/events\":681,\"../../lib/get_graph_div\":688,\"../../lib/throttle\":719,\"../fx/constants\":604}],591:[function(t,e,r){\"use strict\";r.dash={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"}},{}],592:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"tinycolor2\"),o=t(\"../../registry\"),s=t(\"../color\"),l=t(\"../colorscale\"),c=t(\"../../lib\"),u=t(\"../../lib/svg_text_utils\"),f=t(\"../../constants/xmlns_namespaces\"),h=t(\"../../constants/alignment\").LINE_SPACING,p=t(\"../../constants/interactions\").DESELECTDIM,d=t(\"../../traces/scatter/subtypes\"),g=t(\"../../traces/scatter/make_bubble_size_func\"),m=e.exports={};m.font=function(t,e,r,n){c.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style(\"font-family\",e),r+1&&t.style(\"font-size\",r+\"px\"),n&&t.call(s.fill,n)},m.setPosition=function(t,e,r){t.attr(\"x\",e).attr(\"y\",r)},m.setSize=function(t,e,r){t.attr(\"width\",e).attr(\"height\",r)},m.setRect=function(t,e,r,n,i){t.call(m.setPosition,e,r).call(m.setSize,n,i)},m.translatePoint=function(t,e,r,n){var a=r.c2p(t.x),o=n.c2p(t.y);return!!(i(a)&&i(o)&&e.node())&&(\"text\"===e.node().nodeName?e.attr(\"x\",a).attr(\"y\",o):e.attr(\"transform\",\"translate(\"+a+\",\"+o+\")\"),!0)},m.translatePoints=function(t,e,r){t.each(function(t){var i=n.select(this);m.translatePoint(t,i,e,r)})},m.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(\"display\",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:\"none\")},m.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each(function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,l=\"bar\"===a.type?\".bartext\":\".point,.textpoint\";t.selectAll(l).each(function(t){m.hideOutsideRangePoint(t,n.select(this),r,i,o,s)})})}},m.crispRound=function(t,e,r){return e&&i(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},m.singleLineStyle=function(t,e,r,n,i){e.style(\"fill\",\"none\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,l=i||a.dash||\"\";s.stroke(e,n||a.color),m.dashLine(e,l,o)},m.lineGroupStyle=function(t,e,r,i){t.style(\"fill\",\"none\").each(function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,l=i||a.dash||\"\";n.select(this).call(s.stroke,r||a.color).call(m.dashLine,l,o)})},m.dashLine=function(t,e,r){r=+r||0,e=m.dashStyle(e,r),t.style({\"stroke-dasharray\":e,\"stroke-width\":r+\"px\"})},m.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return\"solid\"===t?t=\"\":\"dot\"===t?t=r+\"px,\"+r+\"px\":\"dash\"===t?t=3*r+\"px,\"+3*r+\"px\":\"longdash\"===t?t=5*r+\"px,\"+5*r+\"px\":\"dashdot\"===t?t=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":\"longdashdot\"===t&&(t=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),t},m.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},m.fillGroupStyle=function(t){t.style(\"stroke-width\",0).each(function(e){var r=n.select(this);try{r.call(s.fill,e[0].trace.fillcolor)}catch(e){c.error(e,t),r.remove()}})};var v=t(\"./symbol_defs\");m.symbolNames=[],m.symbolFuncs=[],m.symbolNeedLines={},m.symbolNoDot={},m.symbolNoFill={},m.symbolList=[],Object.keys(v).forEach(function(t){var e=v[t];m.symbolList=m.symbolList.concat([e.n,t,e.n+100,t+\"-open\"]),m.symbolNames[e.n]=t,m.symbolFuncs[e.n]=e.f,e.needLine&&(m.symbolNeedLines[e.n]=!0),e.noDot?m.symbolNoDot[e.n]=!0:m.symbolList=m.symbolList.concat([e.n+200,t+\"-dot\",e.n+300,t+\"-open-dot\"]),e.noFill&&(m.symbolNoFill[e.n]=!0)});var y=m.symbolNames.length,x=\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";function b(t,e){var r=t%100;return m.symbolFuncs[r](e)+(t>=200?x:\"\")}m.symbolNumber=function(t){if(\"string\"==typeof t){var e=0;t.indexOf(\"-open\")>0&&(e=100,t=t.replace(\"-open\",\"\")),t.indexOf(\"-dot\")>0&&(e+=200,t=t.replace(\"-dot\",\"\")),(t=m.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=y||t>=400?0:Math.floor(Math.max(t,0))};var _={x1:1,x2:0,y1:0,y2:0},w={x1:0,x2:0,y1:1,y2:0},k=n.format(\"~.1f\"),M={radial:{node:\"radialGradient\"},radialreversed:{node:\"radialGradient\",reversed:!0},horizontal:{node:\"linearGradient\",attrs:_},horizontalreversed:{node:\"linearGradient\",attrs:_,reversed:!0},vertical:{node:\"linearGradient\",attrs:w},verticalreversed:{node:\"linearGradient\",attrs:w,reversed:!0}};m.gradient=function(t,e,r,i,o,l){for(var u=o.length,f=M[i],h=new Array(u),p=0;p<u;p++)f.reversed?h[u-1-p]=[k(100*(1-o[p][0])),o[p][1]]:h[p]=[k(100*o[p][0]),o[p][1]];var d=\"g\"+e._fullLayout._uid+\"-\"+r,g=e._fullLayout._defs.select(\".gradients\").selectAll(\"#\"+d).data([i+h.join(\";\")],c.identity);g.exit().remove(),g.enter().append(f.node).each(function(){var t=n.select(this);f.attrs&&t.attr(f.attrs),t.attr(\"id\",d);var e=t.selectAll(\"stop\").data(h);e.exit().remove(),e.enter().append(\"stop\"),e.each(function(t){var e=a(t[1]);n.select(this).attr({offset:t[0]+\"%\",\"stop-color\":s.tinyRGB(e),\"stop-opacity\":e.getAlpha()})})}),t.style(l,\"url(#\"+d+\")\").style(l+\"-opacity\",null)},m.initGradients=function(t){c.ensureSingle(t._fullLayout._defs,\"g\",\"gradients\").selectAll(\"linearGradient,radialGradient\").remove()},m.pointStyle=function(t,e,r){if(t.size()){var i=m.makePointStyleFns(e);t.each(function(t){m.singlePointStyle(t,n.select(this),e,i,r)})}},m.singlePointStyle=function(t,e,r,n,i){var a=r.marker,o=a.line;if(e.style(\"opacity\",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?a.opacity:t.mo),n.ms2mrc){var l;l=\"various\"===t.ms||\"various\"===a.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=m.symbolNumber(t.mx||a.symbol)||0;t.om=u%200>=100,e.attr(\"d\",b(u,l))}var f,h,p,d=!1;if(t.so)p=o.outlierwidth,h=o.outliercolor,f=a.outliercolor;else{var g=(o||{}).width;p=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,h=\"mlc\"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(a.color)&&(f=s.defaultLine,d=!0),f=\"mc\"in t?t.mcc=n.markerScale(t.mc):a.color||\"rgba(0,0,0,0)\",n.selectedColorFn&&(f=n.selectedColorFn(t))}if(t.om)e.call(s.stroke,f).style({\"stroke-width\":(p||1)+\"px\",fill:\"none\"});else{e.style(\"stroke-width\",p+\"px\");var v=a.gradient,y=t.mgt;if(y?d=!0:y=v&&v.type,Array.isArray(y)&&(y=y[0],M[y]||(y=0)),y&&\"none\"!==y){var x=t.mgc;x?d=!0:x=v.color;var _=r.uid;d&&(_+=\"-\"+t.i),m.gradient(e,i,_,y,[[0,x],[1,f]],\"fill\")}else s.fill(e,f);p&&s.stroke(e,h)}},m.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=m.tryColorscale(r,\"\"),e.lineScale=m.tryColorscale(r,\"line\"),o.traceIs(t,\"symbols\")&&(e.ms2mrc=d.isBubble(t)?g(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,m.makeSelectedPointStyleFns(t)),e},m.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},s=n.marker||{},l=i.opacity,u=a.opacity,f=s.opacity,h=void 0!==u,d=void 0!==f;(c.isArrayOrTypedArray(l)||h||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?i.opacity:t.mo;return t.selected?h?u:e:d?f:p*e});var g=i.color,m=a.color,v=s.color;(m||v)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?m||e:v||e});var y=i.size,x=a.size,b=s.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,\"symbols\")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},m.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},l=i.color,c=a.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?c||e:u||(c?e:s.addOpacity(e,p))},e},m.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push(function(t,e){t.style(\"opacity\",r.selectedOpacityFn(e))}),r.selectedColorFn&&a.push(function(t,e){s.fill(t,r.selectedColorFn(e))}),r.selectedSizeFn&&a.push(function(t,e){var n=e.mx||i.symbol||0,a=r.selectedSizeFn(e);t.attr(\"d\",b(m.symbolNumber(n),a)),e.mrc2=a}),a.length&&t.each(function(t){for(var e=n.select(this),r=0;r<a.length;r++)a[r](e,t)})}},m.tryColorscale=function(t,e){var r=e?c.nestedProperty(t,e).get():t;if(r){var n=r.colorscale,i=r.color;if(n&&c.isArrayOrTypedArray(i))return l.makeColorScaleFunc(l.extractScale(n,r.cmin,r.cmax))}return c.identity};var A={start:1,end:-1,middle:0,bottom:1,top:-1};function T(t,e,r,i){var a=n.select(t.node().parentNode),o=-1!==e.indexOf(\"top\")?\"top\":-1!==e.indexOf(\"bottom\")?\"bottom\":\"middle\",s=-1!==e.indexOf(\"left\")?\"end\":-1!==e.indexOf(\"right\")?\"start\":\"middle\",l=i?i/.8+1:0,c=(u.lineCount(t)-1)*h+1,f=A[s]*l,p=.75*r+A[o]*l+(A[o]-1)*c*r/2;t.attr(\"text-anchor\",s),a.attr(\"transform\",\"translate(\"+f+\",\"+p+\")\")}function S(t,e){var r=t.ts||e.textfont.size;return i(r)&&r>0?r:0}m.textPointStyle=function(t,e,r){if(t.size()){var i;if(e.selectedpoints){var a=m.makeSelectedTextStyleFns(e);i=a.selectedTextColorFn}t.each(function(t){var a=n.select(this),o=c.extractOption(t,e,\"tx\",\"text\");if(o||0===o){var s=t.tp||e.textposition,l=S(t,e),f=i?i(t):t.tc||e.textfont.color;a.call(m.font,t.tf||e.textfont.family,l,f).text(o).call(u.convertToTspans,r).call(T,s,l,t.mrc)}else a.remove()})}},m.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedTextStyleFns(e);t.each(function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=S(t,e);s.fill(i,a),T(i,o,l,t.mrc2||t.mrc)})}};var E=.5;function C(t,e,r,i){var a=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(a*a+o*o,E/2),u=Math.pow(s*s+l*l,E/2),f=(u*u*a-c*c*s)*i,h=(u*u*o-c*c*l)*i,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&f/p),2),n.round(e[1]+(p&&h/p),2)],[n.round(e[0]-(d&&f/d),2),n.round(e[1]-(d&&h/d),2)]]}m.smoothopen=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\");var r,n=\"M\"+t[0],i=[];for(r=1;r<t.length-1;r++)i.push(C(t[r-1],t[r],t[r+1],e));for(n+=\"Q\"+i[0][0]+\" \"+t[1],r=2;r<t.length-1;r++)n+=\"C\"+i[r-2][1]+\" \"+i[r-1][0]+\" \"+t[r];return n+=\"Q\"+i[t.length-3][1]+\" \"+t[t.length-1]},m.smoothclosed=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\")+\"Z\";var r,n=\"M\"+t[0],i=t.length-1,a=[C(t[i],t[0],t[1],e)];for(r=1;r<i;r++)a.push(C(t[r-1],t[r],t[r+1],e));for(a.push(C(t[i-1],t[i],t[0],e)),r=1;r<=i;r++)n+=\"C\"+a[r-1][1]+\" \"+a[r][0]+\" \"+t[r];return n+=\"C\"+a[i][1]+\" \"+a[0][0]+\" \"+t[0]+\"Z\"};var L={hv:function(t,e){return\"H\"+n.round(e[0],2)+\"V\"+n.round(e[1],2)},vh:function(t,e){return\"V\"+n.round(e[1],2)+\"H\"+n.round(e[0],2)},hvh:function(t,e){return\"H\"+n.round((t[0]+e[0])/2,2)+\"V\"+n.round(e[1],2)+\"H\"+n.round(e[0],2)},vhv:function(t,e){return\"V\"+n.round((t[1]+e[1])/2,2)+\"H\"+n.round(e[0],2)+\"V\"+n.round(e[1],2)}},z=function(t,e){return\"L\"+n.round(e[0],2)+\",\"+n.round(e[1],2)};m.steps=function(t){var e=L[t]||z;return function(t){for(var r=\"M\"+n.round(t[0][0],2)+\",\"+n.round(t[0][1],2),i=1;i<t.length;i++)r+=e(t[i-1],t[i]);return r}},m.makeTester=function(){var t=c.ensureSingleById(n.select(\"body\"),\"svg\",\"js-plotly-tester\",function(t){t.attr(f.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"})}),e=c.ensureSingle(t,\"path\",\"js-reference-point\",function(t){t.attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"})});m.tester=t,m.testref=e},m.savedBBoxes={};var P=0;function O(t){var e=t.getAttribute(\"data-unformatted\");if(null!==e)return e+t.getAttribute(\"data-math\")+t.getAttribute(\"text-anchor\")+t.getAttribute(\"style\")}m.bBox=function(t,e,r){var i,a,o;if(r||(r=O(t)),r){if(i=m.savedBBoxes[r])return c.extendFlat({},i)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(r=O(s)){var l=+s.getAttribute(\"x\")||0,f=+s.getAttribute(\"y\")||0,h=s.getAttribute(\"transform\");if(!h){var p=m.bBox(s,!1,r);return l&&(p.left+=l,p.right+=l),f&&(p.top+=f,p.bottom+=f),p}if(r+=\"~\"+l+\"~\"+f+\"~\"+h,i=m.savedBBoxes[r])return c.extendFlat({},i)}}e?a=t:(o=m.tester.node(),a=t.cloneNode(!0),o.appendChild(a)),n.select(a).attr(\"transform\",null).call(u.positionText,0,0);var d=a.getBoundingClientRect(),g=m.testref.node().getBoundingClientRect();e||o.removeChild(a);var v={height:d.height,width:d.width,left:d.left-g.left,top:d.top-g.top,right:d.right-g.left,bottom:d.bottom-g.top};return P>=1e4&&(m.savedBBoxes={},P=0),r&&(m.savedBBoxes[r]=v),P++,c.extendFlat({},v)},m.setClipUrl=function(t,e){if(e){if(void 0===m.baseUrl){var r=n.select(\"base\");r.size()&&r.attr(\"href\")?m.baseUrl=window.location.href.split(\"#\")[0]:m.baseUrl=\"\"}t.attr(\"clip-path\",\"url(\"+m.baseUrl+\"#\"+e+\")\")}else t.attr(\"clip-path\",null)},m.getTranslate=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,function(t,e,r){return[e,r].join(\" \")}).split(\" \");return{x:+e[0]||0,y:+e[1]||0}},m.setTranslate=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||0,r=r||0,a=a.replace(/(\\btranslate\\(.*?\\);?)/,\"\").trim(),a=(a+=\" translate(\"+e+\", \"+r+\")\").trim(),t[i](\"transform\",a),a},m.getScale=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,function(t,e,r){return[e,r].join(\" \")}).split(\" \");return{x:+e[0]||1,y:+e[1]||1}},m.setScale=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||1,r=r||1,a=a.replace(/(\\bscale\\(.*?\\);?)/,\"\").trim(),a=(a+=\" scale(\"+e+\", \"+r+\")\").trim(),t[i](\"transform\",a),a};var I=/\\s*sc.*/;m.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?\"\":\" scale(\"+e+\",\"+r+\")\";t.each(function(){var t=(this.getAttribute(\"transform\")||\"\").replace(I,\"\");t=(t+=n).trim(),this.setAttribute(\"transform\",t)})}};var D=/translate\\([^)]*\\)\\s*$/;m.setTextPointsScale=function(t,e,r){t&&t.each(function(){var t,i=n.select(this),a=i.select(\"text\");if(a.node()){var o=parseFloat(a.attr(\"x\")||0),s=parseFloat(a.attr(\"y\")||0),l=(i.attr(\"transform\")||\"\").match(D);t=1===e&&1===r?[]:[\"translate(\"+o+\",\"+s+\")\",\"scale(\"+e+\",\"+r+\")\",\"translate(\"+-o+\",\"+-s+\")\"],l&&t.push(l),i.attr(\"transform\",t.join(\" \"))}})}},{\"../../constants/alignment\":665,\"../../constants/interactions\":669,\"../../constants/xmlns_namespaces\":671,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../registry\":825,\"../../traces/scatter/make_bubble_size_func\":1049,\"../../traces/scatter/subtypes\":1056,\"../color\":567,\"../colorscale\":582,\"./symbol_defs\":593,d3:147,\"fast-isnumeric\":213,tinycolor2:511}],593:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"}},square:{n:1,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"Z\"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H\"+e+\"V\"+r+\"H-\"+e+\"V\"+e+\"H-\"+r+\"V-\"+e+\"H-\"+e+\"V-\"+r+\"H\"+e+\"V-\"+e+\"H\"+r+\"Z\"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r=\"l\"+e+\",\"+e,i=\"l\"+e+\",-\"+e,a=\"l-\"+e+\",-\"+e,o=\"l-\"+e+\",\"+e;return\"M0,\"+e+r+i+a+i+a+o+a+o+r+o+r+\"Z\"}},\"triangle-up\":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+e+\",\"+n.round(t/2,2)+\"H\"+e+\"L0,-\"+n.round(t,2)+\"Z\"}},\"triangle-down\":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+e+\",-\"+n.round(t/2,2)+\"H\"+e+\"L0,\"+n.round(t,2)+\"Z\"}},\"triangle-left\":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M\"+n.round(t/2,2)+\",-\"+e+\"V\"+e+\"L-\"+n.round(t,2)+\",0Z\"}},\"triangle-right\":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+n.round(t/2,2)+\",-\"+e+\"V\"+e+\"L\"+n.round(t,2)+\",0Z\"}},\"triangle-ne\":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+r+\",-\"+e+\"H\"+e+\"V\"+r+\"Z\"}},\"triangle-se\":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+e+\",-\"+r+\"V\"+e+\"H-\"+r+\"Z\"}},\"triangle-sw\":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H-\"+e+\"V-\"+r+\"Z\"}},\"triangle-nw\":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+e+\",\"+r+\"V-\"+e+\"H\"+r+\"Z\"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),i=n.round(-t,2),a=n.round(-.309*t,2);return\"M\"+e+\",\"+a+\"L\"+r+\",\"+n.round(.809*t,2)+\"H-\"+r+\"L-\"+e+\",\"+a+\"L0,\"+i+\"Z\"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\"M\"+i+\",-\"+r+\"V\"+r+\"L0,\"+e+\"L-\"+i+\",\"+r+\"V-\"+r+\"L0,-\"+e+\"Z\"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\"M-\"+r+\",\"+i+\"H\"+r+\"L\"+e+\",0L\"+r+\",-\"+i+\"H-\"+r+\"L-\"+e+\",0Z\"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return\"M-\"+r+\",-\"+e+\"H\"+r+\"L\"+e+\",-\"+r+\"V\"+r+\"L\"+r+\",\"+e+\"H-\"+r+\"L-\"+e+\",\"+r+\"V-\"+r+\"Z\"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return\"M\"+r+\",\"+l+\"H\"+i+\"L\"+a+\",\"+c+\"L\"+o+\",\"+u+\"L0,\"+n.round(.382*e,2)+\"L-\"+o+\",\"+u+\"L-\"+a+\",\"+c+\"L-\"+i+\",\"+l+\"H-\"+r+\"L0,\"+s+\"Z\"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),i=n.round(.76*t,2);return\"M-\"+i+\",0l-\"+r+\",-\"+e+\"h\"+i+\"l\"+r+\",-\"+e+\"l\"+r+\",\"+e+\"h\"+i+\"l-\"+r+\",\"+e+\"l\"+r+\",\"+e+\"h-\"+i+\"l-\"+r+\",\"+e+\"l-\"+r+\",-\"+e+\"h-\"+i+\"Z\"}},\"star-triangle-up\":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M-\"+e+\",\"+r+o+e+\",\"+r+o+\"0,-\"+i+o+\"-\"+e+\",\"+r+\"Z\"}},\"star-triangle-down\":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M\"+e+\",-\"+r+o+\"-\"+e+\",-\"+r+o+\"0,\"+i+o+e+\",-\"+r+\"Z\"}},\"star-square\":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",-\"+e+i+\"-\"+e+\",\"+e+i+e+\",\"+e+i+e+\",-\"+e+i+\"-\"+e+\",-\"+e+\"Z\"}},\"star-diamond\":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",0\"+i+\"0,\"+e+i+e+\",0\"+i+\"0,-\"+e+i+\"-\"+e+\",0Z\"}},\"diamond-tall\":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},\"diamond-wide\":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"L\"+e+\",-\"+e+\"H-\"+e+\"Z\"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"V-\"+e+\"L-\"+e+\",\"+e+\"V-\"+e+\"Z\"},noDot:!0},\"circle-cross\":{n:27,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM0,-\"+e+\"V\"+e+\"M-\"+e+\",0H\"+e},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM-\"+r+\",-\"+r+\"L\"+r+\",\"+r+\"M-\"+r+\",\"+r+\"L\"+r+\",-\"+r},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return\"M\"+e+\",\"+r+\"V-\"+r+\"m-\"+r+\",0V\"+r+\"M\"+r+\",\"+e+\"H-\"+r+\"m0,-\"+r+\"H\"+r},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+e+\",\"+i+\"L0,0M\"+e+\",\"+i+\"L0,0M0,-\"+r+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+e+\",-\"+i+\"L0,0M\"+e+\",-\"+i+\"L0,0M0,\"+r+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M\"+i+\",\"+e+\"L0,0M\"+i+\",-\"+e+\"L0,0M-\"+r+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+i+\",\"+e+\"L0,0M-\"+i+\",-\"+e+\"L0,0M\"+r+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(t){var e=n.round(1.4*t,2);return\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(t){var e=n.round(t,2);return\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:147}],594:[function(t,e,r){\"use strict\";e.exports={visible:{valType:\"boolean\",editType:\"calc\"},type:{valType:\"enumerated\",values:[\"percent\",\"constant\",\"sqrt\",\"data\"],editType:\"calc\"},symmetric:{valType:\"boolean\",editType:\"calc\"},array:{valType:\"data_array\",editType:\"calc\"},arrayminus:{valType:\"data_array\",editType:\"calc\"},value:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},valueminus:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},traceref:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},tracerefminus:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},copy_ystyle:{valType:\"boolean\",editType:\"plot\"},copy_zstyle:{valType:\"boolean\",editType:\"style\"},color:{valType:\"color\",editType:\"style\"},thickness:{valType:\"number\",min:0,dflt:2,editType:\"style\"},width:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\",_deprecated:{opacity:{valType:\"number\",editType:\"style\"}}}},{}],595:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../registry\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"./compute_error\");function s(t,e,r,i){var s=e[\"error_\"+i]||{},l=[];if(s.visible&&-1!==[\"linear\",\"log\"].indexOf(r.type)){for(var c=o(s),u=0;u<t.length;u++){var f=t[u],h=f.i;if(void 0===h)h=u;else if(null===h)continue;var p=f[i];if(n(r.c2l(p))){var d=c(p,h);if(n(d[0])&&n(d[1])){var g=f[i+\"s\"]=p-d[0],m=f[i+\"h\"]=p+d[1];l.push(g,m)}}}var v=a.findExtremes(r,l,{padded:!0}),y=r._id;e._extremes[y].min=e._extremes[y].min.concat(v.min),e._extremes[y].max=e._extremes[y].max.concat(v.max)}}e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],o=n[0].trace;if(!0===o.visible&&i.traceIs(o,\"errorBarsOK\")){var l=a.getFromId(t,o.xaxis),c=a.getFromId(t,o.yaxis);s(n,o,l,\"x\"),s(n,o,c,\"y\")}}}},{\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"./compute_error\":596,\"fast-isnumeric\":213}],596:[function(t,e,r){\"use strict\";function n(t,e){return\"percent\"===t?function(t){return Math.abs(t*e/100)}:\"constant\"===t?function(){return Math.abs(e)}:\"sqrt\"===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if(\"data\"===e){var i=t.array||[];if(r)return function(t,e){var r=+i[e];return[r,r]};var a=t.arrayminus||[];return function(t,e){var r=+i[e],n=+a[e];return isNaN(r)&&isNaN(n)?[NaN,NaN]:[n||0,r||0]}}var o=n(e,t.value),s=n(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=o(t);return[e,e]}:function(t){return[s(t),o(t)]}}},{}],597:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../../plot_api/plot_template\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){var c=\"error_\"+l.axis,u=o.newContainer(e,c),f=t[c]||{};function h(t,e){return a.coerce(f,u,s,t,e)}if(!1!==h(\"visible\",void 0!==f.array||void 0!==f.value||\"sqrt\"===f.type)){var p=h(\"type\",\"array\"in f?\"data\":\"percent\"),d=!0;\"sqrt\"!==p&&(d=h(\"symmetric\",!((\"data\"===p?\"arrayminus\":\"valueminus\")in f))),\"data\"===p?(h(\"array\"),h(\"traceref\"),d||(h(\"arrayminus\"),h(\"tracerefminus\"))):\"percent\"!==p&&\"constant\"!==p||(h(\"value\"),d||h(\"valueminus\"));var g=\"copy_\"+l.inherit+\"style\";if(l.inherit)(e[\"error_\"+l.inherit]||{}).visible&&h(g,!(f.color||n(f.thickness)||n(f.width)));l.inherit&&u[g]||(h(\"color\",r),h(\"thickness\"),h(\"width\",i.traceIs(e,\"gl3d\")?0:4))}}},{\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../registry\":825,\"./attributes\":594,\"fast-isnumeric\":213}],598:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plot_api/edit_types\").overrideAll,a=t(\"./attributes\"),o={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a)};delete o.error_x.copy_zstyle,delete o.error_y.copy_zstyle,delete o.error_y.copy_ystyle;var s={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a),error_z:n.extendFlat({},a)};delete s.error_x.copy_ystyle,delete s.error_y.copy_ystyle,delete s.error_z.copy_ystyle,delete s.error_z.copy_zstyle,e.exports={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:o,bar:o,histogram:o,scatter3d:i(s,\"calc\",\"nested\"),scattergl:i(o,\"calc\",\"nested\")}},supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),makeComputeError:t(\"./compute_error\"),plot:t(\"./plot\"),style:t(\"./style\"),hoverInfo:function(t,e,r){(e.error_y||{}).visible&&(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys));(e.error_x||{}).visible&&(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}}},{\"../../lib\":693,\"../../plot_api/edit_types\":725,\"./attributes\":594,\"./calc\":595,\"./compute_error\":596,\"./defaults\":597,\"./plot\":599,\"./style\":600}],599:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../drawing\"),o=t(\"../../traces/scatter/subtypes\");e.exports=function(t,e,r){var s=e.xaxis,l=e.yaxis,c=r&&r.duration>0;t.each(function(t){var u,f=t[0].trace,h=f.error_x||{},p=f.error_y||{};f.ids&&(u=function(t){return t.id});var d=o.hasMarkers(f)&&f.marker.maxdisplayed>0;p.visible||h.visible||(t=[]);var g=n.select(this).selectAll(\"g.errorbar\").data(t,u);if(g.exit().remove(),t.length){h.visible||g.selectAll(\"path.xerror\").remove(),p.visible||g.selectAll(\"path.yerror\").remove(),g.style(\"opacity\",1);var m=g.enter().append(\"g\").classed(\"errorbar\",!0);c&&m.style(\"opacity\",0).transition().duration(r.duration).style(\"opacity\",1),a.setClipUrl(g,e.layerClipId),g.each(function(t){var e=n.select(this),a=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,s,l);if(!d||t.vis){var o,u=e.select(\"path.yerror\");if(p.visible&&i(a.x)&&i(a.yh)&&i(a.ys)){var f=p.width;o=\"M\"+(a.x-f)+\",\"+a.yh+\"h\"+2*f+\"m-\"+f+\",0V\"+a.ys,a.noYS||(o+=\"m-\"+f+\",0h\"+2*f),!u.size()?u=e.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"yerror\",!0):c&&(u=u.transition().duration(r.duration).ease(r.easing)),u.attr(\"d\",o)}else u.remove();var g=e.select(\"path.xerror\");if(h.visible&&i(a.y)&&i(a.xh)&&i(a.xs)){var m=(h.copy_ystyle?p:h).width;o=\"M\"+a.xh+\",\"+(a.y-m)+\"v\"+2*m+\"m0,-\"+m+\"H\"+a.xs,a.noXS||(o+=\"m0,-\"+m+\"v\"+2*m),!g.size()?g=e.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"xerror\",!0):c&&(g=g.transition().duration(r.duration).ease(r.easing)),g.attr(\"d\",o)}else g.remove()}})}})}},{\"../../traces/scatter/subtypes\":1056,\"../drawing\":592,d3:147,\"fast-isnumeric\":213}],600:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../color\");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",r.thickness+\"px\").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(i.stroke,a.color)})}},{\"../color\":567,d3:147}],601:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\");e.exports={hoverlabel:{bgcolor:{valType:\"color\",arrayOk:!0,editType:\"none\"},bordercolor:{valType:\"color\",arrayOk:!0,editType:\"none\"},font:n({arrayOk:!0,editType:\"none\"}),namelength:{valType:\"integer\",min:-1,arrayOk:!0,editType:\"none\"},editType:\"calc\"}}},{\"../../plots/font_attributes\":768}],602:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\");function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s<e.length;s++){var l=e[s],c=l[0].trace;if(!i.traceIs(c,\"pie\")){var u=i.traceIs(c,\"2dMap\")?a:n.fillArray;u(c.hoverinfo,l,\"hi\",o(c)),c.hoverlabel&&(u(c.hoverlabel.bgcolor,l,\"hbg\"),u(c.hoverlabel.bordercolor,l,\"hbc\"),u(c.hoverlabel.font.size,l,\"hts\"),u(c.hoverlabel.font.color,l,\"htc\"),u(c.hoverlabel.font.family,l,\"htf\"),u(c.hoverlabel.namelength,l,\"hnl\"))}}}},{\"../../lib\":693,\"../../registry\":825}],603:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./hover\").hover;e.exports=function(t,e,r){var a=n.getComponentMethod(\"annotations\",\"onClick\")(t,t._hoverdata);function o(){t.emit(\"plotly_click\",{points:t._hoverdata,event:e})}void 0!==r&&i(t,e,r,!0),t._hoverdata&&e&&e.target&&(a&&a.then?a.then(o):o(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{\"../../registry\":825,\"./hover\":607}],604:[function(t,e,r){\"use strict\";e.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,HOVERID:\"-hover\"}},{}],605:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"./hoverlabel_defaults\");e.exports=function(t,e,r,o){a(t,e,function(r,a){return n.coerce(t,e,i,r,a)},o.hoverlabel)}},{\"../../lib\":693,\"./attributes\":601,\"./hoverlabel_defaults\":608}],606:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.isTraceInSubplots=function(t,e){if(\"splom\"===t.type){for(var n=t.xaxes||[],i=t.yaxes||[],a=0;a<n.length;a++)for(var o=0;o<i.length;o++)if(-1!==e.indexOf(n[a]+i[o]))return!0;return!1}return-1!==e.indexOf(r.getSubplot(t))},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,i){return\"closest\"===t?i||r.quadrature(e,n):\"x\"===t?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index>=0&&r.index<t.length?r.distance=0:r.index=!1;else for(var n=0;n<t.length;n++){var i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},r.inbox=function(t,e,r){return t*e<0||0===t?r:1/0},r.quadrature=function(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}},r.makeEventData=function(t,e,n){var i=\"index\"in t?t.index:t.pointNumber,a={data:e._input,fullData:e,curveNumber:e.index,pointNumber:i};if(e._indexToPoints){var o=e._indexToPoints[i];1===o.length?a.pointIndex=o[0]:a.pointIndices=o}else a.pointIndex=i;return e._module.eventData?a=e._module.eventData(a,t,e,n,i):(\"xVal\"in t?a.x=t.xVal:\"x\"in t&&(a.x=t.x),\"yVal\"in t?a.y=t.yVal:\"y\"in t&&(a.y=t.y),t.xa&&(a.xaxis=t.xa),t.ya&&(a.yaxis=t.ya),void 0!==t.zLabelVal&&(a.z=t.zLabelVal)),r.appendArrayPointValue(a,e,i),a},r.appendArrayPointValue=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){var u=o(n.nestedProperty(e,l).get(),r);void 0!==u&&(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){for(var u=n.nestedProperty(e,l).get(),f=new Array(r.length),h=0;h<r.length;h++)f[h]=o(u,r[h]);t[c]=f}}};var i={ids:\"id\",locations:\"location\",labels:\"label\",values:\"value\",\"marker.colors\":\"color\"};function a(t){return i[t]||t}function o(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}},{\"../../lib\":693}],607:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"tinycolor2\"),o=t(\"../../lib\"),s=t(\"../../lib/events\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../lib/override_cursor\"),u=t(\"../drawing\"),f=t(\"../color\"),h=t(\"../dragelement\"),p=t(\"../../plots/cartesian/axes\"),d=t(\"../../registry\"),g=t(\"./helpers\"),m=t(\"./constants\"),v=m.YANGLE,y=Math.PI*v/180,x=1/Math.sin(y),b=Math.cos(y),_=Math.sin(y),w=m.HOVERARROWSIZE,k=m.HOVERTEXTPAD;function M(t,e,r){var i=e.hovermode,a=e.rotateLabels,s=e.bgColor,c=e.container,h=e.outerContainer,p=e.commonLabelOpts||{},d=e.fontFamily||m.HOVERFONT,g=e.fontSize||m.HOVERFONTSIZE,y=t[0],x=y.xa,b=y.ya,_=\"y\"===i?\"yLabel\":\"xLabel\",M=y[_],A=(String(M)||\"\").split(\" \")[0],T=h.node().getBoundingClientRect(),S=T.top,E=T.width,C=T.height,L=void 0!==M&&y.distance<=e.hoverdistance&&(\"x\"===i||\"y\"===i);if(L){var z,P,O=!0;for(z=0;z<t.length;z++){O&&void 0===t[z].zLabel&&(O=!1),P=t[z].hoverinfo||t[z].trace.hoverinfo;var I=Array.isArray(P)?P:P.split(\"+\");if(-1===I.indexOf(\"all\")&&-1===I.indexOf(i)){L=!1;break}}O&&(L=!1)}var D=c.selectAll(\"g.axistext\").data(L?[0]:[]);D.enter().append(\"g\").classed(\"axistext\",!0),D.exit().remove(),D.each(function(){var e=n.select(this),a=o.ensureSingle(e,\"path\",\"\",function(t){t.style({\"stroke-width\":\"1px\"})}),s=o.ensureSingle(e,\"text\",\"\",function(t){t.attr(\"data-notex\",1)}),c=p.bgcolor||f.defaultLine,h=p.bordercolor||f.contrast(c),m=f.contrast(c);a.style({fill:c,stroke:h}),s.text(M).call(u.font,p.font.family||d,p.font.size||g,p.font.color||m).call(l.positionText,0,0).call(l.convertToTspans,r),e.attr(\"transform\",\"\");var v=s.node().getBoundingClientRect();if(\"x\"===i){s.attr(\"text-anchor\",\"middle\").call(l.positionText,0,\"top\"===x.side?S-v.bottom-w-k:S-v.top+w+k);var T=\"top\"===x.side?\"-\":\"\";a.attr(\"d\",\"M0,0L\"+w+\",\"+T+w+\"H\"+(k+v.width/2)+\"v\"+T+(2*k+v.height)+\"H-\"+(k+v.width/2)+\"V\"+T+w+\"H-\"+w+\"Z\"),e.attr(\"transform\",\"translate(\"+(x._offset+(y.x0+y.x1)/2)+\",\"+(b._offset+(\"top\"===x.side?0:b._length))+\")\")}else{s.attr(\"text-anchor\",\"right\"===b.side?\"start\":\"end\").call(l.positionText,(\"right\"===b.side?1:-1)*(k+w),S-v.top-v.height/2);var E=\"right\"===b.side?\"\":\"-\";a.attr(\"d\",\"M0,0L\"+E+w+\",\"+w+\"V\"+(k+v.height/2)+\"h\"+E+(2*k+v.width)+\"V-\"+(k+v.height/2)+\"H\"+E+w+\"V-\"+w+\"Z\"),e.attr(\"transform\",\"translate(\"+(x._offset+(\"right\"===b.side?x._length:0))+\",\"+(b._offset+(y.y0+y.y1)/2)+\")\")}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[_]||\"\").split(\" \")[0]===A})});var R=c.selectAll(\"g.hovertext\").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||\"\"].join(\",\")});return R.enter().append(\"g\").classed(\"hovertext\",!0).each(function(){var t=n.select(this);t.append(\"rect\").call(f.fill,f.addOpacity(s,.8)),t.append(\"text\").classed(\"name\",!0),t.append(\"path\").style(\"stroke-width\",\"1px\"),t.append(\"text\").classed(\"nums\",!0).call(u.font,d,g)}),R.exit().remove(),R.each(function(t){var e=n.select(this).attr(\"transform\",\"\"),o=\"\",c=\"\",h=t.bgcolor||t.color,p=f.combine(f.opacity(h)?h:f.defaultLine,s),m=f.combine(f.opacity(t.color)?t.color:f.defaultLine,s),y=t.borderColor||f.contrast(p);if(void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name){o=l.plainText(t.name||\"\");var x=Math.round(t.nameLength);x>-1&&o.length>x&&(o=x>3?o.substr(0,x-3)+\"...\":o.substr(0,x))}void 0!==t.zLabel?(void 0!==t.xLabel&&(c+=\"x: \"+t.xLabel+\"<br>\"),void 0!==t.yLabel&&(c+=\"y: \"+t.yLabel+\"<br>\"),c+=(c?\"z: \":\"\")+t.zLabel):L&&t[i+\"Label\"]===M?c=t[(\"x\"===i?\"y\":\"x\")+\"Label\"]||\"\":void 0===t.xLabel?void 0!==t.yLabel&&(c=t.yLabel):c=void 0===t.yLabel?t.xLabel:\"(\"+t.xLabel+\", \"+t.yLabel+\")\",!t.text&&0!==t.text||Array.isArray(t.text)||(c+=(c?\"<br>\":\"\")+t.text),void 0!==t.extraText&&(c+=(c?\"<br>\":\"\")+t.extraText),\"\"===c&&(\"\"===o&&e.remove(),c=o);var b=e.select(\"text.nums\").call(u.font,t.fontFamily||d,t.fontSize||g,t.fontColor||y).text(c).attr(\"data-notex\",1).call(l.positionText,0,0).call(l.convertToTspans,r),_=e.select(\"text.name\"),A=0;o&&o!==c?(_.call(u.font,t.fontFamily||d,t.fontSize||g,m).text(o).attr(\"data-notex\",1).call(l.positionText,0,0).call(l.convertToTspans,r),A=_.node().getBoundingClientRect().width+2*k):(_.remove(),e.select(\"rect\").remove()),e.select(\"path\").style({fill:p,stroke:y});var T,z,P=b.node().getBoundingClientRect(),O=t.xa._offset+(t.x0+t.x1)/2,I=t.ya._offset+(t.y0+t.y1)/2,D=Math.abs(t.x1-t.x0),R=Math.abs(t.y1-t.y0),B=P.width+w+k+A;t.ty0=S-P.top,t.bx=P.width+2*k,t.by=P.height+2*k,t.anchor=\"start\",t.txwidth=P.width,t.tx2width=A,t.offset=0,a?(t.pos=O,T=I+R/2+B<=C,z=I-R/2-B>=0,\"top\"!==t.idealAlign&&T||!z?T?(I+=R/2,t.anchor=\"start\"):t.anchor=\"middle\":(I-=R/2,t.anchor=\"end\")):(t.pos=I,T=O+D/2+B<=E,z=O-D/2-B>=0,\"left\"!==t.idealAlign&&T||!z?T?(O+=D/2,t.anchor=\"start\"):t.anchor=\"middle\":(O-=D/2,t.anchor=\"end\")),b.attr(\"text-anchor\",t.anchor),A&&_.attr(\"text-anchor\",t.anchor),e.attr(\"transform\",\"translate(\"+O+\",\"+I+\")\"+(a?\"rotate(\"+v+\")\":\"\"))}),R}function A(t,e){t.each(function(t){var r=n.select(this);if(t.del)r.remove();else{var i=\"end\"===t.anchor?-1:1,a=r.select(\"text.nums\"),o={start:1,end:-1,middle:0}[t.anchor],s=o*(w+k),c=s+o*(t.txwidth+k),f=0,h=t.offset;\"middle\"===t.anchor&&(s-=t.tx2width/2,c+=t.txwidth/2+k),e&&(h*=-_,f=t.offset*b),r.select(\"path\").attr(\"d\",\"middle\"===t.anchor?\"M-\"+(t.bx/2+t.tx2width/2)+\",\"+(h-t.by/2)+\"h\"+t.bx+\"v\"+t.by+\"h-\"+t.bx+\"Z\":\"M0,0L\"+(i*w+f)+\",\"+(w+h)+\"v\"+(t.by/2-w)+\"h\"+i*t.bx+\"v-\"+t.by+\"H\"+(i*w+f)+\"V\"+(h-w)+\"Z\"),a.call(l.positionText,s+f,h+t.ty0-t.by/2+k),t.tx2width&&(r.select(\"text.name\").call(l.positionText,c+o*k+f,h+t.ty0-t.by/2+k),r.select(\"rect\").call(u.setRect,c+(o-1)*t.tx2width/2+f,h-t.by/2-1,t.tx2width,t.by+2))}})}function T(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],a=t.cd[r]||{},s=Array.isArray(r)?function(t,e){return o.castOption(i,r,t)||o.extractOption({},n,\"\",e)}:function(t,e){return o.extractOption(a,n,t,e)};function l(e,r,n){var i=s(r,n);i&&(t[e]=i)}if(l(\"hoverinfo\",\"hi\",\"hoverinfo\"),l(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),l(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),l(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),l(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),l(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),l(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),t.posref=\"y\"===e?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel=\"xLabel\"in t?t.xLabel:p.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel=\"yLabel\"in t?t.yLabel:p.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||\"log\"===t.xa.type&&t.xerr<=0)){var c=p.tickText(t.xa,t.xa.c2l(t.xerr),\"hover\").text;void 0!==t.xerrneg?t.xLabel+=\" +\"+c+\" / -\"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),\"hover\").text:t.xLabel+=\" \\xb1 \"+c,\"x\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\"log\"===t.ya.type&&t.yerr<=0)){var u=p.tickText(t.ya,t.ya.c2l(t.yerr),\"hover\").text;void 0!==t.yerrneg?t.yLabel+=\" +\"+u+\" / -\"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),\"hover\").text:t.yLabel+=\" \\xb1 \"+u,\"y\"===e&&(t.distance+=1)}var f=t.hoverinfo||t.trace.hoverinfo;return\"all\"!==f&&(-1===(f=Array.isArray(f)?f:f.split(\"+\")).indexOf(\"x\")&&(t.xLabel=void 0),-1===f.indexOf(\"y\")&&(t.yLabel=void 0),-1===f.indexOf(\"z\")&&(t.zLabel=void 0),-1===f.indexOf(\"text\")&&(t.text=void 0),-1===f.indexOf(\"name\")&&(t.name=void 0)),t}function S(t,e){var r,n,i=e.container,o=e.fullLayout,s=e.event,l=!!t.hLinePoint,c=!!t.vLinePoint;if(i.selectAll(\".spikeline\").remove(),c||l){var h=f.combine(o.plot_bgcolor,o.paper_bgcolor);if(l){var p,d,g=t.hLinePoint;r=g&&g.xa,\"cursor\"===(n=g&&g.ya).spikesnap?(p=s.pointerX,d=s.pointerY):(p=r._offset+g.x,d=n._offset+g.y);var m,v,y=a.readability(g.color,h)<1.5?f.contrast(h):g.color,x=n.spikemode,b=n.spikethickness,_=n.spikecolor||y,w=n._boundingBox,k=(w.left+w.right)/2<p?w.right:w.left;-1===x.indexOf(\"toaxis\")&&-1===x.indexOf(\"across\")||(-1!==x.indexOf(\"toaxis\")&&(m=k,v=p),-1!==x.indexOf(\"across\")&&(m=n._counterSpan[0],v=n._counterSpan[1]),i.insert(\"line\",\":first-child\").attr({x1:m,x2:v,y1:d,y2:d,\"stroke-width\":b,stroke:_,\"stroke-dasharray\":u.dashStyle(n.spikedash,b)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),i.insert(\"line\",\":first-child\").attr({x1:m,x2:v,y1:d,y2:d,\"stroke-width\":b+2,stroke:h}).classed(\"spikeline\",!0).classed(\"crisp\",!0)),-1!==x.indexOf(\"marker\")&&i.insert(\"circle\",\":first-child\").attr({cx:k+(\"right\"!==n.side?b:-b),cy:d,r:b,fill:_}).classed(\"spikeline\",!0)}if(c){var M,A,T=t.vLinePoint;r=T&&T.xa,n=T&&T.ya,\"cursor\"===r.spikesnap?(M=s.pointerX,A=s.pointerY):(M=r._offset+T.x,A=n._offset+T.y);var S,E,C=a.readability(T.color,h)<1.5?f.contrast(h):T.color,L=r.spikemode,z=r.spikethickness,P=r.spikecolor||C,O=r._boundingBox,I=(O.top+O.bottom)/2<A?O.bottom:O.top;-1===L.indexOf(\"toaxis\")&&-1===L.indexOf(\"across\")||(-1!==L.indexOf(\"toaxis\")&&(S=I,E=A),-1!==L.indexOf(\"across\")&&(S=r._counterSpan[0],E=r._counterSpan[1]),i.insert(\"line\",\":first-child\").attr({x1:M,x2:M,y1:S,y2:E,\"stroke-width\":z,stroke:P,\"stroke-dasharray\":u.dashStyle(r.spikedash,z)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),i.insert(\"line\",\":first-child\").attr({x1:M,x2:M,y1:S,y2:E,\"stroke-width\":z+2,stroke:h}).classed(\"spikeline\",!0).classed(\"crisp\",!0)),-1!==L.indexOf(\"marker\")&&i.insert(\"circle\",\":first-child\").attr({cx:M,cy:I-(\"top\"!==r.side?z:-z),r:z,fill:P}).classed(\"spikeline\",!0)}}}function E(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}r.hover=function(t,e,r,a){t=o.getGraphDiv(t),o.throttle(t._fullLayout._uid+m.HOVERID,m.HOVERMINTIME,function(){!function(t,e,r,a){r||(r=\"xy\");var l=Array.isArray(r)?r:[r],u=t._fullLayout,m=u._plots||[],v=m[r],y=u._has(\"cartesian\");if(v){var b=v.overlays.map(function(t){return t.id});l=l.concat(b)}for(var _=l.length,w=new Array(_),k=new Array(_),C=!1,L=0;L<_;L++){var z=l[L],P=m[z];if(P)C=!0,w[L]=p.getFromId(t,P.xaxis._id),k[L]=p.getFromId(t,P.yaxis._id);else{var O=u[z]._subplot;w[L]=O.xaxis,k[L]=O.yaxis}}var I=e.hovermode||u.hovermode;I&&!C&&(I=\"closest\");if(-1===[\"x\",\"y\",\"closest\"].indexOf(I)||!t.calcdata||t.querySelector(\".zoombox\")||t._dragging)return h.unhoverRaw(t,e);var D,R,B,F,N,j,V,U,q,H,G,W,Y,X=-1===u.hoverdistance?1/0:u.hoverdistance,Z=-1===u.spikedistance?1/0:u.spikedistance,$=[],J=[],K={hLinePoint:null,vLinePoint:null},Q=!1;if(Array.isArray(e))for(I=\"array\",B=0;B<e.length;B++)N=t.calcdata[e[B].curveNumber||0],j=N[0].trace,\"skip\"!==N[0].trace.hoverinfo&&(J.push(N),\"h\"===j.orientation&&(Q=!0));else{for(F=0;F<t.calcdata.length;F++)N=t.calcdata[F],\"skip\"!==(j=N[0].trace).hoverinfo&&g.isTraceInSubplots(j,l)&&(J.push(N),\"h\"===j.orientation&&(Q=!0));var tt,et,rt=!e.target;if(rt)tt=\"xpx\"in e?e.xpx:w[0]._length/2,et=\"ypx\"in e?e.ypx:k[0]._length/2;else{if(!1===s.triggerHandler(t,\"plotly_beforehover\",e))return;var nt=e.target.getBoundingClientRect();if(tt=e.clientX-nt.left,et=e.clientY-nt.top,tt<0||tt>w[0]._length||et<0||et>k[0]._length)return h.unhoverRaw(t,e)}if(e.pointerX=tt+w[0]._offset,e.pointerY=et+k[0]._offset,D=\"xval\"in e?g.flat(l,e.xval):g.p2c(w,tt),R=\"yval\"in e?g.flat(l,e.yval):g.p2c(k,et),!i(D[0])||!i(R[0]))return o.warn(\"Fx.hover failed\",e,t),h.unhoverRaw(t,e)}var it=1/0;for(F=0;F<J.length;F++)if((N=J[F])&&N[0]&&N[0].trace&&!0===N[0].trace.visible&&(j=N[0].trace,-1===[\"carpet\",\"contourcarpet\"].indexOf(j._module.name))){if(\"splom\"===j.type?V=l[U=0]:(V=g.getSubplot(j),U=l.indexOf(V)),q=I,W={cd:N,trace:j,xa:w[U],ya:k[U],maxHoverDistance:X,maxSpikeDistance:Z,index:!1,distance:Math.min(it,X),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:f.defaultLine,name:j.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},u[V]&&(W.subplot=u[V]._subplot),Y=$.length,\"array\"===q){var at=e[F];\"pointNumber\"in at?(W.index=at.pointNumber,q=\"closest\"):(q=\"\",\"xval\"in at&&(H=at.xval,q=\"x\"),\"yval\"in at&&(G=at.yval,q=q?\"closest\":\"y\"))}else H=D[U],G=R[U];if(0!==X)if(j._module&&j._module.hoverPoints){var ot=j._module.hoverPoints(W,H,G,q,u._hoverlayer);if(ot)for(var st,lt=0;lt<ot.length;lt++)st=ot[lt],i(st.x0)&&i(st.y0)&&$.push(T(st,I))}else o.log(\"Unrecognized trace type in hover:\",j);if(\"closest\"===I&&$.length>Y&&($.splice(0,Y),it=$[0].distance),y&&0!==Z&&0===$.length){W.distance=Z,W.index=!1;var ct=j._module.hoverPoints(W,H,G,\"closest\",u._hoverlayer);if(ct&&(ct=ct.filter(function(t){return t.spikeDistance<=Z})),ct&&ct.length){var ut,ft=ct.filter(function(t){return t.xa.showspikes});if(ft.length){var ht=ft[0];i(ht.x0)&&i(ht.y0)&&(ut=mt(ht),(!K.vLinePoint||K.vLinePoint.spikeDistance>ut.spikeDistance)&&(K.vLinePoint=ut))}var pt=ct.filter(function(t){return t.ya.showspikes});if(pt.length){var dt=pt[0];i(dt.x0)&&i(dt.y0)&&(ut=mt(dt),(!K.hLinePoint||K.hLinePoint.spikeDistance>ut.spikeDistance)&&(K.hLinePoint=ut))}}}}function gt(t,e){for(var r,n=null,i=1/0,a=0;a<t.length;a++)(r=t[a].spikeDistance)<i&&r<=e&&(n=t[a],i=r);return n}function mt(t){return t?{xa:t.xa,ya:t.ya,x:void 0!==t.xSpike?t.xSpike:(t.x0+t.x1)/2,y:void 0!==t.ySpike?t.ySpike:(t.y0+t.y1)/2,distance:t.distance,spikeDistance:t.spikeDistance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}var vt={fullLayout:u,container:u._hoverlayer,outerContainer:u._paperdiv,event:e},yt=t._spikepoints,xt={vLinePoint:K.vLinePoint,hLinePoint:K.hLinePoint};if(t._spikepoints=xt,y&&0!==Z&&0!==$.length){var bt=$.filter(function(t){return t.ya.showspikes}),_t=gt(bt,Z);K.hLinePoint=mt(_t);var wt=$.filter(function(t){return t.xa.showspikes}),kt=gt(wt,Z);K.vLinePoint=mt(kt)}if(0===$.length){var Mt=h.unhoverRaw(t,e);return!y||null===K.hLinePoint&&null===K.vLinePoint||E(yt)&&S(K,vt),Mt}y&&E(yt)&&S(K,vt);$.sort(function(t,e){return t.distance-e.distance});var At=t._hoverdata,Tt=[];for(B=0;B<$.length;B++){var St=$[B];Tt.push(g.makeEventData(St,St.trace,St.cd))}t._hoverdata=Tt;var Et=\"y\"===I&&(J.length>1||$.length>1)||\"closest\"===I&&Q&&$.length>1,Ct=f.combine(u.plot_bgcolor||f.background,u.paper_bgcolor),Lt={hovermode:I,rotateLabels:Et,bgColor:Ct,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},zt=M($,Lt,t);if(function(t,e,r){var n,i,a,o,s,l,c,u=0,f=1,h=t.map(function(t,n){var i=t[e],a=\"x\"===i._id.charAt(0),o=i.range;return!n&&o&&o[0]>o[1]!==a&&(f=-1),[{i:n,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?x:1)/2,pmin:0,pmax:a?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref||f*(e[0].traceIndex-t[0].traceIndex)});function p(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var c=0;for(o=0;o<t.length;o++)(l=t[o]).pos+l.dp+l.size>e.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o<t.length&&!(c<=0);o++)if((l=t[o]).pos<e.pmin+1)for(l.del=!0,c--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}for(;!n&&u<=t.length;){for(u++,n=!0,o=0;o<h.length-1;){var d=h[o],g=h[o+1],m=d[d.length-1],v=g[0];if((i=m.pos+m.dp+m.size-v.pos-v.dp+v.size)>.01&&m.pmin===v.pmin&&m.pmax===v.pmax){for(s=g.length-1;s>=0;s--)g[s].dp+=i;for(d.push.apply(d,g),h.splice(o+1,1),c=0,s=d.length-1;s>=0;s--)c+=d[s].dp;for(a=c/d.length,s=d.length-1;s>=0;s--)d[s].dp-=a;n=!1}else o++}h.forEach(p)}for(o=h.length-1;o>=0;o--){var y=h[o];for(s=y.length-1;s>=0;s--){var b=y[s],_=t[b.i];_.offset=b.dp,_.del=b.del}}}($,Et?\"xa\":\"ya\",u),A(zt,Et),e.target&&e.target.tagName){var Pt=d.getComponentMethod(\"annotations\",\"hasClickToShow\")(t,Tt);c(n.select(e.target),Pt?\"pointer\":\"\")}if(!e.target||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}(t,0,At))return;At&&t.emit(\"plotly_unhover\",{event:e,points:At});t.emit(\"plotly_hover\",{event:e,points:t._hoverdata,xaxes:w,yaxes:k,xvals:D,yvals:R})}(t,e,r,a)})},r.loneHover=function(t,e){var r={color:t.color||f.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,trace:{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0},i=n.select(e.container),a=e.outerContainer?n.select(e.outerContainer):i,o={hovermode:\"closest\",rotateLabels:!1,bgColor:e.bgColor||f.background,container:i,outerContainer:a},s=M([r],o,e.gd);return A(s,o.rotateLabels),s.node()}},{\"../../lib\":693,\"../../lib/events\":681,\"../../lib/override_cursor\":705,\"../../lib/svg_text_utils\":718,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"../color\":567,\"../dragelement\":589,\"../drawing\":592,\"./constants\":604,\"./helpers\":606,d3:147,\"fast-isnumeric\":213,tinycolor2:511}],608:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r,i){r(\"hoverlabel.bgcolor\",(i=i||{}).bgcolor),r(\"hoverlabel.bordercolor\",i.bordercolor),r(\"hoverlabel.namelength\",i.namelength),n.coerceFont(r,\"hoverlabel.font\",i.font)}},{\"../../lib\":693}],609:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../dragelement\"),o=t(\"./helpers\"),s=t(\"./layout_attributes\");e.exports={moduleType:\"component\",name:\"fx\",constants:t(\"./constants\"),schema:{layout:s},attributes:t(\"./attributes\"),layoutAttributes:s,supplyLayoutGlobalDefaults:t(\"./layout_global_defaults\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,\"hoverlabel.\"+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,\"hoverinfo\",function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:t(\"./hover\").hover,unhover:a.unhover,loneHover:t(\"./hover\").loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll(\"g.hovertext\").remove(),e.selectAll(\".spikeline\").remove()},click:t(\"./click\")}},{\"../../lib\":693,\"../dragelement\":589,\"./attributes\":601,\"./calc\":602,\"./click\":603,\"./constants\":604,\"./defaults\":605,\"./helpers\":606,\"./hover\":607,\"./layout_attributes\":610,\"./layout_defaults\":611,\"./layout_global_defaults\":612,d3:147}],610:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../plots/font_attributes\")({editType:\"none\"});i.family.dflt=n.HOVERFONT,i.size.dflt=n.HOVERFONTSIZE,e.exports={clickmode:{valType:\"flaglist\",flags:[\"event\",\"select\"],dflt:\"event\",editType:\"plot\",extras:[\"none\"]},dragmode:{valType:\"enumerated\",values:[\"zoom\",\"pan\",\"select\",\"lasso\",\"orbit\",\"turntable\"],dflt:\"zoom\",editType:\"modebar\"},hovermode:{valType:\"enumerated\",values:[\"x\",\"y\",\"closest\",!1],editType:\"modebar\"},hoverdistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},spikedistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"none\"},bordercolor:{valType:\"color\",editType:\"none\"},font:i,namelength:{valType:\"integer\",min:-1,dflt:15,editType:\"none\"},editType:\"none\"},selectdirection:{valType:\"enumerated\",values:[\"h\",\"v\",\"d\",\"any\"],dflt:\"any\",editType:\"none\"}}},{\"../../plots/font_attributes\":768,\"./constants\":604}],611:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}var o,s=a(\"clickmode\");\"select\"===a(\"dragmode\")&&a(\"selectdirection\"),e._has(\"cartesian\")?s.indexOf(\"select\")>-1?o=\"closest\":(e._isHoriz=function(t){for(var e=!0,r=0;r<t.length;r++){var n=t[r];if(\"h\"!==n.orientation){e=!1;break}}return e}(r),o=e._isHoriz?\"y\":\"x\"):o=\"closest\",a(\"hovermode\",o)&&(a(\"hoverdistance\"),a(\"spikedistance\"));var l=e._has(\"mapbox\"),c=e._has(\"geo\"),u=e._basePlotModules.length;\"zoom\"===e.dragmode&&((l||c)&&1===u||l&&c&&2===u)&&(e.dragmode=\"pan\")}},{\"../../lib\":693,\"./layout_attributes\":610}],612:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./hoverlabel_defaults\"),a=t(\"./layout_attributes\");e.exports=function(t,e){i(t,e,function(r,i){return n.coerce(t,e,a,r,i)})}},{\"../../lib\":693,\"./hoverlabel_defaults\":608,\"./layout_attributes\":610}],613:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../lib/regex\").counter,a=t(\"../../plots/domain\").attributes,o=t(\"../../plots/cartesian/constants\").idRegex,s=t(\"../../plot_api/plot_template\"),l={rows:{valType:\"integer\",min:1,editType:\"plot\"},roworder:{valType:\"enumerated\",values:[\"top to bottom\",\"bottom to top\"],dflt:\"top to bottom\",editType:\"plot\"},columns:{valType:\"integer\",min:1,editType:\"plot\"},subplots:{valType:\"info_array\",freeLength:!0,dimensions:2,items:{valType:\"enumerated\",values:[i(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.y.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},pattern:{valType:\"enumerated\",values:[\"independent\",\"coupled\"],dflt:\"coupled\",editType:\"plot\"},xgap:{valType:\"number\",min:0,max:1,editType:\"plot\"},ygap:{valType:\"number\",min:0,max:1,editType:\"plot\"},domain:a({name:\"grid\",editType:\"plot\",noGridCell:!0},{}),xside:{valType:\"enumerated\",values:[\"bottom\",\"bottom plot\",\"top plot\",\"top\"],dflt:\"bottom plot\",editType:\"plot\"},yside:{valType:\"enumerated\",values:[\"left\",\"left plot\",\"right plot\",\"right\"],dflt:\"left plot\",editType:\"plot\"},editType:\"plot\"};function c(t,e,r){var n=e[r+\"axes\"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function u(t,e,r,n,i,a){var o=e(t+\"gap\",r),s=e(\"domain.\"+t);e(t+\"side\",n);for(var l=new Array(i),c=s[0],u=(s[1]-c)/(i-o),f=u*(1-o),h=0;h<i;h++){var p=c+u*h;l[a?i-1-h:h]=[p,p+f]}return l}function f(t,e,r,n,i){var a,o=new Array(r);function s(t,r){-1!==e.indexOf(r)&&void 0===n[r]?(o[t]=r,n[r]=t):o[t]=\"\"}if(Array.isArray(t))for(a=0;a<r;a++)s(a,t[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}e.exports={moduleType:\"component\",name:\"grid\",schema:{layout:{grid:l}},layoutAttributes:l,sizeDefaults:function(t,e){var r=t.grid||{},i=c(e,r,\"x\"),a=c(e,r,\"y\");if(t.grid||i||a){var o,f,h=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),p=Array.isArray(i),d=Array.isArray(a),g=p&&i!==r.xaxes&&d&&a!==r.yaxes;h?(o=r.subplots.length,f=r.subplots[0].length):(d&&(o=a.length),p&&(f=i.length));var m=s.newContainer(e,\"grid\"),v=M(\"rows\",o),y=M(\"columns\",f);if(v*y>1){h||p||d||\"independent\"===M(\"pattern\")&&(h=!0),m._hasSubplotGrid=h;var x,b,_=\"top to bottom\"===M(\"roworder\"),w=h?.2:.1,k=h?.3:.1;g&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),m._domains={x:u(\"x\",M,w,x,y),y:u(\"y\",M,k,b,v,_)}}else delete e.grid}function M(t,e){return n.coerce(r,m,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,g=r.rows,m=r.columns,v=\"independent\"===r.pattern,y=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(g);var b=1;for(n=0;n<g;n++){var _=l[n]=new Array(m),w=x[n]||[];for(i=0;i<m;i++)if(v?(s=1===b?\"xy\":\"x\"+b+\"y\"+b,b++):s=w[i],_[i]=\"\",-1!==p.cartesian.indexOf(s)){if(u=s.indexOf(\"y\"),a=s.slice(0,u),o=s.slice(u),void 0!==y[a]&&y[a]!==i||void 0!==y[o]&&y[o]!==n)continue;_[i]=s,y[a]=i,y[o]=n}}}else{var k=c(e,h,\"x\"),M=c(e,h,\"y\");r.xaxes=f(k,p.xaxis,m,y,\"x\"),r.yaxes=f(M,p.yaxis,g,y,\"y\")}var A=r._anchors={},T=\"top to bottom\"===r.roworder;for(var S in y){var E,C,L,z=S.charAt(0),P=r[z+\"side\"];if(P.length<8)A[S]=\"free\";else if(\"x\"===z){if(\"t\"===P.charAt(0)===T?(E=0,C=1,L=g):(E=g-1,C=-1,L=-1),d){var O=y[S];for(n=E;n!==L;n+=C)if((s=l[n][O])&&(u=s.indexOf(\"y\"),s.slice(0,u)===S)){A[S]=s.slice(u);break}}else for(n=E;n!==L;n+=C)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){A[S]=o;break}}else if(\"l\"===P.charAt(0)?(E=0,C=1,L=m):(E=m-1,C=-1,L=-1),d){var I=y[S];for(n=E;n!==L;n+=C)if((s=l[I][n])&&(u=s.indexOf(\"y\"),s.slice(u)===S)){A[S]=s.slice(0,u);break}}else for(n=E;n!==L;n+=C)if(a=r.xaxes[n],-1!==p.cartesian.indexOf(a+S)){A[S]=a;break}}}}}},{\"../../lib\":693,\"../../lib/regex\":710,\"../../plot_api/plot_template\":732,\"../../plots/cartesian/constants\":747,\"../../plots/domain\":767}],614:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/constants\"),i=t(\"../../plot_api/plot_template\").templatedArray;e.exports=i(\"image\",{visible:{valType:\"boolean\",dflt:!0,editType:\"arraydraw\"},source:{valType:\"string\",editType:\"arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},sizex:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizey:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},x:{valType:\"any\",dflt:0,editType:\"arraydraw\"},y:{valType:\"any\",dflt:0,editType:\"arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\",editType:\"arraydraw\"},xref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"})},{\"../../plot_api/plot_template\":732,\"../../plots/cartesian/constants\":747}],615:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib/to_log_range\");e.exports=function(t,e,r,a){e=e||{};var o=\"log\"===r&&\"linear\"===e.type,s=\"linear\"===r&&\"log\"===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,f=e._id.charAt(0),h=0;h<u.length;h++)if(c=\"images[\"+h+\"].\",(l=u[h])[f+\"ref\"]===e._id){var p=l[f],d=l[\"size\"+f],g=null,m=null;if(o){g=i(p,e.range);var v=d/Math.pow(10,g)/2;m=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else m=(g=Math.pow(10,p))*(Math.pow(10,d/2)-Math.pow(10,-d/2));n(g)?n(m)||(m=null):(g=null,m=null),a(c+f,g),a(c+\"size\"+f,m)}}},{\"../../lib/to_log_range\":720,\"fast-isnumeric\":213}],616:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/array_container_defaults\"),o=t(\"./attributes\");function s(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}var s=a(\"source\");if(!a(\"visible\",!!s))return e;a(\"layer\"),a(\"xanchor\"),a(\"yanchor\"),a(\"sizex\"),a(\"sizey\"),a(\"sizing\"),a(\"opacity\");for(var l={_fullLayout:r},c=[\"x\",\"y\"],u=0;u<2;u++){var f=c[u],h=i.coerceRef(t,e,l,f,\"paper\");i.coercePosition(e,l,a,h,f,0)}return e}e.exports=function(t,e){a(t,e,{name:\"images\",handleItemDefaults:s})}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"../../plots/cartesian/axes\":742,\"./attributes\":614}],617:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../drawing\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../constants/xmlns_namespaces\");e.exports=function(t){var e,r,s=t._fullLayout,l=[],c={},u=[];for(r=0;r<s.images.length;r++){var f=s.images[r];if(f.visible)if(\"below\"===f.layer&&\"paper\"!==f.xref&&\"paper\"!==f.yref){e=f.xref+f.yref;var h=s._plots[e];if(!h){u.push(f);continue}h.mainplot&&(e=h.mainplot.id),c[e]||(c[e]=[]),c[e].push(f)}else\"above\"===f.layer?l.push(f):u.push(f)}var p={x:{left:{sizing:\"xMin\",offset:0},center:{sizing:\"xMid\",offset:-.5},right:{sizing:\"xMax\",offset:-1}},y:{top:{sizing:\"YMin\",offset:0},middle:{sizing:\"YMid\",offset:-.5},bottom:{sizing:\"YMax\",offset:-1}}};function d(e){var r=n.select(this);if(!this.img||this.img.src!==e.source){r.attr(\"xmlns\",o.svg);var i=new Promise(function(t){var n=new Image;function i(){r.remove(),t()}this.img=n,n.setAttribute(\"crossOrigin\",\"anonymous\"),n.onerror=i,n.onload=function(){var e=document.createElement(\"canvas\");e.width=this.width,e.height=this.height,e.getContext(\"2d\").drawImage(this,0,0);var n=e.toDataURL(\"image/png\");r.attr(\"xlink:href\",n),t()},r.on(\"error\",i),n.src=e.source}.bind(this));t._promises.push(i)}}function g(e){var r=n.select(this),o=a.getFromId(t,e.xref),l=a.getFromId(t,e.yref),c=s._size,u=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*c.w,f=l?Math.abs(l.l2p(e.sizey)-l.l2p(0)):e.sizey*c.h,h=u*p.x[e.xanchor].offset,d=f*p.y[e.yanchor].offset,g=p.x[e.xanchor].sizing+p.y[e.yanchor].sizing,m=(o?o.r2p(e.x)+o._offset:e.x*c.w+c.l)+h,v=(l?l.r2p(e.y)+l._offset:c.h-e.y*c.h+c.t)+d;switch(e.sizing){case\"fill\":g+=\" slice\";break;case\"stretch\":g=\"none\"}r.attr({x:m,y:v,width:u,height:f,preserveAspectRatio:g,opacity:e.opacity});var y=(o?o._id:\"\")+(l?l._id:\"\");r.call(i.setClipUrl,y?\"clip\"+s._uid+y:null)}var m=s._imageLowerLayer.selectAll(\"image\").data(u),v=s._imageUpperLayer.selectAll(\"image\").data(l);m.enter().append(\"image\"),v.enter().append(\"image\"),m.exit().remove(),v.exit().remove(),m.each(function(t){d.bind(this)(t),g.bind(this)(t)}),v.each(function(t){d.bind(this)(t),g.bind(this)(t)});var y=Object.keys(s._plots);for(r=0;r<y.length;r++){e=y[r];var x=s._plots[e];if(x.imagelayer){var b=x.imagelayer.selectAll(\"image\").data(c[e]||[]);b.enter().append(\"image\"),b.exit().remove(),b.each(function(t){d.bind(this)(t),g.bind(this)(t)})}}}},{\"../../constants/xmlns_namespaces\":671,\"../../plots/cartesian/axes\":742,\"../drawing\":592,d3:147}],618:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"images\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),includeBasePlot:t(\"../../plots/cartesian/include_components\")(\"images\"),draw:t(\"./draw\"),convertCoords:t(\"./convert_coords\")}},{\"../../plots/cartesian/include_components\":752,\"./attributes\":614,\"./convert_coords\":615,\"./defaults\":616,\"./draw\":617}],619:[function(t,e,r){\"use strict\";r.isRightAnchor=function(t){return\"right\"===t.xanchor||\"auto\"===t.xanchor&&t.x>=2/3},r.isCenterAnchor=function(t){return\"center\"===t.xanchor||\"auto\"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isBottomAnchor=function(t){return\"bottom\"===t.yanchor||\"auto\"===t.yanchor&&t.y<=1/3},r.isMiddleAnchor=function(t){return\"middle\"===t.yanchor||\"auto\"===t.yanchor&&t.y>1/3&&t.y<2/3}},{}],620:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\");e.exports={bgcolor:{valType:\"color\",editType:\"legend\"},bordercolor:{valType:\"color\",dflt:i.defaultLine,editType:\"legend\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"legend\"},font:n({editType:\"legend\"}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\",editType:\"legend\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"],editType:\"legend\"},tracegroupgap:{valType:\"number\",min:0,dflt:10,editType:\"legend\"},x:{valType:\"number\",min:-2,max:3,dflt:1.02,editType:\"legend\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"legend\"},y:{valType:\"number\",min:-2,max:3,dflt:1,editType:\"legend\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"legend\"},editType:\"legend\"}},{\"../../plots/font_attributes\":768,\"../color/attributes\":566}],621:[function(t,e,r){\"use strict\";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4,textOffsetX:40}},{}],622:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../plot_api/plot_template\"),o=t(\"./attributes\"),s=t(\"../../plots/layout_attributes\"),l=t(\"./helpers\");e.exports=function(t,e,r){for(var c,u,f,h,p=t.legend||{},d=0,g=!1,m=\"normal\",v=0;v<r.length;v++){var y=r[v];y.visible&&((y.showlegend||y._dfltShowLegend)&&(d++,y.showlegend&&(g=!0,(n.traceIs(y,\"pie\")||!0===y._input.showlegend)&&d++)),(n.traceIs(y,\"bar\")&&\"stack\"===e.barmode||-1!==[\"tonextx\",\"tonexty\"].indexOf(y.fill))&&(m=l.isGrouped({traceorder:m})?\"grouped+reversed\":\"reversed\"),void 0!==y.legendgroup&&\"\"!==y.legendgroup&&(m=l.isReversed({traceorder:m})?\"reversed+grouped\":\"grouped\"))}if(!1!==i.coerce(t,e,s,\"showlegend\",g&&d>1)){var x=a.newContainer(e,\"legend\");if(_(\"bgcolor\",e.paper_bgcolor),_(\"bordercolor\"),_(\"borderwidth\"),i.coerceFont(_,\"font\",e.font),_(\"orientation\"),\"h\"===x.orientation){var b=t.xaxis;b&&b.rangeslider&&b.rangeslider.visible?(c=0,f=\"left\",u=1.1,h=\"bottom\"):(c=0,f=\"left\",u=-.1,h=\"top\")}_(\"traceorder\",m),l.isGrouped(e.legend)&&_(\"tracegroupgap\"),_(\"x\",c),_(\"xanchor\",f),_(\"y\",u),_(\"yanchor\",h),i.noneOrAll(p,x,[\"x\",\"y\"])}function _(t,e){return i.coerce(p,x,o,t,e)}}},{\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../plots/layout_attributes\":796,\"../../registry\":825,\"./attributes\":620,\"./helpers\":626}],623:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib/events\"),l=t(\"../dragelement\"),c=t(\"../drawing\"),u=t(\"../color\"),f=t(\"../../lib/svg_text_utils\"),h=t(\"./handle_click\"),p=t(\"./constants\"),d=t(\"../../constants/interactions\"),g=t(\"../../constants/alignment\"),m=g.LINE_SPACING,v=g.FROM_TL,y=g.FROM_BR,x=t(\"./get_legend_data\"),b=t(\"./style\"),_=t(\"./helpers\"),w=t(\"./anchor_utils\"),k=d.DBLCLICKDELAY;function M(t,e,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(a._group&&(o.group=a._group),\"pie\"===a.type&&(o.label=r.datum()[0].label),!1!==s.triggerHandler(t,\"plotly_legendclick\",o))if(1===n)e._clickTimeout=setTimeout(function(){h(r,t,n)},k);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,\"plotly_legenddoubleclick\",o)&&h(r,t,n)}}function A(t,e,r){var n=t.data()[0][0],a=e._fullLayout,s=n.trace,l=o.traceIs(s,\"pie\"),u=s.index,h=l?n.label:s.name,d=e._context.edits.legendText&&!l,g=i.ensureSingle(t,\"text\",\"legendtext\");function v(r){f.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(\"g[class*=math-group]\"),o=a.node(),s=e._fullLayout.legend.font.size*m;if(o){var l=c.bBox(o);n=l.height,i=l.width,c.setTranslate(a,0,n/4)}else{var u=t.select(\".legendtext\"),h=f.lineCount(u),d=u.node();n=s*h,i=d?c.bBox(d).width:0;var g=s*(.3+(1-h)/2);f.positionText(u,p.textOffsetX,g)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}g.attr(\"text-anchor\",\"start\").classed(\"user-select-none\",!0).call(c.font,a.legend.font).text(d?T(h,r):h),f.positionText(g,p.textOffsetX,0),d?g.call(f.makeEditable,{gd:e,text:h}).call(v).on(\"edit\",function(t){this.text(T(t,r)).call(v);var a=n.trace._fullInput||{},s={};if(o.hasTransform(a,\"groupby\")){var l=o.getTransformIndices(a,\"groupby\"),c=l[l.length-1],f=i.keyedContainer(a,\"transforms[\"+c+\"].styles\",\"target\",\"value.name\");f.set(n.trace._group,t),s=f.constructUpdate()}else s.name=t;return o.call(\"restyle\",e,s,u)}):v(g)}function T(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||\"\").length;n>0;n--)t+=\" \";return t}function S(t,e){var r,a=1,o=i.ensureSingle(t,\"rect\",\"legendtoggle\",function(t){t.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\").call(u.fill,\"rgba(0,0,0,0)\")});o.on(\"mousedown\",function(){(r=(new Date).getTime())-e._legendMouseDownTime<k?a+=1:(a=1,e._legendMouseDownTime=r)}),o.on(\"mouseup\",function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>k&&(a=Math.max(a-1,1)),M(e,r,t,a,n.event)}})}function E(t,e,r){var i=t._fullLayout,a=i.legend,o=a.borderwidth,s=_.isGrouped(a),l=0;if(a._width=0,a._height=0,_.isVertical(a))s&&e.each(function(t,e){c.setTranslate(this,0,e*a.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;c.setTranslate(this,o,5+o+a._height+r/2),a._height+=r,a._width=Math.max(a._width,n)}),a._width+=45+2*o,a._height+=10+2*o,s&&(a._height+=(a._lgroupsLength-1)*a.tracegroupgap),l=40;else if(s){for(var u=[a._width],f=e.data(),h=0,p=f.length;h<p;h++){var d=f[h].map(function(t){return t[0].width}),g=40+Math.max.apply(null,d);a._width+=a.tracegroupgap+g,u.push(a._width)}e.each(function(t,e){c.setTranslate(this,u[e],0)}),e.each(function(){var t=n.select(this).selectAll(\"g.traces\"),e=0;t.each(function(t){var r=t[0].height;c.setTranslate(this,0,5+o+e+r/2),e+=r}),a._height=Math.max(a._height,e)}),a._height+=10+2*o,a._width+=2*o}else{var m,v=0,y=0,x=0,b=0,w=0,k=a.tracegroupgap||5;r.each(function(t){x=Math.max(40+t[0].width,x),w+=40+t[0].width+k}),m=i._size.w>o+w-k,r.each(function(t){var e=t[0],r=m?40+t[0].width:x;o+b+k+r>i._size.w&&(b=0,v+=y,a._height=a._height+y,y=0),c.setTranslate(this,o+b,5+o+e.height/2+v),a._width+=k+r,a._height=Math.max(a._height,e.height),b+=k+r,y=Math.max(e.height,y)}),a._width+=2*o,a._height+=10+2*o}a._width=Math.ceil(a._width),a._height=Math.ceil(a._height);var M=t._context.edits.legendText||t._context.edits.legendPosition;r.each(function(t){var e=t[0],r=n.select(this).select(\".legendtoggle\");c.setRect(r,0,-e.height/2,(M?0:a._width)+l,e.height)})}function C(t){var e=t._fullLayout.legend,r=\"left\";w.isRightAnchor(e)?r=\"right\":w.isCenterAnchor(e)&&(r=\"center\");var n=\"top\";w.isBottomAnchor(e)?n=\"bottom\":w.isMiddleAnchor(e)&&(n=\"middle\"),a.autoMargin(t,\"legend\",{x:e.x,y:e.y,l:e._width*v[r],r:e._width*y[r],b:e._height*y[n],t:e._height*v[n]})}e.exports=function(t){var e=t._fullLayout,r=\"legend\"+e._uid;if(e._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var s=e.legend,f=e.showlegend&&x(t.calcdata,s),h=e.hiddenlabels||[];if(!e.showlegend||!f.length)return e._infolayer.selectAll(\".legend\").remove(),e._topdefs.select(\"#\"+r).remove(),void a.autoMargin(t,\"legend\");for(var d=0,g=0;g<f.length;g++)for(var m=0;m<f[g].length;m++){var _=f[g][m][0],k=_.trace,T=o.traceIs(k,\"pie\")?_.label:k.name;d=Math.max(d,T&&T.length||0)}var L=!1,z=i.ensureSingle(e._infolayer,\"g\",\"legend\",function(t){t.attr(\"pointer-events\",\"all\"),L=!0}),P=i.ensureSingleById(e._topdefs,\"clipPath\",r,function(t){t.append(\"rect\")}),O=i.ensureSingle(z,\"rect\",\"bg\",function(t){t.attr(\"shape-rendering\",\"crispEdges\")});O.call(u.stroke,s.bordercolor).call(u.fill,s.bgcolor).style(\"stroke-width\",s.borderwidth+\"px\");var I=i.ensureSingle(z,\"g\",\"scrollbox\"),D=i.ensureSingle(z,\"rect\",\"scrollbar\",function(t){t.attr({rx:20,ry:3,width:0,height:0}).call(u.fill,\"#808BA4\")}),R=I.selectAll(\"g.groups\").data(f);R.enter().append(\"g\").attr(\"class\",\"groups\"),R.exit().remove();var B=R.selectAll(\"g.traces\").data(i.identity);B.enter().append(\"g\").attr(\"class\",\"traces\"),B.exit().remove(),B.call(b,t).style(\"opacity\",function(t){var e=t[0].trace;return o.traceIs(e,\"pie\")?-1!==h.indexOf(t[0].label)?.5:1:\"legendonly\"===e.visible?.5:1}).each(function(){n.select(this).call(A,t,d).call(S,t)}),i.syncOrAsync([a.previousPromises,function(){L&&(E(t,R,B),C(t));var u=e.width,f=e.height;E(t,R,B),s._height>f?function(t){var e=t._fullLayout.legend,r=\"left\";w.isRightAnchor(e)?r=\"right\":w.isCenterAnchor(e)&&(r=\"center\");a.autoMargin(t,\"legend\",{x:e.x,y:.5,l:e._width*v[r],r:e._width*y[r],b:0,t:0})}(t):C(t);var h=e._size,d=h.l+h.w*s.x,g=h.t+h.h*(1-s.y);w.isRightAnchor(s)?d-=s._width:w.isCenterAnchor(s)&&(d-=s._width/2),w.isBottomAnchor(s)?g-=s._height:w.isMiddleAnchor(s)&&(g-=s._height/2);var m=s._width,x=h.w;m>x?(d=h.l,m=x):(d+m>u&&(d=u-m),d<0&&(d=0),m=Math.min(u-d,s._width));var b,_,k,A,T=s._height,S=h.h;if(T>S?(g=h.t,T=S):(g+T>f&&(g=f-T),g<0&&(g=0),T=Math.min(f-g,s._height)),c.setTranslate(z,d,g),D.on(\".drag\",null),z.on(\"wheel\",null),s._height<=T||t._context.staticPlot)O.attr({width:m-s.borderwidth,height:T-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),c.setTranslate(I,0,0),P.select(\"rect\").attr({width:m-2*s.borderwidth,height:T-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth}),c.setClipUrl(I,r),c.setRect(D,0,0,0,0),delete s._scrollY;else{var F,N,j=Math.max(p.scrollBarMinHeight,T*T/s._height),V=T-j-2*p.scrollBarMargin,U=s._height-T,q=V/U,H=Math.min(s._scrollY||0,U);O.attr({width:m-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:T-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),P.select(\"rect\").attr({width:m-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:T-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth+H}),c.setClipUrl(I,r),W(H,j,q),z.on(\"wheel\",function(){W(H=i.constrain(s._scrollY+n.event.deltaY/V*U,0,U),j,q),0!==H&&H!==U&&n.event.preventDefault()});var G=n.behavior.drag().on(\"dragstart\",function(){F=n.event.sourceEvent.clientY,N=H}).on(\"drag\",function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||W(H=i.constrain((t.clientY-F)/q+N,0,U),j,q)});D.call(G)}function W(e,r,n){s._scrollY=t._fullLayout.legend._scrollY=e,c.setTranslate(I,0,-e),c.setRect(D,m,p.scrollBarMargin+e*n,p.scrollBarWidth,r),P.select(\"rect\").attr({y:s.borderwidth+e})}t._context.edits.legendPosition&&(z.classed(\"cursor-move\",!0),l.init({element:z.node(),gd:t,prepFn:function(){var t=c.getTranslate(z);k=t.x,A=t.y},moveFn:function(t,e){var r=k+t,n=A+e;c.setTranslate(z,r,n),b=l.align(r,0,h.l,h.l+h.w,s.xanchor),_=l.align(n,0,h.t+h.h,h.t,s.yanchor)},doneFn:function(){void 0!==b&&void 0!==_&&o.call(\"relayout\",t,{\"legend.x\":b,\"legend.y\":_})},clickFn:function(r,n){var i=e._infolayer.selectAll(\"g.traces\").filter(function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom});i.size()>0&&M(t,z,i,r,n)}}))}],t)}}},{\"../../constants/alignment\":665,\"../../constants/interactions\":669,\"../../lib\":693,\"../../lib/events\":681,\"../../lib/svg_text_utils\":718,\"../../plots/plots\":805,\"../../registry\":825,\"../color\":567,\"../dragelement\":589,\"../drawing\":592,\"./anchor_utils\":619,\"./constants\":621,\"./get_legend_data\":624,\"./handle_click\":625,\"./helpers\":626,\"./style\":628,d3:147}],624:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./helpers\");e.exports=function(t,e){var r,a,o={},s=[],l=!1,c={},u=0;function f(t,r){if(\"\"!==t&&i.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n=\"~~i\"+u;s.push(n),o[n]=[[r]],u++}}for(r=0;r<t.length;r++){var h=t[r],p=h[0],d=p.trace,g=d.legendgroup;if(d.visible&&d.showlegend)if(n.traceIs(d,\"pie\"))for(c[g]||(c[g]={}),a=0;a<h.length;a++){var m=h[a].label;c[g][m]||(f(g,{label:m,color:h[a].color,i:h[a].i,trace:d,pts:h[a].pts}),c[g][m]=!0)}else f(g,p)}if(!s.length)return[];var v,y,x=s.length;if(l&&i.isGrouped(e))for(y=new Array(x),r=0;r<x;r++)v=o[s[r]],y[r]=i.isReversed(e)?v.reverse():v;else{for(y=[new Array(x)],r=0;r<x;r++)v=o[s[r]][0],y[0][i.isReversed(e)?x-r-1:r]=v;x=1}return e._lgroupsLength=x,y}},{\"../../registry\":825,\"./helpers\":626}],625:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=!0;e.exports=function(t,e,r){if(!e._dragged&&!e._editing){var o,s,l,c,u,f=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],h=t.data()[0][0],p=e._fullData,d=h.trace,g=d.legendgroup,m={},v=[],y=[],x=[];if(1===r&&a&&e.data&&e._context.showTips?(n.notifier(n._(e,\"Double-click on legend to isolate one trace\"),\"long\"),a=!1):a=!1,i.traceIs(d,\"pie\")){var b=h.label,_=f.indexOf(b);1===r?-1===_?f.push(b):f.splice(_,1):2===r&&(f=[],e.calcdata[0].forEach(function(t){b!==t.label&&f.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===f.length&&-1===_&&(f=[])),i.call(\"relayout\",e,\"hiddenlabels\",f)}else{var w,k=g&&g.length,M=[];if(k)for(o=0;o<p.length;o++)(w=p[o]).visible&&w.legendgroup===g&&M.push(o);if(1===r){var A;switch(d.visible){case!0:A=\"legendonly\";break;case!1:A=!1;break;case\"legendonly\":A=!0}if(k)for(o=0;o<p.length;o++)!1!==p[o].visible&&p[o].legendgroup===g&&P(p[o],A);else P(d,A)}else if(2===r){var T,S,E=!0;for(o=0;o<p.length;o++)if(!(p[o]===d)&&!(T=k&&p[o].legendgroup===g)&&!0===p[o].visible&&!i.traceIs(p[o],\"notLegendIsolatable\")){E=!1;break}for(o=0;o<p.length;o++)if(!1!==p[o].visible&&!i.traceIs(p[o],\"notLegendIsolatable\"))switch(d.visible){case\"legendonly\":P(p[o],!0);break;case!0:S=!!E||\"legendonly\",T=p[o]===d||k&&p[o].legendgroup===g,P(p[o],!!T||S)}}for(o=0;o<y.length;o++)if(l=y[o]){var C=l.constructUpdate(),L=Object.keys(C);for(s=0;s<L.length;s++)c=L[s],(m[c]=m[c]||[])[x[o]]=C[c]}for(u=Object.keys(m),o=0;o<u.length;o++)for(c=u[o],s=0;s<v.length;s++)m[c].hasOwnProperty(s)||(m[c][s]=void 0);i.call(\"restyle\",e,m,v)}}function z(t,e,r){var n=v.indexOf(t),i=m[e];return i||(i=m[e]=[]),-1===v.indexOf(t)&&(v.push(t),n=v.length-1),i[n]=r,n}function P(t,e){var r=t._fullInput;if(i.hasTransform(r,\"groupby\")){var a=y[r.index];if(!a){var o=i.getTransformIndices(r,\"groupby\"),s=o[o.length-1];a=n.keyedContainer(r,\"transforms[\"+s+\"].styles\",\"target\",\"value.visible\"),y[r.index]=a}var l=a.get(t._group);void 0===l&&(l=!0),!1!==l&&a.set(t._group,e),x[r.index]=z(r.index,\"visible\",!1!==r.visible)}else{var c=!1!==r.visible&&e;z(r.index,\"visible\",c)}}}},{\"../../lib\":693,\"../../registry\":825}],626:[function(t,e,r){\"use strict\";r.isGrouped=function(t){return-1!==(t.traceorder||\"\").indexOf(\"grouped\")},r.isVertical=function(t){return\"h\"!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||\"\").indexOf(\"reversed\")}},{}],627:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"legend\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\"),style:t(\"./style\")}},{\"./attributes\":620,\"./defaults\":622,\"./draw\":623,\"./style\":628}],628:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../drawing\"),s=t(\"../color\"),l=t(\"../../traces/scatter/subtypes\"),c=t(\"../../traces/pie/style_one\");e.exports=function(t,e){t.each(function(t){var e=n.select(this),r=a.ensureSingle(e,\"g\",\"layers\");r.style(\"opacity\",t[0].trace.opacity),r.selectAll(\"g.legendfill\").data([t]).enter().append(\"g\").classed(\"legendfill\",!0),r.selectAll(\"g.legendlines\").data([t]).enter().append(\"g\").classed(\"legendlines\",!0);var i=r.selectAll(\"g.legendsymbols\").data([t]);i.enter().append(\"g\").classed(\"legendsymbols\",!0),i.selectAll(\"g.legendpoints\").data([t]).enter().append(\"g\").classed(\"legendpoints\",!0)}).each(function(t){var e=t[0].trace,r=e.marker||{},a=r.line||{},o=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbar\").data(i.traceIs(e,\"bar\")?[t]:[]);o.enter().append(\"path\").classed(\"legendbar\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),o.exit().remove(),o.each(function(t){var e=n.select(this),i=t[0],o=(i.mlw+1||a.width+1)-1;e.style(\"stroke-width\",o+\"px\").call(s.fill,i.mc||r.color),o&&e.call(s.stroke,i.mlc||a.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(i.traceIs(e,\"box-violin\")&&e.visible?[t]:[]);r.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),r.exit().remove(),r.each(function(){var t=e.line.width,r=n.select(this);r.style(\"stroke-width\",t+\"px\").call(s.fill,e.fillcolor),t&&s.stroke(r,e.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendpie\").data(i.traceIs(e,\"pie\")&&e.visible?[t]:[]);r.enter().append(\"path\").classed(\"legendpie\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),r.exit().remove(),r.size()&&r.call(c,t[0],e)}).each(function(t){var r=t[0].trace,i=r.visible&&r.fill&&\"none\"!==r.fill,a=l.hasLines(r),s=r.contours,c=!1,u=!1;if(s){var f=s.coloring;\"lines\"===f?c=!0:a=\"none\"===f||\"heatmap\"===f||s.showlines,\"constraint\"===s.type?i=\"=\"!==s._operation:\"fill\"!==f&&\"heatmap\"!==f||(u=!0)}var h=l.hasMarkers(r)||l.hasText(r),p=i||u,d=a||c,g=h||!p?\"M5,0\":d?\"M5,-2\":\"M5,-3\",m=n.select(this),v=m.select(\".legendfill\").selectAll(\"path\").data(i||u?[t]:[]);v.enter().append(\"path\").classed(\"js-fill\",!0),v.exit().remove(),v.attr(\"d\",g+\"h30v6h-30z\").call(i?o.fillGroupStyle:function(t){if(t.size()){var n=\"legendfill-\"+r.uid;o.gradient(t,e,n,\"horizontalreversed\",r.colorscale,\"fill\")}});var y=m.select(\".legendlines\").selectAll(\"path\").data(a||c?[t]:[]);y.enter().append(\"path\").classed(\"js-line\",!0),y.exit().remove(),y.attr(\"d\",g+(c?\"l30,0.0001\":\"h30\")).call(a?o.lineGroupStyle:function(t){if(t.size()){var n=\"legendline-\"+r.uid;o.lineGroupStyle(t),o.gradient(t,e,n,\"horizontalreversed\",r.colorscale,\"stroke\")}})}).each(function(t){var r,i,s=t[0],c=s.trace,u=l.hasMarkers(c),f=l.hasText(c),h=l.hasLines(c);function p(t,e,r){var n=a.nestedProperty(c,t).get(),i=Array.isArray(n)&&e?e(n):n;if(r){if(i<r[0])return r[0];if(i>r[1])return r[1]}return i}function d(t){return t[0]}if(u||f||h){var g={},m={};if(u){g.mc=p(\"marker.color\",d),g.mx=p(\"marker.symbol\",d),g.mo=p(\"marker.opacity\",a.mean,[.2,1]),g.mlc=p(\"marker.line.color\",d),g.mlw=p(\"marker.line.width\",a.mean,[0,5]),m.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var v=p(\"marker.size\",a.mean,[2,16]);g.ms=v,m.marker.size=v}h&&(m.line={width:p(\"line.width\",d,[0,10])}),f&&(g.tx=\"Aa\",g.tp=p(\"textposition\",d),g.ts=10,g.tc=p(\"textfont.color\",d),g.tf=p(\"textfont.family\",d)),r=[a.minExtend(s,g)],(i=a.minExtend(c,m)).selectedpoints=null}var y=n.select(this).select(\"g.legendpoints\"),x=y.selectAll(\"path.scatterpts\").data(u?r:[]);x.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",\"translate(20,0)\"),x.exit().remove(),x.call(o.pointStyle,i,e),u&&(r[0].mrc=3);var b=y.selectAll(\"g.pointtext\").data(f?r:[]);b.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",\"translate(20,0)\"),b.exit().remove(),b.selectAll(\"text\").call(o.textPointStyle,i,e)}).each(function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(\"candlestick\"===e.type&&e.visible?[t,t]:[]);r.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",function(t,e){return e?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"}).attr(\"transform\",\"translate(20,0)\").style(\"stroke-miterlimit\",1),r.exit().remove(),r.each(function(t,r){var i=e[r?\"increasing\":\"decreasing\"],a=i.line.width,o=n.select(this);o.style(\"stroke-width\",a+\"px\").call(s.fill,i.fillcolor),a&&s.stroke(o,i.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(\"ohlc\"===e.type&&e.visible?[t,t]:[]);r.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",function(t,e){return e?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"}).attr(\"transform\",\"translate(20,0)\").style(\"stroke-miterlimit\",1),r.exit().remove(),r.each(function(t,r){var i=e[r?\"increasing\":\"decreasing\"],a=i.line.width,l=n.select(this);l.style(\"fill\",\"none\").call(o.dashLine,i.line.dash,a),a&&s.stroke(l,i.line.color)})})}},{\"../../lib\":693,\"../../registry\":825,\"../../traces/pie/style_one\":1018,\"../../traces/scatter/subtypes\":1056,\"../color\":567,\"../drawing\":592,d3:147}],629:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/plots\"),a=t(\"../../plots/cartesian/axis_ids\"),o=t(\"../../lib\"),s=t(\"../../../build/ploticon\"),l=o._,c=e.exports={};function u(t,e){var r,i,o=e.currentTarget,s=o.getAttribute(\"data-attr\"),l=o.getAttribute(\"data-val\")||!0,c=t._fullLayout,u={},f=a.list(t,null,!0),h=\"on\";if(\"zoom\"===s){var p,d=\"in\"===l?.5:2,g=(1+d)/2,m=(1-d)/2;for(i=0;i<f.length;i++)if(!(r=f[i]).fixedrange)if(p=r._name,\"auto\"===l)u[p+\".autorange\"]=!0;else if(\"reset\"===l){if(void 0===r._rangeInitial)u[p+\".autorange\"]=!0;else{var v=r._rangeInitial.slice();u[p+\".range[0]\"]=v[0],u[p+\".range[1]\"]=v[1]}void 0!==r._showSpikeInitial&&(u[p+\".showspikes\"]=r._showSpikeInitial,\"on\"!==h||r._showSpikeInitial||(h=\"off\"))}else{var y=[r.r2l(r.range[0]),r.r2l(r.range[1])],x=[g*y[0]+m*y[1],g*y[1]+m*y[0]];u[p+\".range[0]\"]=r.l2r(x[0]),u[p+\".range[1]\"]=r.l2r(x[1])}c._cartesianSpikesEnabled=h}else{if(\"hovermode\"!==s||\"x\"!==l&&\"y\"!==l){if(\"hovermode\"===s&&\"closest\"===l){for(i=0;i<f.length;i++)r=f[i],\"on\"!==h||r.showspikes||(h=\"off\");c._cartesianSpikesEnabled=h}}else l=c._isHoriz?\"y\":\"x\",o.setAttribute(\"data-val\",l);u[s]=l}n.call(\"relayout\",t,u)}function f(t,e){for(var r=e.currentTarget,i=r.getAttribute(\"data-attr\"),a=r.getAttribute(\"data-val\")||!0,o=t._fullLayout._subplots.gl3d,s={},l=i.split(\".\"),c=0;c<o.length;c++)s[o[c]+\".\"+l[1]]=a;var u=\"pan\"===a?a:\"zoom\";s.dragmode=u,n.call(\"relayout\",t,s)}function h(t,e){for(var r=e.currentTarget.getAttribute(\"data-attr\"),i=t._fullLayout,a=i._subplots.gl3d,s={},l=0;l<a.length;l++){var c=a[l],u=c+\".camera\",f=i[c]._scene;\"resetDefault\"===r?s[u]=null:\"resetLastSave\"===r&&(s[u]=o.extendDeep({},f.cameraInitial))}n.call(\"relayout\",t,s)}function p(t,e){var r=e.currentTarget,i=r._previousVal||!1,a=t.layout,s=t._fullLayout,l=s._subplots.gl3d,c=[\"xaxis\",\"yaxis\",\"zaxis\"],u=[\"showspikes\",\"spikesides\",\"spikethickness\",\"spikecolor\"],f={},h={},p={};if(i)p=o.extendDeep(a,i),r._previousVal=null;else{p={\"allaxes.showspikes\":!1};for(var d=0;d<l.length;d++){var g=l[d],m=s[g],v=f[g]={};v.hovermode=m.hovermode,p[g+\".hovermode\"]=!1;for(var y=0;y<3;y++){var x=c[y];h=v[x]={};for(var b=0;b<u.length;b++){var _=u[b];h[_]=m[x][_]}}}r._previousVal=o.extendDeep({},f)}n.call(\"relayout\",t,p)}function d(t,e){for(var r=e.currentTarget,i=r.getAttribute(\"data-attr\"),a=r.getAttribute(\"data-val\")||!0,o=t._fullLayout,s=o._subplots.geo,l=0;l<s.length;l++){var c=s[l],u=o[c];if(\"zoom\"===i){var f=u.projection.scale,h=\"in\"===a?2*f:.5*f;n.call(\"relayout\",t,c+\".projection.scale\",h)}else\"reset\"===i&&m(t,\"geo\")}}function g(t){var e,r=t._fullLayout;e=r._has(\"cartesian\")?r._isHoriz?\"y\":\"x\":\"closest\";var i=!t._fullLayout.hovermode&&e;n.call(\"relayout\",t,\"hovermode\",i)}function m(t,e){for(var r=t._fullLayout,i=r._subplots[e],a={},o=0;o<i.length;o++)for(var s=i[o],l=r[s]._subplot.viewInitial,c=Object.keys(l),u=0;u<c.length;u++){var f=c[u];a[s+\".\"+f]=l[f]}n.call(\"relayout\",t,a)}c.toImage={name:\"toImage\",title:function(t){var e=(t._context.toImageButtonOptions||{}).format||\"png\";return l(t,\"png\"===e?\"Download plot as a png\":\"Download plot\")},icon:s.camera,click:function(t){var e=t._context.toImageButtonOptions,r={format:e.format||\"png\"};o.notifier(l(t,\"Taking snapshot - this may take a few seconds\"),\"long\"),\"svg\"!==r.format&&o.isIE()&&(o.notifier(l(t,\"IE only supports svg.  Changing format to svg.\"),\"long\"),r.format=\"svg\"),[\"filename\",\"width\",\"height\",\"scale\"].forEach(function(t){e[t]&&(r[t]=e[t])}),n.call(\"downloadImage\",t,r).then(function(e){o.notifier(l(t,\"Snapshot succeeded\")+\" - \"+e,\"long\")}).catch(function(){o.notifier(l(t,\"Sorry, there was a problem downloading your snapshot!\"),\"long\")})}},c.sendDataToCloud={name:\"sendDataToCloud\",title:function(t){return l(t,\"Edit in Chart Studio\")},icon:s.disk,click:function(t){i.sendDataToCloud(t)}},c.zoom2d={name:\"zoom2d\",title:function(t){return l(t,\"Zoom\")},attr:\"dragmode\",val:\"zoom\",icon:s.zoombox,click:u},c.pan2d={name:\"pan2d\",title:function(t){return l(t,\"Pan\")},attr:\"dragmode\",val:\"pan\",icon:s.pan,click:u},c.select2d={name:\"select2d\",title:function(t){return l(t,\"Box Select\")},attr:\"dragmode\",val:\"select\",icon:s.selectbox,click:u},c.lasso2d={name:\"lasso2d\",title:function(t){return l(t,\"Lasso Select\")},attr:\"dragmode\",val:\"lasso\",icon:s.lasso,click:u},c.zoomIn2d={name:\"zoomIn2d\",title:function(t){return l(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:s.zoom_plus,click:u},c.zoomOut2d={name:\"zoomOut2d\",title:function(t){return l(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:s.zoom_minus,click:u},c.autoScale2d={name:\"autoScale2d\",title:function(t){return l(t,\"Autoscale\")},attr:\"zoom\",val:\"auto\",icon:s.autoscale,click:u},c.resetScale2d={name:\"resetScale2d\",title:function(t){return l(t,\"Reset axes\")},attr:\"zoom\",val:\"reset\",icon:s.home,click:u},c.hoverClosestCartesian={name:\"hoverClosestCartesian\",title:function(t){return l(t,\"Show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:s.tooltip_basic,gravity:\"ne\",click:u},c.hoverCompareCartesian={name:\"hoverCompareCartesian\",title:function(t){return l(t,\"Compare data on hover\")},attr:\"hovermode\",val:function(t){return t._fullLayout._isHoriz?\"y\":\"x\"},icon:s.tooltip_compare,gravity:\"ne\",click:u},c.zoom3d={name:\"zoom3d\",title:function(t){return l(t,\"Zoom\")},attr:\"scene.dragmode\",val:\"zoom\",icon:s.zoombox,click:f},c.pan3d={name:\"pan3d\",title:function(t){return l(t,\"Pan\")},attr:\"scene.dragmode\",val:\"pan\",icon:s.pan,click:f},c.orbitRotation={name:\"orbitRotation\",title:function(t){return l(t,\"Orbital rotation\")},attr:\"scene.dragmode\",val:\"orbit\",icon:s[\"3d_rotate\"],click:f},c.tableRotation={name:\"tableRotation\",title:function(t){return l(t,\"Turntable rotation\")},attr:\"scene.dragmode\",val:\"turntable\",icon:s[\"z-axis\"],click:f},c.resetCameraDefault3d={name:\"resetCameraDefault3d\",title:function(t){return l(t,\"Reset camera to default\")},attr:\"resetDefault\",icon:s.home,click:h},c.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",title:function(t){return l(t,\"Reset camera to last save\")},attr:\"resetLastSave\",icon:s.movie,click:h},c.hoverClosest3d={name:\"hoverClosest3d\",title:function(t){return l(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\"ne\",click:p},c.zoomInGeo={name:\"zoomInGeo\",title:function(t){return l(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:s.zoom_plus,click:d},c.zoomOutGeo={name:\"zoomOutGeo\",title:function(t){return l(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:s.zoom_minus,click:d},c.resetGeo={name:\"resetGeo\",title:function(t){return l(t,\"Reset\")},attr:\"reset\",val:null,icon:s.autoscale,click:d},c.hoverClosestGeo={name:\"hoverClosestGeo\",title:function(t){return l(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\"ne\",click:g},c.hoverClosestGl2d={name:\"hoverClosestGl2d\",title:function(t){return l(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\"ne\",click:g},c.hoverClosestPie={name:\"hoverClosestPie\",title:function(t){return l(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:s.tooltip_basic,gravity:\"ne\",click:g},c.toggleHover={name:\"toggleHover\",title:function(t){return l(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\"ne\",click:function(t,e){g(t),p(t,e)}},c.resetViews={name:\"resetViews\",title:function(t){return l(t,\"Reset views\")},icon:s.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),u(t,e),r.setAttribute(\"data-attr\",\"resetLastSave\"),h(t,e),m(t,\"geo\"),m(t,\"mapbox\")}},c.toggleSpikelines={name:\"toggleSpikelines\",title:function(t){return l(t,\"Toggle Spike Lines\")},icon:s.spikeline,attr:\"_cartesianSpikesEnabled\",val:\"on\",click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=\"on\"===e._cartesianSpikesEnabled?\"off\":\"on\";var r=function(t){for(var e,r,n=t._fullLayout,i=a.list(t,null,!0),o={},s=0;s<i.length;s++)e=i[s],r=e._name,o[r+\".showspikes\"]=\"on\"===n._cartesianSpikesEnabled||e._showSpikeInitial;return o}(t);n.call(\"relayout\",t,r)}},c.resetViewMapbox={name:\"resetViewMapbox\",title:function(t){return l(t,\"Reset view\")},attr:\"reset\",icon:s.home,click:function(t){m(t,\"mapbox\")}}},{\"../../../build/ploticon\":2,\"../../lib\":693,\"../../plots/cartesian/axis_ids\":745,\"../../plots/plots\":805,\"../../registry\":825}],630:[function(t,e,r){\"use strict\";r.manage=t(\"./manage\")},{\"./manage\":631}],631:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axis_ids\"),i=t(\"../../traces/scatter/subtypes\"),a=t(\"../../registry\"),o=t(\"./modebar\"),s=t(\"./buttons\");e.exports=function(t){var e=t._fullLayout,r=t._context,l=e._modeBar;if(r.displayModeBar){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error([\"*modeBarButtonsToRemove* configuration options\",\"must be an array.\"].join(\" \"));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error([\"*modeBarButtonsToAdd* configuration options\",\"must be an array.\"].join(\" \"));var c,u=r.modeBarButtons;c=Array.isArray(u)&&u.length?function(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var i=r[n];if(\"string\"==typeof i){if(void 0===s[i])throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"));t[e][n]=s[i]}}return t}(u):function(t,e,r){var o=t._fullLayout,l=t._fullData,c=o._has(\"cartesian\"),u=o._has(\"gl3d\"),f=o._has(\"geo\"),h=o._has(\"pie\"),p=o._has(\"gl2d\"),d=o._has(\"ternary\"),g=o._has(\"mapbox\"),m=o._has(\"polar\"),v=function(t){for(var e=n.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(o),y=[];function x(t){if(t.length){for(var r=[],n=0;n<t.length;n++){var i=t[n];-1===e.indexOf(i)&&r.push(s[i])}y.push(r)}}x([\"toImage\",\"sendDataToCloud\"]);var b=[],_=[],w=[],k=[];(c||p||h||d)+f+u+g+m>1?(_=[\"toggleHover\"],w=[\"resetViews\"]):f?(b=[\"zoomInGeo\",\"zoomOutGeo\"],_=[\"hoverClosestGeo\"],w=[\"resetGeo\"]):u?(_=[\"hoverClosest3d\"],w=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):g?(_=[\"toggleHover\"],w=[\"resetViewMapbox\"]):_=p?[\"hoverClosestGl2d\"]:h?[\"hoverClosestPie\"]:[\"toggleHover\"];c&&(_=[\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"]);!c&&!p||v||(b=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],\"resetViews\"!==w[0]&&(w=[\"resetScale2d\"]));u?k=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:(c||p)&&!v||d?k=[\"zoom2d\",\"pan2d\"]:g||f?k=[\"pan2d\"]:m&&(k=[\"zoom2d\"]);(function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(a.traceIs(n,\"scatter-like\")?(i.hasMarkers(n)||i.hasText(n))&&(e=!0):a.traceIs(n,\"box-violin\")&&\"all\"!==n.boxpoints&&\"all\"!==n.points||(e=!0))}return e})(l)&&k.push(\"select2d\",\"lasso2d\");return x(k),x(b.concat(w)),x(_),function(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r<e.length;r++)t.push(e[r]);else t.push(e);return t}(y,r)}(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),l?l.update(t,c):e._modeBar=o(t,c)}else l&&(l.destroy(),delete e._modeBar)}},{\"../../plots/cartesian/axis_ids\":745,\"../../registry\":825,\"../../traces/scatter/subtypes\":1056,\"./buttons\":629,\"./modebar\":632}],632:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../../build/ploticon\");function s(t){this.container=t.container,this.element=document.createElement(\"div\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var l=s.prototype;l.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;\"hover\"===r.displayModeBar?this.element.className=\"modebar modebar--hover\":this.element.className=\"modebar\";var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo,a=this.locale!==r.locale;this.locale=r.locale,(n||i||a)&&(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&&(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},l.updateButtons=function(t){var e=this;this.buttons=t,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(t){var r=e.createGroup();t.forEach(function(t){var n=t.name;if(!n)throw new Error(\"must provide button 'name' in button config\");if(-1!==e.buttonsNames.indexOf(n))throw new Error(\"button name '\"+n+\"' is taken\");e.buttonsNames.push(n);var i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},l.createGroup=function(){var t=document.createElement(\"div\");return t.className=\"modebar-group\",t},l.createButton=function(t){var e=this,r=document.createElement(\"a\");r.setAttribute(\"rel\",\"tooltip\"),r.className=\"modebar-btn\";var i=t.title;void 0===i?i=t.name:\"function\"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&r.setAttribute(\"data-title\",i),void 0!==t.attr&&r.setAttribute(\"data-attr\",t.attr);var a=t.val;if(void 0!==a&&(\"function\"==typeof a&&(a=a(this.graphInfo)),r.setAttribute(\"data-val\",a)),\"function\"!=typeof t.click)throw new Error(\"must provide button 'click' function in button config\");r.addEventListener(\"click\",function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute(\"data-toggle\",t.toggle||!1),t.toggle&&n.select(r).classed(\"active\",!0);var s=t.icon;return\"function\"==typeof s?r.appendChild(s()):r.appendChild(this.createIcon(s||o.question)),r.setAttribute(\"data-gravity\",t.gravity||\"n\"),r},l.createIcon=function(t){var e=i(t.height)?Number(t.height):t.ascent-t.descent,r=\"http://www.w3.org/2000/svg\",n=document.createElementNS(r,\"svg\"),a=document.createElementNS(r,\"path\");return n.setAttribute(\"height\",\"1em\"),n.setAttribute(\"width\",t.width/e+\"em\"),n.setAttribute(\"viewBox\",[0,0,t.width,e].join(\" \")),a.setAttribute(\"d\",t.path),t.transform?a.setAttribute(\"transform\",t.transform):void 0!==t.ascent&&a.setAttribute(\"transform\",\"matrix(1 0 0 -1 0 \"+t.ascent+\")\"),n.appendChild(a),n},l.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute(\"data-attr\"):null;this.buttonElements.forEach(function(t){var i=t.getAttribute(\"data-val\")||!0,o=t.getAttribute(\"data-attr\"),s=\"true\"===t.getAttribute(\"data-toggle\"),l=n.select(t);if(s)o===r&&l.classed(\"active\",!l.classed(\"active\"));else{var c=null===o?o:a.nestedProperty(e,o).get();l.classed(\"active\",c===i)}})},l.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},l.getLogo=function(){var t=this.createGroup(),e=document.createElement(\"a\");return e.href=\"https://plot.ly/\",e.target=\"_blank\",e.setAttribute(\"data-title\",a._(this.graphInfo,\"Produced with Plotly\")),e.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",e.appendChild(this.createIcon(o.plotlylogo)),t.appendChild(e),t},l.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},l.destroy=function(){a.removeElement(this.container.querySelector(\".modebar\"))},e.exports=function(t,e){var r=t._fullLayout,i=new s({graphInfo:t,container:r._paperdiv.node(),buttons:e});return r._privateplot&&n.select(i.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),i}},{\"../../../build/ploticon\":2,\"../../lib\":693,d3:147,\"fast-isnumeric\":213}],633:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=(0,t(\"../../plot_api/plot_template\").templatedArray)(\"button\",{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\",editType:\"plot\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\",editType:\"plot\"},count:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},label:{valType:\"string\",editType:\"plot\"},editType:\"plot\"});e.exports={visible:{valType:\"boolean\",editType:\"plot\"},buttons:a,x:{valType:\"number\",min:-2,max:3,editType:\"plot\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"plot\"},y:{valType:\"number\",min:-2,max:3,editType:\"plot\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\",editType:\"plot\"},font:n({editType:\"plot\"}),bgcolor:{valType:\"color\",dflt:i.lightLine,editType:\"plot\"},activecolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:i.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"}},{\"../../plot_api/plot_template\":732,\"../../plots/font_attributes\":768,\"../color/attributes\":566}],634:[function(t,e,r){\"use strict\";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],635:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../color\"),a=t(\"../../plot_api/plot_template\"),o=t(\"../../plots/array_container_defaults\"),s=t(\"./attributes\"),l=t(\"./constants\");function c(t,e,r,i){var a=i.calendar;function o(r,i){return n.coerce(t,e,s.buttons,r,i)}if(o(\"visible\")){var l=o(\"step\");\"all\"!==l&&(!a||\"gregorian\"===a||\"month\"!==l&&\"year\"!==l?o(\"stepmode\"):e.stepmode=\"backward\",o(\"count\")),o(\"label\")}}e.exports=function(t,e,r,u,f){var h=t.rangeselector||{},p=a.newContainer(e,\"rangeselector\");function d(t,e){return n.coerce(h,p,s,t,e)}if(d(\"visible\",o(h,p,{name:\"buttons\",handleItemDefaults:c,calendar:f}).length>0)){var g=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+l.yPad]}(e,r,u);d(\"x\",g[0]),d(\"y\",g[1]),n.noneOrAll(t,e,[\"x\",\"y\"]),d(\"xanchor\"),d(\"yanchor\"),n.coerceFont(d,\"font\",r.font);var m=d(\"bgcolor\");d(\"activecolor\",i.contrast(m,l.lightAmount,l.darkAmount)),d(\"bordercolor\"),d(\"borderwidth\")}}},{\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../plots/array_container_defaults\":738,\"../color\":567,\"./attributes\":633,\"./constants\":634}],636:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../plots/plots\"),o=t(\"../color\"),s=t(\"../drawing\"),l=t(\"../../lib\"),c=t(\"../../lib/svg_text_utils\"),u=t(\"../../plots/cartesian/axis_ids\"),f=t(\"../legend/anchor_utils\"),h=t(\"../../constants/alignment\"),p=h.LINE_SPACING,d=h.FROM_TL,g=h.FROM_BR,m=t(\"./constants\"),v=t(\"./get_update_object\");function y(t){return t._id}function x(t,e,r){var n=l.ensureSingle(t,\"rect\",\"selector-rect\",function(t){t.attr(\"shape-rendering\",\"crispEdges\")});n.attr({rx:m.rx,ry:m.ry}),n.call(o.stroke,e.bordercolor).call(o.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style(\"stroke-width\",e.borderwidth+\"px\")}function b(t,e,r,n){var i;l.ensureSingle(t,\"text\",\"selector-text\",function(t){t.classed(\"user-select-none\",!0).attr(\"text-anchor\",\"middle\")}).call(s.font,e.font).text((i=r,i.label?i.label:\"all\"===i.step?\"all\":i.count+i.step.charAt(0))).call(function(t){c.convertToTspans(t,n)})}e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(\".rangeselector\").data(function(t){for(var e=u.list(t,\"x\",!0),r=[],n=0;n<e.length;n++){var i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}(t),y);e.enter().append(\"g\").classed(\"rangeselector\",!0),e.exit().remove(),e.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),e.each(function(e){var r=n.select(this),o=e,u=o.rangeselector,h=r.selectAll(\"g.button\").data(l.filterVisible(u.buttons));h.enter().append(\"g\").classed(\"button\",!0),h.exit().remove(),h.each(function(e){var r=n.select(this),a=v(o,e);e._isActive=function(t,e,r){if(\"all\"===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}(o,e,a),r.call(x,u,e),r.call(b,u,e,t),r.on(\"click\",function(){t._dragged||i.call(\"relayout\",t,a)}),r.on(\"mouseover\",function(){e._isHovered=!0,r.call(x,u,e)}),r.on(\"mouseout\",function(){e._isHovered=!1,r.call(x,u,e)})}),function(t,e,r,i,o){var l=0,u=0,h=r.borderwidth;e.each(function(){var t=n.select(this),e=t.select(\".selector-text\"),i=r.font.size*p,a=Math.max(i*c.lineCount(e),16)+3;u=Math.max(u,a)}),e.each(function(){var t=n.select(this),e=t.select(\".selector-rect\"),i=t.select(\".selector-text\"),a=i.node()&&s.bBox(i.node()).width,o=r.font.size*p,f=c.lineCount(i),d=Math.max(a+10,m.minButtonWidth);t.attr(\"transform\",\"translate(\"+(h+l)+\",\"+h+\")\"),e.attr({x:0,y:0,width:d,height:u}),c.positionText(i,d/2,u/2-(f-1)*o/2+3),l+=d+5});var v=t._fullLayout._size,y=v.l+v.w*r.x,x=v.t+v.h*(1-r.y),b=\"left\";f.isRightAnchor(r)&&(y-=l,b=\"right\");f.isCenterAnchor(r)&&(y-=l/2,b=\"center\");var _=\"top\";f.isBottomAnchor(r)&&(x-=u,_=\"bottom\");f.isMiddleAnchor(r)&&(x-=u/2,_=\"middle\");l=Math.ceil(l),u=Math.ceil(u),y=Math.round(y),x=Math.round(x),a.autoMargin(t,i+\"-range-selector\",{x:r.x,y:r.y,l:l*d[b],r:l*g[b],b:u*g[_],t:u*d[_]}),o.attr(\"transform\",\"translate(\"+y+\",\"+x+\")\")}(t,h,u,o._name,r)})}},{\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../plots/cartesian/axis_ids\":745,\"../../plots/plots\":805,\"../../registry\":825,\"../color\":567,\"../drawing\":592,\"../legend/anchor_utils\":619,\"./constants\":634,\"./get_update_object\":637,d3:147}],637:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports=function(t,e){var r=t._name,i={};if(\"all\"===e.step)i[r+\".autorange\"]=!0;else{var a=function(t,e){var r,i=t.range,a=new Date(t.r2l(i[1])),o=e.step,s=e.count;switch(e.stepmode){case\"backward\":r=t.l2r(+n.time[o].utc.offset(a,-s));break;case\"todate\":var l=n.time[o].utc.offset(a,-s);r=t.l2r(+n.time[o].utc.ceil(l))}var c=i[1];return[r,c]}(t,e);i[r+\".range[0]\"]=a[0],i[r+\".range[1]\"]=a[1]}return i}},{d3:147}],638:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"rangeselector\",schema:{subplots:{xaxis:{rangeselector:t(\"./attributes\")}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":633,\"./defaults\":635,\"./draw\":636}],639:[function(t,e,r){\"use strict\";var n=t(\"../color/attributes\");e.exports={bgcolor:{valType:\"color\",dflt:n.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:n.defaultLine,editType:\"plot\"},borderwidth:{valType:\"integer\",dflt:0,min:0,editType:\"plot\"},autorange:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}}],editType:\"calc\",impliedEdits:{autorange:!1}},thickness:{valType:\"number\",dflt:.15,min:0,max:1,editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"}},{\"../color/attributes\":566}],640:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axis_ids\").list,i=t(\"../../plots/cartesian/autorange\").getAutoRange,a=t(\"./constants\");e.exports=function(t){for(var e=n(t,\"x\",!0),r=0;r<e.length;r++){var o=e[r],s=o[a.name];s&&s.visible&&s.autorange&&(s._input.autorange=!0,s._input.range=s.range=i(t,o))}}},{\"../../plots/cartesian/autorange\":741,\"../../plots/cartesian/axis_ids\":745,\"./constants\":641}],641:[function(t,e,r){\"use strict\";e.exports={name:\"rangeslider\",containerClassName:\"rangeslider-container\",bgClassName:\"rangeslider-bg\",rangePlotClassName:\"rangeslider-rangeplot\",maskMinClassName:\"rangeslider-mask-min\",maskMaxClassName:\"rangeslider-mask-max\",slideBoxClassName:\"rangeslider-slidebox\",grabberMinClassName:\"rangeslider-grabber-min\",grabAreaMinClassName:\"rangeslider-grabarea-min\",handleMinClassName:\"rangeslider-handle-min\",grabberMaxClassName:\"rangeslider-grabber-max\",grabAreaMaxClassName:\"rangeslider-grabarea-max\",handleMaxClassName:\"rangeslider-handle-max\",maskMinOppAxisClassName:\"rangeslider-mask-min-opp-axis\",maskMaxOppAxisClassName:\"rangeslider-mask-max-opp-axis\",maskColor:\"rgba(0,0,0,0.4)\",maskOppAxisColor:\"rgba(0,0,0,0.2)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],642:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plot_api/plot_template\"),a=t(\"../../plots/cartesian/axis_ids\"),o=t(\"./attributes\"),s=t(\"./oppaxis_attributes\");e.exports=function(t,e,r){var l=t[r],c=e[r];if(l.rangeslider||e._requestRangeslider[c._id]){n.isPlainObject(l.rangeslider)||(l.rangeslider={});var u,f,h=l.rangeslider,p=i.newContainer(c,\"rangeslider\");if(_(\"visible\")){_(\"bgcolor\",e.plot_bgcolor),_(\"bordercolor\"),_(\"borderwidth\"),_(\"thickness\"),_(\"autorange\",!c.isValidRange(h.range)),_(\"range\");var d=e._subplots;if(d)for(var g=d.cartesian.filter(function(t){return t.substr(0,t.indexOf(\"y\"))===a.name2id(r)}).map(function(t){return t.substr(t.indexOf(\"y\"),t.length)}),m=n.simpleMap(g,a.id2name),v=0;v<m.length;v++){var y=m[v];u=h[y]||{},f=i.newContainer(p,y,\"yaxis\");var x,b=e[y];u.range&&b.isValidRange(u.range)&&(x=\"fixed\"),\"match\"!==w(\"rangemode\",x)&&w(\"range\",b.range.slice())}p._input=h}}function _(t,e){return n.coerce(h,p,o,t,e)}function w(t,e){return n.coerce(u,f,s,t,e)}}},{\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../plots/cartesian/axis_ids\":745,\"./attributes\":639,\"./oppaxis_attributes\":645}],643:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../plots/plots\"),o=t(\"../../lib\"),s=t(\"../drawing\"),l=t(\"../color\"),c=t(\"../titles\"),u=t(\"../../plots/cartesian\"),f=t(\"../../plots/cartesian/axes\"),h=t(\"../dragelement\"),p=t(\"../../lib/setcursor\"),d=t(\"./constants\");function g(t,e,r,n){var i=o.ensureSingle(t,\"rect\",d.bgClassName,function(t){t.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})}),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,l=-n._offsetShift,c=s.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:\"translate(\"+l+\",\"+l+\")\",fill:n.bgcolor,stroke:n.bordercolor,\"stroke-width\":c})}function m(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,\"clipPath\",n._clipId,function(t){t.append(\"rect\").attr({x:0,y:0})}).select(\"rect\").attr({width:n._width,height:n._height})}function v(t,e,r,i){var l,c=f.getSubplots(e,r),h=e.calcdata,p=t.selectAll(\"g.\"+d.rangePlotClassName).data(c,o.identity);p.enter().append(\"g\").attr(\"class\",function(t){return d.rangePlotClassName+\" \"+t}).call(s.setClipUrl,i._clipId),p.order(),p.exit().remove(),p.each(function(t,o){var s=n.select(this),c=0===o,p=f.getFromId(e,t,\"y\"),d=p._name,g=i[d],m={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};m.layout[d]={type:p.type,domain:[0,1],range:\"match\"!==g.rangemode?g.range.slice():p.range.slice(),calendar:p.calendar},a.supplyDefaults(m);var v={id:t,plotgroup:s,xaxis:m._fullLayout.xaxis,yaxis:m._fullLayout[d],isRangePlot:!0};c?l=v:(v.mainplot=\"xy\",v.mainplotinfo=l),u.rangePlot(e,v,function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}(h,t))})}function y(t,e,r,n,i){(o.ensureSingle(t,\"rect\",d.maskMinClassName,function(t){t.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})}).attr(\"height\",n._height).call(l.fill,d.maskColor),o.ensureSingle(t,\"rect\",d.maskMaxClassName,function(t){t.attr({y:0,\"shape-rendering\":\"crispEdges\"})}).attr(\"height\",n._height).call(l.fill,d.maskColor),\"match\"!==i.rangemode)&&(o.ensureSingle(t,\"rect\",d.maskMinOppAxisClassName,function(t){t.attr({y:0,\"shape-rendering\":\"crispEdges\"})}).attr(\"width\",n._width).call(l.fill,d.maskOppAxisColor),o.ensureSingle(t,\"rect\",d.maskMaxOppAxisClassName,function(t){t.attr({y:0,\"shape-rendering\":\"crispEdges\"})}).attr(\"width\",n._width).style(\"border-top\",d.maskOppBorder).call(l.fill,d.maskOppAxisColor))}function x(t,e,r,n){e._context.staticPlot||o.ensureSingle(t,\"rect\",d.slideBoxClassName,function(t){t.attr({y:0,cursor:d.slideBoxCursor,\"shape-rendering\":\"crispEdges\"})}).attr({height:n._height,fill:d.slideBoxFill})}function b(t,e,r,n){var i=o.ensureSingle(t,\"g\",d.grabberMinClassName),a=o.ensureSingle(t,\"g\",d.grabberMaxClassName),s={x:0,width:d.handleWidth,rx:d.handleRadius,fill:l.background,stroke:l.defaultLine,\"stroke-width\":d.handleStrokeWidth,\"shape-rendering\":\"crispEdges\"},c={y:Math.round(n._height/4),height:Math.round(n._height/2)};if(o.ensureSingle(i,\"rect\",d.handleMinClassName,function(t){t.attr(s)}).attr(c),o.ensureSingle(a,\"rect\",d.handleMaxClassName,function(t){t.attr(s)}).attr(c),!e._context.staticPlot){var u={width:d.grabAreaWidth,x:0,y:0,fill:d.grabAreaFill,cursor:d.grabAreaCursor};o.ensureSingle(i,\"rect\",d.grabAreaMinClassName,function(t){t.attr(u)}).attr(\"height\",n._height),o.ensureSingle(a,\"rect\",d.grabAreaMaxClassName,function(t){t.attr(u)}).attr(\"height\",n._height)}}e.exports=function(t){var e=t._fullLayout,r=function(t){var e=f.list({_fullLayout:t},\"x\",!0),r=d.name,n=[];if(t._has(\"gl2d\"))return n;for(var i=0;i<e.length;i++){var a=e[i];a[r]&&a[r].visible&&n.push(a)}return n}(e);var s=e._infolayer.selectAll(\"g.\"+d.containerClassName).data(r,function(t){return t._name});s.enter().append(\"g\").classed(d.containerClassName,!0).attr(\"pointer-events\",\"all\"),s.exit().each(function(t){var r=t[d.name];e._topdefs.select(\"#\"+r._clipId).remove()}).remove(),0!==r.length&&s.each(function(r){var s=n.select(this),l=r[d.name],u=e[f.id2name(r.anchor)],_=l[f.id2name(r.anchor)];if(l.range){var w=l.range,k=r.range;w[0]=r.l2r(Math.min(r.r2l(w[0]),r.r2l(k[0]))),w[1]=r.l2r(Math.max(r.r2l(w[1]),r.r2l(k[1]))),l._input.range=w.slice()}r.cleanRange(\"rangeslider.range\");for(var M=e.margin,A=e._size,T=r.domain,S=(r._boundingBox||{}).height||0,E=1/0,C=f.getSubplots(t,r),L=0;L<C.length;L++){var z=f.getFromId(t,C[L].substr(C[L].indexOf(\"y\")));E=Math.min(E,z.domain[0])}l._id=d.name+r._id,l._clipId=l._id+\"-\"+e._uid,l._width=A.w*(T[1]-T[0]),l._height=(e.height-M.b-M.t)*l.thickness,l._offsetShift=Math.floor(l.borderwidth/2);var P=Math.round(M.l+A.w*T[0]),O=Math.round(A.t+A.h*(1-E)+S+l._offsetShift+d.extraPad);s.attr(\"transform\",\"translate(\"+P+\",\"+O+\")\");var I=r.r2l(l.range[0]),D=r.r2l(l.range[1]),R=D-I;if(l.p2d=function(t){return t/l._width*R+I},l.d2p=function(t){return(t-I)/R*l._width},l._rl=[I,D],\"match\"!==_.rangemode){var B=u.r2l(_.range[0]),F=u.r2l(_.range[1])-B;l.d2pOppAxis=function(t){return(t-B)/F*l._height}}s.call(g,t,r,l).call(m,t,r,l).call(v,t,r,l).call(y,t,r,l,_).call(x,t,r,l).call(b,t,r,l),function(t,e,r,a){var s=t.select(\"rect.\"+d.slideBoxClassName).node(),l=t.select(\"rect.\"+d.grabAreaMinClassName).node(),c=t.select(\"rect.\"+d.grabAreaMaxClassName).node();t.on(\"mousedown\",function(){var u=n.event,f=u.target,d=u.clientX,g=d-t.node().getBoundingClientRect().left,m=a.d2p(r._rl[0]),v=a.d2p(r._rl[1]),y=h.coverSlip();function x(t){var u,h,x,b=+t.clientX-d;switch(f){case s:x=\"ew-resize\",u=m+b,h=v+b;break;case l:x=\"col-resize\",u=m+b,h=v;break;case c:x=\"col-resize\",u=m,h=v+b;break;default:x=\"ew-resize\",u=g,h=g+b}if(h<u){var _=h;h=u,u=_}a._pixelMin=u,a._pixelMax=h,p(n.select(y),x),function(t,e,r,n){function a(t){return r.l2r(o.constrain(t,n._rl[0],n._rl[1]))}var s=a(n.p2d(n._pixelMin)),l=a(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){i.call(\"relayout\",e,r._name+\".range\",[s,l])})}(0,e,r,a)}y.addEventListener(\"mousemove\",x),y.addEventListener(\"mouseup\",function t(){y.removeEventListener(\"mousemove\",x);y.removeEventListener(\"mouseup\",t);o.removeElement(y)})})}(s,t,r,l),function(t,e,r,n,i,a){var s=d.handleWidth/2;function l(t){return o.constrain(t,0,n._width)}function c(t){return o.constrain(t,0,n._height)}function u(t){return o.constrain(t,-s,n._width+s)}var f=l(n.d2p(r._rl[0])),h=l(n.d2p(r._rl[1]));if(t.select(\"rect.\"+d.slideBoxClassName).attr(\"x\",f).attr(\"width\",h-f),t.select(\"rect.\"+d.maskMinClassName).attr(\"width\",f),t.select(\"rect.\"+d.maskMaxClassName).attr(\"x\",h).attr(\"width\",n._width-h),\"match\"!==a.rangemode){var p=n._height-c(n.d2pOppAxis(i._rl[1])),g=n._height-c(n.d2pOppAxis(i._rl[0]));t.select(\"rect.\"+d.maskMinOppAxisClassName).attr(\"x\",f).attr(\"height\",p).attr(\"width\",h-f),t.select(\"rect.\"+d.maskMaxOppAxisClassName).attr(\"x\",f).attr(\"y\",g).attr(\"height\",n._height-g).attr(\"width\",h-f),t.select(\"rect.\"+d.slideBoxClassName).attr(\"y\",p).attr(\"height\",g-p)}var m=Math.round(u(f-s))-.5,v=Math.round(u(h-s))+.5;t.select(\"g.\"+d.grabberMinClassName).attr(\"transform\",\"translate(\"+m+\",0.5)\"),t.select(\"g.\"+d.grabberMaxClassName).attr(\"transform\",\"translate(\"+v+\",0.5)\")}(s,0,r,l,u,_),\"bottom\"===r.side&&c.draw(t,r._id+\"title\",{propContainer:r,propName:r._name+\".title\",placeholder:e._dfltTitle.x,attributes:{x:r._offset+r._length/2,y:O+l._height+l._offsetShift+10+1.5*r.titlefont.size,\"text-anchor\":\"middle\"}}),a.autoMargin(t,l._id,{x:T[0],y:E,l:0,r:0,t:0,b:l._height+M.b+S,pad:d.extraPad+2*l._offsetShift})})}},{\"../../lib\":693,\"../../lib/setcursor\":714,\"../../plots/cartesian\":753,\"../../plots/cartesian/axes\":742,\"../../plots/plots\":805,\"../../registry\":825,\"../color\":567,\"../dragelement\":589,\"../drawing\":592,\"../titles\":658,\"./constants\":641,d3:147}],644:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"./oppaxis_attributes\");e.exports={moduleType:\"component\",name:\"rangeslider\",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},i,{yaxis:a})}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),calcAutorange:t(\"./calc_autorange\"),draw:t(\"./draw\")}},{\"../../lib\":693,\"./attributes\":639,\"./calc_autorange\":640,\"./defaults\":642,\"./draw\":643,\"./oppaxis_attributes\":645}],645:[function(t,e,r){\"use strict\";e.exports={_isSubplotObj:!0,rangemode:{valType:\"enumerated\",values:[\"auto\",\"fixed\",\"match\"],dflt:\"match\",editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},editType:\"calc\"}},{}],646:[function(t,e,r){\"use strict\";var n=t(\"../annotations/attributes\"),i=t(\"../../traces/scatter/attributes\").line,a=t(\"../drawing/attributes\").dash,o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/plot_template\").templatedArray;e.exports=s(\"shape\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},type:{valType:\"enumerated\",values:[\"circle\",\"rect\",\"path\",\"line\"],editType:\"calc+arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},xref:o({},n.xref,{}),xsizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},xanchor:{valType:\"any\",editType:\"calc+arraydraw\"},x0:{valType:\"any\",editType:\"calc+arraydraw\"},x1:{valType:\"any\",editType:\"calc+arraydraw\"},yref:o({},n.yref,{}),ysizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},yanchor:{valType:\"any\",editType:\"calc+arraydraw\"},y0:{valType:\"any\",editType:\"calc+arraydraw\"},y1:{valType:\"any\",editType:\"calc+arraydraw\"},path:{valType:\"string\",editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},line:{color:o({},i.color,{editType:\"arraydraw\"}),width:o({},i.width,{editType:\"calc+arraydraw\"}),dash:o({},a,{editType:\"arraydraw\"}),editType:\"calc+arraydraw\"},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},editType:\"arraydraw\"})},{\"../../lib/extend\":682,\"../../plot_api/plot_template\":732,\"../../traces/scatter/attributes\":1032,\"../annotations/attributes\":550,\"../drawing/attributes\":591}],647:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"./constants\"),o=t(\"./helpers\");function s(t){return c(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return c(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function c(t,e,r,i,s,l){var c=t/2,u=l;if(\"pixel\"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+c:c,g=h>0?h+c:c;return{ppad:c,ppadplus:u?d:g,ppadminus:u?g:d}}return{ppad:c}}function u(t,e,r,n,i){var s=\"category\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for(\"date\"===t.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(c=i[d[l].charAt(0)].drawn)&&(!(u=d[l].substr(1).match(a.paramRE))||u.length<c||((f=s(u[c]))<h&&(h=f),f>p&&(p=f)));return p>=h?[h,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o<r.length;o++){var c,f,h=r[o];if(h._extremes={},\"paper\"!==h.xref){var p=\"pixel\"===h.xsizemode?h.xanchor:h.x0,d=\"pixel\"===h.xsizemode?h.xanchor:h.x1;(f=u(c=i.getFromId(t,h.xref),p,d,h.path,a.paramIsX))&&(h._extremes[c._id]=i.findExtremes(c,f,s(h)))}if(\"paper\"!==h.yref){var g=\"pixel\"===h.ysizemode?h.yanchor:h.y0,m=\"pixel\"===h.ysizemode?h.yanchor:h.y1;(f=u(c=i.getFromId(t,h.yref),g,m,h.path,a.paramIsY))&&(h._extremes[c._id]=i.findExtremes(c,f,l(h)))}}}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"./constants\":648,\"./helpers\":651}],648:[function(t,e,r){\"use strict\";e.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},{}],649:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/array_container_defaults\"),o=t(\"./attributes\"),s=t(\"./helpers\");function l(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}if(a(\"visible\")){a(\"layer\"),a(\"opacity\"),a(\"fillcolor\"),a(\"line.color\"),a(\"line.width\"),a(\"line.dash\");for(var l=a(\"type\",t.path?\"path\":\"rect\"),c=a(\"xsizemode\"),u=a(\"ysizemode\"),f=[\"x\",\"y\"],h=0;h<2;h++){var p,d,g,m=f[h],v=m+\"anchor\",y=\"x\"===m?c:u,x={_fullLayout:r},b=i.coerceRef(t,e,x,m,\"\",\"paper\");if(\"paper\"!==b?((p=i.getFromId(x,b))._shapeIndices.push(e._index),g=s.rangeToShapePosition(p),d=s.shapePositionToRange(p)):d=g=n.identity,\"path\"!==l){var _=m+\"0\",w=m+\"1\",k=t[_],M=t[w];t[_]=d(t[_],!0),t[w]=d(t[w],!0),\"pixel\"===y?(a(_,0),a(w,10)):(i.coercePosition(e,x,a,b,_,.25),i.coercePosition(e,x,a,b,w,.75)),e[_]=g(e[_]),e[w]=g(e[w]),t[_]=k,t[w]=M}if(\"pixel\"===y){var A=t[v];t[v]=d(t[v],!0),i.coercePosition(e,x,a,b,v,.25),e[v]=g(e[v]),t[v]=A}}\"path\"===l?a(\"path\"):n.noneOrAll(t,e,[\"x0\",\"x1\",\"y0\",\"y1\"])}}e.exports=function(t,e){a(t,e,{name:\"shapes\",handleItemDefaults:l})}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"../../plots/cartesian/axes\":742,\"./attributes\":646,\"./helpers\":651}],650:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../color\"),s=t(\"../drawing\"),l=t(\"../../plot_api/plot_template\").arrayEditor,c=t(\"../dragelement\"),u=t(\"../../lib/setcursor\"),f=t(\"./constants\"),h=t(\"./helpers\");function p(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"'+e+'\"]').remove();var r=t._fullLayout.shapes[e]||{};if(r._input&&!1!==r.visible)if(\"below\"!==r.layer)v(t._fullLayout._shapeUpperLayer);else if(\"paper\"===r.xref||\"paper\"===r.yref)v(t._fullLayout._shapeLowerLayer);else{var p=t._fullLayout._plots[r.xref+r.yref];if(p)v((p.mainplotinfo||p).shapelayer);else v(t._fullLayout._shapeLowerLayer)}function v(p){var v={\"data-index\":e,\"fill-rule\":\"evenodd\",d:g(t,r)},y=r.line.width?r.line.color:\"rgba(0,0,0,0)\",x=p.append(\"path\").attr(v).style(\"opacity\",r.opacity).call(o.stroke,y).call(o.fill,r.fillcolor).call(s.dashLine,r.line.dash,r.line.width);d(x,t,r),t._context.edits.shapePosition&&function(t,e,r,o,p){var v,y,x,b,_,w,k,M,A,T,S,E,C,L,z,P,O=10,I=10,D=\"pixel\"===r.xsizemode,R=\"pixel\"===r.ysizemode,B=\"line\"===r.type,F=\"path\"===r.type,N=l(t.layout,\"shapes\",r),j=N.modifyItem,V=a.getFromId(t,r.xref),U=a.getFromId(t,r.yref),q=h.getDataToPixel(t,V),H=h.getDataToPixel(t,U,!0),G=h.getPixelToData(t,V),W=h.getPixelToData(t,U,!0),Y=B?function(){var t=Math.max(r.line.width,10),n=p.append(\"g\").attr(\"data-index\",o);n.append(\"path\").attr(\"d\",e.attr(\"d\")).style({cursor:\"move\",\"stroke-width\":t,\"stroke-opacity\":\"0\"});var i={\"fill-opacity\":\"0\"},a=t/2>10?t/2:10;return n.append(\"circle\").attr({\"data-line-point\":\"start-point\",cx:D?q(r.xanchor)+r.x0:q(r.x0),cy:R?H(r.yanchor)-r.y0:H(r.y0),r:a}).style(i).classed(\"cursor-grab\",!0),n.append(\"circle\").attr({\"data-line-point\":\"end-point\",cx:D?q(r.xanchor)+r.x1:q(r.x1),cy:R?H(r.yanchor)-r.y1:H(r.y1),r:a}).style(i).classed(\"cursor-grab\",!0),n}():e,X={element:Y.node(),gd:t,prepFn:function(n){D&&(_=q(r.xanchor));R&&(w=H(r.yanchor));\"path\"===r.type?z=r.path:(v=D?r.x0:q(r.x0),y=R?r.y0:H(r.y0),x=D?r.x1:q(r.x1),b=R?r.y1:H(r.y1));v<x?(A=v,C=\"x0\",T=x,L=\"x1\"):(A=x,C=\"x1\",T=v,L=\"x0\");!R&&y<b||R&&y>b?(k=y,S=\"y0\",M=b,E=\"y1\"):(k=b,S=\"y1\",M=y,E=\"y0\");Z(n),K(p,r),function(t,e,r){var n=e.xref,i=e.yref,o=a.getFromId(r,n),l=a.getFromId(r,i),c=\"\";\"paper\"===n||o.autorange||(c+=n);\"paper\"===i||l.autorange||(c+=i);t.call(s.setClipUrl,c?\"clip\"+r._fullLayout._uid+c:null)}(e,r,t),X.moveFn=\"move\"===P?$:J},doneFn:function(){u(e),Q(p),d(e,t,r),n.call(\"relayout\",t,N.getUpdateObj())},clickFn:function(){Q(p)}};function Z(t){if(B)P=\"path\"===t.target.tagName?\"move\":\"start-point\"===t.target.attributes[\"data-line-point\"].value?\"resize-over-start-point\":\"resize-over-end-point\";else{var r=X.element.getBoundingClientRect(),n=r.right-r.left,i=r.bottom-r.top,a=t.clientX-r.left,o=t.clientY-r.top,s=!F&&n>O&&i>I&&!t.shiftKey?c.getCursor(a/n,1-o/i):\"move\";u(e,s),P=s.split(\"-\")[0]}}function $(n,i){if(\"path\"===r.type){var a=function(t){return t},o=a,s=a;D?j(\"xanchor\",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&\"date\"===V.type&&(o=h.encodeDate(o))),R?j(\"yanchor\",r.yanchor=W(w+i)):(s=function(t){return W(H(t)+i)},U&&\"date\"===U.type&&(s=h.encodeDate(s))),j(\"path\",r.path=m(z,o,s))}else D?j(\"xanchor\",r.xanchor=G(_+n)):(j(\"x0\",r.x0=G(v+n)),j(\"x1\",r.x1=G(x+n))),R?j(\"yanchor\",r.yanchor=W(w+i)):(j(\"y0\",r.y0=W(y+i)),j(\"y1\",r.y1=W(b+i)));e.attr(\"d\",g(t,r)),K(p,r)}function J(n,i){if(F){var a=function(t){return t},o=a,s=a;D?j(\"xanchor\",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&\"date\"===V.type&&(o=h.encodeDate(o))),R?j(\"yanchor\",r.yanchor=W(w+i)):(s=function(t){return W(H(t)+i)},U&&\"date\"===U.type&&(s=h.encodeDate(s))),j(\"path\",r.path=m(z,o,s))}else if(B){if(\"resize-over-start-point\"===P){var l=v+n,c=R?y-i:y+i;j(\"x0\",r.x0=D?l:G(l)),j(\"y0\",r.y0=R?c:W(c))}else if(\"resize-over-end-point\"===P){var u=x+n,f=R?b-i:b+i;j(\"x1\",r.x1=D?u:G(u)),j(\"y1\",r.y1=R?f:W(f))}}else{var d=~P.indexOf(\"n\")?k+i:k,N=~P.indexOf(\"s\")?M+i:M,Y=~P.indexOf(\"w\")?A+n:A,X=~P.indexOf(\"e\")?T+n:T;~P.indexOf(\"n\")&&R&&(d=k-i),~P.indexOf(\"s\")&&R&&(N=M-i),(!R&&N-d>I||R&&d-N>I)&&(j(S,r[S]=R?d:W(d)),j(E,r[E]=R?N:W(N))),X-Y>O&&(j(C,r[C]=D?Y:G(Y)),j(L,r[L]=D?X:G(X)))}e.attr(\"d\",g(t,r)),K(p,r)}function K(t,e){(D||R)&&function(){var r=\"path\"!==e.type,n=t.selectAll(\".visual-cue\").data([0]);n.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":1}).classed(\"visual-cue\",!0);var a=q(D?e.xanchor:i.midRange(r?[e.x0,e.x1]:h.extractPathCoords(e.path,f.paramIsX))),o=H(R?e.yanchor:i.midRange(r?[e.y0,e.y1]:h.extractPathCoords(e.path,f.paramIsY)));if(a=h.roundPositionForSharpStrokeRendering(a,1),o=h.roundPositionForSharpStrokeRendering(o,1),D&&R){var s=\"M\"+(a-1-1)+\",\"+(o-1-1)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";n.attr(\"d\",s)}else if(D){var l=\"M\"+(a-1-1)+\",\"+(o-9-1)+\"v18 h2 v-18 Z\";n.attr(\"d\",l)}else{var c=\"M\"+(a-9-1)+\",\"+(o-1-1)+\"h18 v2 h-18 Z\";n.attr(\"d\",c)}}()}function Q(t){t.selectAll(\".visual-cue\").remove()}c.init(X),Y.node().onmousemove=Z}(t,x,r,e,p)}}function d(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,\"\");t.call(s.setClipUrl,n?\"clip\"+e._fullLayout._uid+n:null)}function g(t,e){var r,n,o,s,l,c,u,p,d=e.type,g=a.getFromId(t,e.xref),m=a.getFromId(t,e.yref),v=t._fullLayout._size;if(g?(r=h.shapePositionToRange(g),n=function(t){return g._offset+g.r2p(r(t,!0))}):n=function(t){return v.l+v.w*t},m?(o=h.shapePositionToRange(m),s=function(t){return m._offset+m.r2p(o(t,!0))}):s=function(t){return v.t+v.h*(1-t)},\"path\"===d)return g&&\"date\"===g.type&&(n=h.decodeDate(n)),m&&\"date\"===m.type&&(s=h.decodeDate(s)),function(t,e,r){var n=t.path,a=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(f.segmentRE,function(t){var n=0,c=t.charAt(0),u=f.paramIsX[c],h=f.paramIsY[c],p=f.numParams[c],d=t.substr(1).replace(f.paramRE,function(t){return u[n]?t=\"pixel\"===a?e(s)+Number(t):e(t):h[n]&&(t=\"pixel\"===o?r(l)-Number(t):r(t)),++n>p&&(t=\"X\"),t});return n>p&&(d=d.replace(/[\\s,]*X.*/,\"\"),i.log(\"Ignoring extra params in segment \"+t)),c+d})}(e,n,s);if(\"pixel\"===e.xsizemode){var y=n(e.xanchor);l=y+e.x0,c=y+e.x1}else l=n(e.x0),c=n(e.x1);if(\"pixel\"===e.ysizemode){var x=s(e.yanchor);u=x-e.y0,p=x-e.y1}else u=s(e.y0),p=s(e.y1);if(\"line\"===d)return\"M\"+l+\",\"+u+\"L\"+c+\",\"+p;if(\"rect\"===d)return\"M\"+l+\",\"+u+\"H\"+c+\"V\"+p+\"H\"+l+\"Z\";var b=(l+c)/2,_=(u+p)/2,w=Math.abs(b-l),k=Math.abs(_-u),M=\"A\"+w+\",\"+k,A=b+w+\",\"+_;return\"M\"+A+M+\" 0 1,1 \"+(b+\",\"+(_-k))+M+\" 0 0,1 \"+A+\"Z\"}function m(t,e,r){return t.replace(f.segmentRE,function(t){var n=0,i=t.charAt(0),a=f.paramIsX[i],o=f.paramIsY[i],s=f.numParams[i];return i+t.substr(1).replace(f.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}e.exports={draw:function(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll(\"path\").remove(),e._shapeLowerLayer.selectAll(\"path\").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll(\"path\").remove()}for(var i=0;i<e.shapes.length;i++)e.shapes[i].visible&&p(t,i)},drawOne:p}},{\"../../lib\":693,\"../../lib/setcursor\":714,\"../../plot_api/plot_template\":732,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"../color\":567,\"../dragelement\":589,\"../drawing\":592,\"./constants\":648,\"./helpers\":651}],651:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../lib\");r.rangeToShapePosition=function(t){return\"log\"===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return\"log\"===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&&(e=e.replace(\"_\",\" \")),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(\" \",\"_\")}},r.extractPathCoords=function(t,e){var r=[];return t.match(n.segmentRE).forEach(function(t){var a=e[t.charAt(0)].drawn;if(void 0!==a){var o=t.substr(1).match(n.paramRE);!o||o.length<a||r.push(i.cleanNumber(o[a]))}}),r},r.getDataToPixel=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);i=function(t){return e._offset+e.r2p(o(t,!0))},\"date\"===e.type&&(i=r.decodeDate(i))}else i=n?function(t){return a.t+a.h*(1-t)}:function(t){return a.l+a.w*t};return i},r.getPixelToData=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);i=function(t){return o(e.p2r(t-e._offset))}}else i=n?function(t){return 1-(t-a.t)/a.h}:function(t){return(t-a.l)/a.w};return i},r.roundPositionForSharpStrokeRendering=function(t,e){var r=1===Math.round(e%2),n=Math.round(t);return r?n+.5:n}},{\"../../lib\":693,\"./constants\":648}],652:[function(t,e,r){\"use strict\";var n=t(\"./draw\");e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),includeBasePlot:t(\"../../plots/cartesian/include_components\")(\"shapes\"),calcAutorange:t(\"./calc_autorange\"),draw:n.draw,drawOne:n.drawOne}},{\"../../plots/cartesian/include_components\":752,\"./attributes\":646,\"./calc_autorange\":647,\"./defaults\":649,\"./draw\":650}],653:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../plots/pad_attributes\"),a=t(\"../../lib/extend\").extendDeepAll,o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../plots/animation_attributes\"),l=t(\"../../plot_api/plot_template\").templatedArray,c=t(\"./constants\"),u=l(\"step\",{visible:{valType:\"boolean\",dflt:!0},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\"},value:{valType:\"string\"},execute:{valType:\"boolean\",dflt:!0}});e.exports=o(l(\"slider\",{visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:u,lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",min:-2,max:3,dflt:0},pad:a({},i,{},{t:{dflt:20}}),xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3,dflt:0},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},transition:{duration:{valType:\"number\",min:0,dflt:150},easing:{valType:\"enumerated\",values:s.transition.easing.values,dflt:\"cubic-in-out\"}},currentvalue:{visible:{valType:\"boolean\",dflt:!0},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},offset:{valType:\"number\",dflt:10},prefix:{valType:\"string\"},suffix:{valType:\"string\"},font:n({})},font:n({}),activebgcolor:{valType:\"color\",dflt:c.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:c.railBgColor},bordercolor:{valType:\"color\",dflt:c.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:c.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:c.tickLength},tickcolor:{valType:\"color\",dflt:c.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:c.minorTickLength}}),\"arraydraw\",\"from-root\")},{\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plot_api/plot_template\":732,\"../../plots/animation_attributes\":737,\"../../plots/font_attributes\":768,\"../../plots/pad_attributes\":804,\"./constants\":654}],654:[function(t,e,r){\"use strict\";e.exports={name:\"sliders\",containerClassName:\"slider-container\",groupClassName:\"slider-group\",inputAreaClass:\"slider-input-area\",railRectClass:\"slider-rail-rect\",railTouchRectClass:\"slider-rail-touch-rect\",gripRectClass:\"slider-grip-rect\",tickRectClass:\"slider-tick-rect\",inputProxyClass:\"slider-input-proxy\",labelsClass:\"slider-labels\",labelGroupClass:\"slider-label-group\",labelClass:\"slider-label\",currentValueClass:\"slider-current-value\",railHeight:5,menuIndexAttrName:\"slider-active-index\",autoMarginIdRoot:\"slider-\",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:\"#bec8d9\",railBgColor:\"#f8fafc\",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:\"#bec8d9\",gripBgColor:\"#f6f8fa\",gripBgActiveColor:\"#dbdde0\",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:\"#333\",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:\"#333\",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],655:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/array_container_defaults\"),a=t(\"./attributes\"),o=t(\"./constants\").name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:\"steps\",handleItemDefaults:c}),l=0,u=0;u<s.length;u++)s[u].visible&&l++;if(l<2?e.visible=!1:o(\"visible\")){e._stepCount=l;var f=e._visibleSteps=n.filterVisible(s);(s[o(\"active\")]||{}).visible||(e.active=f[0]._index),o(\"x\"),o(\"y\"),n.noneOrAll(t,e,[\"x\",\"y\"]),o(\"xanchor\"),o(\"yanchor\"),o(\"len\"),o(\"lenmode\"),o(\"pad.t\"),o(\"pad.r\"),o(\"pad.b\"),o(\"pad.l\"),n.coerceFont(o,\"font\",r.font),o(\"currentvalue.visible\")&&(o(\"currentvalue.xanchor\"),o(\"currentvalue.prefix\"),o(\"currentvalue.suffix\"),o(\"currentvalue.offset\"),n.coerceFont(o,\"currentvalue.font\",e.font)),o(\"transition.duration\"),o(\"transition.easing\"),o(\"bgcolor\"),o(\"activebgcolor\"),o(\"bordercolor\"),o(\"borderwidth\"),o(\"ticklen\"),o(\"tickwidth\"),o(\"tickcolor\"),o(\"minorticklen\")}}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}if(\"skip\"===t.method||Array.isArray(t.args)?r(\"visible\"):e.visible=!1){r(\"method\"),r(\"args\");var i=r(\"label\",\"step-\"+e._index);r(\"value\",i),r(\"execute\")}}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"./attributes\":653,\"./constants\":654}],656:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../plots/plots\"),a=t(\"../color\"),o=t(\"../drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../legend/anchor_utils\"),u=t(\"../../plot_api/plot_template\").arrayEditor,f=t(\"./constants\"),h=t(\"../../constants/alignment\"),p=h.LINE_SPACING,d=h.FROM_TL,g=h.FROM_BR;function m(t){return f.autoMarginIdRoot+t._index}function v(t){return t._index}function y(t,e){var r=o.tester.selectAll(\"g.\"+f.labelGroupClass).data(e._visibleSteps);r.enter().append(\"g\").classed(f.labelGroupClass,!0);var a=0,s=0;r.each(function(t){var r=_(n.select(this),{step:t},e).node();if(r){var i=o.bBox(r);s=Math.max(s,i.height),a=Math.max(a,i.width)}}),r.remove();var u=e._dims={};u.inputAreaWidth=Math.max(f.railWidth,f.gripHeight);var h=t._fullLayout._size;u.lx=h.l+h.w*e.x,u.ly=h.t+h.h*(1-e.y),\"fraction\"===e.lenmode?u.outerLength=Math.round(h.w*e.len):u.outerLength=e.len,u.inputAreaStart=0,u.inputAreaLength=Math.round(u.outerLength-e.pad.l-e.pad.r);var p=(u.inputAreaLength-2*f.stepInset)/(e._stepCount-1),v=a+f.labelPadding;if(u.labelStride=Math.max(1,Math.ceil(v/p)),u.labelHeight=s,u.currentValueMaxWidth=0,u.currentValueHeight=0,u.currentValueTotalHeight=0,u.currentValueMaxLines=1,e.currentvalue.visible){var y=o.tester.append(\"g\");r.each(function(t){var r=x(y,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},i=l.lineCount(r);u.currentValueMaxWidth=Math.max(u.currentValueMaxWidth,Math.ceil(n.width)),u.currentValueHeight=Math.max(u.currentValueHeight,Math.ceil(n.height)),u.currentValueMaxLines=Math.max(u.currentValueMaxLines,i)}),u.currentValueTotalHeight=u.currentValueHeight+e.currentvalue.offset,y.remove()}u.height=u.currentValueTotalHeight+f.tickOffset+e.ticklen+f.labelOffset+u.labelHeight+e.pad.t+e.pad.b;var b=\"left\";c.isRightAnchor(e)&&(u.lx-=u.outerLength,b=\"right\"),c.isCenterAnchor(e)&&(u.lx-=u.outerLength/2,b=\"center\");var w=\"top\";c.isBottomAnchor(e)&&(u.ly-=u.height,w=\"bottom\"),c.isMiddleAnchor(e)&&(u.ly-=u.height/2,w=\"middle\"),u.outerLength=Math.ceil(u.outerLength),u.height=Math.ceil(u.height),u.lx=Math.round(u.lx),u.ly=Math.round(u.ly);var k={y:e.y,b:u.height*g[w],t:u.height*d[w]};\"fraction\"===e.lenmode?(k.l=0,k.xl=e.x-e.len*d[b],k.r=0,k.xr=e.x+e.len*g[b]):(k.x=e.x,k.l=u.outerLength*d[b],k.r=u.outerLength*g[b]),i.autoMargin(t,m(e),k)}function x(t,e,r){if(e.currentvalue.visible){var n,i,a=e._dims;switch(e.currentvalue.xanchor){case\"right\":n=a.inputAreaLength-f.currentValueInset-a.currentValueMaxWidth,i=\"left\";break;case\"center\":n=.5*a.inputAreaLength,i=\"middle\";break;default:n=f.currentValueInset,i=\"left\"}var c=s.ensureSingle(t,\"text\",f.labelClass,function(t){t.classed(\"user-select-none\",!0).attr({\"text-anchor\":i,\"data-notex\":1})}),u=e.currentvalue.prefix?e.currentvalue.prefix:\"\";if(\"string\"==typeof r)u+=r;else u+=e.steps[e.active].label;e.currentvalue.suffix&&(u+=e.currentvalue.suffix),c.call(o.font,e.currentvalue.font).text(u).call(l.convertToTspans,e._gd);var h=l.lineCount(c),d=(a.currentValueMaxLines+1-h)*e.currentvalue.font.size*p;return l.positionText(c,n,d),c}}function b(t,e,r){s.ensureSingle(t,\"rect\",f.gripRectClass,function(n){n.call(A,e,t,r).style(\"pointer-events\",\"all\")}).attr({width:f.gripWidth,height:f.gripHeight,rx:f.gripRadius,ry:f.gripRadius}).call(a.stroke,r.bordercolor).call(a.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function _(t,e,r){var n=s.ensureSingle(t,\"text\",f.labelClass,function(t){t.classed(\"user-select-none\",!0).attr({\"text-anchor\":\"middle\",\"data-notex\":1})});return n.call(o.font,r.font).text(e.step.label).call(l.convertToTspans,r._gd),n}function w(t,e){var r=s.ensureSingle(t,\"g\",f.labelsClass),i=e._dims,a=r.selectAll(\"g.\"+f.labelGroupClass).data(i.labelSteps);a.enter().append(\"g\").classed(f.labelGroupClass,!0),a.exit().remove(),a.each(function(t){var r=n.select(this);r.call(_,t,e),o.setTranslate(r,E(e,t.fraction),f.tickOffset+e.ticklen+e.font.size*p+f.labelOffset+i.currentValueTotalHeight)})}function k(t,e,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&M(t,e,r,o,!0,i)}function M(t,e,r,n,a,o){var s=r.active;r.active=n,u(t.layout,f.name,r).applyUpdate(\"active\",n);var l=r.steps[r.active];e.call(S,r,o),e.call(x,r),t.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&&l.method&&a&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=a,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:a,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&i.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function A(t,e,r){var i=r.node(),o=n.select(e);function s(){return r.data()[0]}t.on(\"mousedown\",function(){var t=s();e.emit(\"plotly_sliderstart\",{slider:t});var l=r.select(\".\"+f.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(a.fill,t.activebgcolor);var c=C(t,n.mouse(i)[0]);k(e,r,t,c,!0),t._dragging=!0,o.on(\"mousemove\",function(){var t=s(),a=C(t,n.mouse(i)[0]);k(e,r,t,a,!1)}),o.on(\"mouseup\",function(){var t=s();t._dragging=!1,l.call(a.fill,t.bgcolor),o.on(\"mouseup\",null),o.on(\"mousemove\",null),e.emit(\"plotly_sliderend\",{slider:t,step:t.steps[t.active]})})})}function T(t,e){var r=t.selectAll(\"rect.\"+f.tickRectClass).data(e._visibleSteps),i=e._dims;r.enter().append(\"rect\").classed(f.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),r.each(function(t,r){var s=r%i.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(a.fill,e.tickcolor),o.setTranslate(l,E(e,r/(e._stepCount-1))-.5*e.tickwidth,(s?f.tickOffset:f.minorTickOffset)+i.currentValueTotalHeight)})}function S(t,e,r){for(var n=t.select(\"rect.\"+f.gripRectClass),i=0,a=0;a<e._stepCount;a++)if(e._visibleSteps[a]._index===e.active){i=a;break}var o=E(e,i/(e._stepCount-1));if(!e._invokingCommand){var s=n;r&&e.transition.duration>0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr(\"transform\",\"translate(\"+(o-.5*f.gripWidth)+\",\"+e._dims.currentValueTotalHeight+\")\")}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function C(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function L(t,e,r){var n=r._dims,i=s.ensureSingle(t,\"rect\",f.railTouchRectClass,function(n){n.call(A,e,t,r).style(\"pointer-events\",\"all\")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr(\"opacity\",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function z(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,\"rect\",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,\"shape-rendering\":\"crispEdges\"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[f.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=e,n.push(a))}return n}(e,t),a=e._infolayer.selectAll(\"g.\"+f.containerClassName).data(r.length>0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,m(e))}if(a.enter().append(\"g\").classed(f.containerClassName,!0).style(\"cursor\",\"ew-resize\"),a.exit().each(function(){n.select(this).selectAll(\"g.\"+f.groupClassName).each(s)}).remove(),0!==r.length){var l=a.selectAll(\"g.\"+f.groupClassName).data(r,v);l.enter().append(\"g\").classed(f.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c<r.length;c++){var u=r[c];y(t,u)}l.each(function(e){var r=n.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t._stepCount,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t._visibleSteps[n]})}(e),i.manageCommandObserver(t,e,e._visibleSteps,function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||M(t,r,n,e.index,!1,!0))}),function(t,e,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index);e.call(x,r).call(z,r).call(w,r).call(T,r).call(L,t,r).call(b,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(S,r,!1),e.call(x,r)}(t,n.select(this),e)})}}},{\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../plot_api/plot_template\":732,\"../../plots/plots\":805,\"../color\":567,\"../drawing\":592,\"../legend/anchor_utils\":619,\"./constants\":654,d3:147}],657:[function(t,e,r){\"use strict\";var n=t(\"./constants\");e.exports={moduleType:\"component\",name:n.name,layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":653,\"./constants\":654,\"./defaults\":655,\"./draw\":656}],658:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../drawing\"),c=t(\"../color\"),u=t(\"../../lib/svg_text_utils\"),f=t(\"../../constants/interactions\");e.exports={draw:function(t,e,r){var p,d=r.propContainer,g=r.propName,m=r.placeholder,v=r.traceIndex,y=r.avoid||{},x=r.attributes,b=r.transform,_=r.containerGroup,w=t._fullLayout,k=d.titlefont||{},M=k.family,A=k.size,T=k.color,S=1,E=!1,C=(d.title||\"\").trim();\"title\"===g?p=\"titleText\":-1!==g.indexOf(\"axis\")?p=\"axisTitleText\":g.indexOf(!0)&&(p=\"colorbarTitleText\");var L=t._context.edits[p];\"\"===C?S=0:C.replace(h,\" % \")===m.replace(h,\" % \")&&(S=.2,E=!0,L||(C=\"\"));var z=C||L;_||(_=s.ensureSingle(w._infolayer,\"g\",\"g-\"+e));var P=_.selectAll(\"text\").data(z?[0]:[]);if(P.enter().append(\"text\"),P.text(C).attr(\"class\",e),P.exit().remove(),!z)return _;function O(t){s.syncOrAsync([I,D],t)}function I(e){var r;return b?(r=\"\",b.rotate&&(r+=\"rotate(\"+[b.rotate,x.x,x.y]+\")\"),b.offset&&(r+=\"translate(0, \"+b.offset+\")\")):r=null,e.attr(\"transform\",r),e.style({\"font-family\":M,\"font-size\":n.round(A,2)+\"px\",fill:c.rgb(T),opacity:S*c.opacity(T),\"font-weight\":a.fontWeight}).attr(x).call(u.convertToTspans,t),a.previousPromises(t)}function D(t){var e=n.select(t.node().parentNode);if(y&&y.selection&&y.side&&C){e.attr(\"transform\",null);var r=0,a={left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}[y.side],o=-1!==[\"left\",\"top\"].indexOf(y.side)?-1:1,c=i(y.pad)?y.pad:2,u=l.bBox(e.node()),f={left:0,top:0,right:w.width,bottom:w.height},h=y.maxShift||(f[y.side]-u[y.side])*(\"left\"===y.side||\"top\"===y.side?-1:1);if(h<0)r=h;else{var p=y.offsetLeft||0,d=y.offsetTop||0;u.left-=p,u.right-=p,u.top-=d,u.bottom-=d,y.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(u,t,c)&&(r=Math.max(r,o*(t[y.side]-u[a])+c))}),r=Math.min(h,r)}if(r>0||h<0){var g={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[y.side];e.attr(\"transform\",\"translate(\"+g+\")\")}}}P.call(O),L&&(C?P.on(\".opacity\",null):(S=0,E=!0,P.text(m).on(\"mouseover.opacity\",function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style(\"opacity\",0)})),P.call(u.makeEditable,{gd:t}).on(\"edit\",function(e){void 0!==v?o.call(\"restyle\",t,g,e,v):o.call(\"relayout\",t,g,e)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(O)}).on(\"input\",function(t){this.text(t||\" \").call(u.positionText,x.x,x.y)}));return P.classed(\"js-placeholder\",E),_}};var h=/ [XY][0-9]* /},{\"../../constants/interactions\":669,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../plots/plots\":805,\"../../registry\":825,\"../color\":567,\"../drawing\":592,d3:147,\"fast-isnumeric\":213}],659:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../plots/pad_attributes\"),l=t(\"../../plot_api/plot_template\").templatedArray,c=l(\"button\",{visible:{valType:\"boolean\"},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\",dflt:\"\"},execute:{valType:\"boolean\",dflt:!0}});e.exports=o(l(\"updatemenu\",{_arrayAttrRegexps:[/^updatemenus\\[(0|[1-9][0-9]+)\\]\\.buttons/],visible:{valType:\"boolean\"},type:{valType:\"enumerated\",values:[\"dropdown\",\"buttons\"],dflt:\"dropdown\"},direction:{valType:\"enumerated\",values:[\"left\",\"right\",\"up\",\"down\"],dflt:\"down\"},active:{valType:\"integer\",min:-1,dflt:0},showactive:{valType:\"boolean\",dflt:!0},buttons:c,x:{valType:\"number\",min:-2,max:3,dflt:-.05},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"right\"},y:{valType:\"number\",min:-2,max:3,dflt:1},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},pad:a({},s,{}),font:n({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:i.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")},{\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plot_api/plot_template\":732,\"../../plots/font_attributes\":768,\"../../plots/pad_attributes\":804,\"../color/attributes\":566}],660:[function(t,e,r){\"use strict\";e.exports={name:\"updatemenus\",containerClassName:\"updatemenu-container\",headerGroupClassName:\"updatemenu-header-group\",headerClassName:\"updatemenu-header\",headerArrowClassName:\"updatemenu-header-arrow\",dropdownButtonGroupClassName:\"updatemenu-dropdown-button-group\",dropdownButtonClassName:\"updatemenu-dropdown-button\",buttonClassName:\"updatemenu-button\",itemRectClassName:\"updatemenu-item-rect\",itemTextClassName:\"updatemenu-item-text\",menuIndexAttrName:\"updatemenu-active-index\",autoMarginIdRoot:\"updatemenu-\",blankHeaderOpts:{label:\"  \"},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\",arrowSymbol:{left:\"\\u25c4\",right:\"\\u25ba\",up:\"\\u25b2\",down:\"\\u25bc\"}}},{}],661:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/array_container_defaults\"),a=t(\"./attributes\"),o=t(\"./constants\").name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o(\"visible\",i(t,e,{name:\"buttons\",handleItemDefaults:c}).length>0)&&(o(\"active\"),o(\"direction\"),o(\"type\"),o(\"showactive\"),o(\"x\"),o(\"y\"),n.noneOrAll(t,e,[\"x\",\"y\"]),o(\"xanchor\"),o(\"yanchor\"),o(\"pad.t\"),o(\"pad.r\"),o(\"pad.b\"),o(\"pad.l\"),n.coerceFont(o,\"font\",r.font),o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\"),o(\"borderwidth\"))}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r(\"visible\",\"skip\"===t.method||Array.isArray(t.args))&&(r(\"method\"),r(\"args\"),r(\"label\"),r(\"execute\"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"./attributes\":659,\"./constants\":660}],662:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../plots/plots\"),a=t(\"../color\"),o=t(\"../drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../legend/anchor_utils\"),u=t(\"../../plot_api/plot_template\").arrayEditor,f=t(\"../../constants/alignment\").LINE_SPACING,h=t(\"./constants\"),p=t(\"./scrollbox\");function d(t){return t._index}function g(t,e){return+t.attr(h.menuIndexAttrName)===e._index}function m(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,h.name,e).applyUpdate(\"active\",o),\"buttons\"===e.type?y(t,n,null,null,e):\"dropdown\"===e.type&&(i.attr(h.menuIndexAttrName,\"-1\"),v(t,n,i,a,e),s||y(t,n,i,a,e))}function v(t,e,r,n,i){var a=s.ensureSingle(e,\"g\",h.headerClassName,function(t){t.style(\"pointer-events\",\"all\")}),l=i._dims,c=i.active,u=i.buttons[c]||h.blankHeaderOpts,f={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(x,i,u,t).call(S,i,f,p),s.ensureSingle(e,\"text\",h.headerArrowClassName,function(t){t.classed(\"user-select-none\",!0).attr(\"text-anchor\",\"end\").call(o.font,i.font).text(h.arrowSymbol[i.direction])}).attr({x:l.headerWidth-h.arrowOffsetX+i.pad.l,y:l.headerHeight/2+h.textOffsetY+i.pad.t}),a.on(\"click\",function(){r.call(E,String(g(r,i)?-1:i._index)),y(t,e,r,n,i)}),a.on(\"mouseover\",function(){a.call(k)}),a.on(\"mouseout\",function(){a.call(M,i)}),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr(\"pointer-events\",\"all\");var l=function(t){return-1==+t.attr(h.menuIndexAttrName)}(r)&&\"buttons\"!==o.type?[]:o.buttons,c=\"dropdown\"===o.type?h.dropdownButtonClassName:h.buttonClassName,u=r.selectAll(\"g.\"+c).data(s.filterVisible(l)),f=u.enter().append(\"g\").classed(c,!0),p=u.exit();\"dropdown\"===o.type?(f.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),p.transition().attr(\"opacity\",\"0\").remove()):p.remove();var d=0,g=0,v=o._dims,y=-1!==[\"up\",\"down\"].indexOf(o.direction);\"dropdown\"===o.type&&(y?g=v.headerHeight+h.gapButtonHeader:d=v.headerWidth+h.gapButtonHeader),\"dropdown\"===o.type&&\"up\"===o.direction&&(g=-h.gapButtonHeader+h.gapButton-v.openHeight),\"dropdown\"===o.type&&\"left\"===o.direction&&(d=-h.gapButtonHeader+h.gapButton-v.openWidth);var b={x:v.lx+d+o.pad.l,y:v.ly+g+o.pad.t,yPad:h.gapButton,xPad:h.gapButton,index:0},_={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each(function(s,l){var c=n.select(this);c.call(x,o,s,t).call(S,o,b),c.on(\"click\",function(){n.event.defaultPrevented||(m(t,o,0,e,r,a,l),s.execute&&i.executeAPICommand(t,s.method,s.args),t.emit(\"plotly_buttonclicked\",{menu:o,button:s,active:o.active}))}),c.on(\"mouseover\",function(){c.call(k)}),c.on(\"mouseout\",function(){c.call(M,o),u.call(w,o)})}),u.call(w,o),y?(_.w=Math.max(v.openWidth,v.headerWidth),_.h=b.y-_.t):(_.w=b.x-_.l,_.h=Math.max(v.openHeight,v.headerHeight)),_.direction=o.direction,a&&(u.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u=\"up\"===c||\"down\"===c,f=i._dims,p=i.active;if(u)for(s=0,l=0;l<p;l++)s+=f.heights[l]+h.gapButton;else for(o=0,l=0;l<p;l++)o+=f.widths[l]+h.gapButton;n.enable(a,o,s),n.hbar&&n.hbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\");n.vbar&&n.vbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\")}(0,0,0,a,o,_):function(t){var e=!!t.hbar,r=!!t.vbar;e&&t.hbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){e=!1,r||t.disable()});r&&t.vbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){r=!1,e||t.disable()})}(a))}function x(t,e,r,n){t.call(b,e).call(_,e,r,n)}function b(t,e){s.ensureSingle(t,\"rect\",h.itemRectClassName,function(t){t.attr({rx:h.rx,ry:h.ry,\"shape-rendering\":\"crispEdges\"})}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\")}function _(t,e,r,n){s.ensureSingle(t,\"text\",h.itemTextClassName,function(t){t.classed(\"user-select-none\",!0).attr({\"text-anchor\":\"start\",\"data-notex\":1})}).call(o.font,e.font).text(r.label).call(l.convertToTspans,n)}function w(t,e){var r=e.active;t.each(function(t,i){var o=n.select(this);i===r&&e.showactive&&o.select(\"rect.\"+h.itemRectClassName).call(a.fill,h.activeColor)})}function k(t){t.select(\"rect.\"+h.itemRectClassName).call(a.fill,h.hoverColor)}function M(t,e){t.select(\"rect.\"+h.itemRectClassName).call(a.fill,e.bgcolor)}function A(t,e){var r=e._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},a=o.tester.selectAll(\"g.\"+h.dropdownButtonClassName).data(s.filterVisible(e.buttons));a.enter().append(\"g\").classed(h.dropdownButtonClassName,!0);var u=-1!==[\"up\",\"down\"].indexOf(e.direction);a.each(function(i,a){var s=n.select(this);s.call(x,e,i,t);var c=s.select(\".\"+h.itemTextClassName),p=c.node()&&o.bBox(c.node()).width,d=Math.max(p+h.textPadX,h.minWidth),g=e.font.size*f,m=l.lineCount(c),v=Math.max(g*m,h.minHeight)+h.textOffsetY;v=Math.ceil(v),d=Math.ceil(d),r.widths[a]=d,r.heights[a]=v,r.height1=Math.max(r.height1,v),r.width1=Math.max(r.width1,d),u?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=v+h.gapButton,r.openHeight+=v+h.gapButton):(r.totalWidth+=d+h.gapButton,r.openWidth+=d+h.gapButton,r.totalHeight=Math.max(r.totalHeight,v),r.openHeight=r.totalHeight)}),u?r.totalHeight-=h.gapButton:r.totalWidth-=h.gapButton,r.headerWidth=r.width1+h.arrowPadX,r.headerHeight=r.height1,\"dropdown\"===e.type&&(u?(r.width1+=h.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=h.arrowPadX),a.remove();var p=r.totalWidth+e.pad.l+e.pad.r,d=r.totalHeight+e.pad.t+e.pad.b,g=t._fullLayout._size;r.lx=g.l+g.w*e.x,r.ly=g.t+g.h*(1-e.y);var m=\"left\";c.isRightAnchor(e)&&(r.lx-=p,m=\"right\"),c.isCenterAnchor(e)&&(r.lx-=p/2,m=\"center\");var v=\"top\";c.isBottomAnchor(e)&&(r.ly-=d,v=\"bottom\"),c.isMiddleAnchor(e)&&(r.ly-=d/2,v=\"middle\"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),i.autoMargin(t,T(e),{x:e.x,y:e.y,l:p*({right:1,center:.5}[m]||0),r:p*({left:1,center:.5}[m]||0),b:d*({top:1,middle:.5}[v]||0),t:d*({bottom:1,middle:.5}[v]||0)})}function T(t){return h.autoMarginIdRoot+t._index}function S(t,e,r,n){n=n||{};var i=t.select(\".\"+h.itemRectClassName),a=t.select(\".\"+h.itemTextClassName),s=e.borderwidth,c=r.index,u=e._dims;o.setTranslate(t,s+r.x,s+r.y);var p=-1!==[\"up\",\"down\"].indexOf(e.direction),d=n.height||(p?u.heights[c]:u.height1);i.attr({x:0,y:0,width:n.width||(p?u.width1:u.widths[c]),height:d});var g=e.font.size*f,m=(l.lineCount(a)-1)*g/2;l.positionText(a,h.textOffsetX,d/2-m+h.textOffsetY),p?r.y+=u.heights[c]+r.yPad:r.x+=u.widths[c]+r.xPad,r.index++}function E(t,e){t.attr(h.menuIndexAttrName,e||\"-1\").selectAll(\"g.\"+h.dropdownButtonClassName).remove()}e.exports=function(t){var e=t._fullLayout,r=s.filterVisible(e[h.name]);function a(e){i.autoMargin(t,T(e))}var o=e._menulayer.selectAll(\"g.\"+h.containerClassName).data(r.length>0?[0]:[]);if(o.enter().append(\"g\").classed(h.containerClassName,!0).style(\"cursor\",\"pointer\"),o.exit().each(function(){n.select(this).selectAll(\"g.\"+h.headerGroupClassName).each(a)}).remove(),0!==r.length){var l=o.selectAll(\"g.\"+h.headerGroupClassName).data(r,d);l.enter().append(\"g\").classed(h.headerGroupClassName,!0);for(var c=s.ensureSingle(o,\"g\",h.dropdownButtonGroupClassName,function(t){t.style(\"pointer-events\",\"all\")}),u=0;u<r.length;u++){var f=r[u];A(t,f)}var x=\"updatemenus\"+e._uid,b=new p(t,c,x);l.enter().size()&&(c.node().parentNode.appendChild(c.node()),c.call(E)),l.exit().each(function(t){c.call(E),a(t)}).remove(),l.each(function(e){var r=n.select(this),a=\"dropdown\"===e.type?c:null;i.manageCommandObserver(t,e,e.buttons,function(n){m(t,e,e.buttons[n.index],r,a,b,n.index,!0)}),\"dropdown\"===e.type?(v(t,r,c,b,e),g(c,e)&&y(t,r,c,b,e)):y(t,r,null,null,e)})}}},{\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../plot_api/plot_template\":732,\"../../plots/plots\":805,\"../color\":567,\"../drawing\":592,\"../legend/anchor_utils\":619,\"./constants\":660,\"./scrollbox\":664,d3:147}],663:[function(t,e,r){arguments[4][657][0].apply(r,arguments)},{\"./attributes\":659,\"./constants\":660,\"./defaults\":661,\"./draw\":662,dup:657}],664:[function(t,e,r){\"use strict\";e.exports=s;var n=t(\"d3\"),i=t(\"../color\"),a=t(\"../drawing\"),o=t(\"../../lib\");function s(t,e,r){this.gd=t,this.container=e,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll(\"rect.scrollbox-bg\").data([0]),this.bg.exit().on(\".drag\",null).on(\"wheel\",null).remove(),this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\",!0).style(\"pointer-events\",\"all\").attr({opacity:0,x:0,y:0,width:0,height:0})}s.barWidth=2,s.barLength=20,s.barRadius=2,s.barPad=1,s.barColor=\"#808BA4\",s.prototype.enable=function(t,e,r){var o=this.gd._fullLayout,l=o.width,c=o.height;this.position=t;var u,f,h,p,d=this.position.l,g=this.position.w,m=this.position.t,v=this.position.h,y=this.position.direction,x=\"down\"===y,b=\"left\"===y,_=\"up\"===y,w=g,k=v;x||b||\"right\"===y||_||(this.position.direction=\"down\",x=!0),x||_?(f=(u=d)+w,x?(h=m,k=(p=Math.min(h+k,c))-h):k=(p=m+k)-(h=Math.max(p-k,0))):(p=(h=m)+k,b?w=(f=d+w)-(u=Math.max(f-w,0)):(u=d,w=(f=Math.min(u+w,l))-u)),this._box={l:u,t:h,w:w,h:k};var M=g>w,A=s.barLength+2*s.barPad,T=s.barWidth+2*s.barPad,S=d,E=m+v;E+T>c&&(E=c-T);var C=this.container.selectAll(\"rect.scrollbar-horizontal\").data(M?[0]:[]);C.exit().on(\".drag\",null).remove(),C.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(i.fill,s.barColor),M?(this.hbar=C.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:T}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=v>k,z=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,O=d+g,I=m;O+z>l&&(O=l-z);var D=this.container.selectAll(\"rect.scrollbar-vertical\").data(L?[0]:[]);D.exit().on(\".drag\",null).remove(),D.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(i.fill,s.barColor),L?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:O,y:I,width:z,height:P}),this._vbarYMin=I+P/2,this._vbarTranslateMax=k-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,B=u-.5,F=L?f+z+.5:f+.5,N=h-.5,j=M?p+T+.5:p+.5,V=o._topdefs.selectAll(\"#\"+R).data(M||L?[0]:[]);if(V.exit().remove(),V.enter().append(\"clipPath\").attr(\"id\",R).append(\"rect\"),M||L?(this._clipRect=V.select(\"rect\").attr({x:Math.floor(B),y:Math.floor(N),width:Math.ceil(F)-Math.floor(B),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R),this.bg.attr({x:d,y:m,width:g,height:v})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),M||L){var U=n.behavior.drag().on(\"dragstart\",function(){n.event.sourceEvent.preventDefault()}).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(U);var q=n.behavior.drag().on(\"dragstart\",function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()}).on(\"drag\",this._onBarDrag.bind(this));M&&this.hbar.on(\".drag\",null).call(q),L&&this.vbar.on(\".drag\",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(\".drag\",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(\".drag\",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},{\"../../lib\":693,\"../color\":567,\"../drawing\":592,d3:147}],665:[function(t,e,r){\"use strict\";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}}},{}],666:[function(t,e,r){\"use strict\";e.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}},{}],667:[function(t,e,r){\"use strict\";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],668:[function(t,e,r){\"use strict\";e.exports={circle:\"\\u25cf\",\"circle-open\":\"\\u25cb\",square:\"\\u25a0\",\"square-open\":\"\\u25a1\",diamond:\"\\u25c6\",\"diamond-open\":\"\\u25c7\",cross:\"+\",x:\"\\u274c\"}},{}],669:[function(t,e,r){\"use strict\";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],670:[function(t,e,r){\"use strict\";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:\"\\u2212\"}},{}],671:[function(t,e,r){\"use strict\";r.xmlns=\"http://www.w3.org/2000/xmlns/\",r.svg=\"http://www.w3.org/2000/svg\",r.xlink=\"http://www.w3.org/1999/xlink\",r.svgAttrs={xmlns:r.svg,\"xmlns:xlink\":r.xlink}},{}],672:[function(t,e,r){\"use strict\";r.version=\"1.41.3\",t(\"es6-promise\").polyfill(),t(\"../build/plotcss\"),t(\"./fonts/mathjax_config\");for(var n=t(\"./registry\"),i=r.register=n.register,a=t(\"./plot_api\"),o=Object.keys(a),s=0;s<o.length;s++){var l=o[s];r[l]=a[l],i({moduleType:\"apiMethod\",name:l,fn:a[l]})}i(t(\"./traces/scatter\")),i([t(\"./components/fx\"),t(\"./components/legend\"),t(\"./components/annotations\"),t(\"./components/annotations3d\"),t(\"./components/shapes\"),t(\"./components/images\"),t(\"./components/updatemenus\"),t(\"./components/sliders\"),t(\"./components/rangeslider\"),t(\"./components/rangeselector\"),t(\"./components/grid\"),t(\"./components/errorbars\")]),i([t(\"./locale-en\"),t(\"./locale-en-us\")]),r.Icons=t(\"../build/ploticon\"),r.Plots=t(\"./plots/plots\"),r.Fx=t(\"./components/fx\"),r.Snapshot=t(\"./snapshot\"),r.PlotSchema=t(\"./plot_api/plot_schema\"),r.Queue=t(\"./lib/queue\"),r.d3=t(\"d3\")},{\"../build/plotcss\":1,\"../build/ploticon\":2,\"./components/annotations\":558,\"./components/annotations3d\":563,\"./components/errorbars\":598,\"./components/fx\":609,\"./components/grid\":613,\"./components/images\":618,\"./components/legend\":627,\"./components/rangeselector\":638,\"./components/rangeslider\":644,\"./components/shapes\":652,\"./components/sliders\":657,\"./components/updatemenus\":663,\"./fonts/mathjax_config\":673,\"./lib/queue\":709,\"./locale-en\":723,\"./locale-en-us\":722,\"./plot_api\":727,\"./plot_api/plot_schema\":731,\"./plots/plots\":805,\"./registry\":825,\"./snapshot\":830,\"./traces/scatter\":1044,d3:147,\"es6-promise\":202}],673:[function(t,e,r){\"use strict\";\"undefined\"!=typeof MathJax?(r.MathJax=!0,MathJax.Hub.Config({messageStyle:\"none\",skipStartupTypeset:!0,displayAlign:\"left\",tex2jax:{inlineMath:[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]]}}),MathJax.Hub.Configured()):r.MathJax=!1},{}],674:[function(t,e,r){\"use strict\";var n=t(\"./mod\"),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-15}function c(t,e){return a(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0]<e[1]?(r=e[0],n=e[1]):(r=e[1],n=e[0]),(r=i(r,s))>(n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,c){i=i||0,a=a||0;var u,f,h,p,d,g=l([r,n]);function m(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}g?(u=0,f=o,h=s):r<n?(u=r,h=n):(u=n,h=r),t<e?(p=t,d=e):(p=e,d=t);var v,y=Math.abs(h-u)<=o?0:1;function x(t,e,r){return\"A\"+[t,t]+\" \"+[0,y,r]+\" \"+m(t,e)}return g?v=null===p?\"M\"+m(d,u)+x(d,f,0)+x(d,h,0)+\"Z\":\"M\"+m(p,u)+x(p,f,0)+x(p,h,0)+\"ZM\"+m(d,u)+x(d,f,1)+x(d,h,1)+\"Z\":null===p?(v=\"M\"+m(d,u)+x(d,h,0),c&&(v+=\"L0,0Z\")):v=\"M\"+m(p,u)+\"L\"+m(d,u)+x(d,h,0)+\"L\"+m(p,h)+x(p,u,1)+\"Z\",v}e.exports={deg2rad:function(t){return t/180*o},rad2deg:function(t){return t/o*180},angleDelta:c,angleDist:function(t,e){return Math.abs(c(t,e))},isFullCircle:l,isAngleInsideSector:u,isPtInsideSector:function(t,e,r,n){return!!u(e,n)&&(r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),t>=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},{\"./mod\":701}],675:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../constants/numerical\").BADNUM,a=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;e.exports=function(t){return\"string\"==typeof t&&(t=t.replace(a,\"\")),n(t)?Number(t):i}},{\"../constants/numerical\":670,\"fast-isnumeric\":213}],676:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t._fullLayout;e._glcanvas&&e._glcanvas.size()&&e._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0,depth:!0})})}},{}],677:[function(t,e,r){\"use strict\";e.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener(\"resize\",t._responsiveChartHandler),delete t._responsiveChartHandler)}},{}],678:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"../plots/attributes\"),o=t(\"../components/colorscale/get_scale\"),s=(Object.keys(t(\"../components/colorscale/scales\")),t(\"./nested_property\")),l=t(\"./regex\").counter,c=t(\"../constants/interactions\").DESELECTDIM,u=t(\"./mod\").modHalf,f=t(\"./is_array\").isArrayOrTypedArray;function h(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&&f(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var i={},a=i,o={set:function(t){a=t}};return n.coerceFunction(t,o,i,e),a!==i}r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){f(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;n<r.length;n++){var i=String(r[n]);if(\"/\"===i.charAt(0)&&\"/\"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.length-2)).test(t))return!0}else if(t===r[n])return!0}return!1}},boolean:{coerceFunction:function(t,e,r){!0===t||!1===t?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,r,i){!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\"string\"!=typeof t){var i=\"number\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return i(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o(t,r))}},angle:{coerceFunction:function(t,e,r){\"auto\"===t?e.set(\"auto\"):n(t)?e.set(u(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||l(r);\"string\"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||\"string\"==typeof t&&!!l(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(\"string\"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(\"+\"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.join(\"+\")):e.set(r)}else e.set(t);else e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,n,i){function a(t,e,n){var i,a={set:function(t){i=t}};return void 0===n&&(n=e.dflt),r.valObjectMeta[e.valType].coerceFunction(t,a,n,e),i}var o=2===i.dimensions||\"1-2\"===i.dimensions&&Array.isArray(t)&&Array.isArray(t[0]);if(Array.isArray(t)){var s,l,c,u,f,h,p=i.items,d=[],g=Array.isArray(p),m=g&&o&&Array.isArray(p[0]),v=o&&g&&!m,y=g&&!v?p.length:t.length;if(n=Array.isArray(n)?n:[],o)for(s=0;s<y;s++)for(d[s]=[],c=Array.isArray(t[s])?t[s]:[],f=v?p.length:g?p[s].length:c.length,l=0;l<f;l++)u=v?p[l]:g?p[s][l]:p,void 0!==(h=a(c[l],u,(n[s]||[])[l]))&&(d[s][l]=h);else for(s=0;s<y;s++)void 0!==(h=a(t[s],g?p[s]:p,n[s]))&&(d[s]=h);e.set(d)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),i=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var a=0;a<t.length;a++)if(i){if(!Array.isArray(t[a])||!e.freeLength&&t[a].length!==r[a].length)return!1;for(var o=0;o<t[a].length;o++)if(!h(t[a][o],n?r[a][o]:r))return!1}else if(!h(t[a],n?r[a]:r))return!1;return!0}}},r.coerce=function(t,e,n,i,a){var o=s(n,i).get(),l=s(t,i),c=s(e,i),u=l.get(),p=e._template;if(void 0===u&&p&&(u=s(p,i).get(),p=0),void 0===a&&(a=o.dflt),o.arrayOk&&f(u))return c.set(u),u;var d=r.valObjectMeta[o.valType].coerceFunction;d(u,c,a,o);var g=c.get();return p&&g===a&&!h(u,o)&&(d(u=s(p,i).get(),c,a,o),g=c.get()),g},r.coerce2=function(t,e,n,i,a){var o=s(t,i),l=r.coerce(t,e,n,i,a),c=o.get();return null!=c&&l},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+\".family\",r.family),n.size=t(e+\".size\",r.size),n.color=t(e+\".color\",r.color),n},r.coerceHoverinfo=function(t,e,n){var i,o=e._module.attributes,s=o.hoverinfo?o:a,l=s.hoverinfo;if(1===n._dataLength){var c=\"all\"===l.dflt?l.flags.slice():l.dflt.split(\"+\");c.splice(c.indexOf(\"name\"),1),i=c.join(\"+\")}return r.coerce(t,e,s,\"hoverinfo\",i)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;if(void 0!==i)f(i)||t.selected||t.unselected||(r=i,n=c*i),e(\"selected.marker.opacity\",r),e(\"unselected.marker.opacity\",n)}},r.validate=h},{\"../components/colorscale/get_scale\":580,\"../components/colorscale/scales\":586,\"../constants/interactions\":669,\"../plots/attributes\":739,\"./is_array\":694,\"./mod\":701,\"./nested_property\":702,\"./regex\":710,\"fast-isnumeric\":213,tinycolor2:511}],679:[function(t,e,r){\"use strict\";var n,i,a=t(\"d3\"),o=t(\"fast-isnumeric\"),s=t(\"./loggers\"),l=t(\"./mod\").mod,c=t(\"../constants/numerical\"),u=c.BADNUM,f=c.ONEDAY,h=c.ONEHOUR,p=c.ONEMIN,d=c.ONESEC,g=c.EPOCHJD,m=t(\"../registry\"),v=a.time.format.utc,y=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d:?\\d\\d)?)?)?)?)?\\s*$/m,x=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d:?\\d\\d)?)?)?)?)?\\s*$/m,b=(new Date).getFullYear()-70;function _(t){return t&&m.componentsRegistry.calendars&&\"string\"==typeof t&&\"gregorian\"!==t}function w(t,e){return String(t+Math.pow(10,e)).substr(1)}r.dateTick0=function(t,e){return _(t)?e?m.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[t]:m.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[t]:e?\"2000-01-02\":\"2000-01-01\"},r.dfltRange=function(t){return _(t)?m.getComponentMethod(\"calendars\",\"DFLTRANGE\")[t]:[\"2000-01-01\",\"2001-01-01\"]},r.isJSDate=function(t){return\"object\"==typeof t&&null!==t&&\"function\"==typeof t.getTime},r.dateTime2ms=function(t,e){if(r.isJSDate(t)){var a=t.getTimezoneOffset()*p,o=(t.getUTCMinutes()-t.getMinutes())*p+(t.getUTCSeconds()-t.getSeconds())*d+(t.getUTCMilliseconds()-t.getMilliseconds());if(o){var s=3*p;a=a-s/2+l(o-a+s/2,s)}return(t=Number(t)-a)>=n&&t<=i?t:u}if(\"string\"!=typeof t&&\"number\"!=typeof t)return u;t=String(t);var c=_(e),v=t.charAt(0);!c||\"G\"!==v&&\"g\"!==v||(t=t.substr(1),e=\"\");var w=c&&\"chinese\"===e.substr(0,7),k=t.match(w?x:y);if(!k)return u;var M=k[1],A=k[3]||\"1\",T=Number(k[5]||1),S=Number(k[7]||0),E=Number(k[9]||0),C=Number(k[11]||0);if(c){if(2===M.length)return u;var L;M=Number(M);try{var z=m.getComponentMethod(\"calendars\",\"getCal\")(e);if(w){var P=\"i\"===A.charAt(A.length-1);A=parseInt(A,10),L=z.newDate(M,z.toMonthIndex(M,A,P),T)}else L=z.newDate(M,Number(A),T)}catch(t){return u}return L?(L.toJD()-g)*f+S*h+E*p+C*d:u}M=2===M.length?(Number(M)+2e3-b)%100+b:Number(M),A-=1;var O=new Date(Date.UTC(2e3,A,T,S,E));return O.setUTCFullYear(M),O.getUTCMonth()!==A?u:O.getUTCDate()!==T?u:O.getTime()+C*d},n=r.MIN_MS=r.dateTime2ms(\"-9999\"),i=r.MAX_MS=r.dateTime2ms(\"9999-12-31 23:59:59.9999\"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var k=90*f,M=3*h,A=5*p;function T(t,e,r,n,i){if((e||r||n||i)&&(t+=\" \"+w(e,2)+\":\"+w(r,2),(n||i)&&(t+=\":\"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+=\".\"+w(i,a)}return t}r.ms2DateTime=function(t,e,r){if(\"number\"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+g,E=Math.floor(l(t,f));try{a=m.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(S).formatDate(\"yyyy-mm-dd\")}catch(t){a=v(\"G%Y-%m-%d\")(new Date(w))}if(\"-\"===a.charAt(0))for(;a.length<11;)a=\"-0\"+a.substr(1);else for(;a.length<10;)a=\"0\"+a;o=e<k?Math.floor(E/h):0,s=e<k?Math.floor(E%h/p):0,c=e<M?Math.floor(E%p/d):0,y=e<A?E%d*10+b:0}else x=new Date(w),a=v(\"%Y-%m-%d\")(x),o=e<k?x.getUTCHours():0,s=e<k?x.getUTCMinutes():0,c=e<M?x.getUTCSeconds():0,y=e<A?10*x.getUTCMilliseconds()+b:0;return T(a,o,s,c,y)},r.ms2DateTimeLocal=function(t){if(!(t>=n+f&&t<=i-f))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return T(a.time.format(\"%Y-%m-%d\")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(r.isJSDate(t)||\"number\"==typeof t){if(_(n))return s.error(\"JS Dates and milliseconds are incompatible with world calendars\",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error(\"unrecognized date\",t),e;return t};var S=/%\\d?f/g;function E(t,e,r,n){t=t.replace(S,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,\"\")||\"0\"});var i=new Date(Math.floor(e+.05));if(_(n))try{t=m.getComponentMethod(\"calendars\",\"worldCalFmt\")(t,e,n)}catch(t){return\"Invalid\"}return r(t)(i)}var C=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if(\"y\"===r)e=a.year;else if(\"m\"===r)e=a.month;else{if(\"d\"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+\":\"+w(l(Math.floor(r/p),60),2);if(\"M\"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),C[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+i}return n}(t,r)+\"\\n\"+E(a.dayMonthYear,t,n,i);e=a.dayMonth+\"\\n\"+a.year}return E(e,t,n,i)};var L=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+g,a=m.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return e%12?a.add(o,e,\"m\"):a.add(o,e/12,\"y\"),(o.toJD()-g)*f+n}catch(e){s.error(\"invalid ms \"+t+\" in calendar \"+r)}var c=new Date(t+L);return c.setUTCMonth(c.getUTCMonth()+e)+n-L},r.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,c=_(e)&&m.getComponentMethod(\"calendars\",\"getCal\")(e),u=0;u<t.length;u++)if(n=t[u],o(n)){if(!(n%f))if(c)try{1===(r=c.fromJD(n/f+g)).day()?1===r.month()?i++:a++:s++}catch(t){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?i++:a++:s++}else l++;s+=a+=i;var h=t.length-l;return{exactYears:i/h,exactMonths:a/h,exactDays:s/h}}},{\"../constants/numerical\":670,\"../registry\":825,\"./loggers\":698,\"./mod\":701,d3:147,\"fast-isnumeric\":213}],680:[function(t,e,r){\"use strict\";e.exports=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t}},{}],681:[function(t,e,r){\"use strict\";var n=t(\"events\").EventEmitter,i={init:function(t){if(t._ev instanceof n)return t;var e=new n,r=new n;return t._ev=e,t._internalEv=r,t.on=e.on.bind(e),t.once=e.once.bind(e),t.removeListener=e.removeListener.bind(e),t.removeAllListeners=e.removeAllListeners.bind(e),t._internalOn=r.on.bind(r),t._internalOnce=r.once.bind(r),t._removeInternalListener=r.removeListener.bind(r),t._removeAllInternalListeners=r.removeAllListeners.bind(r),t.emit=function(n,i){\"undefined\"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;\"undefined\"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o,s=a._events[e];if(!s)return n;function l(t){return t.listener?(a.removeListener(e,t.listener),t.fired?void 0:(t.fired=!0,t.listener.apply(a,[r]))):t.apply(a,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return i=l(s[o]),void 0!==n?n:i},purge:function(t){return delete t._ev,delete t.on,delete t.once,delete t.removeListener,delete t.removeAllListeners,delete t.emit,delete t._ev,delete t._internalEv,delete t._internalOn,delete t._internalOnce,delete t._removeInternalListener,delete t._removeAllInternalListeners,t}};e.exports=i},{events:91}],682:[function(t,e,r){\"use strict\";var n=t(\"./is_plain_object.js\"),i=Array.isArray;function a(t,e,r,o){var s,l,c,u,f,h,p=t[0],d=t.length;if(2===d&&i(p)&&i(t[1])&&0===p.length){if(function(t,e){var r,n;for(r=0;r<t.length;r++){if(null!==(n=t[r])&&\"object\"==typeof n)return!1;void 0!==n&&(e[r]=n)}return!0}(t[1],p))return p;p.splice(0,p.length)}for(var g=1;g<d;g++)for(l in s=t[g])c=p[l],u=s[l],o&&i(u)?p[l]=u:e&&u&&(n(u)||(f=i(u)))?(f?(f=!1,h=c&&i(c)?c:[]):h=c&&n(c)?c:{},p[l]=a([h,u],e,r,o)):(\"undefined\"!=typeof u||r)&&(p[l]=u);return p}r.extendFlat=function(){return a(arguments,!1,!1,!1)},r.extendDeep=function(){return a(arguments,!0,!1,!1)},r.extendDeepAll=function(){return a(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return a(arguments,!0,!1,!0)}},{\"./is_plain_object.js\":695}],683:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r}},{}],684:[function(t,e,r){\"use strict\";function n(t){return!0===t.visible}function i(t){return!0===t[0].trace.visible}e.exports=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?i:n),a=[],o=0;o<t.length;o++){var s=t[o];r(s)&&a.push(s)}return a}},{}],685:[function(t,e,r){\"use strict\";var n=t(\"country-regex\"),i=t(\"../lib\"),a=Object.keys(n),o={\"ISO-3\":i.identity,\"USA-states\":i.identity,\"country names\":function(t){for(var e=0;e<a.length;e++){var r=a[e],o=new RegExp(n[r]);if(o.test(t.trim().toLowerCase()))return r}return i.log(\"Unrecognized country name: \"+t+\".\"),!1}};r.locationToFeature=function(t,e,r){if(!e||\"string\"!=typeof e)return!1;var n=function(t,e){return(0,o[t])(e)}(t,e);if(n){for(var a=0;a<r.length;a++){var s=r[a];if(s.id===n)return s}i.log([\"Location with id\",n,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1}},{\"../lib\":693,\"country-regex\":121}],686:[function(t,e,r){\"use strict\";var n=t(\"../constants/numerical\").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],i=[],a=0;a<t.length;a++){var o=t[a].lonlat;o[0]!==n?i.push(o):!e&&i.length>0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:\"LineString\",coordinates:t[0]}:{type:\"MultiLineString\",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:\"Polygon\",coordinates:t};for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=[t[r]];return{type:\"MultiPolygon\",coordinates:e}},r.makeBlank=function(){return{type:\"Point\",coordinates:[]}}},{\"../constants/numerical\":670}],687:[function(t,e,r){\"use strict\";var n,i,a,o=t(\"./mod\").mod;function s(t,e,r,n,i,a,o,s){var l=r-t,c=i-t,u=o-i,f=n-e,h=a-e,p=s-a,d=l*p-u*f;if(0===d)return null;var g=(c*p-u*h)/d,m=(c*f-l*h)/d;return m<0||m>1||g<0||g>1?null:{x:t+l*g,y:e+f*g}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,f=n-e,h=o-i,p=c-a,d=u*u+f*f,g=h*h+p*p,m=Math.min(l(u,f,d,i-t,a-e),l(u,f,d,o-t,c-e),l(h,p,g,t-i,e-a),l(h,p,g,r-i,n-a));return Math.sqrt(m)},r.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+c.x)/6,y:(4*f.y+l.y+c.y)/6,theta:u};return n[r]=h,h},r.clearLocationCache=function(){i=null},r.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),f=u;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.x<a?a-r.x:r.x>o?r.x-o:0,f=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(c*c+f*f)}for(var p=h(c);p;){if((c+=p+r)>f)return;p=h(c)}for(p=h(f);p;){if(c>(f-=p+r))return;p=h(f)}return{min:c,max:f,len:f-c,total:u,isClosed:0===c&&f===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f<c;){if(i=(h+p)/2,o=(a=t.getPointAtLength(i))[r]-e,Math.abs(o)<l)return a;u*o>0?p=i:h=i,f++}return a}},{\"./mod\":701}],688:[function(t,e,r){\"use strict\";e.exports=function(t){var e;if(\"string\"==typeof t){if(null===(e=document.getElementById(t)))throw new Error(\"No DOM element with id '\"+t+\"' exists on the page.\");return e}if(null==t)throw new Error(\"DOM element provided is null or undefined\");return t}},{}],689:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"color-normalize\"),o=t(\"../components/colorscale\"),s=t(\"../components/color/attributes\").defaultLine,l=t(\"./is_array\").isArrayOrTypedArray,c=a(s),u=1;function f(t,e){var r=t;return r[3]*=e,r}function h(t){if(n(t))return c;var e=a(t);return e.length?e:c}function p(t){return n(t)?t:u}e.exports={formatColor:function(t,e,r){var n,i,s,d,g,m=t.color,v=l(m),y=l(e),x=[];if(n=void 0!==t.colorscale?o.makeColorScaleFunc(o.extractScale(t.colorscale,t.cmin,t.cmax)):h,i=v?function(t,e){return void 0===t[e]?c:a(n(t[e]))}:h,s=y?function(t,e){return void 0===t[e]?u:p(t[e])}:p,v||y)for(var b=0;b<r;b++)d=i(m,b),g=s(e,b),x[b]=f(d,g);else x=f(a(m),e);return x},parseColorScale:function(t,e){return void 0===e&&(e=1),t.map(function(t){var r=t[0],n=i(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}}},{\"../components/color/attributes\":566,\"../components/colorscale\":582,\"./is_array\":694,\"color-normalize\":107,\"fast-isnumeric\":213,tinycolor2:511}],690:[function(t,e,r){\"use strict\";var n=t(\"./identity\");function i(t){return[t]}e.exports={keyFun:function(t){return t.key},repeat:i,descend:n,wrap:i,unwrap:function(t){return t[0]}}},{\"./identity\":692}],691:[function(t,e,r){\"use strict\";var n=t(\"superscript-text\"),i=t(\"./svg_text_utils\").convertEntities;e.exports=function(t){return\"\"+i(function(t){return t.replace(/\\<.*\\>/g,\"\")}(function(t){for(var e=0;(e=t.indexOf(\"<sup>\",e))>=0;){var r=t.indexOf(\"</sup>\",e);if(r<e)break;t=t.slice(0,e)+n(t.slice(e+5,r))+t.slice(r+6)}return t}(t.replace(/\\<br\\>/g,\"\\n\"))))}},{\"./svg_text_utils\":718,\"superscript-text\":504}],692:[function(t,e,r){\"use strict\";e.exports=function(t){return t}},{}],693:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../constants/numerical\"),o=a.FP_SAFE,s=a.BADNUM,l=e.exports={};l.nestedProperty=t(\"./nested_property\"),l.keyedContainer=t(\"./keyed_container\"),l.relativeAttr=t(\"./relative_attr\"),l.isPlainObject=t(\"./is_plain_object\"),l.toLogRange=t(\"./to_log_range\"),l.relinkPrivateKeys=t(\"./relink_private\"),l.ensureArray=t(\"./ensure_array\");var c=t(\"./mod\");l.mod=c.mod,l.modHalf=c.modHalf;var u=t(\"./is_array\");l.isTypedArray=u.isTypedArray,l.isArrayOrTypedArray=u.isArrayOrTypedArray,l.isArray1D=u.isArray1D;var f=t(\"./coerce\");l.valObjectMeta=f.valObjectMeta,l.coerce=f.coerce,l.coerce2=f.coerce2,l.coerceFont=f.coerceFont,l.coerceHoverinfo=f.coerceHoverinfo,l.coerceSelectionMarkerOpacity=f.coerceSelectionMarkerOpacity,l.validate=f.validate;var h=t(\"./dates\");l.dateTime2ms=h.dateTime2ms,l.isDateTime=h.isDateTime,l.ms2DateTime=h.ms2DateTime,l.ms2DateTimeLocal=h.ms2DateTimeLocal,l.cleanDate=h.cleanDate,l.isJSDate=h.isJSDate,l.formatDate=h.formatDate,l.incrementMonth=h.incrementMonth,l.dateTick0=h.dateTick0,l.dfltRange=h.dfltRange,l.findExactDates=h.findExactDates,l.MIN_MS=h.MIN_MS,l.MAX_MS=h.MAX_MS;var p=t(\"./search\");l.findBin=p.findBin,l.sorterAsc=p.sorterAsc,l.sorterDes=p.sorterDes,l.distinctVals=p.distinctVals,l.roundUp=p.roundUp,l.sort=p.sort,l.findIndexOfMin=p.findIndexOfMin;var d=t(\"./stats\");l.aggNums=d.aggNums,l.len=d.len,l.mean=d.mean,l.midRange=d.midRange,l.variance=d.variance,l.stdev=d.stdev,l.interp=d.interp;var g=t(\"./matrix\");l.init2dArray=g.init2dArray,l.transposeRagged=g.transposeRagged,l.dot=g.dot,l.translationMatrix=g.translationMatrix,l.rotationMatrix=g.rotationMatrix,l.rotationXYMatrix=g.rotationXYMatrix,l.apply2DTransform=g.apply2DTransform,l.apply2DTransform2=g.apply2DTransform2;var m=t(\"./angles\");l.deg2rad=m.deg2rad,l.rad2deg=m.rad2deg,l.angleDelta=m.angleDelta,l.angleDist=m.angleDist,l.isFullCircle=m.isFullCircle,l.isAngleInsideSector=m.isAngleInsideSector,l.isPtInsideSector=m.isPtInsideSector,l.pathArc=m.pathArc,l.pathSector=m.pathSector,l.pathAnnulus=m.pathAnnulus;var v=t(\"./geometry2d\");l.segmentsIntersect=v.segmentsIntersect,l.segmentDistance=v.segmentDistance,l.getTextLocation=v.getTextLocation,l.clearLocationCache=v.clearLocationCache,l.getVisibleSegment=v.getVisibleSegment,l.findPointOnPath=v.findPointOnPath;var y=t(\"./extend\");l.extendFlat=y.extendFlat,l.extendDeep=y.extendDeep,l.extendDeepAll=y.extendDeepAll,l.extendDeepNoArrays=y.extendDeepNoArrays;var x=t(\"./loggers\");l.log=x.log,l.warn=x.warn,l.error=x.error;var b=t(\"./regex\");l.counterRegex=b.counter;var _=t(\"./throttle\");function w(t){var e={};for(var r in t)for(var n=t[r],i=0;i<n.length;i++)e[n[i]]=+r;return e}l.throttle=_.throttle,l.throttleDone=_.done,l.clearThrottle=_.clear,l.getGraphDiv=t(\"./get_graph_div\"),l.clearResponsive=t(\"./clear_responsive\"),l.makeTraceGroups=t(\"./make_trace_groups\"),l._=t(\"./localize\"),l.notifier=t(\"./notifier\"),l.filterUnique=t(\"./filter_unique\"),l.filterVisible=t(\"./filter_visible\"),l.pushUnique=t(\"./push_unique\"),l.cleanNumber=t(\"./clean_number\"),l.ensureNumber=function(t){return i(t)?(t=Number(t))<-o||t>o?s:i(t)?Number(t):s:s},l.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(i(t)&&t>=0&&t%1==0)},l.noop=t(\"./noop\"),l.identity=t(\"./identity\"),l.repeat=function(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t;return r},l.swapAttrs=function(t,e,r,n){r||(r=\"x\"),n||(n=\"y\");for(var i=0;i<e.length;i++){var a=e[i],o=l.nestedProperty(t,a.replace(\"?\",r)),s=l.nestedProperty(t,a.replace(\"?\",n)),c=o.get();o.set(s.get()),s.set(c)}},l.raiseToTop=function(t){t.parentNode.appendChild(t)},l.cancelTransition=function(t){return t.transition().duration(0)},l.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},l.simpleMap=function(t,e,r,n){for(var i=t.length,a=new Array(i),o=0;o<i;o++)a[o]=e(t[o],r,n);return a},l.randstr=function t(e,r,n,i){if(n||(n=16),void 0===r&&(r=24),r<=0)return\"0\";var a,o,s=Math.log(Math.pow(2,r))/Math.log(n),c=\"\";for(a=2;s===1/0;a*=2)s=Math.log(Math.pow(2,r/a))/Math.log(n)*a;var u=s-Math.floor(s);for(a=0;a<Math.floor(s);a++)c=Math.floor(Math.random()*n).toString(n)+c;u&&(o=Math.pow(n,u),c=Math.floor(Math.random()*o).toString(n)+c);var f=parseInt(c,n);return e&&e[c]||f!==1/0&&f>=Math.pow(2,r)?i>10?(l.warn(\"randstr failed uniqueness\"),c):t(e,r,n,(i||0)+1):c},l.OptionControl=function(t,e){t||(t={}),e||(e=\"opt\");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r[\"_\"+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r<l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)(i=r+n+1-e)<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},l.syncOrAsync=function(t,e,r){var n;function i(){return l.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).then(void 0,l.promiseError);return r&&r(e)},l.stripTrailingSlash=function(t){return\"/\"===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n<r.length;n++)null!=t[r[n]]?i=!0:a=!1;if(i&&!a)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r){if(l.isArrayOrTypedArray(t))for(var n=Math.min(t.length,e.length),i=0;i<n;i++)e[i][r]=t[i]},l.fillArray=function(t,e,r,n){if(n=n||l.identity,l.isArrayOrTypedArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},l.castOption=function(t,e,r,n){n=n||l.identity;var i=l.nestedProperty(t,r).get();return l.isArrayOrTypedArray(i)?Array.isArray(e)&&l.isArrayOrTypedArray(i[e[0]])?n(i[e[0]][e[1]]):n(i[e]):i},l.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=l.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},l.tagSelected=function(t,e,r){var n,i,a=e.selectedpoints,o=e._indexToPoints;o&&(n=w(o));for(var s=0;s<a.length;s++){var c=a[s];if(l.isIndex(c)){var u=n?n[c]:c,f=r?r[u]:u;void 0!==(i=f)&&i<t.length&&(t[f].selected=1)}}},l.selIndices2selPoints=function(t){var e=t.selectedpoints,r=t._indexToPoints;if(r){for(var n=w(r),i=[],a=0;a<e.length;a++){var o=e[a];if(l.isIndex(o)){var s=n[o];l.isIndex(s)&&i.push(s)}}return i}return e},l.getTargetArray=function(t,e){var r=e.target;if(\"string\"==typeof r&&r){var n=l.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},l.minExtend=function(t,e){var r={};\"object\"!=typeof e&&(e={});var n,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)a=t[i=o[n]],\"_\"!==i.charAt(0)&&\"function\"!=typeof a&&(\"module\"===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&&\"object\"==typeof a?l.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)\"object\"==typeof(a=e[i=o[n]])&&i in r&&\"object\"==typeof r[i]||(r[i]=a);return r},l.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},l.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},l.isPlotDiv=function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed(\"js-plotly-plot\")},l.removeElement=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},l.addStyleRule=function(t,e){if(!l.styleSheet){var r=document.createElement(\"style\");r.appendChild(document.createTextNode(\"\")),document.head.appendChild(r),l.styleSheet=r.sheet}var n=l.styleSheet;n.insertRule?n.insertRule(t+\"{\"+e+\"}\",0):n.addRule?n.addRule(t,e,0):l.warn(\"addStyleRule failed\")},l.isIE=function(){return\"undefined\"!=typeof window.navigator.msSaveBlob},l.isD3Selection=function(t){return t&&\"function\"==typeof t.classed},l.ensureSingle=function(t,e,r,n){var i=t.select(e+(r?\".\"+r:\"\"));if(i.size())return i;var a=t.append(e);return r&&a.classed(r,!0),n&&a.call(n),a},l.ensureSingleById=function(t,e,r,n){var i=t.select(e+\"#\"+r);if(i.size())return i;var a=t.append(e).attr(\"id\",r);return n&&a.call(n),a},l.objectFromPath=function(t,e){for(var r,n=t.split(\".\"),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\\[([0-9]+)\\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var k=/^([^\\[\\.]+)\\.(.+)?/,M=/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(\"object\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(k))?(i=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(i))[n])):(e=r.match(M))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\".\"===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(i)))):t[n][a]=l.expandObjectPaths(i)):t[r]=l.expandObjectPaths(t[r]));return t},l.numSeparate=function(t,e,r){if(r||(r=!1),\"string\"!=typeof e||0===e.length)throw new Error(\"Separator string required for formatting!\");\"number\"==typeof t&&(t=String(t));var n=/(\\d+)(\\d{3})/,i=e.charAt(0),a=e.charAt(1),o=t.split(\".\"),s=o[0],l=o.length>1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l};var A=/%{([^\\s%{}]*)}/g,T=/^\\w*$/;l.templateString=function(t,e){var r={};return t.replace(A,function(t,n){return T.test(n)?e[n]||\"\":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||\"\")})};l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a<r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o>=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var S=2e9;l.seedPseudoRandom=function(){S=2e9},l.pseudoRandom=function(){var t=S;return S=(69069*S+1)%4294967296,Math.abs(S-t)<429496729?l.pseudoRandom():S/4294967296}},{\"../constants/numerical\":670,\"./angles\":674,\"./clean_number\":675,\"./clear_responsive\":677,\"./coerce\":678,\"./dates\":679,\"./ensure_array\":680,\"./extend\":682,\"./filter_unique\":683,\"./filter_visible\":684,\"./geometry2d\":687,\"./get_graph_div\":688,\"./identity\":692,\"./is_array\":694,\"./is_plain_object\":695,\"./keyed_container\":696,\"./localize\":697,\"./loggers\":698,\"./make_trace_groups\":699,\"./matrix\":700,\"./mod\":701,\"./nested_property\":702,\"./noop\":703,\"./notifier\":704,\"./push_unique\":708,\"./regex\":710,\"./relative_attr\":711,\"./relink_private\":712,\"./search\":713,\"./stats\":716,\"./throttle\":719,\"./to_log_range\":720,d3:147,\"fast-isnumeric\":213}],694:[function(t,e,r){\"use strict\";var n=\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i=\"undefined\"==typeof DataView?function(){}:DataView;function a(t){return n.isView(t)&&!(t instanceof i)}function o(t){return Array.isArray(t)||a(t)}e.exports={isTypedArray:a,isArrayOrTypedArray:o,isArray1D:function(t){return!o(t[0])}}},{}],695:[function(t,e,r){\"use strict\";e.exports=function(t){return window&&window.process&&window.process.versions?\"[object Object]\"===Object.prototype.toString.call(t):\"[object Object]\"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],696:[function(t,e,r){\"use strict\";var n=t(\"./nested_property\"),i=/^\\w*$/;e.exports=function(t,e,r,a){var o,s,l;r=r||\"name\",a=a||\"value\";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||\"\";var u={};if(s)for(o=0;o<s.length;o++)u[s[o][r]]=o;var f=i.test(a),h={set:function(t,e){var i=null===e?4:0;if(!s){if(!l||4===i)return;s=[],l.set(s)}var o=u[t];if(void 0===o){if(4===i)return;i|=3,o=s.length,u[t]=o}else e!==(f?s[o][a]:n(s[o],a).get())&&(i|=2);var p=s[o]=s[o]||{};return p[r]=t,f?p[a]=e:n(p,a).set(e),null!==e&&(i&=-5),c[o]=c[o]|i,h},get:function(t){if(s){var e=u[t];return void 0===e?void 0:f?s[e][a]:n(s[e],a).get()}},rename:function(t,e){var n=u[t];return void 0===n?h:(c[n]=1|c[n],u[e]=n,delete u[t],s[n][r]=e,h)},remove:function(t){var e=u[t];if(void 0===e)return h;var i=s[e];if(Object.keys(i).length>2)return c[e]=2|c[e],h.set(t,null);if(f){for(o=e;o<s.length;o++)c[o]=3|c[o];for(o=e;o<s.length;o++)u[s[o][r]]--;s.splice(e,1),delete u[t]}else n(i,a).set(null),c[e]=6|c[e];return h},constructUpdate:function(){for(var t,i,o={},l=Object.keys(c),u=0;u<l.length;u++)i=l[u],t=e+\"[\"+i+\"]\",s[i]?(1&c[i]&&(o[t+\".\"+r]=s[i][r]),2&c[i]&&(o[t+\".\"+a]=f?4&c[i]?null:s[i][a]:4&c[i]?null:n(s[i],a).get())):o[t]=null;return o}};return h}},{\"./nested_property\":702}],697:[function(t,e,r){\"use strict\";var n=t(\"../registry\");e.exports=function(t,e){for(var r=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}a=n.localeRegistry}var c=r.split(\"-\")[0];if(c===r)break;r=c}return e}},{\"../registry\":825}],698:[function(t,e,r){\"use strict\";var n=t(\"../plot_api/plot_config\"),i=e.exports={};function a(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r<e.length;r++)t(e[r])}i.log=function(){if(n.logging>1){for(var t=[\"LOG:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.trace||console.log,t)}},i.warn=function(){if(n.logging>0){for(var t=[\"WARN:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.trace||console.log,t)}},i.error=function(){if(n.logging>0){for(var t=[\"ERROR:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.error,t)}}},{\"../plot_api/plot_config\":730}],699:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n=t.selectAll(\"g.\"+r.replace(/\\s/g,\".\")).data(e,function(t){return t[0].trace.uid});return n.exit().remove(),n.enter().append(\"g\").attr(\"class\",r),n.order(),n}},{}],700:[function(t,e,r){\"use strict\";r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},r.transposeRagged=function(t){var e,r,n=0,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,i,a=t.length;if(t[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=r.dot(t[i],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i<a;i++)n+=t[i]*e[i];return n},r.translationMatrix=function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},r.rotationMatrix=function(t){var e=t*Math.PI/180;return[[Math.cos(e),-Math.sin(e),0],[Math.sin(e),Math.cos(e),0],[0,0,1]]},r.rotationXYMatrix=function(t,e,n){return r.dot(r.dot(r.translationMatrix(e,n),r.rotationMatrix(t)),r.translationMatrix(-e,-n))},r.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var n=1===arguments.length?e[0]:[e[0],e[1]];return r.dot(t,[n[0],n[1],1]).slice(0,2)}},r.apply2DTransform2=function(t){var e=r.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}}},{}],701:[function(t,e,r){\"use strict\";e.exports={mod:function(t,e){var r=t%e;return r<0?r+e:r},modHalf:function(t,e){return Math.abs(t)>e/2?t-Math.round(t/e)*e:t}}},{}],702:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./is_array\").isArrayOrTypedArray;e.exports=function(t,e){if(n(e))e=String(e);else if(\"string\"!=typeof e||\"[-1]\"===e.substr(e.length-4))throw\"bad property string\";for(var r,a,o,l=0,c=e.split(\".\");l<c.length;){if(r=String(c[l]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/)){if(r[1])c[l]=r[1];else{if(0!==l)throw\"bad property string\";c.splice(0,1)}for(a=r[2].substr(1,r[2].length-2).split(\"][\"),o=0;o<a.length;o++)l++,c.splice(l,0,Number(a[o]))}l++}return\"object\"!=typeof t?function(t,e,r){return{set:function(){throw\"bad container\"},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:s(t,c,e),get:function t(e,r){return function(){var n,a,o,s,l,c=e;for(s=0;s<r.length-1;s++){if(-1===(n=r[s])){for(a=!0,o=[],l=0;l<c.length;l++)o[l]=t(c[l],r.slice(s+1))(),o[l]!==o[0]&&(a=!1);return a?o[0]:o}if(\"number\"==typeof n&&!i(c))return;if(\"object\"!=typeof(c=c[n])||null===c)return}if(\"object\"==typeof c&&null!==c&&null!==(o=c[r[s]]))return o}}(t,c),astr:e,parts:c,obj:t}};var a=/(^|\\.)args\\[/;function o(t,e){return void 0===t||null===t&&!e.match(a)}function s(t,e,r){return function(n){var a,s,f=t,h=\"\",p=[[t,h]],d=o(n,r);for(s=0;s<e.length-1;s++){if(\"number\"==typeof(a=e[s])&&!i(f))throw\"array index but container is not an array\";if(-1===a){if(d=!c(f,e.slice(s+1),n,r))break;return}if(!u(f,a,e[s+1],d))break;if(\"object\"!=typeof(f=f[a])||null===f)throw\"container is not an object\";h=l(h,a),p.push([f,h])}if(d){if(s===e.length-1&&(delete f[e[s]],Array.isArray(f)&&+e[s]==f.length-1))for(;f.length&&void 0===f[f.length-1];)f.pop()}else f[e[s]]=n}}function l(t,e){var r=e;return n(e)?r=\"[\"+e+\"]\":t&&(r=\".\"+e),t+r}function c(t,e,r,n){var a,l=i(r),c=!0,f=r,h=n.replace(\"-1\",0),p=!l&&o(r,h),d=e[0];for(a=0;a<t.length;a++)h=n.replace(\"-1\",a),l&&(p=o(f=r[a%r.length],h)),p&&(c=!1),u(t,a,d,p)&&s(t[a],e,n.replace(\"-1\",a))(f);return c}function u(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=\"number\"==typeof r?[]:{}}return!0}},{\"./is_array\":694,\"fast-isnumeric\":213}],703:[function(t,e,r){\"use strict\";e.exports=function(){}},{}],704:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=[];e.exports=function(t,e){if(-1===a.indexOf(t)){a.push(t);var r=1e3;i(e)?r=e:\"long\"===e&&(r=3e3);var o=n.select(\"body\").selectAll(\".plotly-notifier\").data([0]);o.enter().append(\"div\").classed(\"plotly-notifier\",!0),o.selectAll(\".notifier-note\").data(a).enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each(function(t){var e=n.select(this);e.append(\"button\").classed(\"notifier-close\",!0).html(\"&times;\").on(\"click\",function(){e.transition().call(s)});for(var i=e.append(\"p\"),a=t.split(/<br\\s*\\/?>/g),o=0;o<a.length;o++)o&&i.append(\"br\"),i.append(\"span\").text(a[o]);e.transition().duration(700).style(\"opacity\",1).transition().delay(r).call(s)})}function s(t){t.duration(700).style(\"opacity\",0).each(\"end\",function(t){var e=a.indexOf(t);-1!==e&&a.splice(e,1),n.select(this).remove()})}}},{d3:147,\"fast-isnumeric\":213}],705:[function(t,e,r){\"use strict\";var n=t(\"./setcursor\"),i=\"data-savedcursor\";e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr(\"class\")||\"\").split(\" \"),o=0;o<a.length;o++){var s=a[o];0===s.indexOf(\"cursor-\")&&t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,\"!!\")}n(t,e)}else r&&(t.attr(i,null),\"!!\"===r?n(t):n(t,r))}},{\"./setcursor\":714}],706:[function(t,e,r){\"use strict\";var n=t(\"./matrix\").dot,i=t(\"../constants/numerical\").BADNUM,a=e.exports={};a.tester=function(t){var e,r=t.slice(),n=r[0][0],a=n,o=r[0][1],s=o;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),a=Math.max(a,r[e][0]),o=Math.min(o,r[e][1]),s=Math.max(s,r[e][1]);var l,c=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(c=!0,l=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(c=!0,l=function(t){return t[1]===r[0][1]}));var u=!0,f=r[0];for(e=1;e<r.length;e++)if(f[0]!==r[e][0]||f[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:a,ymin:o,ymax:s,pts:r,contains:c?function(t,e){var r=t[0],c=t[1];return!(r===i||r<n||r>a||c===i||c<o||c>s||e&&l(t))}:function(t,e){var l=t[0],c=t[1];if(l===i||l<n||l>a||c===i||c<o||c>s)return!1;var u,f,h,p,d,g=r.length,m=r[0][0],v=r[0][1],y=0;for(u=1;u<g;u++)if(f=m,h=v,m=r[u][0],v=r[u][1],!(l<(p=Math.min(f,m))||l>Math.max(f,m)||c>Math.max(h,v)))if(c<Math.min(h,v))l!==p&&y++;else{if(c===(d=m===f?c:h+(l-f)*(v-h)/(m-f)))return 1!==u||!e;c<=d&&l!==p&&y++}return y%2==1},isRect:c,degenerate:u}};var o=a.isSegmentBent=function(t,e,r,i){var a,o,s,l=t[e],c=[t[r][0]-l[0],t[r][1]-l[1]],u=n(c,c),f=Math.sqrt(u),h=[-c[1]/f,c[0]/f];for(a=e+1;a<r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,c))<0||s>u||Math.abs(n(o,h))>i)return!0;return!1};a.filter=function(t,e){var r=[t[0]],n=0,i=0;function a(a){t.push(a);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c<t.length;c++)(c===t.length-1||o(t,l,c+1,e))&&(r.push(t[c]),r.length<s-2&&(n=c,i=r.length-1),l=c)}t.length>1&&a(t.pop());return{addPt:a,raw:t,filtered:r}}},{\"../constants/numerical\":670,\"./matrix\":700}],707:[function(t,e,r){(function(r){\"use strict\";var n=t(\"./show_no_webgl_msg\"),i=t(\"regl\");e.exports=function(t,e){var a=t._fullLayout,o=!0;return a._glcanvas.each(function(n){if(!n.regl&&(!n.pick||a._has(\"parcoords\"))){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]})}catch(t){o=!1}o&&this.addEventListener(\"webglcontextlost\",function(e){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:e,layer:n.key})},!1)}}),o||n({container:a._glcontainer.node()}),o}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./show_no_webgl_msg\":715,regl:475}],708:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r<t.length;r++)if(t[r]instanceof RegExp&&t[r].toString()===n)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t}},{}],709:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plot_api/plot_config\");var a={add:function(t,e,r,n,a){var o,s;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(s,t.undoQueue.queue.length-s,o),t.undoQueue.index+=1):o=t.undoQueue.queue[s-1],t.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(a)),t.undoQueue.queue.length>i.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.undo.calls.length;r++)a.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},redo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.redo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.redo.calls.length;r++)a.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};a.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,i=[],a=0;a<e.length;a++)r=e[a],i[a]=r===t?r:\"object\"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(t,r),e.apply(null,r)},e.exports=a},{\"../lib\":693,\"../plot_api/plot_config\":730}],710:[function(t,e,r){\"use strict\";r.counter=function(t,e,r){var n=(e||\"\")+(r?\"\":\"$\");return\"xy\"===t?new RegExp(\"^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+n):new RegExp(\"^\"+t+\"([2-9]|[1-9][0-9]+)?\"+n)}},{}],711:[function(t,e,r){\"use strict\";var n=/^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/,i=/^[^\\.\\[\\]]+$/;e.exports=function(t,e){for(;e;){var r=t.match(n);if(r)t=r[1];else{if(!t.match(i))throw new Error(\"bad relativeAttr call:\"+[t,e]);t=\"\"}if(\"^\"!==e.charAt(0))break;e=e.slice(1)}return t&&\"[\"!==e.charAt(0)?t+\".\"+e:t+e}},{}],712:[function(t,e,r){\"use strict\";var n=t(\"./is_array\").isArrayOrTypedArray,i=t(\"./is_plain_object\");e.exports=function t(e,r){for(var a in r){var o=r[a],s=e[a];if(s!==o)if(\"_\"===a.charAt(0)||\"function\"==typeof o){if(a in e)continue;e[a]=o}else if(n(o)&&n(s)&&i(o[0])){if(\"customdata\"===a||\"ids\"===a)continue;for(var l=Math.min(o.length,s.length),c=0;c<l;c++)s[c]!==o[c]&&i(o[c])&&i(s[c])&&t(s[c],o[c])}else i(o)&&i(s)&&(t(s,o),Object.keys(s).length||delete e[a])}}},{\"./is_array\":694,\"./is_plain_object\":695}],713:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./loggers\"),a=t(\"./identity\");function o(t,e){return t<e}function s(t,e){return t<=e}function l(t,e){return t>e}function c(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var a,u,f=0,h=e.length,p=0,d=h>1?(e[h-1]-e[0])/(h-1):1;for(u=d>=0?r?o:s:r?c:l,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);f<h&&p++<100;)u(e[a=Math.floor((f+h)/2)],t)?f=a+1:h=a;return p>90&&i.log(\"Long binary search...\"),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;s<n;s++)e[s+1]>e[s]+a&&(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i<a&&o++<100;)e[n=c((i+a)/2)]<=t?i=n+s:a=n-l;return e[i]},r.sort=function(t,e){for(var r=0,n=0,i=1;i<t.length;i++){var a=e(t[i],t[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;i<t.length;i++){var o=e(t[i]);o<n&&(n=o,r=i)}return r}},{\"./identity\":692,\"./loggers\":698,\"fast-isnumeric\":213}],714:[function(t,e,r){\"use strict\";e.exports=function(t,e){(t.attr(\"class\")||\"\").split(\" \").forEach(function(e){0===e.indexOf(\"cursor-\")&&t.classed(e,!1)}),e&&t.classed(\"cursor-\"+e,!0)}},{}],715:[function(t,e,r){\"use strict\";var n=t(\"../components/color\"),i=function(){};e.exports=function(t){for(var e in t)\"function\"==typeof t[e]&&(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(\"div\");r.className=\"no-webgl\",r.style.cursor=\"pointer\",r.style.fontSize=\"24px\",r.style.color=n.defaults[0],r.style.position=\"absolute\",r.style.left=r.style.top=\"0px\",r.style.width=r.style.height=\"100%\",r.style[\"background-color\"]=n.lightLine,r.style[\"z-index\"]=30;var a=document.createElement(\"p\");return a.textContent=\"WebGL is not supported by your browser - visit https://get.webgl.org for more info\",a.style.position=\"relative\",a.style.top=\"50%\",a.style.left=\"50%\",a.style.height=\"30%\",a.style.width=\"50%\",a.style.margin=\"-15% 0 0 -25%\",r.appendChild(a),t.container.appendChild(r),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"https://get.webgl.org\")},!1}},{\"../components/color\":567}],716:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./is_array\").isArrayOrTypedArray;r.aggNums=function(t,e,a,o){var s,l;if((!o||o>a.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=r.aggNums(t,e,a[s]);a=l}for(s=0;s<o;s++)n(e)?n(a[s])&&(e=t(+e,+a[s])):e=a[s];return e},r.len=function(t){return r.aggNums(function(t){return t+1},0,t)},r.mean=function(t,e){return e||(e=r.len(t)),r.aggNums(function(t,e){return t+e},0,t)/e},r.midRange=function(t){if(void 0!==t&&0!==t.length)return(r.aggNums(Math.max,null,t)+r.aggNums(Math.min,null,t))/2},r.variance=function(t,e,i){return e||(e=r.len(t)),n(i)||(i=r.mean(t,e)),r.aggNums(function(t,e){return t+Math.pow(e-i,2)},0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},r.interp=function(t,e){if(!n(e))throw\"n should be a finite number\";if((e=e*t.length-.5)<0)return t[0];if(e>t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{\"./is_array\":694,\"fast-isnumeric\":213}],717:[function(t,e,r){\"use strict\";var n=t(\"color-normalize\");e.exports=function(t){return t?n(t):[0,0,0,1]}},{\"color-normalize\":107}],718:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../lib\"),a=t(\"../constants/xmlns_namespaces\"),o=t(\"../constants/alignment\").LINE_SPACING;function s(t,e){return t.node().getBoundingClientRect()[e]}var l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,m){var S=t.text(),E=!t.attr(\"data-notex\")&&\"undefined\"!=typeof MathJax&&S.match(l),L=n.select(t.node().parentNode);if(!L.empty()){var z=t.attr(\"class\")?t.attr(\"class\").split(\" \")[0]:\"text\";return z+=\"-math\",L.selectAll(\"svg.\"+z).remove(),L.selectAll(\"g.\"+z+\"-group\").remove(),t.style(\"display\",null).attr({\"data-unformatted\":S,\"data-math\":\"N\"}),E?(e&&e._promises||[]).push(new Promise(function(e){t.style(\"display\",\"none\");var r=parseInt(t.node().style.fontSize,10),a={fontSize:r};!function(t,e,r){var a=\"math-output-\"+i.randstr({},64),o=n.select(\"body\").append(\"div\").attr({id:a}).style({visibility:\"hidden\",position:\"absolute\"}).style({\"font-size\":e.fontSize+\"px\"}).text((s=t,s.replace(c,\"\\\\lt \").replace(u,\"\\\\gt \")));var s;MathJax.Hub.Queue([\"Typeset\",MathJax.Hub,o.node()],function(){var e=n.select(\"body\").select(\"#MathJax_SVG_glyphs\");if(o.select(\".MathJax_SVG\").empty()||!o.select(\"svg\").node())i.log(\"There was an error in the tex syntax.\",t),r();else{var a=o.select(\"svg\").node().getBoundingClientRect();r(o.select(\".MathJax_SVG\"),e,a)}o.remove()})}(E[2],a,function(n,i,a){L.selectAll(\"svg.\"+z).remove(),L.selectAll(\"g.\"+z+\"-group\").remove();var o=n&&n.select(\"svg\");if(!o||!o.node())return P(),void e();var l=L.append(\"g\").classed(z+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":S,\"data-math\":\"Y\"});l.node().appendChild(o.node()),i&&i.node()&&o.node().insertBefore(i.node().cloneNode(!0),o.node().firstChild),o.attr({class:z,height:a.height,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var c=t.node().style.fill||\"black\";o.select(\"g\").attr({fill:c,stroke:c});var u=s(o,\"width\"),f=s(o,\"height\"),h=+t.attr(\"x\")-u*{start:0,middle:.5,end:1}[t.attr(\"text-anchor\")||\"start\"],p=-(r||s(t,\"height\"))/4;\"y\"===z[0]?(l.attr({transform:\"rotate(\"+[-90,+t.attr(\"x\"),+t.attr(\"y\")]+\") translate(\"+[-u/2,p-f/2]+\")\"}),o.attr({x:+t.attr(\"x\"),y:+t.attr(\"y\")})):\"l\"===z[0]?o.attr({x:t.attr(\"x\"),y:p-f/2}):\"a\"===z[0]?o.attr({x:0,y:p}):o.attr({x:h,y:+t.attr(\"y\")+p-f/2}),m&&m.call(t,l),e(l)})})):P(),t}function P(){L.empty()||(z=t.attr(\"class\")+\"-math\",L.select(\"svg.\"+z).remove()),t.text(\"\").style(\"white-space\",\"pre\"),function(t,e){e=e.replace(v,\" \");var r,s=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(a.svg,\"tspan\");n.select(e).attr({class:\"line\",dy:c*o+\"em\"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var s=1;s<i.length;s++)m(i[s])}function m(t){var e,i=t.type,o={};if(\"a\"===i){e=\"a\";var s=t.target,c=t.href,u=t.popup;c&&(o={\"xlink:xlink:show\":\"_blank\"===s||\"_\"!==s.charAt(0)?\"new\":\"replace\",target:s,\"xlink:xlink:href\":c},u&&(o.onclick='window.open(this.href.baseVal,this.target.baseVal,\"'+u+'\");return false;'))}else e=\"tspan\";t.style&&(o.style=t.style);var f=document.createElementNS(a.svg,e);if(\"sup\"===i||\"sub\"===i){S(r,d),r.appendChild(f);var g=document.createElementNS(a.svg,\"tspan\");S(g,d),n.select(g).attr(\"dy\",p[i]),o.dy=h[i],r.appendChild(f),r.appendChild(g)}else r.appendChild(f);n.select(f).attr(o),r=t.node=f,l.push(t)}function S(t,e){t.appendChild(document.createTextNode(e))}function E(t){if(1!==l.length){var n=l.pop();t!==n.type&&i.log(\"Start tag <\"+n.type+\"> doesnt match end tag <\"+t+\">. Pretending it did match.\",e),r=l[l.length-1].node}else i.log(\"Ignoring unexpected end tag </\"+t+\">.\",e)}b.test(e)?u():(r=t,l=[{node:t}]);for(var L=e.split(y),z=0;z<L.length;z++){var P=L[z],O=P.match(x),I=O&&O[2].toLowerCase(),D=f[I];if(\"br\"===I)u();else if(void 0===D)S(r,C(P));else if(O[1])E(I);else{var R=O[4],B={type:I},F=A(R,_);if(F?(F=F.replace(T,\"$1 fill:\"),D&&(F+=\";\"+D)):D&&(F=D),F&&(B.style=F),\"a\"===I){s=!0;var N=A(R,w);if(N){var j=document.createElement(\"a\");j.href=N,-1!==g.indexOf(j.protocol)&&(B.href=encodeURI(decodeURI(N)),B.target=A(R,k)||\"_blank\",B.popup=A(R,M))}}m(B)}}return s}(t.node(),S)&&t.style(\"pointer-events\",\"all\"),r.positionText(t),m&&m.call(t)}};var c=/(<|&lt;|&#60;)/g,u=/(>|&gt;|&#62;)/g;var f={sup:\"font-size:70%\",sub:\"font-size:70%\",b:\"font-weight:bold\",i:\"font-style:italic\",a:\"cursor:pointer\",span:\"\",em:\"font-style:italic;font-weight:bold\"},h={sub:\"0.3em\",sup:\"-0.6em\"},p={sub:\"-0.21em\",sup:\"0.42em\"},d=\"\\u200b\",g=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],m=new RegExp(\"</?(\"+Object.keys(f).join(\"|\")+\")( [^>]*)?/?>\",\"g\"),v=/(\\r\\n?|\\n)/g,y=/(<[^<>]*>)/,x=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,b=/<br(\\s+.*)?>/i,_=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,w=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,k=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,M=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&C(n)}var T=/(^|;)\\s*color:/;r.plainText=function(t){return(t||\"\").replace(m,\" \")};var S={mu:\"\\u03bc\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xa0\",times:\"\\xd7\",plusmn:\"\\xb1\",deg:\"\\xb0\"},E=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function C(t){return t.replace(E,function(t,e){return(\"#\"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}(\"x\"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t})}function L(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||\"top\",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return i=\"bottom\"===s?function(){return l.bottom-n.height}:\"middle\"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=\"right\"===o?function(){return l.right-n.width}:\"center\"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:i()-c.top+\"px\",left:a()-c.left+\"px\",\"z-index\":1e3}),this}}r.convertEntities=C,r.lineCount=function(t){return t.selectAll(\"tspan.line\").size()||1},r.positionText=function(t,e,r){return t.each(function(){var t=n.select(this);function i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i(\"x\",e),o=i(\"y\",r);\"text\"===this.nodeName&&t.selectAll(\"tspan.line\").attr({x:a,y:o})})},r.makeEditable=function(t,e){var r=e.gd,i=e.delegate,a=n.dispatch(\"edit\",\"input\",\"cancel\"),o=i||t;if(t.style({\"pointer-events\":i?\"none\":\"all\"}),1!==t.size())throw new Error(\"boo\");function s(){!function(){var i=n.select(r).select(\".svg-container\"),o=i.append(\"div\"),s=t.node().style,c=parseFloat(s.fontSize||12),u=e.text;void 0===u&&(u=t.attr(\"data-unformatted\"));o.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":s.fontFamily||\"Arial\",\"font-size\":c,color:e.fill||s.fill||\"black\",opacity:1,\"background-color\":e.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-c/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(u).call(L(t,i,e)).on(\"blur\",function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,i=n.select(this).attr(\"class\");(e=i?\".\"+i.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on(\"mouseup\",null),a.edit.call(t,o)}).on(\"focus\",function(){var t=this;r._editing=!0,n.select(document).on(\"mouseup\",function(){if(n.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()})}).on(\"keyup\",function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on(\"blur\",function(){return!1}).transition().remove(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),n.select(this).call(L(t,i,e)))}).on(\"keydown\",function(){13===n.event.which&&this.blur()}).call(l)}(),t.style({opacity:0});var i,s=o.attr(\"class\");(i=s?\".\"+s.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&n.select(t.node().parentNode).select(i).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on(\"click\",s),n.rebind(t,a,\"on\")}},{\"../constants/alignment\":665,\"../constants/xmlns_namespaces\":671,\"../lib\":693,d3:147}],719:[function(t,e,r){\"use strict\";var n={};function i(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var a=n[t],o=Date.now();if(!a){for(var s in n)n[s].ts<o-6e4&&delete n[s];a=n[t]={ts:0,timer:null}}function l(){r(),a.ts=Date.now(),a.onDone&&(a.onDone(),a.onDone=null)}i(a),o>a.ts+e?l():a.timer=setTimeout(function(){l(),a.timer=null},e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}}):Promise.resolve()},r.clear=function(t){if(t)i(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],720:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{\"fast-isnumeric\":213}],721:[function(t,e,r){\"use strict\";var n=e.exports={},i=t(\"../plots/geo/constants\").locationmodeToLayer,a=t(\"topojson-client\").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,\"-\"),\"_\",t.resolution.toString(),\"m\"].join(\"\")},n.getTopojsonPath=function(t,e){return t+e+\".json\"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{\"../plots/geo/constants\":770,\"topojson-client\":514}],722:[function(t,e,r){\"use strict\";e.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}},{}],723:[function(t,e,r){\"use strict\";e.exports={moduleType:\"locale\",name:\"en\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colourscale title\"},format:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],periods:[\"AM\",\"PM\"],dateTime:\"%a %b %e %X %Y\",date:\"%d/%m/%Y\",time:\"%H:%M:%S\",decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],year:\"%Y\",month:\"%b %Y\",dayMonth:\"%b %-d\",dayMonthYear:\"%b %-d, %Y\"}}},{}],724:[function(t,e,r){\"use strict\";var n=t(\"../registry\");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(\"[\")[0],s=0;s<a.length;s++)if((r=t.match(a[s]))&&0===r.index){e=r[0];break}if(e||(e=i[i.indexOf(o)]),!e)return!1;var l=t.substr(e.length);return l?!!(r=l.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||\"\"}:{array:e,index:\"\",property:\"\"}}},{\"../registry\":825}],725:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=n.extendFlat,a=n.isPlainObject,o={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"clearAxisTypes\",\"plot\",\"style\",\"colorbars\"]},s={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"plot\",\"legend\",\"ticks\",\"axrange\",\"layoutstyle\",\"modebar\",\"camera\",\"arraydraw\"]},l=o.flags.slice().concat([\"fullReplot\"]),c=s.flags.slice().concat(\"layoutReplot\");function u(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function f(t,e,r){var n=i({},t);for(var o in n){var s=n[o];a(s)&&(n[o]=h(s,e,r,o))}return\"from-root\"===r&&(n.editType=e),n}function h(t,e,r,n){if(t.valType){var a=i({},t);if(a.editType=e,Array.isArray(t.items)){a.items=new Array(t.items.length);for(var o=0;o<t.items.length;o++)a.items[o]=h(t.items[o],e,\"from-root\")}return a}return f(t,e,\"_\"===n.charAt(0)?\"nested\":\"from-root\")}e.exports={traces:o,layout:s,traceFlags:function(){return u(l)},layoutFlags:function(){return u(c)},update:function(t,e){var r=e.editType;if(r&&\"none\"!==r)for(var n=r.split(\"+\"),i=0;i<n.length;i++)t[n[i]]=!0},overrideAll:f}},{\"../lib\":693}],726:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"gl-mat4/fromQuat\"),a=t(\"../registry\"),o=t(\"../lib\"),s=t(\"../plots/plots\"),l=t(\"../plots/cartesian/axis_ids\"),c=l.cleanId,u=l.getFromTrace,f=t(\"../components/color\");function h(t,e){var r=t[e],n=e.charAt(0);r&&\"paper\"!==r&&(t[e]=c(r,n))}function p(t){if(!o.isPlainObject(t))return!1;var e=t.name;return delete t.name,delete t.showlegend,(\"string\"==typeof e||\"number\"==typeof e)&&String(e)}function d(t,e,r,n){if(r&&!n)return t;if(n&&!r)return e;if(!t.trim())return e;if(!e.trim())return t;var i,a=Math.min(t.length,e.length);for(i=0;i<a&&t.charAt(i)===e.charAt(i);i++);return t.substr(0,i).trim()}function g(t){var e=\"middle\",r=\"center\";return-1!==t.indexOf(\"top\")?e=\"top\":-1!==t.indexOf(\"bottom\")&&(e=\"bottom\"),-1!==t.indexOf(\"left\")?r=\"left\":-1!==t.indexOf(\"right\")&&(r=\"right\"),e+\" \"+r}function m(t,e){return e in t&&\"object\"==typeof t[e]&&0===Object.keys(t[e]).length}r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&o.log(\"Clearing previous rejected promises from queue.\"),t._promises=[]},r.cleanLayout=function(t){var e,r;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var n=(s.subplotsRegistry.cartesian||{}).attrRegex,a=(s.subplotsRegistry.gl3d||{}).attrRegex,l=Object.keys(t);for(e=0;e<l.length;e++){var u=l[e];if(n&&n.test(u)){var p=t[u];p.anchor&&\"free\"!==p.anchor&&(p.anchor=c(p.anchor)),p.overlaying&&(p.overlaying=c(p.overlaying)),p.type||(p.isdate?p.type=\"date\":p.islog?p.type=\"log\":!1===p.isdate&&!1===p.islog&&(p.type=\"linear\")),\"withzero\"!==p.autorange&&\"tozero\"!==p.autorange||(p.autorange=!0,p.rangemode=\"tozero\"),delete p.islog,delete p.isdate,delete p.categories,m(p,\"domain\")&&delete p.domain,void 0!==p.autotick&&(void 0===p.tickmode&&(p.tickmode=p.autotick?\"auto\":\"linear\"),delete p.autotick)}else if(a&&a.test(u)){var d=t[u],g=d.cameraposition;if(Array.isArray(g)&&4===g[0].length){var v=g[0],y=g[1],x=g[2],b=i([],v),_=[];for(r=0;r<3;++r)_[r]=y[r]+x*b[2+4*r];d.camera={eye:{x:_[0],y:_[1],z:_[2]},center:{x:y[0],y:y[1],z:y[2]},up:{x:b[1],y:b[5],z:b[9]}},delete d.cameraposition}}}var w=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<w;e++){var k=t.annotations[e];o.isPlainObject(k)&&(k.ref&&(\"paper\"===k.ref?(k.xref=\"paper\",k.yref=\"paper\"):\"data\"===k.ref&&(k.xref=\"x\",k.yref=\"y\"),delete k.ref),h(k,\"xref\"),h(k,\"yref\"))}var M=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<M;e++){var A=t.shapes[e];o.isPlainObject(A)&&(h(A,\"xref\"),h(A,\"yref\"))}var T=t.legend;return T&&(T.x>3?(T.x=1.02,T.xanchor=\"left\"):T.x<-2&&(T.x=-.02,T.xanchor=\"right\"),T.y>3?(T.y=1.02,T.yanchor=\"bottom\"):T.y<-2&&(T.y=-.02,T.yanchor=\"top\")),\"rotate\"===t.dragmode&&(t.dragmode=\"orbit\"),f.clean(t),t},r.cleanData=function(t){for(var e=0;e<t.length;e++){var n,i=t[e];if(\"histogramy\"===i.type&&\"xbins\"in i&&!(\"ybins\"in i)&&(i.ybins=i.xbins,delete i.xbins),i.error_y&&\"opacity\"in i.error_y){var l=f.defaults,u=i.error_y.color||(a.traceIs(i,\"bar\")?f.defaultLine:l[e%l.length]);i.error_y.color=f.addOpacity(f.rgb(u),f.opacity(u)*i.error_y.opacity),delete i.error_y.opacity}if(\"bardir\"in i&&(\"h\"!==i.bardir||!a.traceIs(i,\"bar\")&&\"histogram\"!==i.type.substr(0,9)||(i.orientation=\"h\",r.swapXYData(i)),delete i.bardir),\"histogramy\"===i.type&&r.swapXYData(i),\"histogramx\"!==i.type&&\"histogramy\"!==i.type||(i.type=\"histogram\"),\"scl\"in i&&(i.colorscale=i.scl,delete i.scl),\"reversescl\"in i&&(i.reversescale=i.reversescl,delete i.reversescl),i.xaxis&&(i.xaxis=c(i.xaxis,\"x\")),i.yaxis&&(i.yaxis=c(i.yaxis,\"y\")),a.traceIs(i,\"gl3d\")&&i.scene&&(i.scene=s.subplotsRegistry.gl3d.cleanId(i.scene)),!a.traceIs(i,\"pie\")&&!a.traceIs(i,\"bar\"))if(Array.isArray(i.textposition))for(n=0;n<i.textposition.length;n++)i.textposition[n]=g(i.textposition[n]);else i.textposition&&(i.textposition=g(i.textposition));var h=a.getModule(i);if(h&&h.colorbar){var v=h.colorbar.container,y=v?i[v]:i;y&&y.colorscale&&(\"YIGnBu\"===y.colorscale&&(y.colorscale=\"YlGnBu\"),\"YIOrRd\"===y.colorscale&&(y.colorscale=\"YlOrRd\"))}if(\"surface\"===i.type&&o.isPlainObject(i.contours)){var x=[\"x\",\"y\",\"z\"];for(n=0;n<x.length;n++){var b=i.contours[x[n]];o.isPlainObject(b)&&(b.highlightColor&&(b.highlightcolor=b.highlightColor,delete b.highlightColor),b.highlightWidth&&(b.highlightwidth=b.highlightWidth,delete b.highlightWidth))}}if(\"candlestick\"===i.type||\"ohlc\"===i.type){var _=!1!==(i.increasing||{}).showlegend,w=!1!==(i.decreasing||{}).showlegend,k=p(i.increasing),M=p(i.decreasing);if(!1!==k&&!1!==M){var A=d(k,M,_,w);A&&(i.name=A)}else!k&&!M||i.name||(i.name=k||M)}if(Array.isArray(i.transforms)){var T=i.transforms;for(n=0;n<T.length;n++){var S=T[n];if(o.isPlainObject(S))switch(S.type){case\"filter\":S.filtersrc&&(S.target=S.filtersrc,delete S.filtersrc),S.calendar&&(S.valuecalendar||(S.valuecalendar=S.calendar),delete S.calendar);break;case\"groupby\":if(S.styles=S.styles||S.style,S.styles&&!Array.isArray(S.styles)){var E=S.styles,C=Object.keys(E);S.styles=[];for(var L=0;L<C.length;L++)S.styles.push({target:C[L],value:E[C[L]]})}}}}m(i,\"line\")&&delete i.line,\"marker\"in i&&(m(i.marker,\"line\")&&delete i.marker.line,m(i,\"marker\")&&delete i.marker),f.clean(i)}},r.swapXYData=function(t){var e;if(o.swapAttrs(t,[\"?\",\"?0\",\"d?\",\"?bins\",\"nbins?\",\"autobin?\",\"?src\",\"error_?\"]),Array.isArray(t.z)&&Array.isArray(t.z[0])&&(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&&t.error_y){var r=t.error_y,n=\"copy_ystyle\"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);o.swapAttrs(t,[\"error_?.copy_ystyle\"]),n&&o.swapAttrs(t,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(\"string\"==typeof t.hoverinfo){var i=t.hoverinfo.split(\"+\");for(e=0;e<i.length;e++)\"x\"===i[e]?i[e]=\"y\":\"y\"===i[e]&&(i[e]=\"x\");t.hoverinfo=i.join(\"+\")}},r.coerceTraceIndices=function(t,e){return n(e)?[e]:Array.isArray(e)&&e.length?e:t.data.map(function(t,e){return e})},r.manageArrayContainers=function(t,e,r){var i=t.obj,a=t.parts,s=a.length,l=a[s-1],c=n(l);if(c&&null===e){var u=a.slice(0,s-1).join(\".\");o.nestedProperty(i,u).get().splice(l,1)}else c&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var v=/(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;function y(t){var e=t.search(v);if(e>0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=y(e);r;){if(r in t)return!0;r=y(r)}return!1};var x=[\"x\",\"y\",\"z\"];r.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var i=t._fullData[n],a=0;a<3;a++){var s=u(t,i,x[a]);if(s&&\"log\"!==s.type){var l=s._name,c=s._id.substr(1);if(\"scene\"===c.substr(0,5)){if(void 0!==r[c])continue;l=c+\".\"+l}var f=l+\".type\";void 0===r[l]&&void 0===r[f]&&o.nestedProperty(t.layout,f).set(null)}}}},{\"../components/color\":567,\"../lib\":693,\"../plots/cartesian/axis_ids\":745,\"../plots/plots\":805,\"../registry\":825,\"fast-isnumeric\":213,\"gl-mat4/fromQuat\":250}],727:[function(t,e,r){\"use strict\";var n=t(\"./plot_api\");r.plot=n.plot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,r.react=n.react,r.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.setPlotConfig=n.setPlotConfig,r.toImage=t(\"./to_image\"),r.validate=t(\"./validate\"),r.downloadImage=t(\"../snapshot/download\");var i=t(\"./template_api\");r.makeTemplate=i.makeTemplate,r.validateTemplate=i.validateTemplate},{\"../snapshot/download\":827,\"./plot_api\":729,\"./template_api\":734,\"./to_image\":735,\"./validate\":736}],728:[function(t,e,r){\"use strict\";var n=t(\"../lib/nested_property\"),i=t(\"../lib/is_plain_object\"),a=t(\"../lib/noop\"),o=t(\"../lib/loggers\"),s=t(\"../lib/search\").sorterAsc,l=t(\"../registry\");r.containerArrayMatch=t(\"./container_array_match\");var c=r.isAddVal=function(t){return\"add\"===t||i(t)},u=r.isRemoveVal=function(t){return null===t||\"remove\"===t};r.applyContainerArrayChanges=function(t,e,r,i){var f=e.astr,h=l.getComponentMethod(f,\"supplyLayoutDefaults\"),p=l.getComponentMethod(f,\"draw\"),d=l.getComponentMethod(f,\"drawOne\"),g=i.replot||i.recalc||h===a||p===a,m=t.layout,v=t._fullLayout;if(r[\"\"]){Object.keys(r).length>1&&o.warn(\"Full array edits are incompatible with other edits\",f);var y=r[\"\"][\"\"];if(u(y))e.set(null);else{if(!Array.isArray(y))return o.warn(\"Unrecognized full array edit value\",f,y),!0;e.set(y)}return!g&&(h(m,v),p(t),!0)}var x,b,_,w,k,M,A,T=Object.keys(r).map(Number).sort(s),S=e.get(),E=S||[],C=n(v,f).get(),L=[],z=-1,P=E.length;for(x=0;x<T.length;x++)if(w=r[_=T[x]],k=Object.keys(w),M=w[\"\"],A=c(M),_<0||_>E.length-(A?0:1))o.warn(\"index out of range\",f,_);else if(void 0!==M)k.length>1&&o.warn(\"Insertion & removal are incompatible with edits to the same index.\",f,_),u(M)?L.push(_):A?(\"add\"===M&&(M={}),E.splice(_,0,M),C&&C.splice(_,0,{})):o.warn(\"Unrecognized full object edit value\",f,_,M),-1===z&&(z=_);else for(b=0;b<k.length;b++)n(E[_],k[b]).set(w[k[b]]);for(x=L.length-1;x>=0;x--)E.splice(L[x],1),C&&C.splice(L[x],1);if(E.length?S||e.set(E):e.set(null),g)return!1;if(h(m,v),d!==a){var O;if(-1===z)O=T;else{for(P=Math.max(E.length,P),O=[],x=0;x<T.length&&!((_=T[x])>=z);x++)O.push(_);for(x=z;x<P;x++)O.push(x)}for(x=0;x<O.length;x++)d(t,O[x])}else p(t);return!0}},{\"../lib/is_plain_object\":695,\"../lib/loggers\":698,\"../lib/nested_property\":702,\"../lib/noop\":703,\"../lib/search\":713,\"../registry\":825,\"./container_array_match\":724}],729:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"has-hover\"),o=t(\"../lib\"),s=t(\"../lib/events\"),l=t(\"../lib/queue\"),c=t(\"../registry\"),u=t(\"./plot_schema\"),f=t(\"../plots/plots\"),h=t(\"../plots/polar/legacy\"),p=t(\"../plots/cartesian/axes\"),d=t(\"../components/drawing\"),g=t(\"../components/color\"),m=t(\"../components/colorbar/connect\"),v=t(\"../plots/cartesian/graph_interact\").initInteractions,y=t(\"../constants/xmlns_namespaces\"),x=t(\"../lib/svg_text_utils\"),b=t(\"./plot_config\"),_=t(\"./manage_arrays\"),w=t(\"./helpers\"),k=t(\"./subroutines\"),M=t(\"./edit_types\"),A=t(\"../plots/cartesian/constants\").AX_NAME_PATTERN,T=0;function S(t){var e=t._fullLayout;e._redrawFromAutoMarginCount?e._redrawFromAutoMarginCount--:t.emit(\"plotly_afterplot\")}function E(t,e){try{t._fullLayout._paper.style(\"background\",e)}catch(t){o.error(t)}}function C(t,e){E(t,g.combine(e,\"white\"))}function L(t,e){t._context||(t._context=o.extendDeep({},b));var r,n,i,s=t._context;if(e){for(n=Object.keys(e),r=0;r<n.length;r++)\"editable\"!==(i=n[r])&&\"edits\"!==i&&i in s&&(\"setBackground\"===i&&\"opaque\"===e[i]?s[i]=C:s[i]=e[i]);e.plot3dPixelRatio&&!s.plotGlPixelRatio&&(s.plotGlPixelRatio=s.plot3dPixelRatio);var l=e.editable;if(void 0!==l)for(s.editable=l,n=Object.keys(s.edits),r=0;r<n.length;r++)s.edits[n[r]]=l;if(e.edits)for(n=Object.keys(e.edits),r=0;r<n.length;r++)(i=n[r])in s.edits&&(s.edits[i]=e.edits[i])}s.staticPlot&&(s.editable=!1,s.edits={},s.autosizable=!1,s.scrollZoom=!1,s.doubleClick=!1,s.showTips=!1,s.showLink=!1,s.displayModeBar=!1),\"hover\"!==s.displayModeBar||a||(s.displayModeBar=!0),\"transparent\"!==s.setBackground&&\"function\"==typeof s.setBackground||(s.setBackground=E)}function z(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)(n=t[r])<0?a.push(i+n):a.push(n);return a}function P(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(\"all values in \"+r+\" must be integers\");if(i>=t.data.length||i<-t.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function O(t,e,r){if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(\"undefined\"==typeof e)throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(e)||(e=[e]),P(t,e,\"currentIndices\"),\"undefined\"==typeof r||Array.isArray(r)||(r=[r]),\"undefined\"!=typeof r&&P(t,r,\"newIndices\"),\"undefined\"!=typeof r&&e.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function I(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array\");if(!o.isPlainObject(e))throw new Error(\"update must be a key:value object\");if(\"undefined\"==typeof r)throw new Error(\"indices must be an integer or array of integers\");for(var a in P(t,r,\"indices\"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}(t,e,r,n);for(var s=function(t,e,r,n){var a,s,l,c,u,f=o.isPlainObject(n),h=[];for(var p in Array.isArray(r)||(r=[r]),r=z(r,t.data.length-1),e)for(var d=0;d<r.length;d++){if(a=t.data[r[d]],s=(l=o.nestedProperty(a,p)).get(),c=e[p][d],!o.isArrayOrTypedArray(c))throw new Error(\"attribute: \"+p+\" index: \"+d+\" must be an array\");if(!o.isArrayOrTypedArray(s))throw new Error(\"cannot extend missing or non-array attribute: \"+p);if(s.constructor!==c.constructor)throw new Error(\"cannot extend array with an array of a different type: \"+p);u=f?n[p][d]:n,i(u)||(u=-1),h.push({prop:l,target:s,insert:c,maxp:Math.floor(u)})}return h}(t,e,r,n),l={},c={},u=0;u<s.length;u++){var f=s[u].prop,h=s[u].maxp,p=a(s[u].target,s[u].insert,h);f.set(p[0]),Array.isArray(l[f.astr])||(l[f.astr]=[]),l[f.astr].push(p[1]),Array.isArray(c[f.astr])||(c[f.astr]=[]),c[f.astr].push(s[u].target.length)}return{update:l,maxPoints:c}}function D(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function R(t){return void 0===t?null:t}function B(t,e,r){var n,i,a=t._fullLayout,s=t._fullData,l=t.data,h=M.traceFlags(),d={},g={};function m(){return r.map(function(){})}function v(t){var e=p.id2name(t);-1===i.indexOf(e)&&i.push(e)}function y(t){return\"LAYOUT\"+t+\".autorange\"}function x(t){return\"LAYOUT\"+t+\".range\"}function b(n,i,a){var s;Array.isArray(n)?n.forEach(function(t){b(t,i,a)}):n in e||w.hasParent(e,n)||(s=\"LAYOUT\"===n.substr(0,6)?o.nestedProperty(t.layout,n.replace(\"LAYOUT\",\"\")):o.nestedProperty(l[r[a]],n),n in g||(g[n]=m()),void 0===g[n][a]&&(g[n][a]=R(s.get())),void 0!==i&&s.set(i))}for(var _ in e){if(w.hasParent(e,_))throw new Error(\"cannot set \"+_+\"and a parent attribute simultaneously\");var k,A,T,S,E,C,L=e[_];if(d[_]=L,\"LAYOUT\"!==_.substr(0,6)){for(g[_]=m(),n=0;n<r.length;n++)if(k=l[r[n]],A=s[r[n]],S=(T=o.nestedProperty(k,_)).get(),void 0!==(E=Array.isArray(L)?L[n%L.length]:L)){var z=T.parts[T.parts.length-1],P=_.substr(0,_.length-z.length-1),O=P?P+\".\":\"\",I=P?o.nestedProperty(A,P).get():A;if((C=u.getTraceValObject(A,T.parts))&&C.impliedEdits&&null!==E)for(var D in C.impliedEdits)b(o.relativeAttr(_,D),C.impliedEdits[D],n);else if(\"thicknessmode\"!==z&&\"lenmode\"!==z||S===E||\"fraction\"!==E&&\"pixels\"!==E||!I){if(\"type\"===_&&\"pie\"===E!=(\"pie\"===S)){var B=\"x\",F=\"y\";\"bar\"!==E&&\"bar\"!==S||\"h\"!==k.orientation||(B=\"y\",F=\"x\"),o.swapAttrs(k,[\"?\",\"?src\"],\"labels\",B),o.swapAttrs(k,[\"d?\",\"?0\"],\"label\",B),o.swapAttrs(k,[\"?\",\"?src\"],\"values\",F),\"pie\"===S?(o.nestedProperty(k,\"marker.color\").set(o.nestedProperty(k,\"marker.colors\").get()),a._pielayer.selectAll(\"g.trace\").remove()):c.traceIs(k,\"cartesian\")&&o.nestedProperty(k,\"marker.colors\").set(o.nestedProperty(k,\"marker.color\").get())}}else{var N=a._size,j=I.orient,V=\"top\"===j||\"bottom\"===j;if(\"thicknessmode\"===z){var U=V?N.h:N.w;b(O+\"thickness\",I.thickness*(\"fraction\"===E?1/U:U),n)}else{var q=V?N.w:N.h;b(O+\"len\",I.len*(\"fraction\"===E?1/q:q),n)}}g[_][n]=R(S);if(-1!==[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"].indexOf(_)){if(\"orientation\"===_){T.set(E);var H=k.x&&!k.y?\"h\":\"v\";if((T.get()||H)===A.orientation)continue}else\"orientationaxes\"===_&&(k.orientation={v:\"h\",h:\"v\"}[A.orientation]);w.swapXYData(k),h.calc=h.clearAxisTypes=!0}else-1!==f.dataArrayContainers.indexOf(T.parts[0])?(w.manageArrayContainers(T,E,g),h.calc=!0):(C?C.arrayOk&&(o.isArrayOrTypedArray(E)||o.isArrayOrTypedArray(S))?h.calc=!0:M.update(h,C):h.calc=!0,T.set(E))}if(-1!==[\"swapxyaxes\",\"orientationaxes\"].indexOf(_)&&p.swap(t,r),\"orientationaxes\"===_){var G=o.nestedProperty(t.layout,\"hovermode\");\"x\"===G.get()?G.set(\"y\"):\"y\"===G.get()&&G.set(\"x\")}if(-1!==[\"orientation\",\"type\"].indexOf(_)){for(i=[],n=0;n<r.length;n++){var W=l[r[n]];c.traceIs(W,\"cartesian\")&&(v(W.xaxis||\"x\"),v(W.yaxis||\"y\"),\"type\"===_&&b([\"autobinx\",\"autobiny\"],!0,n))}b(i.map(y),!0,0),b(i.map(x),[0,1],0)}}else T=o.nestedProperty(t.layout,_.replace(\"LAYOUT\",\"\")),g[_]=[R(T.get())],T.set(Array.isArray(L)?L[0]:L),h.calc=!0}return(h.calc||h.plot)&&(h.fullReplot=!0),{flags:h,undoit:g,redoit:d,traces:r,eventData:o.extendDeepNoArrays([],[d,r])}}function F(t,e){var r=e?function(t){return k.doTicksRelayout(t,e)}:k.doTicksRelayout;t.push(k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}r.plot=function(t,e,i,a){var l;if(t=o.getGraphDiv(t),s.init(t),o.isPlainObject(e)){var u=e;e=u.data,i=u.layout,a=u.config,l=u.frames}if(!1===s.triggerHandler(t,\"plotly_beforeplot\",[e,i,a]))return Promise.reject();e||i||o.isPlotDiv(t)||o.warn(\"Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.\",t),L(t,a),i||(i={}),n.select(t).classed(\"js-plotly-plot\",!0),d.makeTester(),delete d.baseUrl,Array.isArray(t._promises)||(t._promises=[]);var g=0===(t.data||[]).length&&Array.isArray(e);if(Array.isArray(e)&&(w.cleanData(e),g?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!g||(t.layout=w.cleanLayout(i)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,f.supplyDefaults(t);var y=t._fullLayout,b=y._has(\"cartesian\");if(!y._has(\"polar\")&&e&&e[0]&&e[0].r)return o.log(\"Legacy polar charts are deprecated!\"),function(t,e,r){var i=n.select(t).selectAll(\".plot-container\").data([0]);i.enter().insert(\"div\",\":first-child\").classed(\"plot-container plotly\",!0);var a=i.selectAll(\".svg-container\").data([0]);a.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),a.html(\"\"),e&&(t.data=e);r&&(t.layout=r);h.manager.fillLayout(t),a.style({width:t._fullLayout.width+\"px\",height:t._fullLayout.height+\"px\"}),t.framework=h.manager.framework(t),t.framework({data:t.data,layout:t.layout},a.node()),t.framework.setUndoPoint();var s=t.framework.svg(),l=1,c=t._fullLayout.title;\"\"!==c&&c||(l=0);var u=function(){this.call(x.convertToTspans,t)},p=s.select(\".title-group text\").call(u);if(t._context.edits.titleText){var d=o._(t,\"Click to enter Plot title\");c&&c!==d||(l=.2,p.attr({\"data-unformatted\":d}).text(d).style({opacity:l}).on(\"mouseover.opacity\",function(){n.select(this).transition().duration(100).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){n.select(this).transition().duration(1e3).style(\"opacity\",0)}));var g=function(){this.call(x.makeEditable,{gd:t}).on(\"edit\",function(e){t.framework({layout:{title:e}}),this.text(e).call(u),this.call(g)}).on(\"cancel\",function(){var t=this.attr(\"data-unformatted\");this.text(t).call(u)})};p.call(g)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),f.addLinks(t),Promise.resolve()}(t,e,i);y._replotting=!0,g&&G(t),t.framework!==G&&(t.framework=G,G(t)),d.initGradients(t),g&&p.saveShowSpikeInitial(t);var _=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;_&&f.doCalcdata(t);for(var M=0;M<t.calcdata.length;M++)t.calcdata[M][0].trace=t._fullData[M];t._context.responsive?t._responsiveChartHandler||(t._responsiveChartHandler=function(){f.resize(t)},window.addEventListener(\"resize\",t._responsiveChartHandler)):o.clearResponsive(t);var A=JSON.stringify(y._size),T=0;function E(){var e,r,n,i=t.calcdata;for(f.clearAutoMarginIds(t),k.drawMarginPushers(t),p.allowAutoMargin(t),e=0;e<i.length;e++){var a=(n=(r=i[e])[0].trace)._module.colorbar;!0===n.visible&&a?m(t,r,a):f.autoMargin(t,\"cb\"+n.uid)}return f.doAutoMargin(t),f.previousPromises(t)}function C(){t._transitioning||(k.doAutoRangeAndConstraints(t),g&&p.saveRangeInitial(t))}var z=[f.previousPromises,function(){if(l)return r.addFrames(t,l)},function e(){for(var r=y._basePlotModules,n=0;n<r.length;n++)r[n].drawFramework&&r[n].drawFramework(t);if(!y._glcanvas&&y._has(\"gl\")&&(y._glcanvas=y._glcontainer.selectAll(\".gl-canvas\").data([{key:\"contextLayer\",context:!0,pick:!1},{key:\"focusLayer\",context:!1,pick:!1},{key:\"pickLayer\",context:!1,pick:!0}],function(t){return t.key}),y._glcanvas.enter().append(\"canvas\").attr(\"class\",function(t){return\"gl-canvas gl-canvas-\"+t.key.replace(\"Layer\",\"\")}).style({position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",overflow:\"visible\",\"pointer-events\":\"none\"})),y._glcanvas){y._glcanvas.attr(\"width\",y.width).attr(\"height\",y.height);var i=y._glcanvas.data()[0].regl;if(i&&(y.width!==i._gl.drawingBufferWidth||y.height!==i._gl.drawingBufferHeight)){var a=\"WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.\";if(!T)return o.log(a+\" Clearing graph and plotting again.\"),f.cleanPlot([],{},t._fullData,y,t.calcdata),f.supplyDefaults(t),y=t._fullLayout,f.doCalcdata(t),T++,e();o.error(a)}}return f.previousPromises(t)},E,function(){if(JSON.stringify(y._size)!==A)return o.syncOrAsync([E,k.layoutStyles],t)}];b&&z.push(function(){if(_)return o.syncOrAsync([c.getComponentMethod(\"shapes\",\"calcAutorange\"),c.getComponentMethod(\"annotations\",\"calcAutorange\"),C,c.getComponentMethod(\"rangeslider\",\"calcAutorange\")],t);C()}),z.push(k.layoutStyles),b&&z.push(function(){return p.doTicks(t,g?\"\":\"redraw\")}),z.push(k.drawData,k.finalDraw,v,f.addLinks,f.rehover,f.doAutoMargin,f.previousPromises);var P=o.syncOrAsync(z,t);return P&&P.then||(P=Promise.resolve()),P.then(function(){return S(t),t})},r.setPlotConfig=function(t){return o.extendFlat(b,t)},r.redraw=function(t){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);return w.cleanData(t.data),w.cleanLayout(t.layout),t.calcdata=void 0,r.plot(t).then(function(){return t.emit(\"plotly_redraw\"),t})},r.newPlot=function(t,e,n,i){return t=o.getGraphDiv(t),f.cleanPlot([],{},t._fullData||[],t._fullLayout||{},t.calcdata||[]),f.purge(t),r.plot(t,e,n,i)},r.extendTraces=function t(e,n,i,a){var s=I(e=o.getGraphDiv(e),n,i,a,function(t,e,r){var n,i;if(o.isTypedArray(t))if(r<0){var a=new t.constructor(0),s=D(t,e);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(l)),i.set(t),i.set(e.subarray(0,l),t.length)}else{var c=r-e.length,u=t.length-c;n.set(t.subarray(u)),n.set(e,c),i.set(t.subarray(0,u))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]}),c=r.redraw(e),u=[e,s.update,i,s.maxPoints];return l.add(e,r.prependTraces,u,t,arguments),c},r.prependTraces=function t(e,n,i,a){var s=I(e=o.getGraphDiv(e),n,i,a,function(t,e,r){var n,i;if(o.isTypedArray(t))if(r<=0){var a=new t.constructor(0),s=D(e,t);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(0,l)),i.set(e.subarray(l)),i.set(t,l)}else{var c=r-e.length;n.set(e),n.set(t.subarray(0,c),e.length),i.set(t.subarray(c))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]}),c=r.redraw(e),u=[e,s.update,i,s.maxPoints];return l.add(e,r.extendTraces,u,t,arguments),c},r.addTraces=function t(e,n,i){e=o.getGraphDiv(e);var a,s,c=[],u=r.deleteTraces,f=t,h=[e,c],p=[e,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(\"undefined\"==typeof e)throw new Error(\"traces must be defined.\");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if(\"object\"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(\"all values in traces array must be non-array objects\");if(\"undefined\"==typeof r||Array.isArray(r)||(r=[r]),\"undefined\"!=typeof r&&r.length!==e.length)throw new Error(\"if indices is specified, traces.length must equal indices.length\")}(e,n,i),Array.isArray(n)||(n=[n]),n=n.map(function(t){return o.extendFlat({},t)}),w.cleanData(n),a=0;a<n.length;a++)e.data.push(n[a]);for(a=0;a<n.length;a++)c.push(-n.length+a);if(\"undefined\"==typeof i)return s=r.redraw(e),l.add(e,u,h,f,p),s;Array.isArray(i)||(i=[i]);try{O(e,c,i)}catch(t){throw e.data.splice(e.data.length-n.length,n.length),t}return l.startSequence(e),l.add(e,u,h,f,p),s=r.moveTraces(e,c,i),l.stopSequence(e),s},r.deleteTraces=function t(e,n){e=o.getGraphDiv(e);var i,a,s=[],c=r.addTraces,u=t,f=[e,s,n],h=[e,n];if(\"undefined\"==typeof n)throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(n)||(n=[n]),P(e,n,\"indices\"),(n=z(n,e.data.length-1)).sort(o.sorterDes),i=0;i<n.length;i+=1)a=e.data.splice(n[i],1)[0],s.push(a);var p=r.redraw(e);return l.add(e,c,f,u,h),p},r.moveTraces=function t(e,n,i){var a,s=[],c=[],u=t,f=t,h=[e=o.getGraphDiv(e),i,n],p=[e,n,i];if(O(e,n,i),n=Array.isArray(n)?n:[n],\"undefined\"==typeof i)for(i=[],a=0;a<n.length;a++)i.push(-n.length+a);for(i=Array.isArray(i)?i:[i],n=z(n,e.data.length-1),i=z(i,e.data.length-1),a=0;a<e.data.length;a++)-1===n.indexOf(a)&&s.push(e.data[a]);for(a=0;a<n.length;a++)c.push({newIndex:i[a],trace:e.data[n[a]]});for(c.sort(function(t,e){return t.newIndex-e.newIndex}),a=0;a<c.length;a+=1)s.splice(c[a].newIndex,0,c[a].trace);e.data=s;var d=r.redraw(e);return l.add(e,u,h,f,p),d},r.restyle=function t(e,n,i,a){e=o.getGraphDiv(e),w.clearPromiseQueue(e);var s={};if(\"string\"==typeof n)s[n]=i;else{if(!o.isPlainObject(n))return o.warn(\"Restyle fail.\",n,i,a),Promise.reject();s=o.extendFlat({},n),void 0===a&&(a=i)}Object.keys(s).length&&(e.changed=!0);var c=w.coerceTraceIndices(e,a),u=B(e,s,c),h=u.flags;h.calc&&(e.calcdata=void 0),h.clearAxisTypes&&w.clearAxisTypes(e,c,{});var p=[];h.fullReplot?p.push(r.plot):(p.push(f.previousPromises),f.supplyDefaults(e),h.style&&p.push(k.doTraceStyle),h.colorbars&&p.push(k.doColorBars),p.push(S)),p.push(f.rehover),l.add(e,t,[e,u.undoit,u.traces],t,[e,u.redoit,u.traces]);var d=o.syncOrAsync(p,e);return d&&d.then||(d=Promise.resolve()),d.then(function(){return e.emit(\"plotly_restyle\",u.eventData),e})},r.relayout=function t(e,r,n){if(e=o.getGraphDiv(e),w.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);var i={};if(\"string\"==typeof r)i[r]=n;else{if(!o.isPlainObject(r))return o.warn(\"Relayout fail.\",r,n),Promise.reject();i=o.extendFlat({},r)}Object.keys(i).length&&(e.changed=!0);var a=U(e,i),s=a.flags;s.calc&&(e.calcdata=void 0);var c=[f.previousPromises];s.layoutReplot?c.push(k.layoutReplot):Object.keys(i).length&&(f.supplyDefaults(e),s.legend&&c.push(k.doLegend),s.layoutstyle&&c.push(k.layoutStyles),s.axrange&&F(c,a.rangesAltered),s.ticks&&c.push(k.doTicksRelayout),s.modebar&&c.push(k.doModeBar),s.camera&&c.push(k.doCamera),c.push(S)),c.push(f.rehover),l.add(e,t,[e,a.undoit],t,[e,a.redoit]);var u=o.syncOrAsync(c,e);return u&&u.then||(u=Promise.resolve(e)),u.then(function(){return e.emit(\"plotly_relayout\",a.eventData),e})};var N=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,j=/^[xyz]axis[0-9]*\\.autorange$/,V=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function U(t,e){var r,n,i,a=t.layout,s=t._fullLayout,l=Object.keys(e),f=p.list(t),h={};for(n=0;n<l.length;n++)if(0===l[n].indexOf(\"allaxes\")){for(i=0;i<f.length;i++){var d=f[i]._id.substr(1),g=-1!==d.indexOf(\"scene\")?d+\".\":\"\",m=l[n].replace(\"allaxes\",g+f[i]._name);e[m]||(e[m]=e[l[n]])}delete e[l[n]]}var v=M.layoutFlags(),y={},x={};function b(t,r){if(Array.isArray(t))t.forEach(function(t){b(t,r)});else if(!(t in e||w.hasParent(e,t))){var n=o.nestedProperty(a,t);t in x||(x[t]=R(n.get())),void 0!==r&&n.set(r)}}var k,T={};function S(t){var e=p.name2id(t.split(\".\")[0]);return T[e]=1,e}for(var E in e){if(w.hasParent(e,E))throw new Error(\"cannot set \"+E+\"and a parent attribute simultaneously\");for(var C=o.nestedProperty(a,E),L=e[E],z=C.parts.length-1;z>0&&\"string\"!=typeof C.parts[z];)z--;var P=C.parts[z],O=C.parts[z-1]+\".\"+P,I=C.parts.slice(0,z).join(\".\"),D=o.nestedProperty(t.layout,I).get(),B=o.nestedProperty(s,I).get(),F=C.get();if(void 0!==L){y[E]=L,x[E]=\"reverse\"===P?L:R(F);var U=u.getLayoutValObject(s,C.parts);if(U&&U.impliedEdits&&null!==L)for(var H in U.impliedEdits)b(o.relativeAttr(E,H),U.impliedEdits[H]);if(-1!==[\"width\",\"height\"].indexOf(E)&&null===L)s[E]=t._initialAutoSize[E];else if(O.match(N))S(O),o.nestedProperty(s,I+\"._inputRange\").set(null);else if(O.match(j)){S(O),o.nestedProperty(s,I+\"._inputRange\").set(null);var G=o.nestedProperty(s,I).get();G._inputDomain&&(G._input.domain=G._inputDomain.slice())}else O.match(V)&&o.nestedProperty(s,I+\"._inputDomain\").set(null);if(\"type\"===P){var W=D,Y=\"linear\"===B.type&&\"log\"===L,X=\"log\"===B.type&&\"linear\"===L;if(Y||X){if(W&&W.range)if(B.autorange)Y&&(W.range=W.range[1]>W.range[0]?[1,2]:[2,1]);else{var Z=W.range[0],$=W.range[1];Y?(Z<=0&&$<=0&&b(I+\".autorange\",!0),Z<=0?Z=$/1e6:$<=0&&($=Z/1e6),b(I+\".range[0]\",Math.log(Z)/Math.LN10),b(I+\".range[1]\",Math.log($)/Math.LN10)):(b(I+\".range[0]\",Math.pow(10,Z)),b(I+\".range[1]\",Math.pow(10,$)))}else b(I+\".autorange\",!0);Array.isArray(s._subplots.polar)&&s._subplots.polar.length&&s[C.parts[0]]&&\"radialaxis\"===C.parts[1]&&delete s[C.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],c.getComponentMethod(\"annotations\",\"convertCoords\")(t,B,L,b),c.getComponentMethod(\"images\",\"convertCoords\")(t,B,L,b)}else b(I+\".autorange\",!0),b(I+\".range\",null);o.nestedProperty(s,I+\"._inputRange\").set(null)}else if(P.match(A)){var J=o.nestedProperty(s,E).get(),K=(L||{}).type;K&&\"-\"!==K||(K=\"linear\"),c.getComponentMethod(\"annotations\",\"convertCoords\")(t,J,K,b),c.getComponentMethod(\"images\",\"convertCoords\")(t,J,K,b)}var Q=_.containerArrayMatch(E);if(Q){r=Q.array,n=Q.index;var tt=Q.property,et=(o.nestedProperty(a,r)||[])[n]||{},rt=U||{editType:\"calc\"};\"\"===tt&&(_.isAddVal(L)?x[E]=null:_.isRemoveVal(L)?x[E]=et:o.warn(\"unrecognized full object value\",e)),M.update(v,rt),h[r]||(h[r]={});var nt=h[r][n];nt||(nt=h[r][n]={}),nt[tt]=L,delete e[E]}else\"reverse\"===P?(D.range?D.range.reverse():(b(I+\".autorange\",!0),D.range=[1,0]),B.autorange?v.calc=!0:v.plot=!0):(s._has(\"scatter-like\")&&s._has(\"regl\")&&\"dragmode\"===E&&(\"lasso\"===L||\"select\"===L)&&\"lasso\"!==F&&\"select\"!==F?v.plot=!0:U?M.update(v,U):v.calc=!0,C.set(L))}}for(r in h){_.applyContainerArrayChanges(t,o.nestedProperty(a,r),h[r],v)||(v.plot=!0)}var it=s._axisConstraintGroups||[];for(k in T)for(n=0;n<it.length;n++){var at=it[n];if(at[k])for(var ot in v.calc=!0,at)T[ot]||(p.getFromId(t,ot)._constraintShrinkable=!0)}return(q(t)||e.height||e.width)&&(v.plot=!0),(v.plot||v.calc)&&(v.layoutReplot=!0),{flags:v,rangesAltered:T,undoit:x,redoit:y,eventData:o.extendDeep({},y)}}function q(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&f.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function H(t,e,r,n){var i,a,s=n.getValObject,l=n.flags,c=n.immutable,u=n.inArray,f=n.arrayIndex;function h(){var t=i.editType;u&&-1!==t.indexOf(\"arraydraw\")?o.pushUnique(l.arrays[u],f):M.update(l,i)}function p(t){return\"data_array\"===t.valType||t.arrayOk}for(a in t){if(l.calc)return;var d=t[a],g=e[a];if(\"_\"!==a.charAt(0)&&\"function\"!=typeof d&&d!==g){if((\"tick0\"===a||\"dtick\"===a)&&\"geo\"!==r[0]){var m=e.tickmode;if(\"auto\"===m||\"array\"===m||!m)continue}if((\"range\"!==a||!e.autorange)&&(\"zmin\"!==a&&\"zmax\"!==a||\"contourcarpet\"!==e.type)){var v=r.concat(a);if((i=s(v))&&(!i._compareAsJSON||JSON.stringify(d)!==JSON.stringify(g))){var y,x=i.valType,b=p(i),_=Array.isArray(d),w=Array.isArray(g);if(_&&w){var k=\"_input_\"+a,A=t[k],T=e[k];if(Array.isArray(A)&&A===T)continue}if(void 0===g)b&&_?l.calc=!0:h();else if(i._isLinkedToArray){var S=[],E=!1;u||(l.arrays[a]=S);var C=Math.min(d.length,g.length),L=Math.max(d.length,g.length);if(C!==L){if(\"arraydraw\"!==i.editType){h();continue}E=!0}for(y=0;y<C;y++)H(d[y],g[y],v.concat(y),o.extendFlat({inArray:a,arrayIndex:y},n));if(E)for(y=C;y<L;y++)S.push(y)}else!x&&o.isPlainObject(d)?H(d,g,v,n):b?_&&w?c&&(l.calc=!0):_!==w?l.calc=!0:h():_&&w&&d.length===g.length&&String(d)===String(g)||h()}}}}for(a in e)if(!(a in t||\"_\"===a.charAt(0)||\"function\"==typeof e[a])){if(p(i=s(r.concat(a)))&&Array.isArray(e[a]))return void(l.calc=!0);h()}}function G(t){var e=n.select(t),r=t._fullLayout;if(r._container=e.selectAll(\".plot-container\").data([0]),r._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0),r._paperdiv=r._container.selectAll(\".svg-container\").data([0]),r._paperdiv.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),r._glcontainer=r._paperdiv.selectAll(\".gl-container\").data([{}]),r._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),r._paperdiv.selectAll(\".main-svg\").remove(),r._paper=r._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),r._toppaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!r._uid){var i={};n.selectAll(\"defs\").each(function(){this.id&&(i[this.id.split(\"-\")[1]]=1)}),r._uid=o.randstr(i)}r._paperdiv.selectAll(\".main-svg\").attr(y.svgAttrs),r._defs=r._paper.append(\"defs\").attr(\"id\",\"defs-\"+r._uid),r._clips=r._defs.append(\"g\").classed(\"clips\",!0),r._topdefs=r._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+r._uid),r._topclips=r._topdefs.append(\"g\").classed(\"clips\",!0),r._bgLayer=r._paper.append(\"g\").classed(\"bglayer\",!0),r._draggers=r._paper.append(\"g\").classed(\"draglayer\",!0);var a=r._paper.append(\"g\").classed(\"layer-below\",!0);r._imageLowerLayer=a.append(\"g\").classed(\"imagelayer\",!0),r._shapeLowerLayer=a.append(\"g\").classed(\"shapelayer\",!0),r._cartesianlayer=r._paper.append(\"g\").classed(\"cartesianlayer\",!0),r._polarlayer=r._paper.append(\"g\").classed(\"polarlayer\",!0),r._ternarylayer=r._paper.append(\"g\").classed(\"ternarylayer\",!0),r._geolayer=r._paper.append(\"g\").classed(\"geolayer\",!0),r._pielayer=r._paper.append(\"g\").classed(\"pielayer\",!0),r._glimages=r._paper.append(\"g\").classed(\"glimages\",!0);var s=r._toppaper.append(\"g\").classed(\"layer-above\",!0);r._imageUpperLayer=s.append(\"g\").classed(\"imagelayer\",!0),r._shapeUpperLayer=s.append(\"g\").classed(\"shapelayer\",!0),r._infolayer=r._toppaper.append(\"g\").classed(\"infolayer\",!0),r._menulayer=r._toppaper.append(\"g\").classed(\"menulayer\",!0),r._zoomlayer=r._toppaper.append(\"g\").classed(\"zoomlayer\",!0),r._hoverlayer=r._toppaper.append(\"g\").classed(\"hoverlayer\",!0),t.emit(\"plotly_framework\")}r.update=function t(e,n,i,a){if(e=o.getGraphDiv(e),w.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);o.isPlainObject(n)||(n={}),o.isPlainObject(i)||(i={}),Object.keys(n).length&&(e.changed=!0),Object.keys(i).length&&(e.changed=!0);var s=w.coerceTraceIndices(e,a),c=B(e,o.extendFlat({},n),s),u=c.flags,h=U(e,o.extendFlat({},i)),p=h.flags;(u.calc||p.calc)&&(e.calcdata=void 0),u.clearAxisTypes&&w.clearAxisTypes(e,s,i);var d=[];if(u.fullReplot&&p.layoutReplot){var g=e.data,m=e.layout;e.data=void 0,e.layout=void 0,d.push(function(){return r.plot(e,g,m)})}else u.fullReplot?d.push(r.plot):p.layoutReplot?d.push(k.layoutReplot):(d.push(f.previousPromises),f.supplyDefaults(e),u.style&&d.push(k.doTraceStyle),u.colorbars&&d.push(k.doColorBars),p.legend&&d.push(k.doLegend),p.layoutstyle&&d.push(k.layoutStyles),p.axrange&&F(d,h.rangesAltered),p.ticks&&d.push(k.doTicksRelayout),p.modebar&&d.push(k.doModeBar),p.camera&&d.push(k.doCamera),d.push(S));d.push(f.rehover),l.add(e,t,[e,c.undoit,h.undoit,c.traces],t,[e,c.redoit,h.redoit,c.traces]);var v=o.syncOrAsync(d,e);return v&&v.then||(v=Promise.resolve(e)),v.then(function(){return e.emit(\"plotly_update\",{data:c.eventData,layout:h.eventData}),e})},r.react=function(t,e,n,i){var a,s;var l=(t=o.getGraphDiv(t))._fullData,h=t._fullLayout;if(o.isPlotDiv(t)&&l&&h){if(o.isPlainObject(e)){var p=e;e=p.data,n=p.layout,i=p.config,a=p.frames}var d=!1;if(i){var g=o.extendDeep({},t._context);t._context=void 0,L(t,i),d=function t(e,r){var n;for(n in e){var i=e[n],a=r[n];if(i!==a)if(o.isPlainObject(i)&&o.isPlainObject(a)){if(t(i,a))return!0}else{if(!Array.isArray(i)||!Array.isArray(a))return!0;if(i.length!==a.length)return!0;for(var s=0;s<i.length;s++)if(i[s]!==a[s]){if(!o.isPlainObject(i[s])||!o.isPlainObject(a[s]))return!0;if(t(i[s],a[s]))return!0}}}}(g,t._context)}t.data=e||[],w.cleanData(t.data),t.layout=n||{},w.cleanLayout(t.layout),f.supplyDefaults(t,{skipUpdateCalc:!0});var m=t._fullData,v=t._fullLayout,y=void 0===v.datarevision,x=function(t,e,r,n){if(e.length!==r.length)return{fullReplot:!0,calc:!0};var i,a,o=M.traceFlags();o.arrays={};var s={getValObject:function(t){return u.getTraceValObject(a,t)},flags:o,immutable:n,gd:t},l={};for(i=0;i<e.length;i++)a=r[i]._fullInput,f.hasMakesDataTransform(a)&&(a=r[i]),l[a.uid]||(l[a.uid]=1,H(e[i]._fullInput,a,[],s));(o.calc||o.plot)&&(o.fullReplot=!0);return o}(t,l,m,y),b=function(t,e,r,n){var i=M.layoutFlags();i.arrays={},H(e,r,[],{getValObject:function(t){return u.getLayoutValObject(r,t)},flags:i,immutable:n,gd:t}),(i.plot||i.calc)&&(i.layoutReplot=!0);return i}(t,h,v,y);q(t)&&(b.layoutReplot=!0),x.calc||b.calc?t.calcdata=void 0:f.supplyDefaultsUpdateCalc(t.calcdata,m);var _=[];if(a&&(t._transitionData={},f.createTransitionData(t),_.push(function(){return r.addFrames(t,a)})),x.fullReplot||b.layoutReplot||d)t._fullLayout._skipDefaults=!0,_.push(r.plot);else{for(var A in b.arrays){var T=b.arrays[A];if(T.length){var E=c.getComponentMethod(A,\"drawOne\");if(E!==o.noop)for(var C=0;C<T.length;C++)E(t,T[C]);else{var z=c.getComponentMethod(A,\"draw\");if(z===o.noop)throw new Error(\"cannot draw components: \"+A);z(t)}}}_.push(f.previousPromises),x.style&&_.push(k.doTraceStyle),x.colorbars&&_.push(k.doColorBars),b.legend&&_.push(k.doLegend),b.layoutstyle&&_.push(k.layoutStyles),b.axrange&&F(_),b.ticks&&_.push(k.doTicksRelayout),b.modebar&&_.push(k.doModeBar),b.camera&&_.push(k.doCamera),_.push(S)}_.push(f.rehover),(s=o.syncOrAsync(_,t))&&s.then||(s=Promise.resolve(t))}else s=r.newPlot(t,e,n,i);return s.then(function(){return t.emit(\"plotly_react\",{data:e,layout:n}),t})},r.animate=function(t,e,r){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t+\". It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/\");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=f.supplyAnimationDefaults(r)).transition,a=r.frame;function s(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(a,u){function h(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,f.transition(t,e.frame.data,e.frame.layout,w.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&&e.onComplete()}),t.emit(\"plotly_animatingframe\",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&h()};e()}var d,g,m=0;function v(t){return Array.isArray(i)?m>=i.length?t.transitionOpts=i[m]:t.transitionOpts=i[0]:t.transitionOpts=i,m++,t}var y=[],x=null==e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))y.push({type:\"object\",data:v(o.extendFlat({},e))});else if(x||-1!==[\"string\",\"number\"].indexOf(typeof e))for(d=0;d<n._frames.length;d++)(g=n._frames[d])&&(x||String(g.group)===String(e))&&y.push({type:\"byname\",name:String(g.name),data:v({name:g.name})});else if(b)for(d=0;d<e.length;d++){var _=e[d];-1!==[\"number\",\"string\"].indexOf(typeof _)?(_=String(_),y.push({type:\"byname\",name:_,data:v({name:_})})):o.isPlainObject(_)&&y.push({type:\"object\",data:v(o.extendFlat({},_))})}for(d=0;d<y.length;d++)if(\"byname\"===(g=y[d]).type&&!n._frameHash[g.data.name])return o.warn('animate failure: frame not found: \"'+g.data.name+'\"'),void u();-1!==[\"next\",\"immediate\"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var e=n._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit(\"plotly_animationinterrupted\",[])}}(),\"reverse\"===r.direction&&y.reverse();var k=t._fullLayout._currentFrame;if(k&&r.fromcurrent){var M=-1;for(d=0;d<y.length;d++)if(\"byname\"===(g=y[d]).type&&g.name===k){M=d;break}if(M>0&&M<y.length-1){var A=[];for(d=0;d<y.length;d++)g=y[d],(\"byname\"!==y[d].type||d>M)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var i=0;i<e.length;i++){var o;o=\"byname\"===e[i].type?f.computeFrame(t,e[i].name):e[i].data;var h=l(i),d=s(i);d.duration=Math.min(d.duration,h.duration);var g={frame:o,name:e[i].name,frameOpts:h,transitionOpts:d};i===e.length-1&&(g.onComplete=c(a,2),g.onInterrupt=u),n._frameQueue.push(g)}\"immediate\"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||p()}}(y):(t.emit(\"plotly_animated\"),a())})},r.addFrames=function(t,e,r){if(t=o.getGraphDiv(t),null==e)return Promise.resolve();if(!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/\");var n,i,a,s,c=t._transitionData._frames,u=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+e);var h=c.length+2*e.length,p=[],d={};for(n=e.length-1;n>=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,m=(u[g]||d[g]||{}).name,v=e[n].name,y=u[m]||d[m];m&&v&&\"number\"==typeof v&&y&&T<5&&(T++,o.warn('addFrames: overwriting frame \"'+(u[m]||d[m]).name+'\" with a frame whose name of type \"number\" also equates to \"'+m+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===T&&o.warn(\"addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\")),d[g]={name:g},p.push({frame:f.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:h+n})}p.sort(function(t,e){return t.index>e.index?-1:t.index<e.index?1:0});var x=[],b=[],_=c.length;for(n=p.length-1;n>=0;n--){if(\"number\"==typeof(i=p[n].frame).name&&o.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!i.name)for(;u[i.name=\"frame \"+t._transitionData._counter++];);if(u[i.name]){for(a=0;a<c.length&&(c[a]||{}).name!==i.name;a++);x.push({type:\"replace\",index:a,value:i}),b.unshift({type:\"replace\",index:a,value:c[a]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:\"insert\",index:s,value:i}),b.unshift({type:\"delete\",index:s}),_++}var w=f.modifyFrames,k=f.modifyFrames,M=[t,b],A=[t,x];return l&&l.add(t,w,M,k,A),f.modifyFrames(t,x)},r.deleteFrames=function(t,e){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);var r,n,i=t._transitionData._frames,a=[],s=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for((e=e.slice(0)).sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:\"delete\",index:n}),s.unshift({type:\"insert\",index:n,value:i[n]});var c=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,a];return l&&l.add(t,c,h,u,p),f.modifyFrames(t,a)},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[],n=t.calcdata||[];return f.cleanPlot([],{},r,e,n),f.purge(t),s.purge(t),e._container&&e._container.remove(),delete t._context,t}},{\"../components/color\":567,\"../components/colorbar/connect\":569,\"../components/drawing\":592,\"../constants/xmlns_namespaces\":671,\"../lib\":693,\"../lib/events\":681,\"../lib/queue\":709,\"../lib/svg_text_utils\":718,\"../plots/cartesian/axes\":742,\"../plots/cartesian/constants\":747,\"../plots/cartesian/graph_interact\":751,\"../plots/plots\":805,\"../plots/polar/legacy\":813,\"../registry\":825,\"./edit_types\":725,\"./helpers\":726,\"./manage_arrays\":728,\"./plot_config\":730,\"./plot_schema\":731,\"./subroutines\":733,d3:147,\"fast-isnumeric\":213,\"has-hover\":391}],730:[function(t,e,r){\"use strict\";e.exports={staticPlot:!1,plotlyServerURL:\"https://plot.ly\",editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,responsive:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:\"reset+autosize\",showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:\"Edit chart\",showSources:!1,displayModeBar:\"hover\",modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,toImageButtonOptions:{},displaylogo:!0,plotGlPixelRatio:2,setBackground:\"transparent\",topojsonURL:\"https://cdn.plot.ly/\",mapboxAccessToken:null,logging:1,globalTransforms:[],locale:\"en-US\",locales:{}}},{}],731:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),i=t(\"../lib\"),a=t(\"../plots/attributes\"),o=t(\"../plots/layout_attributes\"),s=t(\"../plots/frame_attributes\"),l=t(\"../plots/animation_attributes\"),c=t(\"../plots/polar/legacy/area_attributes\"),u=t(\"../plots/polar/legacy/axis_attributes\"),f=t(\"./edit_types\"),h=i.extendFlat,p=i.extendDeepAll,d=i.isPlainObject,g=\"_isSubplotObj\",m=\"_isLinkedToArray\",v=[g,m,\"_arrayAttrRegexps\",\"_deprecated\"];function y(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(x(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!d(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!x(e[++r]))return!1}else if(\"info_array\"===t.valType){var i=e[++r];if(!x(i))return!1;var a=t.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!x(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function x(t){return t===Math.round(t)&&t>=0}function b(t){return function(t){r.crawl(t,function(t,e,n){r.isValObject(t)?\"data_array\"===t.valType?(t.role=\"data\",n[e+\"src\"]={valType:\"string\",editType:\"none\"}):!0===t.arrayOk&&(n[e+\"src\"]={valType:\"string\",editType:\"none\"}):d(t)&&(t.role=\"object\")})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[m];if(!n)return;delete t[m],r[e]={items:{}},r[e].items[n]=t,r[e].role=\"object\"})}(t),function(t){!function t(e){for(var r in e)if(d(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n<e[r].length;n++)t(e[r][n]);else e[r]instanceof RegExp&&(e[r]=e[r].toString())}(t)}(t),t}function _(t,e,r){var n=i.nestedProperty(t,r),a=p({},e.layoutAttributes);a[g]=!0,n.set(a)}function w(t,e,r){var n=i.nestedProperty(t,r);n.set(p(n.get()||{},e))}r.IS_SUBPLOT_OBJ=g,r.IS_LINKED_TO_ARRAY=m,r.DEPRECATED=\"_deprecated\",r.UNDERSCORE_ATTRS=v,r.get=function(){var t={};n.allTypes.concat(\"area\").forEach(function(e){t[e]=function(t){var e,r;\"area\"===t?(e={attributes:c},r={}):(e=n.modules[t]._module,r=e.basePlotModule);var i={type:null};p(i,a),p(i,e.attributes),r.attributes&&p(i,r.attributes);i.type=t;var o={meta:e.meta||{},attributes:b(i)};if(e.layoutAttributes){var s={};p(s,e.layoutAttributes),o.layoutAttributes=b(s)}return o}(e)});var e,r={};return Object.keys(n.transformsRegistry).forEach(function(t){r[t]=function(t){var e=n.transformsRegistry[t],r=p({},e.attributes);return Object.keys(n.componentsRegistry).forEach(function(e){var i=n.componentsRegistry[e];i.schema&&i.schema.transforms&&i.schema.transforms[t]&&Object.keys(i.schema.transforms[t]).forEach(function(e){w(r,i.schema.transforms[t][e],e)})}),{attributes:b(r)}}(t)}),{defs:{valObjects:i.valObjectMeta,metaKeys:v.concat([\"description\",\"role\",\"editType\",\"impliedEdits\"]),editType:{traces:f.traces,layout:f.layout},impliedEdits:{}},traces:t,layout:function(){var t,e,r={};for(t in p(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i<e.attr.length;i++)_(r,e,e.attr[i]);else{var a=\"subplot\"===e.attr?e.name:e.attr;_(r,e,a)}for(t in r=function(t){return h(t,{radialaxis:u.radialaxis,angularaxis:u.angularaxis}),h(t,u.layout),t}(r),n.componentsRegistry){var s=(e=n.componentsRegistry[t]).schema;if(s&&(s.subplots||s.layout)){var l=s.subplots;if(l&&l.xaxis&&!l.yaxis)for(var c in l.xaxis)delete r.yaxis[c]}else e.layoutAttributes&&w(r,e.layoutAttributes,e.name)}return{layoutAttributes:b(r)}}(),transforms:r,frames:(e={frames:i.extendDeepAll({},s)},b(e),e.frames),animation:b(l)}},r.crawl=function(t,e,n,i){var a=n||0;i=i||\"\",Object.keys(t).forEach(function(n){var o=t[n];if(-1===v.indexOf(n)){var s=(i?i+\".\":\"\")+n;e(o,n,t,a,s),r.isValObject(o)||d(o)&&\"impliedEdits\"!==n&&r.crawl(o,e,a+1,s)}})},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){var e,n,o=[],s=[],l=[];function c(t,r,a,c){s=s.slice(0,c).concat([r]),l=l.slice(0,c).concat([t&&t._isLinkedToArray]),t&&(\"data_array\"===t.valType||!0===t.arrayOk)&&!(\"colorbar\"===s[c-1]&&(\"ticktext\"===r||\"tickvals\"===r))&&function t(e,r,a){var c=e[s[r]];var u=a+s[r];if(r===s.length-1)i.isArrayOrTypedArray(c)&&o.push(n+u);else if(l[r]){if(Array.isArray(c))for(var f=0;f<c.length;f++)i.isPlainObject(c[f])&&t(c[f],r+1,u+\"[\"+f+\"].\")}else i.isPlainObject(c)&&t(c,r+1,u+\".\")}(e,0,\"\")}e=t,n=\"\",r.crawl(a,c),t._module&&t._module.attributes&&r.crawl(t._module.attributes,c);var u=t.transforms;if(u)for(var f=0;f<u.length;f++){var h=u[f],p=h._module;p&&(n=\"transforms[\"+f+\"].\",e=h,r.crawl(p.attributes,c))}return o},r.getTraceValObject=function(t,e){var r,i,o=e[0],s=1;if(\"transforms\"===o){if(1===e.length)return a.transforms;var l=t.transforms;if(!Array.isArray(l)||!l.length)return!1;var u=e[1];if(!x(u)||u>=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else if(\"area\"===t.type)i=c[o];else{var f=t._module;if(f||(f=(n.modules[t.type||a.type.dflt]||{})._module),!f)return!1;if(!(i=(r=f.attributes)&&r[o])){var h=f.basePlotModule;h&&h.attributes&&(i=h.attributes[o])}i||(i=a[o])}return y(i,e,s)},r.getLayoutValObject=function(t,e){return y(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r<l.length;r++){if((a=l[r]).attrRegex&&a.attrRegex.test(e)){if(a.layoutAttrOverrides)return a.layoutAttrOverrides;!c&&a.layoutAttributes&&(c=a.layoutAttributes)}var f=a.baseLayoutAttrOverrides;if(f&&e in f)return f[e]}if(c)return c}var h=t._modules;if(h)for(r=0;r<h.length;r++)if((s=h[r].layoutAttributes)&&e in s)return s[e];for(i in n.componentsRegistry)if(!(a=n.componentsRegistry[i]).schema&&e===a.name)return a.layoutAttributes;if(e in o)return o[e];if(\"radialaxis\"===e||\"angularaxis\"===e)return u[e];return u.layout[e]||!1}(t,e[0]),e,1)}},{\"../lib\":693,\"../plots/animation_attributes\":737,\"../plots/attributes\":739,\"../plots/frame_attributes\":769,\"../plots/layout_attributes\":796,\"../plots/polar/legacy/area_attributes\":811,\"../plots/polar/legacy/axis_attributes\":812,\"../registry\":825,\"./edit_types\":725}],732:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plots/attributes\"),a=\"templateitemname\",o={name:{valType:\"string\",editType:\"none\"}};function s(t){return t&&\"string\"==typeof t}function l(t){var e=t.length-1;return\"s\"!==t.charAt(e)&&n.warn(\"bad argument to arrayDefaultKey: \"+t),t.substr(0,t.length-1)+\"defaults\"}o[a]={valType:\"string\",editType:\"calc\"},r.templatedArray=function(t,e){return e._isLinkedToArray=t,e.name=o.name,e[a]=o[a],e},r.traceTemplater=function(t){var e,r,a={};for(e in t)r=t[e],Array.isArray(r)&&r.length&&(a[e]=0);return{newTrace:function(o){var s={type:e=n.coerce(o,{},i,\"type\"),_template:null};if(e in a){r=t[e];var l=a[e]%r.length;a[e]++,s._template=r[l]}return s}}},r.newContainer=function(t,e,r){var i=t._template,a=i&&(i[e]||r&&i[r]);return n.isPlainObject(a)||(a=null),t[e]={_template:a}},r.arrayTemplater=function(t,e,r){var n=t._template,i=n&&n[l(e)],o=n&&n[e];Array.isArray(o)&&o.length||(o=[]);var c={};return{newItem:function(t){var e={name:t.name,_input:t},n=e[a]=t[a];if(!s(n))return e._template=i,e;for(var l=0;l<o.length;l++){var u=o[l];if(u.name===n)return c[n]=1,e._template=u,e}return e[r]=t[r]||!1,e._template=!1,e},defaultItems:function(){for(var t=[],e=0;e<o.length;e++){var r=o[e],n=r.name;if(s(n)&&!c[n]){var i={_template:r,name:n,_input:{_templateitemname:n}};i[a]=r[a],t.push(i),c[n]=1}}return t}}},r.arrayDefaultKey=l,r.arrayEditor=function(t,e,r){var i=(n.nestedProperty(t,e).get()||[]).length,o=r._index,s=o>=i&&(r._input||{})._templateitemname;s&&(o=i);var l,c=e+\"[\"+o+\"]\";function u(){l={},s&&(l[c]={},l[c][a]=s)}function f(t,e){s?n.nestedProperty(l[c],t).set(e):l[c+\".\"+t]=e}function h(){var t=l;return u(),t}return u(),{modifyBase:function(t,e){l[t]=e},modifyItem:f,getUpdateObj:h,applyUpdate:function(e,r){e&&f(e,r);var i=h();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},{\"../lib\":693,\"../plots/attributes\":739}],733:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../registry\"),a=t(\"../plots/plots\"),o=t(\"../lib\"),s=t(\"../lib/clear_gl_canvases\"),l=t(\"../components/color\"),c=t(\"../components/drawing\"),u=t(\"../components/titles\"),f=t(\"../components/modebar\"),h=t(\"../plots/cartesian/axes\"),p=t(\"../constants/alignment\"),d=t(\"../plots/cartesian/constraints\"),g=d.enforce,m=d.clean,v=t(\"../plots/cartesian/autorange\").doAutoRange;function y(t){var e,i=t._fullLayout,a=i._size,s=a.p,u=h.list(t,\"\",!0),d=i._has(\"cartesian\");function g(t,e,r){var n=t._lw/2;return\"x\"===t._id.charAt(0)?e?\"top\"===r?e._offset-s-n:e._offset+e._length+s+n:a.t+a.h*(1-(t.position||0))+n%1:e?\"right\"===r?e._offset+e._length+s+n:e._offset-s-n:a.l+a.w*(t.position||0)+n%1}for(e=0;e<u.length;e++){var m=u[e];m.setScale();var v=m._anchorAxis;m._linepositions={},m._lw=c.crispRound(t,m.linewidth,1),m._mainLinePosition=g(m,v,m.side),m._mainMirrorPosition=m.mirror&&v?g(m,v,p.OPPOSITE_SIDE[m.side]):null,m._mainSubplot=x(m,i)}i._paperdiv.style({width:i.width+\"px\",height:i.height+\"px\"}).selectAll(\".main-svg\").call(c.setSize,i.width,i.height),t._context.setBackground(t,i.paper_bgcolor);var y=i._paper.selectAll(\"g.subplot\"),_=[],k=[];y.each(function(t){var e=t[0],r=i._plots[e];if(r.mainplot)return r.bg&&r.bg.remove(),void(r.bg=void 0);var n=r.xaxis.domain,a=r.yaxis.domain,s=r.plotgroup;if(function(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&a[0]<e[1]&&a[1]>e[0])return!0}return!1}(n,a,k)){var l=s.node(),c=r.bg=o.ensureSingle(s,\"rect\",\"bg\");l.insertBefore(c.node(),l.childNodes[0])}else s.select(\"rect.bg\").remove(),_.push(e),k.push([n,a])});var M=i._bgLayer.selectAll(\".bg\").data(_);return M.enter().append(\"rect\").classed(\"bg\",!0),M.exit().remove(),M.each(function(t){i._plots[t].bg=n.select(this)}),y.each(function(t){var e=t[0],r=i._plots[e],n=r.xaxis,a=r.yaxis;r.bg&&d&&r.bg.call(c.setRect,n._offset-s,a._offset-s,n._length+2*s,a._length+2*s).call(l.fill,i.plot_bgcolor).style(\"stroke-width\",0);var f,h,p=r.clipId=\"clip\"+i._uid+e+\"plot\",m=o.ensureSingleById(i._clips,\"clipPath\",p,function(t){t.classed(\"plotclip\",!0).append(\"rect\")});if(r.clipRect=m.select(\"rect\").attr({width:n._length,height:a._length}),c.setTranslate(r.plot,n._offset,a._offset),r._hasClipOnAxisFalse?(f=null,h=p):(f=p,h=null),c.setClipUrl(r.plot,f),r.layerClipId=h,d){var v,y,x,_,k,M,A,T,S,E,C,L,z,P=\"M0,0\";b(n,e)&&(k=w(n,\"left\",a,u),v=n._offset-(k?s+k:0),M=w(n,\"right\",a,u),y=n._offset+n._length+(M?s+M:0),x=g(n,a,\"bottom\"),_=g(n,a,\"top\"),!(z=!n._anchorAxis||e!==n._mainSubplot)||\"allticks\"!==n.mirror&&\"all\"!==n.mirror||(n._linepositions[e]=[x,_]),P=R(n,I,function(t){return\"M\"+n._offset+\",\"+t+\"h\"+n._length}),z&&n.showline&&(\"all\"===n.mirror||\"allticks\"===n.mirror)&&(P+=I(x)+I(_)),r.xlines.style(\"stroke-width\",n._lw+\"px\").call(l.stroke,n.showline?n.linecolor:\"rgba(0,0,0,0)\")),r.xlines.attr(\"d\",P);var O=\"M0,0\";b(a,e)&&(C=w(a,\"bottom\",n,u),A=a._offset+a._length+(C?s:0),L=w(a,\"top\",n,u),T=a._offset-(L?s:0),S=g(a,n,\"left\"),E=g(a,n,\"right\"),!(z=!a._anchorAxis||e!==a._mainSubplot)||\"allticks\"!==a.mirror&&\"all\"!==a.mirror||(a._linepositions[e]=[S,E]),O=R(a,D,function(t){return\"M\"+t+\",\"+a._offset+\"v\"+a._length}),z&&a.showline&&(\"all\"===a.mirror||\"allticks\"===a.mirror)&&(O+=D(S)+D(E)),r.ylines.style(\"stroke-width\",a._lw+\"px\").call(l.stroke,a.showline?a.linecolor:\"rgba(0,0,0,0)\")),r.ylines.attr(\"d\",O)}function I(t){return\"M\"+v+\",\"+t+\"H\"+y}function D(t){return\"M\"+t+\",\"+T+\"V\"+A}function R(t,r,n){if(!t.showline||e!==t._mainSubplot)return\"\";if(!t._anchorAxis)return n(t._mainLinePosition);var i=r(t._mainLinePosition);return t.mirror&&(i+=r(t._mainMirrorPosition)),i}}),h.makeClipPaths(t),r.drawMainTitle(t),f.manage(t),t._promises.length&&Promise.all(t._promises)}function x(t,e){var r=e._subplots,n=r.cartesian.concat(r.gl2d||[]),i={_fullLayout:e},a=\"x\"===t._id.charAt(0),o=t._mainAxis._anchorAxis,s=\"\",l=\"\",c=\"\";if(o&&(c=o._mainAxis._id,s=a?t._id+c:c+t._id),!s||!e._plots[s]){s=\"\";for(var u=0;u<n.length;u++){var f=n[u],p=f.indexOf(\"y\"),d=a?f.substr(0,p):f.substr(p),g=a?f.substr(p):f.substr(0,p);if(d===t._id){l||(l=f);var m=h.getFromId(i,g);if(c&&m.overlaying===c){s=f;break}}}}return s||l}function b(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||\"all\"===t.mirror||\"allticks\"===t.mirror)}function _(t,e,r){if(!r.showline||!r._lw)return!1;if(\"all\"===r.mirror||\"allticks\"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=p.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&&n.domain[1-i]===t.domain[1-i]}function w(t,e,r,n){if(_(t,e,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&_(t,e,a))return a._lw}return 0}r.layoutStyles=function(t){return o.syncOrAsync([a.doAutoMargin,y],t)},r.drawMainTitle=function(t){var e=t._fullLayout;u.draw(t,\"gtitle\",{propContainer:e,propName:\"title\",placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,\"text-anchor\":\"middle\"}})},r.doTraceStyle=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e],n=(((r[0]||{}).trace||{})._module||{}).arraysToCalcdata;n&&n(r,r[0].trace)}return a.style(t),i.getComponentMethod(\"legend\",\"draw\")(t),a.previousPromises(t)},r.doColorBars=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,o=r.t.cb;i.traceIs(n,\"contour\")&&o.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:\"line\"===n.contours.coloring?o._opts.line.color:n.line.color});var s=n._module.colorbar.container,l=(s?n[s]:n).colorbar;o.options(l)()}}return a.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,i.call(\"plot\",t,\"\",e)},r.doLegend=function(t){return i.getComponentMethod(\"legend\",\"draw\")(t),a.previousPromises(t)},r.doTicksRelayout=function(t,e){return e?h.doTicks(t,Object.keys(e),!0):h.doTicks(t,\"redraw\"),t._fullLayout._hasOnlyLargeSploms&&(s(t),i.subplotsRegistry.splom.plot(t)),r.drawMainTitle(t),a.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;f.manage(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(t)}return a.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}},r.drawData=function(t){var e,r=t._fullLayout,n=t.calcdata;for(e=0;e<n.length;e++){var o=n[e][0].trace;!0===o.visible&&o._module.colorbar||r._infolayer.select(\".cb\"+o.uid).remove()}s(t);var l=r._basePlotModules;for(e=0;e<l.length;e++)l[e].plot(t);return a.style(t),i.getComponentMethod(\"shapes\",\"draw\")(t),i.getComponentMethod(\"annotations\",\"draw\")(t),r._replotting=!1,a.previousPromises(t)},r.doAutoRangeAndConstraints=function(t){for(var e=h.list(t,\"\",!0),r=0;r<e.length;r++){var n=e[r];m(t,n),v(t,n)}g(t)},r.finalDraw=function(t){i.getComponentMethod(\"shapes\",\"draw\")(t),i.getComponentMethod(\"images\",\"draw\")(t),i.getComponentMethod(\"annotations\",\"draw\")(t),i.getComponentMethod(\"rangeslider\",\"draw\")(t),i.getComponentMethod(\"rangeselector\",\"draw\")(t)},r.drawMarginPushers=function(t){i.getComponentMethod(\"legend\",\"draw\")(t),i.getComponentMethod(\"rangeselector\",\"draw\")(t),i.getComponentMethod(\"sliders\",\"draw\")(t),i.getComponentMethod(\"updatemenus\",\"draw\")(t)}},{\"../components/color\":567,\"../components/drawing\":592,\"../components/modebar\":630,\"../components/titles\":658,\"../constants/alignment\":665,\"../lib\":693,\"../lib/clear_gl_canvases\":676,\"../plots/cartesian/autorange\":741,\"../plots/cartesian/axes\":742,\"../plots/cartesian/constraints\":749,\"../plots/plots\":805,\"../registry\":825,d3:147}],734:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=n.isPlainObject,a=t(\"./plot_schema\"),o=t(\"../plots/plots\"),s=t(\"../plots/attributes\"),l=t(\"./plot_template\"),c=t(\"./plot_config\");function u(t,e){t=n.extendDeep({},t);var r,a,o=Object.keys(t).sort();function s(e,r,n){if(i(r)&&i(e))u(e,r);else if(Array.isArray(r)&&Array.isArray(e)){var o=l.arrayTemplater({_template:t},n);for(a=0;a<r.length;a++){var s=r[a],c=o.newItem(s)._template;c&&u(c,s)}var f=o.defaultItems();for(a=0;a<f.length;a++)r.push(f[a]._template);for(a=0;a<r.length;a++)delete r[a].templateitemname}}for(r=0;r<o.length;r++){var c=o[r],h=t[c];if(c in e?s(h,e[c],c):e[c]=h,f(c)===c)for(var p in e){var d=f(p);p===d||d!==c||p in t||s(h,e[p],c)}}}function f(t){return t.replace(/[0-9]+$/,\"\")}function h(t,e,r,a,o){var s=o&&r(o);for(var c in t){var u=t[c],d=p(t,c,a),g=p(t,c,o),m=r(g);if(!m){var v=f(c);v!==c&&(m=r(g=p(t,v,o)))}if((!s||s!==m)&&!(!m||m._noTemplating||\"data_array\"===m.valType||m.arrayOk&&Array.isArray(u)))if(!m.valType&&i(u))h(u,e,r,d,g);else if(m._isLinkedToArray&&Array.isArray(u))for(var y=!1,x=0,b={},_=0;_<u.length;_++){var w=u[_];if(i(w)){var k=w.name;if(k)b[k]||(h(w,e,r,p(u,x,d),p(u,x,g)),x++,b[k]=1);else if(!y){var M=p(t,l.arrayDefaultKey(c),a),A=p(u,x,d);h(w,e,r,A,p(u,x,g));var T=n.nestedProperty(e,A);n.nestedProperty(e,M).set(T.get()),T.set(null),y=!0}}}else{n.nestedProperty(e,d).set(u)}}}function p(t,e,r){return r?Array.isArray(t)?r+\"[\"+e+\"]\":r+\".\"+e:e}function d(t){for(var e=0;e<t.length;e++)if(i(t[e]))return!0}function g(t){var e;switch(t.code){case\"data\":e=\"The template has no key data.\";break;case\"layout\":e=\"The template has no key layout.\";break;case\"missing\":e=t.path?\"There are no templates for item \"+t.path+\" with name \"+t.templateitemname:\"There are no templates for trace \"+t.index+\", of type \"+t.traceType+\".\";break;case\"unused\":e=t.path?\"The template item at \"+t.path+\" was not used in constructing the plot.\":t.dataCount?\"Some of the templates of type \"+t.traceType+\" were not used. The template has \"+t.templateCount+\" traces, the data only has \"+t.dataCount+\" of this type.\":\"The template has \"+t.templateCount+\" traces of type \"+t.traceType+\" but there are none in the data.\";break;case\"reused\":e=\"Some of the templates of type \"+t.traceType+\" were used more than once. The template has \"+t.templateCount+\" traces, the data has \"+t.dataCount+\" of this type.\"}return t.msg=e,t}r.makeTemplate=function(t){t=n.extendDeep({_context:c},t),o.supplyDefaults(t);var e=t.data||[],r=t.layout||{};r._basePlotModules=t._fullLayout._basePlotModules,r._modules=t._fullLayout._modules;var l={data:{},layout:{}};e.forEach(function(t){var e={};h(t,e,function(t,e){return a.getTraceValObject(t,n.nestedProperty({},e).parts)}.bind(null,t));var r=n.coerce(t,{},s,\"type\"),i=l.data[r];i||(i=l.data[r]=[]),i.push(e)}),h(r,l.layout,function(t,e){return a.getLayoutValObject(t,n.nestedProperty({},e).parts)}.bind(null,r)),delete l.layout.template;var f=r.template;if(i(f)){var p,d,g,m,v,y,x=f.layout;i(x)&&u(x,l.layout);var b=f.data;if(i(b)){for(d in l.data)if(g=b[d],Array.isArray(g)){for(y=(v=l.data[d]).length,m=g.length,p=0;p<y;p++)u(g[p%m],v[p]);for(p=y;p<m;p++)v.push(n.extendDeep({},g[p]))}for(d in b)d in l.data||(l.data[d]=n.extendDeep([],b[d]))}}return l},r.validateTemplate=function(t,e){var r=n.extendDeep({},{_context:c,data:t.data,layout:t.layout}),a=r.layout||{};i(e)||(e=a.template||{});var s=e.layout,l=e.data,u=[];r.layout=a,r.layout.template=e,o.supplyDefaults(r);var h=r._fullLayout,m=r._fullData,v={};if(i(s)?(!function t(e,r){for(var n in e)if(\"_\"!==n.charAt(0)&&i(e[n])){var a,o=f(n),s=[];for(a=0;a<r.length;a++)s.push(p(e,n,r[a])),o!==n&&s.push(p(e,o,r[a]));for(a=0;a<s.length;a++)v[s[a]]=1;t(e[n],s)}}(h,[\"layout\"]),function t(e,r){for(var n in e)if(-1===n.indexOf(\"defaults\")&&i(e[n])){var a=p(e,n,r);v[a]?t(e[n],a):u.push({code:\"unused\",path:a})}}(s,\"layout\")):u.push({code:\"layout\"}),i(l)){for(var y,x={},b=0;b<m.length;b++){var _=m[b];x[y=_.type]=(x[y]||0)+1,_._fullInput._template||u.push({code:\"missing\",index:_._fullInput.index,traceType:y})}for(y in l){var w=l[y].length,k=x[y]||0;w>k?u.push({code:\"unused\",traceType:y,templateCount:w,dataCount:k}):k>w&&u.push({code:\"reused\",traceType:y,templateCount:w,dataCount:k})}}else u.push({code:\"data\"});if(function t(e,r){for(var n in e)if(\"_\"!==n.charAt(0)){var a=e[n],o=p(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&u.push({code:\"missing\",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&d(a)&&t(a,o)}}({data:m,layout:h},\"\"),u.length)return u.map(g)}},{\"../lib\":693,\"../plots/attributes\":739,\"../plots/plots\":805,\"./plot_config\":730,\"./plot_schema\":731,\"./plot_template\":732}],735:[function(t,e,r){\"use strict\";var n=t(\"./plot_api\"),i=t(\"../lib\"),a=t(\"../snapshot/helpers\"),o=t(\"../snapshot/tosvg\"),s=t(\"../snapshot/svgtoimg\"),l={format:{valType:\"enumerated\",values:[\"png\",\"jpeg\",\"webp\",\"svg\"],dflt:\"png\"},width:{valType:\"number\",min:1},height:{valType:\"number\",min:1},scale:{valType:\"number\",min:0,dflt:1},setBackground:{valType:\"any\",dflt:!1},imageDataOnly:{valType:\"boolean\",dflt:!1}},c=/^data:image\\/\\w+;base64,/;e.exports=function(t,e){var r,u,f;function h(t){return!(t in e)||i.validate(e[t],l[t])}if(e=e||{},i.isPlainObject(t)?(r=t.data||[],u=t.layout||{},f=t.config||{}):(t=i.getGraphDiv(t),r=i.extendDeep([],t.data),u=i.extendDeep({},t.layout),f=t._context),!h(\"width\")||!h(\"height\"))throw new Error(\"Height and width should be pixel values.\");if(!h(\"format\"))throw new Error(\"Image format is not jpeg, png, svg or webp.\");var p={};function d(t,r){return i.coerce(e,p,l,t,r)}var g=d(\"format\"),m=d(\"width\"),v=d(\"height\"),y=d(\"scale\"),x=d(\"setBackground\"),b=d(\"imageDataOnly\"),_=document.createElement(\"div\");_.style.position=\"absolute\",_.style.left=\"-5000px\",document.body.appendChild(_);var w=i.extendFlat({},u);m&&(w.width=m),v&&(w.height=v);var k=i.extendFlat({},f,{staticPlot:!0,setBackground:x}),M=a.getRedrawFunc(_);function A(){return new Promise(function(t){setTimeout(t,a.getDelay(_._fullLayout))})}function T(){return new Promise(function(t,e){var r=o(_,g,y),a=_._fullLayout.width,l=_._fullLayout.height;if(n.purge(_),document.body.removeChild(_),\"svg\"===g)return t(b?r:\"data:image/svg+xml,\"+encodeURIComponent(r));var c=document.createElement(\"canvas\");c.id=i.randstr(),s({format:g,width:a,height:l,scale:y,canvas:c,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){n.plot(_,r,w,k).then(M).then(A).then(T).then(function(e){t(function(t){return b?t.replace(c,\"\"):t}(e))}).catch(function(t){e(t)})})}},{\"../lib\":693,\"../snapshot/helpers\":829,\"../snapshot/svgtoimg\":831,\"../snapshot/tosvg\":833,\"./plot_api\":729}],736:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plots/plots\"),a=t(\"./plot_schema\"),o=t(\"./plot_config\"),s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;h<f.length;h++){var m=f[h];if(\"transforms\"!==m){var v=o.slice();v.push(m);var y=t[m],x=e[m],b=g(r,m),_=\"info_array\"===(b||{}).valType,w=\"colorscale\"===(b||{}).valType,k=(b||{}).items;if(d(r,m))if(s(y)&&s(x))u(y,x,b,i,a,v);else if(_&&l(y)){y.length>x.length&&i.push(p(\"unused\",a,v.concat(x.length)));var M,A,T,S,E,C=x.length,L=Array.isArray(k);if(L&&(C=Math.min(C,k.length)),2===b.dimensions)for(A=0;A<C;A++)if(l(y[A])){y[A].length>x[A].length&&i.push(p(\"unused\",a,v.concat(A,x[A].length)));var z=x[A].length;for(M=0;M<(L?Math.min(z,k[A].length):z);M++)T=L?k[A][M]:k,S=y[A][M],E=x[A][M],n.validate(S,T)?E!==S&&E!==+S&&i.push(p(\"dynamic\",a,v.concat(A,M),S,E)):i.push(p(\"value\",a,v.concat(A,M),S))}else i.push(p(\"array\",a,v.concat(A),y[A]));else for(A=0;A<C;A++)T=L?k[A]:k,S=y[A],E=x[A],n.validate(S,T)?E!==S&&E!==+S&&i.push(p(\"dynamic\",a,v.concat(A),S,E)):i.push(p(\"value\",a,v.concat(A),S))}else if(b.items&&!_&&l(y)){var P,O,I=k[Object.keys(k)[0]],D=[];for(P=0;P<x.length;P++){var R=x[P]._index||P;if((O=v.slice()).push(R),s(y[R])&&s(x[P])){D.push(R);var B=y[R],F=x[P];s(B)&&!1!==B.visible&&!1===F.visible?i.push(p(\"invisible\",a,O)):u(B,F,I,i,a,O)}}for(P=0;P<y.length;P++)(O=v.slice()).push(P),s(y[P])?-1===D.indexOf(P)&&i.push(p(\"unused\",a,O)):i.push(p(\"object\",a,O,y[P]))}else!s(y)&&s(x)?i.push(p(\"object\",a,v,y)):c(y)||!c(x)||_||w?m in e?n.validate(y,b)?\"enumerated\"===b.valType&&(b.coerceNumber&&y!==+x||y!==x)&&i.push(p(\"dynamic\",a,v,y,x)):i.push(p(\"value\",a,v,y)):i.push(p(\"unused\",a,v,y)):i.push(p(\"array\",a,v,y));else i.push(p(\"schema\",a,v))}}return i}e.exports=function(t,e){var r,c,f=a.get(),h=[],d={_context:n.extendFlat({},o)};l(t)?(d.data=n.extendDeep([],t),r=t):(d.data=[],r=[],h.push(p(\"array\",\"data\"))),s(e)?(d.layout=n.extendDeep({},e),c=e):(d.layout={},c={},arguments.length>1&&h.push(p(\"object\",\"layout\"))),i.supplyDefaults(d);for(var g=d._fullData,m=r.length,v=0;v<m;v++){var y=r[v],x=[\"data\",v];if(s(y)){var b=g[v],_=b.type,w=f.traces[_].attributes;w.type={valType:\"enumerated\",values:[_]},!1===b.visible&&!1!==y.visible&&h.push(p(\"invisible\",x)),u(y,b,w,h,x);var k=y.transforms,M=b.transforms;if(k){l(k)||h.push(p(\"array\",x,[\"transforms\"])),x.push(\"transforms\");for(var A=0;A<k.length;A++){var T=[\"transforms\",A],S=k[A].type;if(s(k[A])){var E=f.transforms[S]?f.transforms[S].attributes:{};E.type={valType:\"enumerated\",values:Object.keys(f.transforms)},u(k[A],M[A],E,h,x,T)}else h.push(p(\"object\",x,T))}}}else h.push(p(\"object\",x))}return u(c,d._fullLayout,function(t,e){for(var r=t.layout.layoutAttributes,i=0;i<e.length;i++){var a=e[i],o=t.traces[a.type],s=o.layoutAttributes;s&&(a.subplot?n.extendFlat(r[o.attributes.subplot.dflt],s):n.extendFlat(r,s))}return r}(f,g),h,\"layout\"),0===h.length?void 0:h};var f={object:function(t,e){return(\"layout\"===t&&\"\"===e?\"The layout argument\":\"data\"===t[0]&&\"\"===e?\"Trace \"+t[1]+\" in the data argument\":h(t)+\"key \"+e)+\" must be linked to an object container\"},array:function(t,e){return(\"data\"===t?\"The data argument\":h(t)+\"key \"+e)+\" must be linked to an array container\"},schema:function(t,e){return h(t)+\"key \"+e+\" is not part of the schema\"},unused:function(t,e,r){var n=s(r)?\"container\":\"key\";return h(t)+n+\" \"+e+\" did not get coerced\"},dynamic:function(t,e,r,n){return[h(t)+\"key\",e,\"(set to '\"+r+\"')\",\"got reset to\",\"'\"+n+\"'\",\"during defaults.\"].join(\" \")},invisible:function(t,e){return(e?h(t)+\"item \"+e:\"Trace \"+t[1])+\" got defaulted to be not visible\"},value:function(t,e,r){return[h(t)+\"key \"+e,\"is set to an invalid value (\"+r+\")\"].join(\" \")}};function h(t){return l(t)?\"In data trace \"+t[1]+\", \":\"In \"+t+\", \"}function p(t,e,r,i,a){var o,s;r=r||\"\",l(e)?(o=e[0],s=e[1]):(o=e,s=null);var c=function(t){if(!l(t))return String(t);for(var e=\"\",r=0;r<t.length;r++){var n=t[r];\"number\"==typeof n?e=e.substr(0,e.length-1)+\"[\"+n+\"]\":e+=n,r<t.length-1&&(e+=\".\")}return e}(r),u=f[t](e,c,i,a);return n.log(u),{code:t,container:o,trace:s,path:r,astr:c,msg:u}}function d(t,e){var r=v(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function g(t,e){return e in t?t[e]:t[v(e).keyMinusId]}var m=n.counterRegex(\"([a-z]+)\");function v(t){var e=t.match(m);return{keyMinusId:e&&e[1],id:e&&e[2]}}},{\"../lib\":693,\"../plots/plots\":805,\"./plot_config\":730,\"./plot_schema\":731}],737:[function(t,e,r){\"use strict\";e.exports={mode:{valType:\"enumerated\",dflt:\"afterall\",values:[\"immediate\",\"next\",\"afterall\"]},direction:{valType:\"enumerated\",values:[\"forward\",\"reverse\"],dflt:\"forward\"},fromcurrent:{valType:\"boolean\",dflt:!1},frame:{duration:{valType:\"number\",min:0,dflt:500},redraw:{valType:\"boolean\",dflt:!0}},transition:{duration:{valType:\"number\",min:0,dflt:500},easing:{valType:\"enumerated\",dflt:\"cubic-in-out\",values:[\"linear\",\"quad\",\"cubic\",\"sin\",\"exp\",\"circle\",\"elastic\",\"back\",\"bounce\",\"linear-in\",\"quad-in\",\"cubic-in\",\"sin-in\",\"exp-in\",\"circle-in\",\"elastic-in\",\"back-in\",\"bounce-in\",\"linear-out\",\"quad-out\",\"cubic-out\",\"sin-out\",\"exp-out\",\"circle-out\",\"elastic-out\",\"back-out\",\"bounce-out\",\"linear-in-out\",\"quad-in-out\",\"cubic-in-out\",\"sin-in-out\",\"exp-in-out\",\"circle-in-out\",\"elastic-in-out\",\"back-in-out\",\"bounce-in-out\"]}}}},{}],738:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plot_api/plot_template\");e.exports=function(t,e,r){var a,o,s=r.name,l=r.inclusionAttr||\"visible\",c=e[s],u=n.isArrayOrTypedArray(t[s])?t[s]:[],f=e[s]=[],h=i.arrayTemplater(e,s,l);for(a=0;a<u.length;a++){var p=u[a];n.isPlainObject(p)?o=h.newItem(p):(o=h.newItem({}))[l]=!1,o._index=a,!1!==o[l]&&r.handleItemDefaults(p,o,e,r),f.push(o)}var d=h.defaultItems();for(a=0;a<d.length;a++)(o=d[a])._index=f.length,r.handleItemDefaults({},o,e,r,{}),f.push(o);if(n.isArrayOrTypedArray(c)){var g=Math.min(c.length,f.length);for(a=0;a<g;a++)n.relinkPrivateKeys(f[a],c[a])}return f}},{\"../lib\":693,\"../plot_api/plot_template\":732}],739:[function(t,e,r){\"use strict\";var n=t(\"../components/fx/attributes\");e.exports={type:{valType:\"enumerated\",values:[],dflt:\"scatter\",editType:\"calc+clearAxisTypes\",_noTemplating:!0},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0,editType:\"calc\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},legendgroup:{valType:\"string\",dflt:\"\",editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"style\"},name:{valType:\"string\",editType:\"style\"},uid:{valType:\"string\",editType:\"plot\"},ids:{valType:\"data_array\",editType:\"calc\"},customdata:{valType:\"data_array\",editType:\"calc\"},selectedpoints:{valType:\"any\",editType:\"calc\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],arrayOk:!0,dflt:\"all\",editType:\"none\"},hoverlabel:n.hoverlabel,stream:{token:{valType:\"string\",noBlank:!0,strict:!0,editType:\"calc\"},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500,editType:\"calc\"},editType:\"calc\"},transforms:{_isLinkedToArray:\"transform\",editType:\"calc\"}}},{\"../components/fx/attributes\":601}],740:[function(t,e,r){\"use strict\";e.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}},{}],741:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").FP_SAFE;function o(t,e){var r,n,a=[],o=s(e),c=l(t,e),u=c.min,f=c.max;if(0===u.length||0===f.length)return i.simpleMap(e.range,e.r2l);var h=u[0].val,p=f[0].val;for(r=1;r<u.length&&h===p;r++)h=Math.min(h,u[r].val);for(r=1;r<f.length&&h===p;r++)p=Math.max(p,f[r].val);var d=!1;if(e.range){var g=i.simpleMap(e.range,e.r2l);d=g[1]<g[0]}\"reversed\"===e.autorange&&(d=!0,e.autorange=!0);var m,v,y,x,b,_,w=e.rangemode,k=\"tozero\"===w,M=\"nonnegative\"===w,A=e._length,T=A/10,S=0;for(r=0;r<u.length;r++)for(m=u[r],n=0;n<f.length;n++)(_=(v=f[n]).val-m.val)>0&&((b=A-o(m)-o(v))>T?_/b>S&&(y=m,x=v,S=_/b):_/A>S&&(y={val:m.val,pad:0},x={val:v.val,pad:0},S=_/A));if(h===p){var E=h-1,C=h+1;if(k)if(0===h)a=[0,1];else{var L=(h>0?f:u).reduce(function(t,e){return Math.max(t,o(e))},0),z=h/(1-Math.min(.5,L/A));a=h>0?[0,z]:[z,0]}else a=M?[Math.max(0,E),Math.max(1,C)]:[E,C]}else k?(y.val>=0&&(y={val:0,pad:0}),x.val<=0&&(x={val:0,pad:0})):M&&(y.val-S*o(y)<0&&(y={val:0,pad:0}),x.val<=0&&(x={val:1,pad:0})),S=(x.val-y.val)/(A-o(y)-o(x)),a=[y.val-S*o(y),x.val+S*o(x)];return d&&a.reverse(),i.simpleMap(a,e.l2r||Number)}function s(t){var e=t._length/20;return\"domain\"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function l(t,e){var r,n,i,a=e._id,o=t._fullData,s=t._fullLayout,l=[],f=[];function h(t,e){for(r=0;r<e.length;r++){var o=t[e[r]],s=(o._extremes||{})[a];if(!0===o.visible&&s){for(n=0;n<s.min.length;n++)i=s.min[n],c(l,i.val,i.pad,{extrapad:i.extrapad});for(n=0;n<s.max.length;n++)i=s.max[n],u(f,i.val,i.pad,{extrapad:i.extrapad})}}}return h(o,e._traceIndices),h(s.annotations||[],e._annIndices||[]),h(s.shapes||[],e._shapeIndices||[]),{min:l,max:f}}function c(t,e,r,n){f(t,e,r,n,p)}function u(t,e,r,n){f(t,e,r,n,d)}function f(t,e,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<t.length&&s;l++){var c=t[l];if(i(c.val,e)&&c.pad>=r&&(c.extrapad||!o)){s=!1;break}i(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=a&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function h(t){return n(t)&&Math.abs(t)<a}function p(t,e){return t<=e}function d(t,e){return t>=e}e.exports={getAutoRange:o,makePadFn:s,doAutoRange:function(t,e){e._length||e.setScale();var r;e.autorange&&(e.range=o(t,e),e._r=e.range.slice(),e._rl=i.simpleMap(e._r,e.r2l),(r=e._input).range=e.range.slice(),r.autorange=e.autorange);if(e._anchorAxis&&e._anchorAxis.rangeslider){var n=e._anchorAxis.rangeslider[e._name];n&&\"auto\"===n.rangemode&&(n.range=o(t,e)),(r=e._anchorAxis._input).rangeslider[e._name]=i.extendFlat({},n)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var i,o,s,l,f,p,d,g,m,v=[],y=[],x=e.length,b=r.padded||!1,_=r.tozero&&(\"linear\"===t.type||\"-\"===t.type),w=\"log\"===t.type,k=!1;function M(t){if(Array.isArray(t))return k=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var A=M((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),T=M((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),S=M(r.vpadplus||r.vpad),E=M(r.vpadminus||r.vpad);if(!k){if(g=1/0,m=-1/0,w)for(i=0;i<x;i++)(o=e[i])<g&&o>0&&(g=o),o>m&&o<a&&(m=o);else for(i=0;i<x;i++)(o=e[i])<g&&o>-a&&(g=o),o>m&&o<a&&(m=o);e=[g,m],x=2}var C={tozero:_,extrapad:b};function L(r){s=e[r],n(s)&&(p=A(r),d=T(r),g=s-E(r),m=s+S(r),w&&g<m/10&&(g=m/10),l=t.c2l(g),f=t.c2l(m),_&&(l=Math.min(0,l),f=Math.max(0,f)),h(l)&&c(v,l,d,C),h(f)&&u(y,f,p,C))}var z=Math.min(6,x);for(i=0;i<z;i++)L(i);for(i=x-1;i>=z;i--)L(i);return{min:v,max:y}},concatExtremes:l}},{\"../../constants/numerical\":670,\"../../lib\":693,\"fast-isnumeric\":213}],742:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../components/titles\"),u=t(\"../../components/color\"),f=t(\"../../components/drawing\"),h=t(\"./layout_attributes\"),p=t(\"../../constants/numerical\"),d=p.ONEAVGYEAR,g=p.ONEAVGMONTH,m=p.ONEDAY,v=p.ONEHOUR,y=p.ONEMIN,x=p.ONESEC,b=p.MINUS_SIGN,_=p.BADNUM,w=t(\"../../constants/alignment\").MID_SHIFT,k=t(\"../../constants/alignment\").LINE_SPACING,M=e.exports={};M.setConvert=t(\"./set_convert\");var A=t(\"./axis_autotype\"),T=t(\"./axis_ids\");M.id2name=T.id2name,M.name2id=T.name2id,M.cleanId=T.cleanId,M.list=T.list,M.listIds=T.listIds,M.getFromId=T.getFromId,M.getFromTrace=T.getFromTrace;var S=t(\"./autorange\");M.getAutoRange=S.getAutoRange,M.findExtremes=S.findExtremes,M.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+\"axis\"],c=n+\"ref\",u={};return i||(i=l[0]||a),a||(a=i),u[c]={valType:\"enumerated\",values:l.concat(a?[a]:[]),dflt:i},s.coerce(t,e,u,c)},M.coercePosition=function(t,e,r,n,i,a){var o,l;if(\"paper\"===n||\"pixel\"===n)o=s.ensureNumber,l=r(i,a);else{var c=M.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},M.cleanPosition=function(t,e,r){return(\"paper\"===r||\"pixel\"===r?s.ensureNumber:M.getFromId(e,r).cleanPos)(t)};var E=M.getDataConversions=function(t,e,r,n){var i,a=\"x\"===r||\"y\"===r||\"z\"===r?r:n;if(Array.isArray(a)){if(i={type:A(n),_categories:[]},M.setConvert(i),\"category\"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=M.getFromTrace(t,e,a);return i?{d2c:i.d2c,c2d:i.c2d}:\"ids\"===a?{d2c:L,c2d:L}:{d2c:C,c2d:C}};function C(t){return+t}function L(t){return String(t)}M.getDataToCoordFunc=function(t,e,r,n){return E(t,e,r,n).d2c},M.counterLetter=function(t){var e=t.charAt(0);return\"x\"===e?\"y\":\"y\"===e?\"x\":void 0},M.minDtick=function(t,e,r,n){-1===[\"log\",\"category\"].indexOf(t.type)&&n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&&((t._minDtick/e+1e-6)%1<2e-6&&((r-t._forceTick0)/e%1+1.000001)%1<2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1>2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},M.saveRangeInitial=function(t,e){for(var r=M.list(t,\"\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},M.saveShowSpikeInitial=function(t,e){for(var r=M.list(t,\"\",!0),n=!1,i=\"on\",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),\"on\"!==i||o.showspikes||(i=\"off\")}return t._fullLayout._cartesianSpikesEnabled=i,n},M.autoBin=function(t,e,r,n,a){var o,l,c=s.aggNums(Math.min,null,t),u=s.aggNums(Math.max,null,t);if(a||(a=e.calendar),\"category\"===e.type)return{start:c-.5,end:u+.5,size:1,_dataSpan:u-c};if(r)o=(u-c)/r;else{var f=s.distinctVals(t),h=Math.pow(10,Math.floor(Math.log(f.minDiff)/Math.LN10)),p=h*s.roundUp(f.minDiff/h,[.9,1.9,4.9,9.9],!0);o=Math.max(p,2*s.stdev(t)/Math.pow(t.length,n?.25:.4)),i(o)||(o=1)}l=\"log\"===e.type?{type:\"linear\",range:[c,u]}:{type:e.type,range:s.simpleMap([c,u],e.c2r,0,a),calendar:a},M.setConvert(l),M.autoTicks(l,o);var d,g=M.tickIncrement(M.tickFirst(l),l.dtick,\"reverse\",a);if(\"number\"==typeof l.dtick)d=(g=function(t,e,r,n,a){var o=0,s=0,l=0,c=0;function u(e){return(1+100*(e-t)/r.dtick)%100<2}for(var f=0;f<e.length;f++)e[f]%1==0?l++:i(e[f])||c++,u(e[f])&&o++,u(e[f]+r.dtick/2)&&s++;var h=e.length-c;if(l===h&&\"date\"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*h&&(o>.3*h||u(n)||u(a))){var p=r.dtick/2;t+=t+p<n?p:-p}return t}(g,t,l,c,u))+(1+Math.floor((u-g)/l.dtick))*l.dtick;else for(\"M\"===l.dtick.charAt(0)&&(g=function(t,e,r,n,i){var a=s.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=M.tickIncrement(t,\"M6\",\"reverse\")+1.5*m:a.exactMonths>.8?t=M.tickIncrement(t,\"M1\",\"reverse\")+15.5*m:t-=m/2;var l=M.tickIncrement(t,r);if(l<=n)return l}return t}(g,t,l.dtick,c,a)),d=g,0;d<=u;)d=M.tickIncrement(d,l.dtick,!1,a),0;return{start:e.c2r(g,0,a),end:e.c2r(d,0,a),size:l.dtick,_dataSpan:u-c}},M.prepTicks=function(t){var e=s.simpleMap(t.range,t.r2l);if(\"auto\"===t.tickmode||!t.dtick){var r,n=t.nticks;n||(\"category\"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r=\"y\"===t._id.charAt(0)?40:80,n=s.constrain(t._length/r,4,9)+1),\"radialaxis\"===t._name&&(n*=2)),\"array\"===t.tickmode&&(n*=100),M.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}t.tick0||(t.tick0=\"date\"===t.type?\"2000-01-01\":0),\"date\"===t.type&&t.dtick<.1&&(t.dtick=.1),N(t)},M.calcTicks=function(t){M.prepTicks(t);var e=s.simpleMap(t.range,t.r2l);if(\"array\"===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=s.simpleMap(t.range,t.r2l),l=1.0001*o[0]-1e-4*o[1],c=1.0001*o[1]-1e-4*o[0],u=Math.min(l,c),f=Math.max(l,c),h=0;Array.isArray(i)||(i=[]);var p=\"category\"===t.type?t.d2l_noadd:t.d2l;\"log\"===t.type&&\"L\"!==String(t.dtick).charAt(0)&&(t.dtick=\"L\"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(r=0;r<n.length;r++)(e=p(n[r]))>u&&e<f&&(void 0===i[r]?a[h]=M.tickText(t,e):a[h]=j(t,e,String(i[r])),h++);h<n.length&&a.splice(h,n.length-h);return a}(t);t._tmin=M.tickFirst(t);var r=1.0001*e[0]-1e-4*e[1],n=1.0001*e[1]-1e-4*e[0],i=e[1]<e[0];if(t._tmin<r!==i)return[];var a=[];\"category\"===t.type&&(n=i?Math.max(-.5,n):Math.min(t._categories.length-.5,n));for(var o=null,l=Math.max(1e3,t._length||0),c=t._tmin;(i?c>=n:c<=n)&&!(a.length>l||c===o);c=M.tickIncrement(c,t.dtick,i,t.calendar))o=c,a.push(c);Z(t)&&360===Math.abs(e[1]-e[0])&&a.pop(),t._tmax=a[a.length-1],t._prevDateHead=\"\",t._inCalcTicks=!0;for(var u=new Array(a.length),f=0;f<a.length;f++)u[f]=M.tickText(t,a[f]);return t._inCalcTicks=!1,u};var z=[2,5,10],P=[1,2,3,6,12],O=[1,2,5,10,15,30],I=[1,2,3,7,14],D=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],R=[-.301,0,.301,.699,1],B=[15,30,45,90,180];function F(t,e,r){return e*s.roundUp(t/e,r)}function N(t){var e=t.dtick;if(t._tickexponent=0,i(e)||\"string\"==typeof e||(e=1),\"category\"===t.type&&(t._tickround=null),\"date\"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,\"\"),a=n.length;if(\"M\"===String(e).charAt(0))a>10||\"01-01\"!==n.substr(5)?t._tickround=\"d\":t._tickround=+e.substr(1)%12==0?\"y\":\"m\";else if(e>=m&&a<=10||e>=15*m)t._tickround=\"d\";else if(e>=y&&a<=16||e>=v)t._tickround=\"M\";else if(e>=x&&a<=19||e>=y)t._tickround=\"S\";else{var o=t.l2r(r+e).replace(/^-/,\"\").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||\"L\"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(c)>3&&(U(t.exponentformat)&&!q(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function j(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||\"\",fontSize:n.size,font:n.family,fontColor:n.color}}M.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if(\"date\"===t.type){t.tick0=s.dateTick0(t.calendar);var a=2*e;a>d?(e/=d,r=n(10),t.dtick=\"M\"+12*F(e,r,z)):a>g?(e/=g,t.dtick=\"M\"+F(e,1,P)):a>m?(t.dtick=F(e,m,I),t.tick0=s.dateTick0(t.calendar,!0)):a>v?t.dtick=F(e,v,P):a>y?t.dtick=F(e,y,O):a>x?t.dtick=F(e,x,O):(r=n(10),t.dtick=F(e,r,z))}else if(\"log\"===t.type){t.tick0=0;var o=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var l=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/l,r=n(10),t.dtick=\"L\"+F(e,r,z)}else t.dtick=e>.3?\"D2\":\"D1\"}else\"category\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):Z(t)?(t.tick0=0,r=1,t.dtick=F(e,r,B)):(t.tick0=0,r=n(10),t.dtick=F(e,r,z));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&\"string\"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,\"ax.dtick error: \"+String(c)}},M.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return t+o*e;var l=e.charAt(0),c=o*Number(e.substr(1));if(\"M\"===l)return s.incrementMonth(t,c,a);if(\"L\"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if(\"D\"===l){var u=\"D2\"===e?R:D,f=t+.01*o,h=s.roundUp(s.mod(f,1),u,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw\"unrecognized dtick \"+String(e)},M.tickFirst=function(t){var e=t.r2l||Number,r=s.simpleMap(t.range,e),a=r[1]<r[0],o=a?Math.floor:Math.ceil,l=1.0001*r[0]-1e-4*r[1],c=t.dtick,u=e(t.tick0);if(i(c)){var f=o((l-u)/c)*c+u;return\"category\"===t.type&&(f=s.constrain(f,0,t._categories.length-1)),f}var h=c.charAt(0),p=Number(c.substr(1));if(\"M\"===h){for(var d,g,m,v=0,y=u;v<10;){if(((d=M.tickIncrement(y,c,a,t.calendar))-l)*(y-l)<=0)return a?Math.min(y,d):Math.max(y,d);g=(l-(y+d)/2)/(d-y),m=h+(Math.abs(Math.round(g))||1)*p,y=M.tickIncrement(y,m,g<0?!a:a,t.calendar),v++}return s.error(\"tickFirst did not converge\",t),y}if(\"L\"===h)return Math.log(o((Math.pow(10,l)-u)/p)*p+u)/Math.LN10;if(\"D\"===h){var x=\"D2\"===c?R:D,b=s.roundUp(s.mod(l,1),x,a);return Math.floor(l)+Math.log(n.round(Math.pow(10,b),1))/Math.LN10}throw\"unrecognized dtick \"+String(c)},M.tickText=function(t,e,r){var n,a,o=j(t,e),l=\"array\"===t.tickmode,c=r||l,u=\"category\"===t.type?t.d2l_noadd:t.d2l;if(l&&Array.isArray(t.ticktext)){var f=s.simpleMap(t.range,t.r2l),h=Math.abs(f[1]-f[0])/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-u(t.tickvals[a]))<h);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}function p(n){var i;return void 0===n||(r?\"none\"===n:(i={first:t._tmin,last:t._tmax}[n],\"all\"!==n&&e!==i))}return n=r?\"never\":\"none\"!==t.exponentformat&&p(t.showexponent)?\"hide\":\"\",\"date\"===t.type?function(t,e,r,n){var a=t._tickround,o=r&&t.hoverformat||M.getTickFormat(t);n&&(a=i(a)?4:{y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:4}[a]);var l,c=s.formatDate(e.x,o,a,t._dateFormat,t.calendar,t._extraFormat),u=c.indexOf(\"\\n\");-1!==u&&(l=c.substr(u+1),c=c.substr(0,u));n&&(\"00:00:00\"===c||\"00:00\"===c?(c=l,l=\"\"):8===c.length&&(c=c.replace(/:00$/,\"\")));l&&(r?\"d\"===a?c+=\", \"+l:c=l+(c?\", \"+c:\"\"):t._inCalcTicks&&l===t._prevDateHead||(c+=\"<br>\"+l,t._prevDateHead=l));e.text=c}(t,o,r,c):\"log\"===t.type?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat,u=\"string\"==typeof o&&o.charAt(0);\"never\"===a&&(a=\"\");n&&\"L\"!==u&&(o=\"L3\",u=\"L\");if(c||\"L\"===u)e.text=H(Math.pow(10,l),t,a,n);else if(i(o)||\"D\"===u&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;\"power\"===p||U(p)&&q(f)?(e.text=0===f?1:1===f?\"10\":\"10<sup>\"+(f>1?\"\":b)+h+\"</sup>\",e.fontSize*=1.25):(\"e\"===p||\"E\"===p)&&h>2?e.text=\"1\"+p+(f>0?\"+\":b)+h:(e.text=H(Math.pow(10,l),t,\"\",\"fakehover\"),\"D1\"===o&&\"y\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\"D\"!==u)throw\"unrecognized dtick \"+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if(\"D1\"===t.dtick){var d=String(e.text).charAt(0);\"0\"!==d&&\"1\"!==d||(\"y\"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,n):\"category\"===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\"\");e.text=String(r)}(t,o):Z(t)?function(t,e,r,n,i){if(\"radians\"!==t.thetaunit||r)e.text=H(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=\"0\";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=H(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text=\"\\u03c0\":e.text=o[0]+\"\\u03c0\":e.text=[\"<sup>\",o[0],\"</sup>\",\"\\u2044\",\"<sub>\",o[1],\"</sub>\",\"\\u03c0\"].join(\"\"),l&&(e.text=b+e.text)}}}}(t,o,r,c,n):function(t,e,r,n,i){\"never\"===i?i=\"\":\"all\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\"hide\");e.text=H(e.x,t,i,n)}(t,o,0,c,n),t.tickprefix&&!p(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!p(t.showticksuffix)&&(o.text+=t.ticksuffix),o},M.hoverLabelText=function(t,e,r){if(r!==_&&r!==e)return M.hoverLabelText(t,e)+\" - \"+M.hoverLabelText(t,r);var n=\"log\"===t.type&&e<=0,i=M.tickText(t,t.c2l(n?-e:e),\"hover\").text;return n?0===e?\"0\":b+i:i};var V=[\"f\",\"p\",\"n\",\"\\u03bc\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function U(t){return\"SI\"===t||\"B\"===t}function q(t){return t>14||t<-15}function H(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||\"B\",c=e._tickexponent,u=M.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,dtick:\"none\"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:\"none\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};N(h),o=(Number(h._tickround)||0)+4,c=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,b);var p,d=Math.pow(10,-o)/2;if(\"none\"===l&&(c=0),(t=Math.abs(t))<d)t=\"0\",a=!1;else{if(t+=d,c&&(t*=Math.pow(10,-c),o+=c),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var g=o;g<0;g++)t+=\"0\"}else{var m=(t=String(t)).indexOf(\".\")+1;m&&(t=t.substr(0,m+o).replace(/\\.?0+$/,\"\"))}t=s.numSeparate(t,e._separators,f)}c&&\"hide\"!==l&&(U(l)&&q(c)&&(l=\"power\"),p=c<0?b+-c:\"power\"!==l?\"+\"+c:String(c),\"e\"===l||\"E\"===l?t+=l+p:\"power\"===l?t+=\"\\xd710<sup>\"+p+\"</sup>\":\"B\"===l&&9===c?t+=\"B\":U(l)&&(t+=V[c/3+5]));return a?b+t:t}function G(t,e){var r=t.l2p(e);return r>1&&r<t._length-1}function W(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function Y(t,e,r){var n,i,a=[],o=[],l=t.layout;for(n=0;n<e.length;n++)a.push(M.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(M.getFromId(t,r[n]));var c=Object.keys(h),u=[\"anchor\",\"domain\",\"overlaying\",\"position\",\"side\",\"tickangle\",\"editType\"],f=[\"linear\",\"log\"];for(n=0;n<c.length;n++){var p=c[n],d=a[0][p],g=o[0][p],m=!0,v=!1,y=!1;if(\"_\"!==p.charAt(0)&&\"function\"!=typeof d&&-1===u.indexOf(p)){for(i=1;i<a.length&&m;i++){var x=a[i][p];\"type\"===p&&-1!==f.indexOf(d)&&-1!==f.indexOf(x)&&d!==x?v=!0:x!==d&&(m=!1)}for(i=1;i<o.length&&m;i++){var b=o[i][p];\"type\"===p&&-1!==f.indexOf(g)&&-1!==f.indexOf(b)&&g!==b?y=!0:o[i][p]!==g&&(m=!1)}m&&(v&&(l[a[0]._name].type=\"linear\"),y&&(l[o[0]._name].type=\"linear\"),X(l,p,a,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var _=t._fullLayout.annotations[n];-1!==e.indexOf(_.xref)&&-1!==r.indexOf(_.yref)&&s.swapAttrs(l.annotations[n],[\"?\"])}}function X(t,e,r,n,i){var a,o=s.nestedProperty,l=o(t[r[0]._name],e).get(),c=o(t[n[0]._name],e).get();for(\"title\"===e&&(l===i.x&&(l=i.y),c===i.y&&(c=i.x)),a=0;a<r.length;a++)o(t,r[a]._name+\".\"+e).set(c);for(a=0;a<n.length;a++)o(t,n[a]._name+\".\"+e).set(l)}function Z(t){return\"angularaxis\"===t._id}M.getTickFormat=function(t){var e,r,n,i,a,o,s,l;function c(t){return\"string\"!=typeof t?t:Number(t.replace(\"M\",\"\"))*g}function u(t,e){var r=[\"L\",\"D\"];if(typeof t==typeof e){if(\"number\"==typeof t)return t-e;var n=r.indexOf(t.charAt(0)),i=r.indexOf(e.charAt(0));return n===i?Number(t.replace(/(L|D)/g,\"\"))-Number(e.replace(/(L|D)/g,\"\")):n-i}return\"number\"==typeof t?1:-1}function f(t,e){var r=null===e[0],n=null===e[1],i=u(t,e[0])>=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case\"date\":case\"linear\":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&(i=t.dtick,a=n.dtickrange,o=void 0,void 0,void 0,o=c||function(t){return t},s=a[0],l=a[1],(!s&&\"number\"!=typeof s||o(s)<=o(i))&&(!l&&\"number\"!=typeof l||o(l)>=o(i)))){r=n;break}break;case\"log\":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&f(t.dtick,n.dtickrange)){r=n;break}}return r?r.value:t.tickformat},M.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?M.findSubplotsWithAxis(n,e):n;return i.sort(function(t,e){var r=t.substr(1).split(\"y\"),n=e.substr(1).split(\"y\");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]}),i},M.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(\"x\"===e._id.charAt(0)?\"^\"+e._id+\"y\":e._id+\"$\"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},M.makeClipPaths=function(t){var e=t._fullLayout;if(!e._hasOnlyLargeSploms){var r,i,a={_offset:0,_length:e.width,_id:\"\"},o={_offset:0,_length:e.height,_id:\"\"},s=M.list(t,\"x\",!0),l=M.list(t,\"y\",!0),c=[];for(r=0;r<s.length;r++)for(c.push({x:s[r],y:o}),i=0;i<l.length;i++)0===r&&c.push({x:a,y:l[i]}),c.push({x:s[r],y:l[i]});var u=e._clips.selectAll(\".axesclip\").data(c,function(t){return t.x._id+t.y._id});u.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",function(t){return\"clip\"+e._uid+t.x._id+t.y._id}).append(\"rect\"),u.exit().remove(),u.each(function(t){n.select(this).select(\"rect\").attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})})}},M.doTicks=function(t,e,r){var n=t._fullLayout;\"redraw\"===e&&n._paper.selectAll(\"g.subplot\").each(function(t){var e=t[0],r=n._plots[e],i=r.xaxis,a=r.yaxis;r.xaxislayer.selectAll(\".\"+i._id+\"tick\").remove(),r.yaxislayer.selectAll(\".\"+a._id+\"tick\").remove(),r.gridlayer&&r.gridlayer.selectAll(\"path\").remove(),r.zerolinelayer&&r.zerolinelayer.selectAll(\"path\").remove(),n._infolayer.select(\".g-\"+i._id+\"title\").remove(),n._infolayer.select(\".g-\"+a._id+\"title\").remove()});var i=e&&\"redraw\"!==e?e:M.listIds(t);s.syncOrAsync(i.map(function(e){return function(){if(e){var n=M.doTicksSingle(t,e,r),i=M.getFromId(t,e);return i._r=i.range.slice(),i._rl=s.simpleMap(i._r,i.r2l),n}}}))},M.doTicksSingle=function(t,e,r){var o,h=t._fullLayout,p=!1;s.isPlainObject(e)?(o=e,p=!0):o=M.getFromId(t,e),o.setScale();var d,g,m,v,y,x,b=o._id,_=b.charAt(0),A=M.counterLetter(b),S=o._vals=M.calcTicks(o),E=function(t){return[t.text,t.x,o.mirror,t.font,t.fontSize,t.fontColor].join(\"_\")},C=b+\"tick\",L=b+\"grid\",z=b+\"zl\",P=(o.linewidth||1)/2,O=\"outside\"===o.ticks?o.ticklen:0,I=0,D=f.crispRound(t,o.gridwidth,1),R=f.crispRound(t,o.zerolinewidth,D),B=f.crispRound(t,o.tickwidth,1);if(o._counterangle&&\"outside\"===o.ticks){var F=o._counterangle*Math.PI/180;O=o.ticklen*Math.cos(F)+1,I=o.ticklen*Math.sin(F)}if(o.showticklabels&&(\"outside\"===o.ticks||o.showline)&&(O+=.2*o.tickfont.size),\"x\"===_)d=[\"bottom\",\"top\"],g=o._transfn||function(t){return\"translate(\"+(o._offset+o.l2p(t.x))+\",0)\"},m=function(t,e){if(o._counterangle){var r=o._counterangle*Math.PI/180;return\"M0,\"+t+\"l\"+Math.sin(r)*e+\",\"+Math.cos(r)*e}return\"M0,\"+t+\"v\"+e};else if(\"y\"===_)d=[\"left\",\"right\"],g=o._transfn||function(t){return\"translate(0,\"+(o._offset+o.l2p(t.x))+\")\"},m=function(t,e){if(o._counterangle){var r=o._counterangle*Math.PI/180;return\"M\"+t+\",0l\"+Math.cos(r)*e+\",\"+-Math.sin(r)*e}return\"M\"+t+\",0h\"+e};else{if(!Z(o))return void s.warn(\"Unrecognized doTicks axis:\",b);d=[\"left\",\"right\"],g=o._transfn,m=function(t,e){return\"M\"+t+\",0h\"+e}}var N=o.side||d[0],j=[-1,1,N===d[1]?1:-1];if(\"inside\"!==o.ticks==(\"x\"===_)&&(j=j.map(function(t){return-t})),o.visible){o._tickFilter&&(S=S.filter(o._tickFilter));var V=o._valsClipped=Z(o)?S:S.filter(function(t){return G(o,t.x)});if(p){if($(o._axislayer,m(o._pos+P*j[2],j[2]*o.ticklen)),o._counteraxis)Q({gridlayer:o._gridlayer,zerolinelayer:o._zerolinelayer},o._counteraxis);return J(o._axislayer,o._pos)}if(h._has(\"cartesian\")){v=M.getSubplots(t,o);var U={};v.map(function(t){var e=h._plots[t],r=e[A+\"axis\"],n=r._mainAxis._id;U[n]||(U[n]=1,Q(e,r))});var q=o._mainSubplot,H=h._plots[q],W=[];if(o.ticks){var Y=j[2],X=m(o._mainLinePosition+P*Y,Y*o.ticklen);o._anchorAxis&&o.mirror&&!0!==o.mirror&&(X+=m(o._mainMirrorPosition-P*Y,-Y*o.ticklen)),$(H[_+\"axislayer\"],X),W=Object.keys(o._linepositions||{})}return W.map(function(t){var e=h._plots[t][_+\"axislayer\"],r=o._linepositions[t]||[];function n(t){var e=j[t];return m(r[t]+P*e,e*o.ticklen)}$(e,n(0)+n(1))}),J(H[_+\"axislayer\"],o._mainLinePosition)}}function $(t,e){var r=t.selectAll(\"path.\"+C).data(\"inside\"===o.ticks?V:S,E);e&&o.ticks?(r.enter().append(\"path\").classed(C,1).classed(\"ticks\",1).classed(\"crisp\",1).call(u.stroke,o.tickcolor).style(\"stroke-width\",B+\"px\").attr(\"d\",e),r.attr(\"transform\",g),r.exit().remove()):r.remove()}function J(e,r){if(y=e.selectAll(\"g.\"+C).data(S,E),!i(r))return y.remove(),void K();if(!o.showticklabels)return y.remove(),K(),void z();var c,u,p,d,m;\"x\"===_?(c=function(t){return t.dx+I*m},d=r+(O+P)*(m=\"bottom\"===N?1:-1),u=function(t){return t.dy+d+t.fontSize*(\"bottom\"===N?1:-.2)},p=function(t){return i(t)&&0!==t&&180!==t?t*m<0?\"end\":\"start\":\"middle\"}):\"y\"===_?(m=\"right\"===N?1:-1,u=function(t){return t.dy+t.fontSize*w-I*m},c=function(t){return t.dx+r+(O+P+(90===Math.abs(o.tickangle)?t.fontSize/2:0))*m},p=function(t){return i(t)&&90===Math.abs(t)?\"middle\":\"right\"===N?\"start\":\"end\"}):Z(o)&&(o._labelShift=I,o._labelStandoff=O,o._pad=P,c=o._labelx,u=o._labely,p=o._labelanchor);var M=0,A=0,T=[];function L(t,e){t.each(function(t){var r=p(e,t),a=n.select(this),o=a.select(\".text-math-group\"),s=g.call(a.node(),t)+(i(e)&&0!=+e?\" rotate(\"+e+\",\"+c(t)+\",\"+(u(t)-t.fontSize/2)+\")\":\"\"),h=function(t,e,r){var n=(t-1)*e;if(\"x\"===_){if(r<-60||60<r)return-.5*n;if(\"top\"===N)return-n}else{if((r*=\"left\"===N?1:-1)<-30)return-n;if(r<30)return-.5*n}return 0}(l.lineCount(a),k*t.fontSize,i(e)?+e:0);if(h&&(s+=\" translate(0, \"+h+\")\"),o.empty())a.select(\"text\").attr({transform:s,\"text-anchor\":r});else{var d=f.bBox(o.node()).width*{end:-.5,start:.5}[r];o.attr(\"transform\",s+(d?\"translate(\"+d+\",0)\":\"\"))}})}function z(){if(o.showticklabels){var r=t.getBoundingClientRect(),n=e.node().getBoundingClientRect();o._boundingBox={width:n.width,height:n.height,left:n.left-r.left,right:n.right-r.left,top:n.top-r.top,bottom:n.bottom-r.top}}else{var i,a=h._size;\"x\"===_?(i=\"free\"===o.anchor?a.t+a.h*(1-o.position):a.t+a.h*(1-o._anchorAxis.domain[{bottom:0,top:1}[o.side]]),o._boundingBox={top:i,bottom:i,left:o._offset,right:o._offset+o._length,width:o._length,height:0}):(i=\"free\"===o.anchor?a.l+a.w*o.position:a.l+a.w*o._anchorAxis.domain[{left:0,right:1}[o.side]],o._boundingBox={left:i,right:i,bottom:o._offset+o._length,top:o._offset,height:o._length,width:0})}if(v){var s=o._counterSpan=[1/0,-1/0];for(x=0;x<v.length;x++){var l=h._plots[v[x]][\"x\"===_?\"yaxis\":\"xaxis\"];c(s,[l._offset,l._offset+l._length])}\"free\"===o.anchor&&c(s,\"x\"===_?[o._boundingBox.bottom,o._boundingBox.top]:[o._boundingBox.right,o._boundingBox.left])}function c(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}}y.enter().append(\"g\").classed(C,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(e){var r=n.select(this),i=t._promises.length;r.call(l.positionText,c(e),u(e)).call(f.font,e.font,e.fontSize,e.fontColor).text(e.text).call(l.convertToTspans,t),(i=t._promises[i])?T.push(t._promises.pop().then(function(){L(r,o.tickangle)})):L(r,o.tickangle)}),y.exit().remove(),y.each(function(t){M=Math.max(M,t.fontSize)}),Z(o)&&y.each(function(t){n.select(this).select(\"text\").call(l.positionText,c(t),u(t))}),L(y,o._lastangle||o.tickangle);var D=s.syncOrAsync([function(){return T.length&&Promise.all(T)},function(){if(L(y,o.tickangle),\"x\"===_&&!i(o.tickangle)&&(\"log\"!==o.type||\"D\"!==String(o.dtick).charAt(0))){var t=[];for(y.each(function(e){var r=n.select(this),i=r.select(\".text-math-group\"),a=o.l2p(e.x);i.empty()&&(i=r.select(\"text\"));var s=f.bBox(i.node());t.push({top:0,bottom:10,height:10,left:a-s.width/2,right:a+s.width/2+2,width:s.width+2})}),x=0;x<t.length-1;x++)if(s.bBoxIntersect(t[x],t[x+1])){A=30;break}A&&(Math.abs((S[S.length-1].x-S[0].x)*o._m)/(S.length-1)<2.5*M&&(A=90),L(y,A)),o._lastangle=A}return K(),b+\" done\"},z,function(){var e=o._name+\".automargin\";if(\"x\"===_||\"y\"===_)if(o.automargin){var r=o.side[0],n={x:0,y:0,r:0,l:0,t:0,b:0};\"x\"===_?(n.y=\"free\"===o.anchor?o.position:o._anchorAxis.domain[\"t\"===r?1:0],n[r]+=o._boundingBox.height):(n.x=\"free\"===o.anchor?o.position:o._anchorAxis.domain[\"r\"===r?1:0],n[r]+=o._boundingBox.width),o.title!==h._dfltTitle[_]&&(n[r]+=o.titlefont.size),a.autoMargin(t,e,n)}else a.autoMargin(t,e)}]);return D&&D.then&&t._promises.push(D),D}function K(){if(!(r||o.rangeslider&&o.rangeslider.visible&&o._boundingBox&&\"bottom\"===o.side)){var e,n,i,a,s={selection:y,side:o.side},l=b.charAt(0),u=t._fullLayout._size,p=o.titlefont.size;if(y.size()){var d=f.getTranslate(y.node().parentNode);s.offsetLeft=d.x,s.offsetTop=d.y}var g=10+1.5*p+(o.linewidth?o.linewidth-1:0);\"x\"===l?(n=\"free\"===o.anchor?{_offset:u.t+(1-(o.position||0))*u.h,_length:0}:T.getFromId(t,o.anchor),i=o._offset+o._length/2,a=\"top\"===o.side?-g-p*(o.showticklabels?1:0):n._length+g+p*(o.showticklabels?1.5:.5),a+=n._offset,s.side||(s.side=\"bottom\")):(n=\"free\"===o.anchor?{_offset:u.l+(o.position||0)*u.w,_length:0}:T.getFromId(t,o.anchor),a=o._offset+o._length/2,i=\"right\"===o.side?n._length+g+p*(o.showticklabels?1:.5):-g-p*(o.showticklabels?.5:0),i+=n._offset,e={rotate:\"-90\",offset:0},s.side||(s.side=\"left\")),c.draw(t,b+\"title\",{propContainer:o,propName:o._name+\".title\",placeholder:h._dfltTitle[l],avoid:s,transform:e,attributes:{x:i,y:a,\"text-anchor\":\"middle\"}})}}function Q(e,r){if(!h._hasOnlyLargeSploms){var i=e.gridlayer.selectAll(\".\"+b),a=e.zerolinelayer,s=o._gridpath||(\"x\"===_?\"M0,\"+r._offset+\"v\":\"M\"+r._offset+\",0h\")+r._length,l=i.selectAll(\"path.\"+L).data(!1===o.showgrid?[]:V,E);if(l.enter().append(\"path\").classed(L,1).classed(\"crisp\",1).attr(\"d\",s).each(function(t){o.zeroline&&(\"linear\"===o.type||\"-\"===o.type)&&Math.abs(t.x)<o.dtick/100&&n.select(this).remove()}),l.attr(\"transform\",g).call(u.stroke,o.gridcolor||\"#ddd\").style(\"stroke-width\",D+\"px\"),\"function\"==typeof s&&l.attr(\"d\",s),l.exit().remove(),a){var c={x:0,id:b},f=M.shouldShowZeroLine(t,o,r),p=a.selectAll(\"path.\"+z).data(f?[c]:[]);p.enter().append(\"path\").classed(z,1).classed(\"zl\",1).classed(\"crisp\",1).attr(\"d\",s).each(function(){a.selectAll(\"path\").sort(function(t,e){return T.idSort(t.id,e.id)})}),p.attr(\"transform\",g).call(u.stroke,o.zerolinecolor||u.defaultLine).style(\"stroke-width\",R+\"px\"),p.exit().remove()}}}},M.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&(\"linear\"===e.type||\"-\"===e.type)&&e._valsClipped.length&&(G(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(!i)return;var a=t._fullLayout,o=e._id.charAt(0),s=M.counterLetter(e._id),l=e._offset+(Math.abs(n[0])<Math.abs(n[1])==(\"x\"===o)?0:e._length);function c(t){if(!t.showline||!t.linewidth)return!1;var r=Math.max((t.linewidth+e.zerolinewidth)/2,1);function n(t){return\"number\"==typeof t&&Math.abs(t-l)<r}if(n(t._mainLinePosition)||n(t._mainMirrorPosition))return!0;var i=t._linepositions||{};for(var a in i)if(n(i[a][0])||n(i[a][1]))return!0}var u=a._plots[r._mainSubplot];if(!(u.mainplotinfo||u).overlays.length)return c(r);for(var f=M.list(t,s),h=0;h<f.length;h++){var p=f[h];if(p._mainAxis===i&&c(p))return!0}}(t,e,r,n)||function(t,e){for(var r=t._fullData,n=e._mainSubplot,i=e._id.charAt(0),a=0;a<r.length;a++){var s=r[a];if(!0===s.visible&&s.xaxis+s.yaxis===n&&(o.traceIs(s,\"bar\")&&s.orientation==={x:\"h\",y:\"v\"}[i]||s.fill&&s.fill.charAt(s.fill.length-1)===i))return!0}return!1}(t,e))},M.allowAutoMargin=function(t){for(var e=M.list(t,\"\",!0),r=0;r<e.length;r++){var n=e[r];n.automargin&&a.allowAutoMargin(t,n._name+\".automargin\"),n.rangeslider&&n.rangeslider.visible&&a.allowAutoMargin(t,\"rangeslider\"+n._id)}},M.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,c=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],W(c.x,l.x),W(c.y,l.y);W(c.x,[o]),W(c.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n<r.length;n++)Y(t,r[n].x,r[n].y)}},{\"../../components/color\":567,\"../../components/drawing\":592,\"../../components/titles\":658,\"../../constants/alignment\":665,\"../../constants/numerical\":670,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../plots/plots\":805,\"../../registry\":825,\"./autorange\":741,\"./axis_autotype\":743,\"./axis_ids\":745,\"./layout_attributes\":754,\"./set_convert\":760,d3:147,\"fast-isnumeric\":213}],743:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e){return function(t,e){for(var r,a=0,o=0,s=Math.max(1,(t.length-1)/1e3),l=0;l<t.length;l+=s)r=t[Math.round(l)],i.isDateTime(r,e)&&(a+=1),n(r)&&(o+=1);return a>2*o}(t,e)?\"date\":function(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,o=0,s=0;s<t.length;s+=r)e=t[Math.round(s)],i.cleanNumber(e)!==a?n++:\"string\"==typeof e&&\"\"!==e&&\"None\"!==e&&o++;return o>2*n}(t)?\"category\":function(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(n(t[e]))return!0;return!1}(t)?\"linear\":\"-\"}},{\"../../constants/numerical\":670,\"../../lib\":693,\"fast-isnumeric\":213}],744:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"./layout_attributes\"),o=t(\"./tick_value_defaults\"),s=t(\"./tick_mark_defaults\"),l=t(\"./tick_label_defaults\"),c=t(\"./category_order_defaults\"),u=t(\"./line_grid_defaults\"),f=t(\"./set_convert\");e.exports=function(t,e,r,h,p){var d=h.letter,g=h.font||{},m=h.splomStash||{},v=r(\"visible\",!h.cheateronly),y=e.type;\"date\"===y&&n.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\",h.calendar);if(f(e,p),!r(\"autorange\",!e.isValidRange(t.range))||\"linear\"!==y&&\"-\"!==y||r(\"rangemode\"),r(\"range\"),e.cleanRange(),c(t,e,r,h),\"category\"===y||h.noHover||r(\"hoverformat\"),!v)return e;var x=r(\"color\"),b=x!==a.color.dflt?x:g.color;return r(\"title\",m.label||p._dfltTitle[d]),i.coerceFont(r,\"titlefont\",{family:g.family,size:Math.round(1.2*g.size),color:b}),o(t,e,r,y),l(t,e,r,y,h),s(t,e,r,h),u(t,e,r,{dfltColor:x,bgColor:h.bgColor,showGrid:h.showGrid,attributes:a}),(e.showline||e.ticks)&&r(\"mirror\"),h.automargin&&r(\"automargin\"),e}},{\"../../lib\":693,\"../../registry\":825,\"./category_order_defaults\":746,\"./layout_attributes\":754,\"./line_grid_defaults\":756,\"./set_convert\":760,\"./tick_label_defaults\":761,\"./tick_mark_defaults\":762,\"./tick_value_defaults\":763}],745:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./constants\");r.id2name=function(t){if(\"string\"==typeof t&&t.match(i.AX_ID_PATTERN)){var e=t.substr(1);return\"1\"===e&&(e=\"\"),t.charAt(0)+\"axis\"+e}},r.name2id=function(t){if(t.match(i.AX_NAME_PATTERN)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(i.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,\"\");return\"1\"===r&&(r=\"\"),t.charAt(0)+r}},r.list=function(t,e,n){var i=t._fullLayout;if(!i)return[];var a,o=r.listIds(t,e),s=new Array(o.length);for(a=0;a<o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+\"axis\"+l.substr(1)]}if(!n){var c=i._subplots.gl3d||[];for(a=0;a<c.length;a++){var u=i[c[a]];e?s.push(u[e+\"axis\"]):s.push(u.xaxis,u.yaxis,u.zaxis)}}return s},r.listIds=function(t,e){var r=t._fullLayout;if(!r)return[];var n=r._subplots;return e?n[e+\"axis\"]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var i=t._fullLayout;return\"x\"===n?e=e.replace(/y[0-9]*/,\"\"):\"y\"===n&&(e=e.replace(/x[0-9]*/,\"\")),i[r.id2name(e)]},r.getFromTrace=function(t,e,i){var a=t._fullLayout,o=null;if(n.traceIs(e,\"gl3d\")){var s=e.scene;\"scene\"===s.substr(0,5)&&(o=a[s][i+\"axis\"])}else o=r.getFromId(t,e[i+\"axis\"]||i);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r>n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)}},{\"../../registry\":825,\"./constants\":747}],746:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){if(\"category\"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i=\"array\");var s,l=r(\"categoryorder\",i);\"array\"===l&&(s=r(\"categoryarray\")),o||\"array\"!==l||(l=e.categoryorder=\"trace\"),\"trace\"===l?e._initialCategories=[]:\"array\"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;n<e.data.length;n++){var s=e.data[n];s[a+\"axis\"]===t._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][a];for(i=0;i<l.length;i++){var c=l[i];null!=c&&(o[c]=1)}}return Object.keys(o)}(e,n).sort(),\"category ascending\"===l?e._initialCategories=s:\"category descending\"===l&&(e._initialCategories=s.reverse()))}}},{}],747:[function(t,e,r){\"use strict\";var n=t(\"../../lib/regex\").counter;e.exports={idRegex:{x:n(\"x\"),y:n(\"y\")},attrRegex:n(\"[xy]axis\"),xAxisMatch:n(\"xaxis\"),yAxisMatch:n(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:\"-select\",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\"heatmaplayer\",\"contourcarpetlayer\",\"contourlayer\",\"barlayer\",\"carpetlayer\",\"violinlayer\",\"boxlayer\",\"ohlclayer\",\"scattercarpetlayer\",\"scatterlayer\"],layerValue2layerClass:{\"above traces\":\"above\",\"below traces\":\"below\"}}},{\"../../lib/regex\":710}],748:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./axis_ids\").id2name;e.exports=function(t,e,r,a,o){var s=o._axisConstraintGroups,l=e._id,c=l.charAt(0);if(!e.fixedrange&&(r(\"constrain\"),n.coerce(t,e,{constraintoward:{valType:\"enumerated\",values:\"x\"===c?[\"left\",\"center\",\"right\"]:[\"bottom\",\"middle\",\"top\"],dflt:\"x\"===c?\"center\":\"middle\"}},\"constraintoward\"),t.scaleanchor)){var u=function(t,e,r,n){var a,o,s,l,c=n[i(e)].type,u=[];for(o=0;o<r.length;o++)(s=r[o])!==e&&((l=n[i(s)]).type!==c||l.fixedrange||u.push(s));for(a=0;a<t.length;a++)if(t[a][e]){var f=t[a],h=[];for(o=0;o<u.length;o++)s=u[o],f[s]||h.push(s);return{linkableAxes:h,thisGroup:f}}return{linkableAxes:u,thisGroup:null}}(s,l,a,o),f=n.coerce(t,e,{scaleanchor:{valType:\"enumerated\",values:u.linkableAxes}},\"scaleanchor\");if(f){var h=r(\"scaleratio\");h||(h=e.scaleratio=1),function(t,e,r,n,i){var a,o,s,l,c;null===e?((e={})[r]=1,c=t.length,t.push(e)):c=t.indexOf(e);var u=Object.keys(e);for(a=0;a<t.length;a++)if(s=t[a],a!==c&&s[n]){var f=s[n];for(o=0;o<u.length;o++)l=u[o],s[l]=f*i*e[l];return void t.splice(c,1)}if(1!==i)for(o=0;o<u.length;o++)e[u[o]]*=i;e[n]=1}(s,u.thisGroup,l,f,h)}else-1!==a.indexOf(t.scaleanchor)&&n.warn(\"ignored \"+e._name+'.scaleanchor: \"'+t.scaleanchor+'\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}}},{\"../../lib\":693,\"./axis_ids\":745}],749:[function(t,e,r){\"use strict\";var n=t(\"./axis_ids\").id2name,i=t(\"./scale_zoom\"),a=t(\"./autorange\").makePadFn,o=t(\"./autorange\").concatExtremes,s=t(\"../../constants/numerical\").ALMOST_EQUAL,l=t(\"../../constants/alignment\").FROM_BL;function c(t,e){var r=t._inputDomain,n=l[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e]}r.enforce=function(t){var e,r,l,u,f,h,p,d=t._fullLayout,g=d._axisConstraintGroups||[];for(e=0;e<g.length;e++){var m=g[e],v=Object.keys(m),y=1/0,x=0,b=1/0,_={},w={},k=!1;for(r=0;r<v.length;r++)w[l=v[r]]=u=d[n(l)],u._inputDomain?u.domain=u._inputDomain.slice():u._inputDomain=u.domain.slice(),u._inputRange||(u._inputRange=u.range.slice()),u.setScale(),_[l]=f=Math.abs(u._m)/m[l],y=Math.min(y,f),\"domain\"!==u.constrain&&u._constraintShrinkable||(b=Math.min(b,f)),delete u._constraintShrinkable,x=Math.max(x,f),\"domain\"===u.constrain&&(k=!0);if(!(y>s*x)||k)for(r=0;r<v.length;r++)if(f=_[l=v[r]],h=(u=w[l]).constrain,f!==b||\"domain\"===h)if(p=f/b,\"range\"===h)i(u,p);else{var M=u._inputDomain,A=(u.domain[1]-u.domain[0])/(M[1]-M[0]),T=(u.r2l(u.range[1])-u.r2l(u.range[0]))/(u.r2l(u._inputRange[1])-u.r2l(u._inputRange[0]));if((p/=A)*T<1){u.domain=u._input.domain=M.slice(),i(u,p);continue}if(T<1&&(u.range=u._input.range=u._inputRange.slice(),p*=T),u.autorange){var S=u.r2l(u.range[0]),E=u.r2l(u.range[1]),C=(S+E)/2,L=C,z=C,P=Math.abs(E-C),O=C-P*p*1.0001,I=C+P*p*1.0001,D=a(u);c(u,p),u.setScale();var R,B,F=Math.abs(u._m),N=o(t,u),j=N.min,V=N.max;for(B=0;B<j.length;B++)(R=j[B].val-D(j[B])/F)>O&&R<L&&(L=R);for(B=0;B<V.length;B++)(R=V[B].val+D(V[B])/F)<I&&R>z&&(z=R);p/=(z-L)/(2*P),L=u.l2r(L),z=u.l2r(z),u.range=u._input.range=S<E?[L,z]:[z,L]}c(u,p)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&\"domain\"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{\"../../constants/alignment\":665,\"../../constants/numerical\":670,\"./autorange\":741,\"./axis_ids\":745,\"./scale_zoom\":758}],750:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"has-passive-events\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../lib/clear_gl_canvases\"),u=t(\"../../components/color\"),f=t(\"../../components/drawing\"),h=t(\"../../components/fx\"),p=t(\"../../lib/setcursor\"),d=t(\"../../components/dragelement\"),g=t(\"../../constants/alignment\").FROM_TL,m=t(\"../plots\"),v=t(\"./axes\").doTicksSingle,y=t(\"./axis_ids\").getFromId,x=t(\"./select\").prepSelect,b=t(\"./select\").clearSelect,_=t(\"./select\").selectOnClick,w=t(\"./scale_zoom\"),k=t(\"./constants\"),M=k.MINDRAG,A=k.MINZOOM,T=!0;function S(t,e,r,n){var i=s.ensureSingle(t.draglayer,e,r,function(e){e.classed(\"drag\",!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",t.id)});return i.call(p,n),i.node()}function E(t,e,r,i,a,o,s){var l=S(t,\"rect\",e,r);return n.select(l).call(f.setRect,i,a,o,s),l}function C(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\"\"}function L(t,e,r,n,i){var a,o,s,l;for(a=0;a<t.length;a++)(o=t[a]).fixedrange||(s=o._rl[0],l=o._rl[1]-s,o.range=[o.l2r(s+l*e),o.l2r(s+l*r)],n[o._name+\".range[0]\"]=o.range[0],n[o._name+\".range[1]\"]=o.range[1]);if(i&&i.length){var c=(e+(1-r))/2;L(i,c,1-c,n)}}function z(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function P(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function O(t,e,r,n,i){return t.append(\"path\").attr(\"class\",\"zoombox\").style({fill:e>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",\"translate(\"+r+\", \"+n+\")\").attr(\"d\",i+\"Z\")}function I(t,e,r){return t.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:u.background,stroke:u.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",\"translate(\"+e+\", \"+r+\")\").attr(\"d\",\"M0,0Z\")}function D(t,e,r,n,i,a){t.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),R(t,e,i,a)}function R(t,e,r,n){r||(t.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),e.transition().style(\"opacity\",1).duration(200))}function B(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function F(t){T&&t.data&&t._context.showTips&&(s.notifier(s._(t,\"Double-click to zoom back out\"),\"long\"),T=!1)}function N(t){return\"lasso\"===t||\"select\"===t}function j(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,A)/2);return\"M\"+(t.l-3.5)+\",\"+(t.t-.5+e)+\"h3v\"+-e+\"h\"+e+\"v-3h-\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.t-.5+e)+\"h-3v\"+-e+\"h\"+-e+\"v-3h\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.b+.5-e)+\"h-3v\"+e+\"h\"+-e+\"v3h\"+(e+3)+\"ZM\"+(t.l-3.5)+\",\"+(t.b+.5-e)+\"h3v\"+e+\"h\"+e+\"v3h-\"+(e+3)+\"Z\"}function V(t,e){if(a){var r=void 0!==t.onwheel?\"wheel\":\"mousewheel\";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel&&(t.onmousewheel=e)}function U(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,a,u,p,T,S){var R,q,H,G,W,Y,X,Z,$,J,K,Q,tt,et,rt,nt,it,at,ot,st,lt,ct,ut=t._fullLayout._zoomlayer,ft=T+S===\"nsew\",ht=1===(T+S).length;function pt(){if(R=e.xaxis,q=e.yaxis,$=R._length,J=q._length,X=R._offset,Z=q._offset,(H={})[R._id]=R,(G={})[q._id]=q,T&&S)for(var r=e.overlays,n=0;n<r.length;n++){var i=r[n].xaxis;H[i._id]=i;var a=r[n].yaxis;G[a._id]=a}W=U(H),Y=U(G),Q=C(W,S),tt=C(Y,T),et=!tt&&!Q,K=function(t,e,r){for(var n,i,a,o,l=t._fullLayout._axisConstraintGroups,c=!1,u={},f={},h=0;h<l.length;h++){var p=l[h];for(n in e)if(p[n]){for(a in p)(\"x\"===a.charAt(0)?e:r)[a]||(u[a]=1);for(i in r)p[i]&&(c=!0)}for(i in r)if(p[i])for(o in p)(\"x\"===o.charAt(0)?e:r)[o]||(f[o]=1)}c&&(s.extendFlat(u,f),f={});var d={},g=[];for(a in u){var m=y(t,a);g.push(m),d[m._id]=m}var v={},x=[];for(o in f){var b=y(t,o);x.push(b),v[b._id]=b}return{xaHash:d,yaHash:v,xaxes:g,yaxes:x,isSubplotConstrained:c}}(t,H,G),rt=K.isSubplotConstrained,nt=S||rt,it=T||rt;var o=t._fullLayout;at=o._has(\"scattergl\"),ot=o._hasOnlyLargeSploms,st=ot||o._has(\"splom\"),lt=o._has(\"svg\")}pt();var dt=function(t,e,r){return t?\"nsew\"===t?r?\"\":\"pan\"===e?\"move\":\"crosshair\":t.toLowerCase()+\"-resize\":\"pointer\"}(tt+Q,t._fullLayout.dragmode,ft),gt=E(e,T+S+\"drag\",dt,r,a,u,p);if(et&&!ft)return gt.onmousedown=null,gt.style.pointerEvents=\"none\",gt;var mt,vt,yt,xt,bt,_t,wt,kt,Mt,At,Tt={element:gt,gd:t,plotinfo:e};function St(){Tt.plotinfo.selection=!1,b(ut)}function Et(r,i){var a=t._fullLayout.clickmode;if(B(t),2!==r||ht||function(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(Q?W:[]).concat(tt?Y:[]),s={};if(\"reset+autosize\"===i)for(i=\"autosize\",r=0;r<a.length;r++)if((e=a[r])._rangeInitial&&(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&&!e.autorange){i=\"reset\";break}if(\"autosize\"===i)for(r=0;r<a.length;r++)(e=a[r]).fixedrange||(s[e._name+\".autorange\"]=!0);else if(\"reset\"===i)for((Q||rt)&&(a=a.concat(K.xaxes)),tt&&!rt&&(a=a.concat(K.yaxes)),rt&&(Q?tt||(a=a.concat(Y)):a=a.concat(W)),r=0;r<a.length;r++)(e=a[r])._rangeInitial?(n=e._rangeInitial,s[e._name+\".range[0]\"]=n[0],s[e._name+\".range[1]\"]=n[1]):s[e._name+\".autorange\"]=!0;t.emit(\"plotly_doubleclick\",null),o.call(\"relayout\",t,s)}}(),ft)a.indexOf(\"select\")>-1&&_(i,t,W,Y,e.id,Tt),a.indexOf(\"event\")>-1&&h.click(t,i,e.id);else if(1===r&&ht){var s=T?q:R,c=\"s\"===T||\"w\"===S?0:1,u=s._name+\".range[\"+c+\"]\",f=function(t,e){var r,i=t.range[e],a=Math.abs(i-t.range[1-e]);return\"date\"===t.type?i:\"log\"===t.type?(r=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,n.format(\".\"+r+\"g\")(Math.pow(10,i))):(r=Math.floor(Math.log(Math.abs(i))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,n.format(\".\"+String(r)+\"g\")(i))}(s,c),p=\"left\",d=\"middle\";if(s.fixedrange)return;T?(d=\"n\"===T?\"top\":\"bottom\",\"right\"===s.side&&(p=\"right\")):\"e\"===S&&(p=\"right\"),t._context.showAxisRangeEntryBoxes&&n.select(gt).call(l.makeEditable,{gd:t,immediate:!0,background:t._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:\"#444\",horizontalAlign:p,verticalAlign:d}).on(\"edit\",function(e){var r=s.d2r(e);void 0!==r&&o.call(\"relayout\",t,u,r)})}}function Ct(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min($,e+mt)),i=Math.max(0,Math.min(J,r+vt)),a=Math.abs(n-mt),o=Math.abs(i-vt);function s(){wt=\"\",yt.r=yt.l,yt.t=yt.b,Mt.attr(\"d\",\"M0,0Z\")}yt.l=Math.min(mt,n),yt.r=Math.max(mt,n),yt.t=Math.min(vt,i),yt.b=Math.max(vt,i),rt?a>A||o>A?(wt=\"xy\",a/$>o/J?(o=a*J/$,vt>i?yt.t=vt-o:yt.b=vt+o):(a=o*$/J,mt>n?yt.l=mt-a:yt.r=mt+a),Mt.attr(\"d\",j(yt))):s():!tt||o<Math.min(Math.max(.6*a,M),A)?a<M||!Q?s():(yt.t=0,yt.b=J,wt=\"x\",Mt.attr(\"d\",function(t,e){return\"M\"+(t.l-.5)+\",\"+(e-A-.5)+\"h-3v\"+(2*A+1)+\"h3ZM\"+(t.r+.5)+\",\"+(e-A-.5)+\"h3v\"+(2*A+1)+\"h-3Z\"}(yt,vt))):!Q||a<Math.min(.6*o,A)?(yt.l=0,yt.r=$,wt=\"y\",Mt.attr(\"d\",function(t,e){return\"M\"+(e-A-.5)+\",\"+(t.t-.5)+\"v-3h\"+(2*A+1)+\"v3ZM\"+(e-A-.5)+\",\"+(t.b+.5)+\"v3h\"+(2*A+1)+\"v-3Z\"}(yt,mt))):(wt=\"xy\",Mt.attr(\"d\",j(yt))),yt.w=yt.r-yt.l,yt.h=yt.b-yt.t,wt&&(At=!0),t._dragged=At,D(kt,Mt,yt,bt,_t,xt),_t=!0}function Lt(){if(ct={},Math.min(yt.h,yt.w)<2*M)return B(t);\"xy\"!==wt&&\"x\"!==wt||L(W,yt.l/$,yt.r/$,ct,K.xaxes),\"xy\"!==wt&&\"y\"!==wt||L(Y,(J-yt.b)/J,(J-yt.t)/J,ct,K.yaxes),B(t),Nt(),F(t)}Tt.prepFn=function(e,r,n){var a=Tt.dragmode,o=t._fullLayout.dragmode;o!==a&&(Tt.dragmode=o),pt(),et||(ft?e.shiftKey?\"pan\"===o?o=\"zoom\":N(o)||(o=\"pan\"):e.ctrlKey&&(o=\"pan\"):o=\"pan\"),Tt.minDrag=\"lasso\"===o?1:void 0,N(o)?(Tt.xaxes=W,Tt.yaxes=Y,x(e,r,n,Tt,o)):(Tt.clickFn=Et,N(a)&&St(),et||(\"zoom\"===o?(Tt.moveFn=Ct,Tt.doneFn=Lt,Tt.minDrag=1,function(e,r,n){var a=gt.getBoundingClientRect();mt=r-a.left,vt=n-a.top,yt={l:mt,r:mt,w:0,t:vt,b:vt,h:0},xt=t._hmpixcount?t._hmlumcount/t._hmpixcount:i(t._fullLayout.plot_bgcolor).getLuminance(),_t=!1,wt=\"xy\",At=!1,kt=O(ut,xt,X,Z,bt=\"M0,0H\"+$+\"V\"+J+\"H0V0\"),Mt=I(ut,X,Z)}(0,r,n)):\"pan\"===o&&(Tt.moveFn=Bt,Tt.doneFn=Nt)))},d.init(Tt);var zt,Pt,Ot=[0,0,$,J],It=null,Dt=k.REDRAWDELAY,Rt=e.mainplot?t._fullLayout._plots[e.mainplot]:e;function Bt(e,r){if(!t._transitioningWithDuration){if(\"ew\"===Q||\"ns\"===tt)return Q&&z(W,e),tt&&z(Y,r),jt([Q?-e:0,tt?-r:0,$,J]),void Ft(tt,Q);if(rt&&Q&&tt){var n=\"w\"===Q==(\"n\"===tt)?1:-1,i=(e/$+n*r/J)/2;e=i*$,r=n*i*J}\"w\"===Q?e=l(W,0,e):\"e\"===Q?e=l(W,1,-e):Q||(e=0),\"n\"===tt?r=l(Y,1,r):\"s\"===tt?r=l(Y,0,-r):tt||(r=0);var a=\"w\"===Q?e:0,o=\"n\"===tt?r:0;if(rt){var s;if(!Q&&1===tt.length){for(s=0;s<W.length;s++)W[s].range=W[s]._r.slice(),w(W[s],1-r/J);a=(e=r*$/J)/2}if(!tt&&1===Q.length){for(s=0;s<Y.length;s++)Y[s].range=Y[s]._r.slice(),w(Y[s],1-e/$);o=(r=e*J/$)/2}}jt([a,o,$-e,J-r]),Ft(tt,Q)}function l(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/P(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}}function Ft(e,r){var n,i=[];function a(t){for(n=0;n<t.length;n++)t[n].fixedrange||i.push(t[n]._id)}for(nt&&(a(W),a(K.xaxes)),it&&(a(Y),a(K.yaxes)),ct={},n=0;n<i.length;n++){var s=i[n];v(t,s,!0);var l=y(t,s);ct[l._name+\".range[0]\"]=l.range[0],ct[l._name+\".range[1]\"]=l.range[1]}function c(a,o,s){for(n=0;n<a.length;n++){var l=a[n];if((r&&-1!==i.indexOf(l.xref)||e&&-1!==i.indexOf(l.yref))&&(o(t,n),s))return}}c(t._fullLayout.annotations||[],o.getComponentMethod(\"annotations\",\"drawOne\")),c(t._fullLayout.shapes||[],o.getComponentMethod(\"shapes\",\"drawOne\")),c(t._fullLayout.images||[],o.getComponentMethod(\"images\",\"draw\"),!0)}function Nt(){jt([0,0,$,J]),s.syncOrAsync([m.previousPromises,function(){o.call(\"relayout\",t,ct)}],t)}function jt(e){var r,n,i,a,l=t._fullLayout,u=l._plots,h=l._subplots.cartesian;if((st||at)&&c(t),!st||(o.subplotsRegistry.splom.drag(t),!ot)){if(at)for(r=0;r<h.length;r++){i=(n=u[h[r]]).xaxis,a=n.yaxis;var p=n._scene;if(p){var d=s.simpleMap(i.range,i.r2l),g=s.simpleMap(a.range,a.r2l);p.update({range:[d[0],g[0],d[1],g[1]]})}}if(lt){var m=e[2]/R._length,v=e[3]/q._length;for(r=0;r<h.length;r++){i=(n=u[h[r]]).xaxis,a=n.yaxis;var y,x,b,_,w=nt&&!i.fixedrange&&H[i._id],k=it&&!a.fixedrange&&G[a._id];if(w?(y=m,b=S?e[0]:qt(i,y)):b=Ut(i,y=Vt(i,m,v)),k?(x=v,_=T?e[1]:qt(a,x)):_=Ut(a,x=Vt(a,m,v)),y||x){y||(y=1),x||(x=1);var M=i._offset-b/y,A=a._offset-_/x;n.clipRect.call(f.setTranslate,b,_).call(f.setScale,y,x),n.plot.call(f.setTranslate,M,A).call(f.setScale,1/y,1/x),y===zt&&x===Pt||(f.setPointGroupScale(n.zoomScalePts,y,x),f.setTextPointsScale(n.zoomScaleTxt,y,x)),f.hideOutsideRangePoints(n.clipOnAxisFalseTraces,n),zt=y,Pt=x}}}}}function Vt(t,e,r){return t.fixedrange?0:nt&&K.xaHash[t._id]?e:it&&(rt?K.xaHash:K.yaHash)[t._id]?r:0}function Ut(t,e){return e?(t.range=t._r.slice(),w(t,e),qt(t,e)):0}function qt(t,e){return t._length*(1-e)*g[t.constraintoward||\"middle\"]}return T.length*S.length!=1&&V(gt,function(e){if(t._context.scrollZoom||t._fullLayout._enablescrollzoom){if(St(),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();var r=t.querySelector(\".plotly\");if(pt(),!(r.scrollHeight-r.clientHeight>10||r.scrollWidth-r.clientWidth>10)){clearTimeout(It);var n=-e.deltaY;if(isFinite(n)||(n=e.wheelDelta/10),isFinite(n)){var i,a=Math.exp(-Math.min(Math.max(n,-20),20)/200),o=Rt.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),l=(e.clientX-o.left)/o.width,c=(o.bottom-e.clientY)/o.height;if(nt){for(S||(l=.5),i=0;i<W.length;i++)u(W[i],l,a);Ot[2]*=a,Ot[0]+=Ot[2]*l*(1/a-1)}if(it){for(T||(c=.5),i=0;i<Y.length;i++)u(Y[i],c,a);Ot[3]*=a,Ot[1]+=Ot[3]*(1-c)*(1/a-1)}jt(Ot),Ft(T,S),It=setTimeout(function(){Ot=[0,0,$,J],Nt()},Dt),e.preventDefault()}else s.log(\"Did not find wheel motion attributes: \",e)}}function u(t,e,r){if(!t.fixedrange){var n=s.simpleMap(t.range,t.r2l),i=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(i+(e-i)*r)})}}}),gt},makeDragger:S,makeRectDragger:E,makeZoombox:O,makeCorners:I,updateZoombox:D,xyCorners:j,transitionZoombox:R,removeZoombox:B,showDoubleClickNotifier:F,attachWheelEventHandler:V}},{\"../../components/color\":567,\"../../components/dragelement\":589,\"../../components/drawing\":592,\"../../components/fx\":609,\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/clear_gl_canvases\":676,\"../../lib/setcursor\":714,\"../../lib/svg_text_utils\":718,\"../../registry\":825,\"../plots\":805,\"./axes\":742,\"./axis_ids\":745,\"./constants\":747,\"./scale_zoom\":758,\"./select\":759,d3:147,\"has-passive-events\":392,tinycolor2:511}],751:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/fx\"),a=t(\"../../components/dragelement\"),o=t(\"../../lib/setcursor\"),s=t(\"./dragbox\").makeDragBox,l=t(\"./constants\").DRAGGERSIZE;r.initInteractions=function(t){var e=t._fullLayout;if(t._context.staticPlot)n.select(t).selectAll(\".drag\").remove();else if(e._has(\"cartesian\")||e._has(\"splom\")){Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split(\"y\"),i=r.split(\"y\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return e._plots[t].mainplot?1:-1}).forEach(function(r){var n=e._plots[r],o=n.xaxis,c=n.yaxis;if(!n.mainplot){var u=s(t,n,o._offset,c._offset,o._length,c._length,\"ns\",\"ew\");u.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&&i.hover(t,e,r)},i.hover(t,e,r),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=r},u.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,a.unhover(t,e))},t._context.showAxisDragHandles&&(s(t,n,o._offset-l,c._offset-l,l,l,\"n\",\"w\"),s(t,n,o._offset+o._length,c._offset-l,l,l,\"n\",\"e\"),s(t,n,o._offset-l,c._offset+c._length,l,l,\"s\",\"w\"),s(t,n,o._offset+o._length,c._offset+c._length,l,l,\"s\",\"e\"))}if(t._context.showAxisDragHandles){if(r===o._mainSubplot){var f=o._mainLinePosition;\"top\"===o.side&&(f-=l),s(t,n,o._offset+.1*o._length,f,.8*o._length,l,\"\",\"ew\"),s(t,n,o._offset,f,.1*o._length,l,\"\",\"w\"),s(t,n,o._offset+.9*o._length,f,.1*o._length,l,\"\",\"e\")}if(r===c._mainSubplot){var h=c._mainLinePosition;\"right\"!==c.side&&(h-=l),s(t,n,h,c._offset+.1*c._length,l,.8*c._length,\"ns\",\"\"),s(t,n,h,c._offset+.9*c._length,l,.1*c._length,\"s\",\"\"),s(t,n,h,c._offset,l,.1*c._length,\"n\",\"\")}}});var o=e._hoverlayer.node();o.onmousemove=function(r){r.target=t._fullLayout._lasthover,i.hover(t,r,e._hoversubplot)},o.onclick=function(e){e.target=t._fullLayout._lasthover,i.click(t,e)},o.onmousedown=function(e){t._fullLayout._lasthover.onmousedown(e)},r.updateFx(t)}},r.updateFx=function(t){var e=t._fullLayout,r=\"pan\"===e.dragmode?\"move\":\"crosshair\";o(e._draggers,r)}},{\"../../components/dragelement\":589,\"../../components/fx\":609,\"../../lib/setcursor\":714,\"./constants\":747,\"./dragbox\":750,d3:147}],752:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\");e.exports=function(t){return function(e,r){var a=e[t];if(Array.isArray(a))for(var o=n.subplotsRegistry.cartesian,s=o.idRegex,l=r._subplots,c=l.xaxis,u=l.yaxis,f=l.cartesian,h=r._has(\"cartesian\")||r._has(\"gl2d\"),p=0;p<a.length;p++){var d=a[p];if(i.isPlainObject(d)){var g=d.xref,m=d.yref,v=s.x.test(g),y=s.y.test(m);if(v||y){h||i.pushUnique(r._basePlotModules,o);var x=!1;v&&-1===c.indexOf(g)&&(c.push(g),x=!0),y&&-1===u.indexOf(m)&&(u.push(m),x=!0),x&&v&&y&&f.push(g+m)}}}}}},{\"../../lib\":693,\"../../registry\":825}],753:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../plots\"),s=t(\"../../components/drawing\"),l=t(\"../get_data\").getModuleCalcData,c=t(\"./axis_ids\"),u=t(\"./constants\"),f=t(\"../../constants/xmlns_namespaces\"),h=a.ensureSingle;function p(t,e,r){return a.ensureSingle(t,e,r,function(t){t.datum(r)})}function d(t,e,r,a,o){for(var c,f,h,p=u.traceLayerClasses,d=t._fullLayout,g=d._modules,m=[],v=[],y=0;y<g.length;y++){var x=(c=g[y]).name,b=i.modules[x].categories;if(b.svg){var _=c.layerName||x+\"layer\",w=c.plot;h=(f=l(r,w))[0],r=f[1],h.length&&m.push({i:p.indexOf(_),className:_,plotMethod:w,cdModule:h}),b.zoomScale&&v.push(\".\"+_)}}m.sort(function(t,e){return t.i-e.i});var k=e.plot.selectAll(\"g.mlayer\").data(m,function(t){return t.className});if(k.enter().append(\"g\").attr(\"class\",function(t){return t.className}).classed(\"mlayer\",!0),k.exit().remove(),k.order(),k.each(function(r){var i=n.select(this),l=r.className;r.plotMethod(t,e,r.cdModule,i,a,o),\"scatterlayer\"!==l&&\"barlayer\"!==l&&s.setClipUrl(i,e.layerClipId)}),d._has(\"scattergl\")&&(c=i.getModule(\"scattergl\"),h=l(r,c)[0],c.plot(t,e,h)),!t._context.staticPlot&&(e._hasClipOnAxisFalse&&(e.clipOnAxisFalseTraces=e.plot.selectAll(\".scatterlayer, .barlayer\").selectAll(\".trace\")),v.length)){var M=e.plot.selectAll(v.join(\",\")).selectAll(\".trace\");e.zoomScalePts=M.selectAll(\"path.point\"),e.zoomScaleTxt=M.selectAll(\".textpoint\")}}function g(t,e){var r=e.plotgroup,n=e.id,i=u.layerValue2layerClass[e.xaxis.layer],a=u.layerValue2layerClass[e.yaxis.layer],o=t._fullLayout._hasOnlyLargeSploms;if(e.mainplot){var s=e.mainplotinfo,l=s.plotgroup,f=n+\"-x\",d=n+\"-y\";e.gridlayer=s.gridlayer,e.zerolinelayer=s.zerolinelayer,h(s.overlinesBelow,\"path\",f),h(s.overlinesBelow,\"path\",d),h(s.overaxesBelow,\"g\",f),h(s.overaxesBelow,\"g\",d),e.plot=h(s.overplot,\"g\",n),h(s.overlinesAbove,\"path\",f),h(s.overlinesAbove,\"path\",d),h(s.overaxesAbove,\"g\",f),h(s.overaxesAbove,\"g\",d),e.xlines=l.select(\".overlines-\"+i).select(\".\"+f),e.ylines=l.select(\".overlines-\"+a).select(\".\"+d),e.xaxislayer=l.select(\".overaxes-\"+i).select(\".\"+f),e.yaxislayer=l.select(\".overaxes-\"+a).select(\".\"+d)}else if(o)e.plot=h(r,\"g\",\"plot\"),e.xlines=h(r,\"path\",\"xlines-above\"),e.ylines=h(r,\"path\",\"ylines-above\"),e.xaxislayer=h(r,\"g\",\"xaxislayer-above\"),e.yaxislayer=h(r,\"g\",\"yaxislayer-above\");else{var g=h(r,\"g\",\"layer-subplot\");e.shapelayer=h(g,\"g\",\"shapelayer\"),e.imagelayer=h(g,\"g\",\"imagelayer\"),e.gridlayer=h(r,\"g\",\"gridlayer\"),e.zerolinelayer=h(r,\"g\",\"zerolinelayer\"),h(r,\"path\",\"xlines-below\"),h(r,\"path\",\"ylines-below\"),e.overlinesBelow=h(r,\"g\",\"overlines-below\"),h(r,\"g\",\"xaxislayer-below\"),h(r,\"g\",\"yaxislayer-below\"),e.overaxesBelow=h(r,\"g\",\"overaxes-below\"),e.plot=h(r,\"g\",\"plot\"),e.overplot=h(r,\"g\",\"overplot\"),e.xlines=h(r,\"path\",\"xlines-above\"),e.ylines=h(r,\"path\",\"ylines-above\"),e.overlinesAbove=h(r,\"g\",\"overlines-above\"),h(r,\"g\",\"xaxislayer-above\"),h(r,\"g\",\"yaxislayer-above\"),e.overaxesAbove=h(r,\"g\",\"overaxes-above\"),e.xlines=r.select(\".xlines-\"+i),e.ylines=r.select(\".ylines-\"+a),e.xaxislayer=r.select(\".xaxislayer-\"+i),e.yaxislayer=r.select(\".yaxislayer-\"+a)}o||(p(e.gridlayer,\"g\",e.xaxis._id),p(e.gridlayer,\"g\",e.yaxis._id),e.gridlayer.selectAll(\"g\").map(function(t){return t[0]}).sort(c.idSort)),e.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),e.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0)}function m(t,e){if(t){var r={};for(var i in t.each(function(t){var i=t[0];n.select(this).remove(),v(i,e),r[i]=!0}),e._plots)for(var a=e._plots[i].overlays||[],o=0;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(\".trace\").remove()}}}function v(t,e){e._draggers.selectAll(\"g.\"+t).remove(),e._defs.select(\"#clip\"+e._uid+t+\"plot\").remove()}r.name=\"cartesian\",r.attr=[\"xaxis\",\"yaxis\"],r.idRoot=[\"x\",\"y\"],r.idRegex=u.idRegex,r.attrRegex=u.attrRegex,r.attributes=t(\"./attributes\"),r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.transitionAxes=t(\"./transition_axes\"),r.finalizeSubplots=function(t,e){var r,n,i,o=e._subplots,s=o.xaxis,l=o.yaxis,f=o.cartesian,h=f.concat(o.gl2d||[]),p={},d={};for(r=0;r<h.length;r++){var g=h[r].split(\"y\");p[g[0]]=1,d[\"y\"+g[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(i=(t[c.id2name(n)]||{}).anchor,u.idRegex.y.test(i)||(i=\"y\"),f.push(n+i),h.push(n+i),d[i]||(d[i]=1,a.pushUnique(l,i)));for(r=0;r<l.length;r++)d[i=l[r]]||(n=(t[c.id2name(i)]||{}).anchor,u.idRegex.x.test(n)||(n=\"x\"),f.push(n+i),h.push(n+i),p[n]||(p[n]=1,a.pushUnique(s,n)));if(!h.length){for(var m in n=\"\",i=\"\",t){if(u.attrRegex.test(m))\"x\"===m.charAt(0)?(!n||+m.substr(5)<+n.substr(5))&&(n=m):(!i||+m.substr(5)<+i.substr(5))&&(i=m)}n=n?c.name2id(n):\"x\",i=i?c.name2id(i):\"y\",s.push(n),l.push(i),f.push(n+i)}},r.plot=function(t,e,r,n){var i,a=t._fullLayout,o=a._subplots.cartesian,s=t.calcdata;if(null!==e){if(!Array.isArray(e))for(e=[],i=0;i<s.length;i++)e.push(i);for(i=0;i<o.length;i++){for(var l,c=o[i],u=a._plots[c],f=[],h=0;h<s.length;h++){var p=s[h],g=p[0].trace;g.xaxis+g.yaxis===c&&((-1!==e.indexOf(g.index)||g.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===c&&-1!==[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(g.fill)&&-1===f.indexOf(l)&&f.push(l),f.push(p)),l=p)}d(t,u,f,r,n)}}},r.clean=function(t,e,r,n){var i,a,o,s=n._plots||{},l=e._plots||{},u=n._subplots||{};if(n._hasOnlyLargeSploms&&!e._hasOnlyLargeSploms)for(o in s)(i=s[o]).plotgroup&&i.plotgroup.remove();var f=n._has&&n._has(\"gl\"),h=e._has&&e._has(\"gl\");if(f&&!h)for(o in s)(i=s[o])._scene&&i._scene.destroy();if(u.xaxis&&u.yaxis){var p=c.listIds({_fullLayout:n});for(a=0;a<p.length;a++){var d=p[a];e[c.id2name(d)]||n._infolayer.selectAll(\".g-\"+d+\"title\").remove()}}var g=n._has&&n._has(\"cartesian\"),y=e._has&&e._has(\"cartesian\");if(g&&!y)m(n._cartesianlayer.selectAll(\".subplot\"),n),n._defs.selectAll(\".axesclip\").remove(),delete n._axisConstraintGroups;else if(u.cartesian)for(a=0;a<u.cartesian.length;a++){var x=u.cartesian[a];if(!l[x]){var b=\".\"+x+\",.\"+x+\"-x,.\"+x+\"-y\";n._cartesianlayer.selectAll(b).remove(),v(x,n)}}},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){var e,r,n,i,a,o,s=t._fullLayout,l=s._subplots.cartesian,c=l.length,u=[],f=[];for(e=0;e<c;e++){n=l[e],i=s._plots[n],a=i.xaxis,o=i.yaxis;var h=a._mainAxis,p=o._mainAxis,d=h._id+p._id,g=s._plots[d];i.overlays=[],d!==n&&g?(i.mainplot=d,i.mainplotinfo=g,f.push(n)):(i.mainplot=void 0,i.mainPlotinfo=void 0,u.push(n))}for(e=0;e<f.length;e++)n=f[e],(i=s._plots[n]).mainplotinfo.overlays.push(i);var m=u.concat(f),v=new Array(c);for(e=0;e<c;e++){n=m[e],i=s._plots[n],a=i.xaxis,o=i.yaxis;var y=[n,a.layer,o.layer,a.overlaying||\"\",o.overlaying||\"\"];for(r=0;r<i.overlays.length;r++)y.push(i.overlays[r].id);v[e]=y}return v}(t),i=e._cartesianlayer.selectAll(\".subplot\").data(r,String);i.enter().append(\"g\").attr(\"class\",function(t){return\"subplot \"+t[0]}),i.order(),i.exit().call(m,e),i.each(function(r){var i=r[0],a=e._plots[i];a.plotgroup=n.select(this),g(t,a),a.draglayer=h(e._draggers,\"g\",i)})},r.rangePlot=function(t,e,r){g(t,e),d(t,e,r),o.style(t)},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(\".svg-container\");r.filter(function(t,e){return e===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each(function(){var t=this.toDataURL(\"image/png\");e.append(\"svg:image\").attr({xmlns:f.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.width,height:this.height})})},r.updateFx=t(\"./graph_interact\").updateFx},{\"../../components/drawing\":592,\"../../constants/xmlns_namespaces\":671,\"../../lib\":693,\"../../registry\":825,\"../get_data\":778,\"../plots\":805,\"./attributes\":740,\"./axis_ids\":745,\"./constants\":747,\"./graph_interact\":751,\"./layout_attributes\":754,\"./layout_defaults\":755,\"./transition_axes\":764,d3:147}],754:[function(t,e,r){\"use strict\";var n=t(\"../font_attributes\"),i=t(\"../../components/color/attributes\"),a=t(\"../../components/drawing/attributes\").dash,o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/plot_template\").templatedArray,l=t(\"./constants\");e.exports={visible:{valType:\"boolean\",editType:\"plot\"},color:{valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},title:{valType:\"string\",editType:\"ticks\"},titlefont:n({editType:\"ticks\"}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"axrange\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1}}],editType:\"axrange\",impliedEdits:{autorange:!1}},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},scaleanchor:{valType:\"enumerated\",values:[l.idRegex.x.toString(),l.idRegex.y.toString()],editType:\"plot\"},scaleratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},constrain:{valType:\"enumerated\",values:[\"range\",\"domain\"],dflt:\"range\",editType:\"plot\"},constraintoward:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\",\"top\",\"middle\",\"bottom\"],editType:\"plot\"},tickmode:{valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"],editType:\"ticks\",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"ticks\"},tick0:{valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},dtick:{valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},tickvals:{valType:\"data_array\",editType:\"ticks\"},ticktext:{valType:\"data_array\",editType:\"ticks\"},ticks:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"],editType:\"ticks\"},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1,editType:\"ticks+layoutstyle\"},ticklen:{valType:\"number\",min:0,dflt:5,editType:\"ticks\"},tickwidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks\"},tickcolor:{valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},showticklabels:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},automargin:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},showspikes:{valType:\"boolean\",dflt:!1,editType:\"modebar\"},spikecolor:{valType:\"color\",dflt:null,editType:\"none\"},spikethickness:{valType:\"number\",dflt:3,editType:\"none\"},spikedash:o({},a,{dflt:\"dash\",editType:\"none\"}),spikemode:{valType:\"flaglist\",flags:[\"toaxis\",\"across\",\"marker\"],dflt:\"toaxis\",editType:\"none\"},spikesnap:{valType:\"enumerated\",values:[\"data\",\"cursor\"],dflt:\"data\",editType:\"none\"},tickfont:n({editType:\"ticks\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"ticks\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"ticks\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"ticks\"},tickformatstops:s(\"tickformatstop\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dtickrange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"ticks\"},{valType:\"any\",editType:\"ticks\"}],editType:\"ticks\"},value:{valType:\"string\",dflt:\"\",editType:\"ticks\"},editType:\"ticks\"}),hoverformat:{valType:\"string\",dflt:\"\",editType:\"none\"},showline:{valType:\"boolean\",dflt:!1,editType:\"ticks+layoutstyle\"},linecolor:{valType:\"color\",dflt:i.defaultLine,editType:\"layoutstyle\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks+layoutstyle\"},showgrid:{valType:\"boolean\",editType:\"ticks\"},gridcolor:{valType:\"color\",dflt:i.lightLine,editType:\"ticks\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks\"},zeroline:{valType:\"boolean\",editType:\"ticks\"},zerolinecolor:{valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},zerolinewidth:{valType:\"number\",dflt:1,editType:\"ticks\"},anchor:{valType:\"enumerated\",values:[\"free\",l.idRegex.x.toString(),l.idRegex.y.toString()],editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],editType:\"plot\"},overlaying:{valType:\"enumerated\",values:[\"free\",l.idRegex.x.toString(),l.idRegex.y.toString()],editType:\"plot\"},layer:{valType:\"enumerated\",values:[\"above traces\",\"below traces\"],dflt:\"above traces\",editType:\"plot\"},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1,editType:\"plot\"},{valType:\"number\",min:0,max:1,editType:\"plot\"}],dflt:[0,1],editType:\"plot\"},position:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\",_deprecated:{autotick:{valType:\"boolean\",editType:\"ticks\"}}}},{\"../../components/color/attributes\":566,\"../../components/drawing/attributes\":591,\"../../lib/extend\":682,\"../../plot_api/plot_template\":732,\"../font_attributes\":768,\"./constants\":747}],755:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../../plot_api/plot_template\"),o=t(\"../layout_attributes\"),s=t(\"./layout_attributes\"),l=t(\"./type_defaults\"),c=t(\"./axis_defaults\"),u=t(\"./constraint_defaults\"),f=t(\"./position_defaults\"),h=t(\"./axis_ids\"),p=h.id2name,d=h.name2id,g=t(\"../../registry\"),m=g.traceIs,v=g.getComponentMethod;function y(t,e,r){Array.isArray(t[e])?t[e].push(r):t[e]=[r]}e.exports=function(t,e,r){var h,g,x={},b={},_={},w={},k={};for(h=0;h<r.length;h++){var M=r[h];if(m(M,\"cartesian\")||m(M,\"gl2d\")){var A,T;if(M.xaxis)y(x,A=p(M.xaxis),M);else if(M.xaxes)for(g=0;g<M.xaxes.length;g++)y(x,p(M.xaxes[g]),M);if(M.yaxis)y(x,T=p(M.yaxis),M);else if(M.yaxes)for(g=0;g<M.yaxes.length;g++)y(x,p(M.yaxes[g]),M);if(m(M,\"carpet\")&&(\"carpet\"!==M.type||M._cheater)||A&&(_[A]=1),\"carpet\"===M.type&&M._cheater&&A&&(b[A]=1),m(M,\"2dMap\")&&(w[A]=1,w[T]=1),m(M,\"oriented\"))k[\"h\"===M.orientation?T:A]=1}}var S=e._subplots,E=S.xaxis,C=S.yaxis,L=n.simpleMap(E,p),z=n.simpleMap(C,p),P=L.concat(z),O=i.background;E.length&&C.length&&(O=n.coerce(t,e,o,\"plot_bgcolor\"));var I,D,R,B,F=i.combine(O,e.paper_bgcolor);function N(t,e){return n.coerce(R,B,s,t,e)}function j(t,e){return n.coerce2(R,B,s,t,e)}function V(t){return\"x\"===t?C:E}var U={x:V(\"x\"),y:V(\"y\")};function q(e,r){for(var n=\"x\"===e?L:z,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(d(o))}return i}for(h=0;h<P.length;h++){D=(I=P[h]).charAt(0),n.isPlainObject(t[I])||(t[I]={}),R=t[I],B=a.newContainer(e,I,D+\"axis\");var H=x[I]||[];B._traceIndices=H.map(function(t){return t._expandedIndex}),B._annIndices=[],B._shapeIndices=[],B._name=I;var G=B._id=d(I),W=q(D,I),Y={letter:D,font:e.font,outerTicks:w[I],showGrid:!k[I],data:H,bgColor:F,calendar:e.calendar,automargin:!0,cheateronly:\"x\"===D&&b[I]&&!_[I],splomStash:((e._splomAxes||{})[D]||{})[G]};l(R,B,N,Y),c(R,B,N,Y,e);var X=j(\"spikecolor\"),Z=j(\"spikethickness\"),$=j(\"spikedash\"),J=j(\"spikemode\"),K=j(\"spikesnap\");N(\"showspikes\",!!(X||Z||$||J||K))||(delete B.spikecolor,delete B.spikethickness,delete B.spikedash,delete B.spikemode,delete B.spikesnap);var Q={letter:D,counterAxes:U[D],overlayableAxes:W,grid:e.grid};f(R,B,N,Q),B._input=R}var tt=v(\"rangeslider\",\"handleDefaults\"),et=v(\"rangeselector\",\"handleDefaults\");for(h=0;h<L.length;h++)I=L[h],R=t[I],B=e[I],tt(t,e,I),\"date\"===B.type&&et(R,B,e,z,B.calendar),N(\"fixedrange\");for(h=0;h<z.length;h++){I=z[h],R=t[I],B=e[I];var rt=e[p(B.anchor)];N(\"fixedrange\",rt&&rt.rangeslider&&rt.rangeslider.visible)}e._axisConstraintGroups=[];var nt=U.x.concat(U.y);for(h=0;h<P.length;h++)D=(I=P[h]).charAt(0),R=t[I],B=e[I],u(R,B,N,nt,e)}},{\"../../components/color\":567,\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../registry\":825,\"../layout_attributes\":796,\"./axis_defaults\":744,\"./axis_ids\":745,\"./constraint_defaults\":748,\"./layout_attributes\":754,\"./position_defaults\":757,\"./type_defaults\":765}],756:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\").mix,i=t(\"../../components/color/attributes\").lightFraction,a=t(\"../../lib\");e.exports=function(t,e,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return a.coerce2(t,e,o.attributes,r,n)}var c=l(\"linecolor\",s),u=l(\"linewidth\");r(\"showline\",o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var f=l(\"gridcolor\",n(s,o.bgColor,o.blend||i).toRgbString()),h=l(\"gridwidth\");if(r(\"showgrid\",o.showGrid||!!f||!!h)||(delete e.gridcolor,delete e.gridwidth),!o.noZeroLine){var p=l(\"zerolinecolor\",s),d=l(\"zerolinewidth\");r(\"zeroline\",o.showGrid||!!p||!!d)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{\"../../components/color/attributes\":566,\"../../lib\":693,tinycolor2:511}],757:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\");e.exports=function(t,e,r,a){var o,s,l,c,u=a.counterAxes||[],f=a.overlayableAxes||[],h=a.letter,p=a.grid;p&&(s=p._domains[h][p._axisMap[e._id]],o=p._anchors[e._id],s&&(l=p[h+\"side\"].split(\" \")[0],c=p.domain[h][\"right\"===l||\"top\"===l?1:0])),s=s||[0,1],o=o||(n(t.position)?\"free\":u[0]||\"free\"),l=l||(\"x\"===h?\"bottom\":\"left\"),c=c||0,\"free\"===i.coerce(t,e,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(u),dflt:o}},\"anchor\")&&r(\"position\",c),i.coerce(t,e,{side:{valType:\"enumerated\",values:\"x\"===h?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:l}},\"side\");var d=!1;if(f.length&&(d=i.coerce(t,e,{overlaying:{valType:\"enumerated\",values:[!1].concat(f),dflt:!1}},\"overlaying\")),!d){var g=r(\"domain\",s);g[0]>g[1]-.01&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r(\"layer\"),e}},{\"../../lib\":693,\"fast-isnumeric\":213}],758:[function(t,e,r){\"use strict\";var n=t(\"../../constants/alignment\").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||\"center\"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)]}},{\"../../constants/alignment\":665}],759:[function(t,e,r){\"use strict\";var n=t(\"polybooljs\"),i=t(\"../../registry\"),a=t(\"../../components/color\"),o=t(\"../../components/fx\"),s=t(\"../../lib/polygon\"),l=t(\"../../lib/throttle\"),c=t(\"../../components/fx/helpers\").makeEventData,u=t(\"./axis_ids\").getFromId,f=t(\"../sort_modules\").sortModules,h=t(\"./constants\"),p=h.MINSELECT,d=s.filter,g=s.tester;function m(t){return t._id}function v(t,e,r,n,i,a,o){var s,l,c,u,f,h,p,d,g,m=e._hoverdata,v=e._fullLayout.clickmode.indexOf(\"event\")>-1,y=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(m)){_(t,e,a);var x=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n<e.length;n++)if(r=e[n],i.fullData._expandedIndex===r.cd[0].trace._expandedIndex){if(!0===i.hoverOnBox)break;void 0!==i.pointNumber?a=i.pointNumber:void 0!==i.binNumber&&(a=i.binNumber,o=i.pointNumbers);break}return{pointNumber:a,pointNumbers:o,searchInfo:r}}(m,s=k(e,r,n,i));if(x.pointNumbers.length>0?function(t,e){var r,n,i,a=[];for(i=0;i<t.length;i++)(r=t[i]).cd[0].trace.selectedpoints&&r.cd[0].trace.selectedpoints.length>0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i<e.pointNumbers.length;i++)if(n.selectedpoints.indexOf(e.pointNumbers[i])<0)return!1;return!0}return!1}(s,x):function(t){var e,r,n,i=0;for(n=0;n<t.length;n++)if(e=t[n],(r=e.cd[0].trace).selectedpoints){if(r.selectedpoints.length>1)return!1;if((i+=r.selectedpoints.length)>1)return!1}return 1===i}(s)&&(h=A(x))){for(o&&o.remove(),g=0;g<s.length;g++)(l=s[g])._module.selectPoints(l,!1);T(e,s),w(a),v&&e.emit(\"plotly_deselect\",null)}else{for(p=t.shiftKey&&(void 0!==h?h:A(x)),c=function(t,e,r){return{pointNumber:t,searchInfo:e,subtract:r}}(x.pointNumber,x.searchInfo,p),u=b(a.selectionDefs.concat([c])),g=0;g<s.length;g++)if(f=S(s[g]._module.selectPoints(s[g],u),s[g]),y.length)for(var E=0;E<f.length;E++)y.push(f[E]);else y=f;T(e,s,d={points:y}),c&&a&&a.selectionDefs.push(c),o&&M(a.mergedPolygons,o),v&&e.emit(\"plotly_selected\",d)}}}function y(t){return\"pointNumber\"in t&&\"searchInfo\"in t}function x(t){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(e,r,n,i){var a=t.searchInfo.cd[0].trace._expandedIndex;return i.cd[0].trace._expandedIndex===a&&n===t.pointNumber},isRect:!1,degenerate:!1,subtract:t.subtract}}function b(t){for(var e=[],r=y(t[0])?0:t[0][0][0],n=r,i=y(t[0])?0:t[0][0][1],a=i,o=0;o<t.length;o++)if(y(t[o]))e.push(x(t[o]));else{var l=s.tester(t[o]);l.subtract=t[o].subtract,e.push(l),r=Math.min(r,l.xmin),n=Math.max(n,l.xmax),i=Math.min(i,l.ymin),a=Math.max(a,l.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:function(t,r,n,i){for(var a=!1,o=0;o<e.length;o++)e[o].contains(t,r,n,i)&&(a=!1===e[o].subtract);return a},isRect:!1,degenerate:!1}}function _(t,e,r){var n=e._fullLayout,i=n._zoomlayer,a=r.plotinfo,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===a.id,s=t.shiftKey||t.altKey;o&&s&&a.selection&&a.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=a.selection.selectionDefs,r.mergedPolygons=a.selection.mergedPolygons):s&&a.selection||w(r),o||(E(i),n._lastSelectedSubplot=a.id)}function w(t){var e=t.plotinfo;e.selection={},e.selection.selectionDefs=t.selectionDefs=[],e.selection.mergedPolygons=t.mergedPolygons=[]}function k(t,e,r,n){var i,a,o,s=[],l=e.map(m),c=r.map(m);for(o=0;o<t.calcdata.length;o++)if(!0===(a=(i=t.calcdata[o])[0].trace).visible&&a._module&&a._module.selectPoints)if(!n||a.subplot!==n&&a.geo!==n)if(\"splom\"===a.type&&a._xaxes[l[0]]&&a._yaxes[c[0]])s.push(f(a._module,i,e[0],r[0]));else{if(-1===l.indexOf(a.xaxis))continue;if(-1===c.indexOf(a.yaxis))continue;s.push(f(a._module,i,u(t,a.xaxis),u(t,a.yaxis)))}else s.push(f(a._module,i,e[0],r[0]));return s;function f(t,e,r,n){return{_module:t,cd:e,xaxis:r,yaxis:n}}}function M(t,e){var r,n,i=[];for(r=0;r<t.length;r++){var a=t[r];i.push(a.join(\"L\")+\"L\"+a[0])}n=t.length>0?\"M\"+i.join(\"M\")+\"Z\":\"M0,0Z\",e.attr(\"d\",n)}function A(t){var e=t.searchInfo.cd[0].trace,r=t.pointNumber,n=t.pointNumbers,i=n.length>0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function T(t,e,r){var n,a,o,s;if(r){var l=r.points||[];for(n=0;n<e.length;n++)(s=e[n].cd[0].trace).selectedpoints=[],s._input.selectedpoints=[];for(n=0;n<l.length;n++){var c=l[n],u=c.data,h=c.fullData;c.pointIndices?([].push.apply(u.selectedpoints,c.pointIndices),[].push.apply(h.selectedpoints,c.pointIndices)):(u.selectedpoints.push(c.pointIndex),h.selectedpoints.push(c.pointIndex))}}else for(n=0;n<e.length;n++)delete(s=e[n].cd[0].trace).selectedpoints,delete s._input.selectedpoints;var p={};for(n=0;n<e.length;n++){var d=(o=e[n])._module.name;p[d]?p[d].push(o):p[d]=[o]}var g=Object.keys(p).sort(f);for(n=0;n<g.length;n++){var m=p[g[n]],v=m.length,y=m[0],x=y.cd[0].trace,b=y._module,_=b.styleOnSelect||b.style;if(i.traceIs(x,\"regl\")){var w=new Array(v);for(a=0;a<v;a++)w[a]=m[a].cd;_(t,w)}else for(a=0;a<v;a++)_(t,m[a].cd)}}function S(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i<t.length;i++)t[i]=c(t[i],n,r);return t}function E(t){t.selectAll(\".select-outline\").remove()}e.exports={prepSelect:function(t,e,r,i,s){var c,u,f,m,y,x,A,E=i.gd,C=E._fullLayout,L=C._zoomlayer,z=i.element.getBoundingClientRect(),P=i.plotinfo,O=P.xaxis._offset,I=P.yaxis._offset,D=e-z.left,R=r-z.top,B=D,F=R,N=\"M\"+D+\",\"+R,j=i.xaxes[0]._length,V=i.yaxes[0]._length,U=i.xaxes.concat(i.yaxes),q=t.altKey;_(t,E,i),\"lasso\"===s&&(c=d([[D,R]],h.BENDPX));var H=L.selectAll(\"path.select-outline-\"+P.id).data([1,2]);H.enter().append(\"path\").attr(\"class\",function(t){return\"select-outline select-outline-\"+t+\" select-outline-\"+P.id}).attr(\"transform\",\"translate(\"+O+\", \"+I+\")\").attr(\"d\",N+\"Z\");var G,W=L.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:a.background,stroke:a.defaultLine,\"stroke-width\":1}).attr(\"transform\",\"translate(\"+O+\", \"+I+\")\").attr(\"d\",\"M0,0Z\"),Y=C._uid+h.SELECTID,X=[],Z=k(E,i.xaxes,i.yaxes,i.subplot);function $(t){var e=\"y\"===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function J(t,e){return t-e}G=P.fillRangeItems?P.fillRangeItems:\"select\"===s?function(t,e){var r=t.range={};for(y=0;y<U.length;y++){var n=U[y],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+\"min\"]),n.p2d(e[i+\"max\"])].sort(J)}}:function(t,e,r){var n=t.lassoPoints={};for(y=0;y<U.length;y++){var i=U[y];n[i._id]=r.filtered.map($(i))}},i.moveFn=function(t,e){B=Math.max(0,Math.min(j,t+D)),F=Math.max(0,Math.min(V,e+R));var r=Math.abs(B-D),a=Math.abs(F-R);if(\"select\"===s){var o=C.selectdirection;\"h\"===(o=\"any\"===C.selectdirection?a<Math.min(.6*r,p)?\"h\":r<Math.min(.6*a,p)?\"v\":\"d\":C.selectdirection)?((m=[[D,0],[D,V],[B,V],[B,0]]).xmin=Math.min(D,B),m.xmax=Math.max(D,B),m.ymin=Math.min(0,V),m.ymax=Math.max(0,V),W.attr(\"d\",\"M\"+m.xmin+\",\"+(R-p)+\"h-4v\"+2*p+\"h4ZM\"+(m.xmax-1)+\",\"+(R-p)+\"h4v\"+2*p+\"h-4Z\")):\"v\"===o?((m=[[0,R],[0,F],[j,F],[j,R]]).xmin=Math.min(0,j),m.xmax=Math.max(0,j),m.ymin=Math.min(R,F),m.ymax=Math.max(R,F),W.attr(\"d\",\"M\"+(D-p)+\",\"+m.ymin+\"v-4h\"+2*p+\"v4ZM\"+(D-p)+\",\"+(m.ymax-1)+\"v4h\"+2*p+\"v-4Z\")):\"d\"===o&&((m=[[D,R],[D,F],[B,F],[B,R]]).xmin=Math.min(D,B),m.xmax=Math.max(D,B),m.ymin=Math.min(R,F),m.ymax=Math.max(R,F),W.attr(\"d\",\"M0,0Z\"))}else\"lasso\"===s&&(c.addPt([B,F]),m=c.filtered);i.selectionDefs&&i.selectionDefs.length?(f=function(t,e,r){return r?n.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions:n.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(i.mergedPolygons,m,q),m.subtract=q,u=b(i.selectionDefs.concat([m]))):(f=[m],u=g(m)),M(f,H),l.throttle(Y,h.SELECTDELAY,function(){X=[];var t,e,r=[];for(y=0;y<Z.length;y++)if(e=(x=Z[y])._module.selectPoints(x,u),r.push(e),t=S(e,x),X.length)for(var n=0;n<t.length;n++)X.push(t[n]);else X=t;T(E,Z,A={points:X}),G(A,m,c),i.gd.emit(\"plotly_selecting\",A)})},i.clickFn=function(t,e){var r=C.clickmode;W.remove(),l.done(Y).then(function(){if(l.clear(Y),2===t){for(H.remove(),y=0;y<Z.length;y++)(x=Z[y])._module.selectPoints(x,!1);T(E,Z),w(i),E.emit(\"plotly_deselect\",null)}else r.indexOf(\"select\")>-1&&v(e,E,i.xaxes,i.yaxes,i.subplot,i,H),\"event\"===r&&E.emit(\"plotly_selected\",void 0);o.click(E,e)})},i.doneFn=function(){W.remove(),l.done(Y).then(function(){l.clear(Y),i.gd.emit(\"plotly_selected\",A),m&&i.selectionDefs&&(m.subtract=q,i.selectionDefs.push(m),i.mergedPolygons.length=0,[].push.apply(i.mergedPolygons,f))})}},clearSelect:E,selectOnClick:v}},{\"../../components/color\":567,\"../../components/fx\":609,\"../../components/fx/helpers\":606,\"../../lib/polygon\":706,\"../../lib/throttle\":719,\"../../registry\":825,\"../sort_modules\":819,\"./axis_ids\":745,\"./constants\":747,polybooljs:453}],760:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=a.cleanNumber,s=a.ms2DateTime,l=a.dateTime2ms,c=a.ensureNumber,u=t(\"../../constants/numerical\"),f=u.FP_SAFE,h=u.BADNUM,p=u.LOG_CLIP,d=t(\"./constants\"),g=t(\"./axis_ids\");function m(t){return Math.pow(10,t)}e.exports=function(t,e){e=e||{};var r=(t._id||\"x\").charAt(0);function u(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*p*Math.abs(n-i))}return h}function v(e,r,n){var o=l(e,n||t.calendar);if(o===h){if(!i(e))return h;e=+e;var s=Math.floor(10*a.mod(e+.05,1)),c=Math.round(e-s/10);o=l(new Date(c))+s/10}return o}function y(e,r,n){return s(e,r,n||t.calendar)}function x(e){return t._categories[Math.round(e)]}function b(e){if(t._categoriesMap){var r=t._categoriesMap[e];if(void 0!==r)return r}if(i(e))return+e}function _(e){return i(e)?n.round(t._b+t._m*e,2):h}function w(e){return(e-t._b)/t._m}t.c2l=\"log\"===t.type?u:c,t.l2c=\"log\"===t.type?m:c,t.l2p=_,t.p2l=w,t.c2p=\"log\"===t.type?function(t,e){return _(u(t,e))}:_,t.p2c=\"log\"===t.type?function(t){return m(w(t))}:w,-1!==[\"linear\",\"-\"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(o(e))},t.p2d=t.p2r=w,t.cleanPos=c):\"log\"===t.type?(t.d2r=t.d2l=function(t,e){return u(o(t),e)},t.r2d=t.r2c=function(t){return m(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=u,t.l2d=m,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return m(w(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=w,t.cleanPos=c):\"date\"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=v,t.c2d=t.c2r=t.l2d=t.l2r=y,t.d2p=t.r2p=function(e,r,n){return t.l2p(v(e,0,n))},t.p2d=t.p2r=function(t,e,r){return y(w(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,h,t.calendar)}):\"category\"===t.type&&(t.d2c=t.d2l=function(e){if(null!=e){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return h},t.r2d=t.c2d=t.l2d=x,t.d2r=t.d2l_noadd=b,t.r2c=function(e){var r=b(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=b,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return x(w(t))},t.r2p=t.d2p,t.p2r=w,t.cleanPos=function(t){return\"string\"==typeof t&&\"\"!==t?t:c(t)}),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.cleanRange=function(e,n){n||(n={}),e||(e=\"range\");var o,s,l=a.nestedProperty(t,e).get();if(s=(s=\"date\"===t.type?a.dfltRange(t.calendar):\"y\"===r?d.DFLTRANGEY:n.dfltRange||d.DFLTRANGEX).slice(),l&&2===l.length)for(\"date\"===t.type&&(l[0]=a.cleanDate(l[0],h,t.calendar),l[1]=a.cleanDate(l[1],h,t.calendar)),o=0;o<2;o++)if(\"date\"===t.type){if(!a.isDateTime(l[o],t.calendar)){t[e]=s;break}if(t.r2l(l[0])===t.r2l(l[1])){var c=a.constrain(t.r2l(l[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);l[0]=t.l2r(c-1e3),l[1]=t.l2r(c+1e3);break}}else{if(!i(l[o])){if(!i(l[1-o])){t[e]=s;break}l[o]=l[1-o]*(o?10:.1)}if(l[o]<-f?l[o]=-f:l[o]>f&&(l[o]=f),l[0]===l[1]){var u=Math.max(1,Math.abs(1e-6*l[0]));l[0]-=u,l[1]+=u}}else a.nestedProperty(t,e).set(s)},t.setScale=function(n){var i=e._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var a=g.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var o=n&&t._r?\"_r\":\"range\",s=t.calendar;t.cleanRange(o);var l=t.r2l(t[o][0],s),c=t.r2l(t[o][1],s);if(\"y\"===r?(t._offset=i.t+(1-t.domain[1])*i.h,t._length=i.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-c),t._b=-t._m*c):(t._offset=i.l+t.domain[0]*i.w,t._length=i.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw e._replotting=!1,new Error(\"Something went wrong with axis scaling\")},t.makeCalcdata=function(e,r){var n,i,o,s,l=t.type,c=\"date\"===l&&e[r+\"calendar\"];if(r in e){if(n=e[r],s=e._length||n.length,a.isTypedArray(n)&&(\"linear\"===l||\"log\"===l)){if(s===n.length)return n;if(n.subarray)return n.subarray(0,s)}for(i=new Array(s),o=0;o<s;o++)i[o]=t.d2c(n[o],0,c)}else{var u=r+\"0\"in e?t.d2c(e[r+\"0\"],0,c):0,f=e[\"d\"+r]?Number(e[\"d\"+r]):1;for(n=e[{x:\"y\",y:\"x\"}[r]],s=e._length||n.length,i=new Array(s),o=0;o<s;o++)i[o]=u+o*f}return i},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&i(t.r2l(e[0]))&&i(t.r2l(e[1]))},t.isPtWithinRange=function(e,n){var i=t.c2l(e[r],null,n),a=t.r2l(t.range[0]),o=t.r2l(t.range[1]);return a<o?a<=i&&i<=o:o<=i&&i<=a},t.clearCalc=function(){t._categories=(t._initialCategories||[]).slice(),t._categoriesMap={};for(var e=0;e<t._categories.length;e++)t._categoriesMap[t._categories[e]]=e};var k=e._d3locale;\"date\"===t.type&&(t._dateFormat=k?k.timeFormat.utc:n.time.format.utc,t._extraFormat=e._extraFormat),t._separators=e.separators,t._numFormat=k?k.numberFormat:n.format,delete t._minDtick,delete t._forceTick0}},{\"../../constants/numerical\":670,\"../../lib\":693,\"./axis_ids\":745,\"./constants\":747,d3:147,\"fast-isnumeric\":213}],761:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\"),a=t(\"../array_container_defaults\");function o(t,e){function r(r,a){return n.coerce(t,e,i.tickformatstops,r,a)}r(\"enabled\")&&(r(\"dtickrange\"),r(\"value\"))}e.exports=function(t,e,r,s,l){var c=function(t){var e=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"].filter(function(e){return void 0!==t[e]});if(e.every(function(r){return t[r]===t[e[0]]})||1===e.length)return t[e[0]]}(t);if(r(\"tickprefix\")&&r(\"showtickprefix\",c),r(\"ticksuffix\",l.tickSuffixDflt)&&r(\"showticksuffix\",c),r(\"showticklabels\")){var u=l.font||{},f=e.color,h=f&&f!==i.color.dflt?f:u.color;if(n.coerceFont(r,\"tickfont\",{family:u.family,size:u.size,color:h}),r(\"tickangle\"),\"category\"!==s){var p=r(\"tickformat\"),d=t.tickformatstops;Array.isArray(d)&&d.length&&a(t,e,{name:\"tickformatstops\",inclusionAttr:\"enabled\",handleItemDefaults:o}),p||\"date\"===s||(r(\"showexponent\",c),r(\"exponentformat\"),r(\"separatethousands\"))}}}},{\"../../lib\":693,\"../array_container_defaults\":738,\"./layout_attributes\":754}],762:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,\"ticklen\"),s=n.coerce2(t,e,i,\"tickwidth\"),l=n.coerce2(t,e,i,\"tickcolor\",e.color);r(\"ticks\",a.outerTicks||o||s||l?\"outside\":\"\")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{\"../../lib\":693,\"./layout_attributes\":754}],763:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").ONEDAY;e.exports=function(t,e,r,o){var s;\"array\"!==t.tickmode||\"log\"!==o&&\"date\"!==o?s=r(\"tickmode\",Array.isArray(t.tickvals)?\"array\":t.dtick?\"linear\":\"auto\"):s=e.tickmode=\"auto\";if(\"auto\"===s)r(\"nticks\");else if(\"linear\"===s){var l=\"date\"===o?a:1,c=r(\"dtick\",l);if(n(c))e.dtick=c>0?Number(c):l;else if(\"string\"!=typeof c)e.dtick=l;else{var u=c.charAt(0),f=c.substr(1);((f=n(f)?Number(f):0)<=0||!(\"date\"===o&&\"M\"===u&&f===Math.round(f)||\"log\"===o&&\"L\"===u||\"log\"===o&&\"D\"===u&&(1===f||2===f)))&&(e.dtick=l)}var h=\"date\"===o?i.dateTick0(e.calendar):0,p=r(\"tick0\",h);\"date\"===o?e.tick0=i.cleanDate(p,h):n(p)&&\"D1\"!==c&&\"D2\"!==c?e.tick0=Number(p):e.tick0=h}else{void 0===r(\"tickvals\")?e.tickmode=\"auto\":r(\"ticktext\")}}},{\"../../constants/numerical\":670,\"../../lib\":693,\"fast-isnumeric\":213}],764:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../components/drawing\"),o=t(\"./axes\"),s=t(\"./constants\").attrRegex;e.exports=function(t,e,r,l){var c=t._fullLayout,u=[];var f,h,p,d,g=function(t){var e,r,n,i,a={};for(e in t)if((r=e.split(\".\"))[0].match(s)){var o=e.charAt(0),l=r[0];if(n=c[l],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&&(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=l,i.length=n._length,u.push(o),a[o]=i}return a}(e),m=Object.keys(g),v=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var c=l.xaxis._id,u=l.yaxis._id,f=l.xaxis.range,h=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[c]?r[c].to:f,a=r[u]?r[u].to:h,f[0]===i[0]&&f[1]===i[1]&&h[0]===a[0]&&h[1]===a[1]||-1===e.indexOf(c)&&-1===e.indexOf(u)||s.push(l)}}return s}(c,m,g);if(!v.length)return function(){function e(e,r,n){for(var i=0;i<e.length;i++)if(r(t,i),n)return}e(c.annotations||[],i.getComponentMethod(\"annotations\",\"drawOne\")),e(c.shapes||[],i.getComponentMethod(\"shapes\",\"drawOne\")),e(c.images||[],i.getComponentMethod(\"images\",\"draw\"),!0)}(),!1;function y(t){var e=t.xaxis,r=t.yaxis;c._defs.select(\"#\"+t.clipId+\"> rect\").call(a.setTranslate,0,0).call(a.setScale,1,1),t.plot.call(a.setTranslate,e._offset,r._offset).call(a.setScale,1,1);var n=t.plot.selectAll(\".scatterlayer .trace\");n.selectAll(\".point\").call(a.setPointGroupScale,1,1),n.selectAll(\".textpoint\").call(a.setTextPointsScale,1,1),n.call(a.hideOutsideRangePoints,t)}function x(e,r){var n,s,l,u=g[e.xaxis._id],f=g[e.yaxis._id],h=[];if(u){s=(n=t._fullLayout[u.axisName])._r,l=u.to,h[0]=(s[0]*(1-r)+r*l[0]-s[0])/(s[1]-s[0])*e.xaxis._length;var p=s[1]-s[0],d=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[2]=e.xaxis._length*(1-r+r*d/p)}else h[0]=0,h[2]=e.xaxis._length;if(f){s=(n=t._fullLayout[f.axisName])._r,l=f.to,h[1]=(s[1]*(1-r)+r*l[1]-s[1])/(s[0]-s[1])*e.yaxis._length;var m=s[1]-s[0],v=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[3]=e.yaxis._length*(1-r+r*v/m)}else h[1]=0,h[3]=e.yaxis._length;!function(e,r){var n,a=[];for(a=[e._id,r._id],n=0;n<a.length;n++)o.doTicksSingle(t,a[n],!0);function s(e,r,i){for(n=0;n<e.length;n++){var o=e[n];if(-1===a.indexOf(o.xref)&&-1===a.indexOf(o.yref)||r(t,n),i)return}}s(c.annotations||[],i.getComponentMethod(\"annotations\",\"drawOne\")),s(c.shapes||[],i.getComponentMethod(\"shapes\",\"drawOne\")),s(c.images||[],i.getComponentMethod(\"images\",\"draw\"),!0)}(e.xaxis,e.yaxis);var y=e.xaxis,x=e.yaxis,b=!!u,_=!!f,w=b?y._length/h[2]:1,k=_?x._length/h[3]:1,M=b?h[0]:0,A=_?h[1]:0,T=b?h[0]/h[2]*y._length:0,S=_?h[1]/h[3]*x._length:0,E=y._offset-T,C=x._offset-S;e.clipRect.call(a.setTranslate,M,A).call(a.setScale,1/w,1/k),e.plot.call(a.setTranslate,E,C).call(a.setScale,w,k),a.setPointGroupScale(e.zoomScalePts,1/w,1/k),a.setTextPointsScale(e.zoomScaleTxt,1/w,1/k)}l&&(f=l());var b=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(d),d=null,function(){for(var e={},r=0;r<m.length;r++){var n=t._fullLayout[m[r]+\"axis\"];e[n._name+\".range[0]\"]=n.range[0],e[n._name+\".range[1]\"]=n.range[1],n.range=n._r.slice()}return i.call(\"relayout\",t,e).then(function(){for(var t=0;t<v.length;t++)y(v[t])})}()}),h=Date.now(),d=window.requestAnimationFrame(function e(){p=Date.now();for(var n=Math.min(1,(p-h)/r.duration),a=b(n),o=0;o<v.length;o++)x(v[o],a);p-h>r.duration?(function(){for(var e={},r=0;r<m.length;r++){var n=t._fullLayout[g[m[r]].axisName],a=g[m[r]].to;e[n._name+\".range[0]\"]=a[0],e[n._name+\".range[1]\"]=a[1],n.range=a.slice()}f&&f(),i.call(\"relayout\",t,e).then(function(){for(var t=0;t<v.length;t++)y(v[t])})}(),d=window.cancelAnimationFrame(e)):d=window.requestAnimationFrame(e)}),Promise.resolve()}},{\"../../components/drawing\":592,\"../../registry\":825,\"./axes\":742,\"./constants\":747,d3:147}],765:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./axis_autotype\");function a(t){return{v:\"x\",h:\"y\"}[t.orientation||\"v\"]}function o(t,e){var r=a(t),i=n.traceIs(t,\"box-violin\"),o=n.traceIs(t._fullInput||{},\"candlestick\");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+\"0\"]}e.exports=function(t,e,r,s){\"-\"===r(\"type\",(s.splomStash||{}).type)&&(!function(t,e){if(\"-\"!==t.type)return;var r=t._id,s=r.charAt(0);-1!==r.indexOf(\"scene\")&&(r=s);var l=function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if(\"splom\"===i.type&&i._length>0&&(i[\"_\"+r+\"axes\"]||{})[e])return i;if((i[r+\"axis\"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}(e,r,s);if(!l)return;if(\"histogram\"===l.type&&s==={v:\"y\",h:\"x\"}[l.orientation||\"v\"])return void(t.type=\"linear\");var c,u=s+\"calendar\",f=l[u];if(o(l,s)){var h=a(l),p=[];for(c=0;c<e.length;c++){var d=e[c];n.traceIs(d,\"box-violin\")&&(d[s+\"axis\"]||s)===r&&(void 0!==d[h]?p.push(d[h][0]):void 0!==d.name?p.push(d.name):p.push(\"text\"),d[u]!==f&&(f=void 0))}t.type=i(p,f)}else if(\"splom\"===l.type){var g=l.dimensions,m=l._diag;for(c=0;c<g.length;c++){var v=g[c];if(v.visible&&(m[c][0]===r||m[c][1]===r)){t.type=i(v.values,f);break}}}else t.type=i(l[s]||[l[s+\"0\"]],f)}(e,s.data),\"-\"===e.type?e.type=\"linear\":t.type=e.type)}},{\"../../registry\":825,\"./axis_autotype\":743}],766:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),i=t(\"../lib\");function a(t,e,r){var n,a,o,s=!1;if(\"data\"===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if(\"layout\"!==e.type)return!1;n=t._fullLayout}return a=i.nestedProperty(n,e.prop).get(),(o=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&o[e.prop]!==a&&(s=!0),o[e.prop]=a,{changed:s,value:a}}function o(t,e){var r=[],n=e[0],a={};if(\"string\"==typeof n)a[n]=e[1];else{if(!i.isPlainObject(n))return r;a=n}return l(a,function(t,e,n){r.push({type:\"layout\",prop:t,value:n})},\"\",0),r}function s(t,e){var r,n,a,o,s=[];if(n=e[0],a=e[1],r=e[2],o={},\"string\"==typeof n)o[n]=a;else{if(!i.isPlainObject(n))return s;o=n,void 0===r&&(r=a)}return void 0===r&&(r=null),l(o,function(e,n,i){var a;if(Array.isArray(i)){var o=Math.min(i.length,t.data.length);r&&(o=Math.min(o,r.length)),a=[];for(var l=0;l<o;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&&(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var c=i;i=[];for(var u=0;u<a.length;u++)i[u]=c}i.length=Math.min(a.length,i.length)}s.push({type:\"data\",prop:e,traces:a,value:i})},\"\",0),s}function l(t,e,r,n){Object.keys(t).forEach(function(a){var o=t[a];if(\"_\"!==a[0]){var s=r+(n>0?\".\":\"\")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}})}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){a(t,c,s.cache),s.check=function(){if(l){var e=a(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],f=0;f<u.length;f++)t._internalOn(u[f],s.check);s.remove=function(){for(var e=0;e<u.length;e++)t._removeInternalListener(u[e],s.check)}}else i.log(\"Unable to automatically bind plot updates to API command\"),s.lookupTable={},s.remove=function(){};return s.disable=function(){l=!1},s.enable=function(){l=!0},e&&(e._commandObserver=s),s},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i<o;i++){var s,l=e[i],c=l.method,u=l.args;if(Array.isArray(u)||(u=[]),!c)return!1;var f=r.computeAPICommandBindings(t,c,u);if(1!==f.length)return!1;if(a){if((s=f[0]).type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var h=0;h<a.traces.length;h++)if(a.traces[h]!==s.traces[h])return!1}else if(s.prop!==a.prop)return!1}else a=f[0],Array.isArray(a.traces)&&a.traces.sort();var p=(s=f[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=i)}return a},r.executeAPICommand=function(t,e,r){if(\"skip\"===e)return Promise.resolve();var a=n.apiMethodRegistry[e],o=[t];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return a.apply(null,o).catch(function(t){return i.warn(\"API call to Plotly.\"+e+\" rejected.\",t),Promise.reject(t)})},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case\"restyle\":n=s(t,r);break;case\"relayout\":n=o(t,r);break;case\"update\":n=s(t,[r[0],r[2]]).concat(o(t,[r[1]]));break;case\"animate\":n=function(t,e){return Array.isArray(e[0])&&1===e[0].length&&-1!==[\"string\",\"number\"].indexOf(typeof e[0][0])?[{type:\"layout\",prop:\"_currentFrame\",value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{\"../lib\":693,\"../registry\":825}],767:[function(t,e,r){\"use strict\";var n=t(\"../lib/extend\").extendFlat;r.attributes=function(t,e){e=e||{};var r={valType:\"info_array\",editType:(t=t||{}).editType,items:[{valType:\"number\",min:0,max:1,editType:t.editType},{valType:\"number\",min:0,max:1,editType:t.editType}],dflt:[0,1]},i=(t.name&&t.name,t.trace,e.description&&e.description,{x:n({},r,{}),y:n({},r,{}),editType:t.editType});return t.noGridCell||(i.row={valType:\"integer\",min:0,dflt:0,editType:t.editType},i.column={valType:\"integer\",min:0,dflt:0,editType:t.editType}),i},r.defaults=function(t,e,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=e.grid;if(o){var s=r(\"domain.column\");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete t.domain.column);var l=r(\"domain.row\");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete t.domain.row)}r(\"domain.x\",i),r(\"domain.y\",a)}},{\"../lib/extend\":682}],768:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&&(r=e);var n={family:{valType:\"string\",noBlank:!0,strict:!0,editType:e},size:{valType:\"number\",min:1,editType:e},color:{valType:\"color\",editType:r},editType:e};return t.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],769:[function(t,e,r){\"use strict\";e.exports={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}}},{}],770:[function(t,e,r){\"use strict\";r.projNames={equirectangular:\"equirectangular\",mercator:\"mercator\",orthographic:\"orthographic\",\"natural earth\":\"naturalEarth\",kavrayskiy7:\"kavrayskiy7\",miller:\"miller\",robinson:\"robinson\",eckert4:\"eckert4\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",\"conic equal area\":\"conicEqualArea\",\"conic conformal\":\"conicConformal\",\"conic equidistant\":\"conicEquidistant\",gnomonic:\"gnomonic\",stereographic:\"stereographic\",mollweide:\"mollweide\",hammer:\"hammer\",\"transverse mercator\":\"transverseMercator\",\"albers usa\":\"albersUsa\",\"winkel tripel\":\"winkel3\",aitoff:\"aitoff\",sinusoidal:\"sinusoidal\"},r.axesNames=[\"lonaxis\",\"lataxis\"],r.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360},r.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor=\"#F0DC82\",r.waterColor=\"#3399FF\",r.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"},r.sphereSVG={type:\"Sphere\"},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"],r.layersForChoropleth=[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"],r.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}},{}],771:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../../components/color\"),s=t(\"../../components/drawing\"),l=t(\"../../components/fx\"),c=t(\"../plots\"),u=t(\"../cartesian/axes\"),f=t(\"../../components/dragelement\"),h=t(\"../cartesian/select\").prepSelect,p=t(\"../cartesian/select\").selectOnClick,d=t(\"./zoom\"),g=t(\"./constants\"),m=t(\"../../lib/topojson_utils\"),v=t(\"topojson-client\").feature;function y(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.isStatic=t.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}t(\"./projections\")(n);var x=y.prototype;e.exports=function(t){return new y(t)},x.plot=function(t,e,r){var n=this,i=e[this.id],a=m.getTopojsonName(i);null===n.topojson||a!==n.topojsonName?(n.topojsonName=a,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},x.fetchTopojson=function(){var t=m.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(e,r){n.json(t,function(n,i){if(n)return 404===n.status?r(new Error([\"plotly.js could not find topojson file at\",t,\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \"))):r(new Error([\"unexpected error while fetching topojson file at\",t].join(\" \")));e(i)})})},x.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n<t.length;n++)if(\"choropleth\"===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial||this.saveViewInitial(r),this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),c.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var i=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=i.selectAll(\".point\"),this.dataPoints.text=i.selectAll(\"text\"),this.dataPaths.line=i.selectAll(\".js-line\");var a=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=a.selectAll(\"path\"),this.render()}},x.updateProjection=function(t,e){var r=t._size,o=e.domain,s=e.projection,l=s.rotation||{},c=e.center||{},u=this.projection=function(t){for(var e=t.projection.type,r=n.geo[g.projNames[e]](),i=t._isClipped?g.lonaxisSpan[e]/2:null,a=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],o=function(t){return t?r:[]},s=0;s<a.length;s++){var l=a[s];\"function\"!=typeof r[l]&&(r[l]=o)}r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(i){var e=r.rotate();return n.geo.distance(t,[-e[0],-e[1]])>i*Math.PI/180}return!1},r.getPath=function(){return n.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),a&&r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&&r.clipExtent(a),r.scale(150*s).translate([l,c])},r.precision(g.precision),i&&r.clipAngle(i-g.clipPad);return r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var f=[[r.l+r.w*o.x[0],r.t+r.h*(1-o.y[1])],[r.l+r.w*o.x[1],r.t+r.h*(1-o.y[0])]],h=e.lonaxis,p=e.lataxis,d=function(t,e){var r=g.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}(h.range,p.range);u.fitExtent(f,d);var m=this.bounds=u.getBounds(d),v=this.fitScale=u.scale(),y=u.translate();if(!isFinite(m[0][0])||!isFinite(m[0][1])||!isFinite(m[1][0])||!isFinite(m[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=[\"projection.rotation\",\"center\",\"lonaxis.range\",\"lataxis.range\"],_=\"Invalid geo settings, relayout'ing to default view.\",w={},k=0;k<b.length;k++)w[this.id+\".\"+b[k]]=null;return this.viewInitial=null,a.warn(_),x._promises.push(i.call(\"relayout\",x,w)),_}var M=this.midPt=[(m[0][0]+m[1][0])/2,(m[0][1]+m[1][1])/2];if(u.scale(s.scale*v).translate([y[0]+(M[0]-y[0]),y[1]+(M[1]-y[1])]).clipExtent(m),e._isAlbersUsa){var A=u([c.lon,c.lat]),T=u.translate();u.translate([T[0]-(A[0]-T[0]),T[1]-(A[1]-T[1])])}},x.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,l=r.basePaths;function c(t){return\"lonaxis\"===t||\"lataxis\"===t}function u(t){return Boolean(g.lineLayers[t])}function f(t){return Boolean(g.fillLayers[t])}var h=(this.hasChoropleth?g.layersForChoropleth:g.layers).filter(function(t){return u(t)||f(t)?e[\"show\"+t]:!c(t)||e[t].showgrid}),p=r.framework.selectAll(\".layer\").data(h,String);p.exit().each(function(t){delete a[t],delete l[t],n.select(this).remove()}),p.enter().append(\"g\").attr(\"class\",function(t){return\"layer \"+t}).each(function(t){var e=a[t]=n.select(this);\"bg\"===t?r.bgRect=e.append(\"rect\").style(\"pointer-events\",\"all\"):c(t)?l[t]=e.append(\"path\").style(\"fill\",\"none\"):\"backplot\"===t?e.append(\"g\").classed(\"choroplethlayer\",!0):\"frontplot\"===t?e.append(\"g\").classed(\"scatterlayer\",!0):u(t)?l[t]=e.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):f(t)&&(l[t]=e.append(\"path\").style(\"stroke\",\"none\"))}),p.order(),p.each(function(t){var r=l[t],a=g.layerNameToAdjective[t];\"frame\"===t?r.datum(g.sphereSVG):u(t)||f(t)?r.datum(v(i,i.objects[t])):c(t)&&r.datum(function(t,e){var r=e[t].dtick,i=g.scopeDefaults[e.scope],a=i.lonaxisRange,o=i.lataxisRange,s=\"lonaxis\"===t?[r]:[0,r];return n.geo.graticule().extent([[a[0],o[0]],[a[1],o[1]]]).step(s)}(t,e)).call(o.stroke,e[t].gridcolor).call(s.dashLine,\"\",e[t].gridwidth),u(t)?r.call(o.stroke,e[a+\"color\"]).call(s.dashLine,\"\",e[a+\"width\"]):f(t)&&r.call(o.fill,e[a+\"color\"])})},x.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,l=r[1][0]-i+n,c=r[1][1]-a+n;s.setRect(this.clipRect,i,a,l,c),this.bgRect.call(s.setRect,i,a,l,c).call(o.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=l,this.yaxis._offset=a,this.yaxis._length=c},x.updateFx=function(t,e){var r=this,a=r.graphDiv,o=r.bgRect,s=t.dragmode,c=t.clickmode;if(!r.isStatic){var u;\"select\"===s?u=function(t,e){(t.range={})[r.id]=[m([e.xmin,e.ymin]),m([e.xmax,e.ymax])]}:\"lasso\"===s&&(u=function(t,e,n){(t.lassoPoints={})[r.id]=n.filtered.map(m)});var g={element:r.bgRect.node(),gd:a,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(e){2===e&&t._zoomlayer.selectAll(\".select-outline\").remove()}};\"pan\"===s?(o.node().onmousedown=null,o.call(d(r,e)),o.on(\"dblclick.zoom\",function(){var t=r.viewInitial,e={};for(var n in t)e[r.id+\".\"+n]=t[n];i.call(\"relayout\",a,e),a.emit(\"plotly_doubleclick\",null)})):\"select\"!==s&&\"lasso\"!==s||(o.on(\".zoom\",null),g.prepFn=function(t,e,r){h(t,e,r,g,s)},f.init(g)),o.on(\"mousemove\",function(){var t=r.projection.invert(n.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return f.unhover(a,n.event);r.xaxis.p2c=function(){return t[0]},r.yaxis.p2c=function(){return t[1]},l.hover(a,n.event,r.id)}),o.on(\"mouseout\",function(){a._dragging||f.unhover(a,n.event)}),o.on(\"click\",function(){\"select\"!==s&&\"lasso\"!==s&&(c.indexOf(\"select\")>-1&&p(n.event,a,[r.xaxis],[r.yaxis],r.id,g),c.indexOf(\"event\")>-1&&l.click(a,n.event))})}function m(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},x.makeFramework=function(){var t=this,e=t.graphDiv._fullLayout,r=\"clip\"+e._uid+t.id;t.clipDef=e._clips.append(\"clipPath\").attr(\"id\",r),t.clipRect=t.clipDef.append(\"rect\"),t.framework=n.select(t.container).append(\"g\").attr(\"class\",\"geo \"+t.id).call(s.setClipUrl,r),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:\"x\",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:\"y\",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},u.setConvert(t.mockAxis,e)},x.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={\"center.lon\":e.lon,\"center.lat\":e.lat,\"projection.scale\":r.scale}:t._isClipped?this.viewInitial={\"projection.scale\":r.scale,\"projection.rotation.lon\":n.lon,\"projection.rotation.lat\":n.lat}:this.viewInitial={\"center.lon\":e.lon,\"center.lat\":e.lat,\"projection.scale\":r.scale,\"projection.rotation.lon\":n.lon}},x.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?\"translate(\"+r[0]+\",\"+r[1]+\")\":null}function i(t){return e.isLonLatOverEdges(t.lonlat)?\"none\":null}for(t in this.basePaths)this.basePaths[t].attr(\"d\",r);for(t in this.dataPaths)this.dataPaths[t].attr(\"d\",function(t){return r(t.geojson)});for(t in this.dataPoints)this.dataPoints[t].attr(\"display\",i).attr(\"transform\",n)}},{\"../../components/color\":567,\"../../components/dragelement\":589,\"../../components/drawing\":592,\"../../components/fx\":609,\"../../lib\":693,\"../../lib/topojson_utils\":721,\"../../registry\":825,\"../cartesian/axes\":742,\"../cartesian/select\":759,\"../plots\":805,\"./constants\":770,\"./projections\":776,\"./zoom\":777,d3:147,\"topojson-client\":514}],772:[function(t,e,r){\"use strict\";var n=t(\"./geo\"),i=t(\"../../plots/get_data\").getSubplotCalcData,a=t(\"../../lib\").counterRegex,o=\"geo\";r.name=o,r.attr=o,r.idRoot=o,r.idRegex=r.attrRegex=a(o),r.attributes=t(\"./layout/attributes\"),r.layoutAttributes=t(\"./layout/layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout/defaults\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.geo;void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var s=0;s<a.length;s++){var l=a[s],c=i(r,o,l),u=e[l]._subplot;u||(u=n({id:l,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[l]._subplot=u),u.plot(c,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.geo,n=0;n<r.length;n++){var i=e[r[n]];i._subplot.updateFx(e,i)}}},{\"../../lib\":693,\"../../plots/get_data\":778,\"./geo\":771,\"./layout/attributes\":773,\"./layout/defaults\":774,\"./layout/layout_attributes\":775}],773:[function(t,e,r){\"use strict\";e.exports={geo:{valType:\"subplotid\",dflt:\"geo\",editType:\"calc\"}}},{}],774:[function(t,e,r){\"use strict\";var n=t(\"../../subplot_defaults\"),i=t(\"../constants\"),a=t(\"./layout_attributes\"),o=i.axesNames;function s(t,e,r){var n=r(\"resolution\"),a=r(\"scope\"),s=i.scopeDefaults[a],l=r(\"projection.type\",s.projType),c=e._isAlbersUsa=\"albers usa\"===l;c&&(a=e.scope=\"usa\");var u=e._isScoped=\"world\"!==a,f=e._isConic=-1!==l.indexOf(\"conic\");e._isClipped=!!i.lonaxisSpan[l];for(var h=0;h<o.length;h++){var p,d=o[h],g=[30,10][h];if(u)p=s[d+\"Range\"];else{var m=i[d+\"Span\"],v=(m[l]||m[\"*\"])/2,y=r(\"projection.rotation.\"+d.substr(0,3),s.projRotate[h]);p=[y-v,y+v]}var x=r(d+\".range\",p);r(d+\".tick0\",x[0]),r(d+\".dtick\",g),r(d+\".showgrid\")&&(r(d+\".gridcolor\"),r(d+\".gridwidth\"))}var b=e.lonaxis.range,_=e.lataxis.range,w=b[0],k=b[1];w>0&&k<0&&(k+=360);var M,A,T,S=(w+k)/2;if(!c){var E=u?s.projRotate:[S,0,0];M=r(\"projection.rotation.lon\",E[0]),r(\"projection.rotation.lat\",E[1]),r(\"projection.rotation.roll\",E[2]),r(\"showcoastlines\",!u)&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),r(\"showocean\")&&r(\"oceancolor\")}(c?(A=-96.6,T=38.7):(A=u?S:M,T=(_[0]+_[1])/2),r(\"center.lon\",A),r(\"center.lat\",T),f)&&r(\"projection.parallels\",s.projParallels||[0,60]);r(\"projection.scale\"),r(\"showland\")&&r(\"landcolor\"),r(\"showlakes\")&&r(\"lakecolor\"),r(\"showrivers\")&&(r(\"rivercolor\"),r(\"riverwidth\")),r(\"showcountries\",u&&\"usa\"!==a)&&(r(\"countrycolor\"),r(\"countrywidth\")),(\"usa\"===a||\"north america\"===a&&50===n)&&(r(\"showsubunits\",!0),r(\"subunitcolor\"),r(\"subunitwidth\")),u||r(\"showframe\",!0)&&(r(\"framecolor\"),r(\"framewidth\")),r(\"bgcolor\")}e.exports=function(t,e,r){n(t,e,r,{type:\"geo\",attributes:a,handleDefaults:s,partition:\"y\"})}},{\"../../subplot_defaults\":820,\"../constants\":770,\"./layout_attributes\":775}],775:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color/attributes\"),i=t(\"../../domain\").attributes,a=t(\"../constants\"),o=t(\"../../../plot_api/edit_types\").overrideAll,s={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\"},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:n.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1}};e.exports=o({domain:i({name:\"geo\"},{}),resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:Object.keys(a.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:Object.keys(a.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:n.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:a.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:a.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:a.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:a.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:n.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:n.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:n.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:n.background},lonaxis:s,lataxis:s},\"plot\",\"from-root\")},{\"../../../components/color/attributes\":566,\"../../../plot_api/edit_types\":725,\"../../domain\":767,\"../constants\":770}],776:[function(t,e,r){\"use strict\";e.exports=function(t){function e(t,e){return{type:\"Feature\",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if(\"GeometryCollection\"===e.type)return{type:\"GeometryCollection\",geometries:object.geometries.map(function(t){return r(t,n)})};if(!c.hasOwnProperty(e.type))return null;var i=c[e.type];return t.geo.stream(e,n(i)),i.result()}t.geo.project=function(t,e){var i=e.stream;if(!i)throw new Error(\"not yet supported\");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,i)};var n={Feature:e,FeatureCollection:function(t,r){return{type:\"FeatureCollection\",features:t.features.map(function(t){return e(t,r)})}}},i=[],a=[],o={point:function(t,e){i.push([t,e])},result:function(){var t=i.length?i.length<2?{type:\"Point\",coordinates:i[0]}:{type:\"MultiPoint\",coordinates:i}:null;return i=[],t}},s={lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){i.length&&(a.push(i),i=[])},result:function(){var t=a.length?a.length<2?{type:\"LineString\",coordinates:a[0]}:{type:\"MultiLineString\",coordinates:a}:null;return a=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){var t=i.length;if(t){do{i.push(i[0].slice())}while(++t<4);a.push(i),i=[]}},polygonEnd:u,result:function(){if(!a.length)return null;var t=[],e=[];return a.forEach(function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}(r)?e.push(r):t.push([r])}),e.forEach(function(e){var r=e[0];t.some(function(t){if(function(t,e){for(var r=e[0],n=e[1],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],c=l[0],u=l[1],f=t[s],h=f[0],p=f[1];u>n^p>n&&r<(h-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0})||t.push([e])}),a=[],t.length?t.length>1?{type:\"MultiPolygon\",coordinates:t}:{type:\"Polygon\",coordinates:t[0]}:null}},c={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function u(){}var f=1e-6,h=f*f,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),m=180/p;function v(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>f;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;o<s&&t>a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],c=0,u=o.length;c<u;++c){var f=o[c];if(f[0][0]<=t&&t<f[1][0]&&f[0][1]<=a&&a<f[1][1]){var h=e.invert(t-e(s[c][1][0],0)[0],a);return h[0]+=s[c][1][0],l(i(h[0],h[1]),[t,a])?h:null}}});var a=t.geo.projection(i),o=a.stream;function s(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var c=0;c<e;++c)l.push([s[0]+c*n,s[1]+c*i]);s=r}return l.push(r),l}function l(t,e){return Math.abs(t[0]-e[0])<f&&Math.abs(t[1]-e[1])<f}return a.stream=function(e){var r=a.rotate(),i=o(e),l=(a.rotate([0,0]),o(e));return a.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],i=0,a=n[0].length;i<a;++i){var o=n[0][i],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,f=180*o[2][0]/p,h=180*o[2][1]/p;r.push(s([[l+e,c+e],[l+e,u-e],[f-e,u-e],[f-e,h+e]],30))}for(var i=n[1].length-1;i>=0;--i){var o=n[1][i],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,f=180*o[2][0]/p,h=180*o[2][1]/p;r.push(s([[f-e,h-e],[f-e,u+e],[l+e,u+e],[l+e,c-e]],30))}return{type:\"Polygon\",coordinates:[t.merge(r)]}}(),l)},i},a.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})}),a):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},a},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=v(r),i=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+i)),v((n+r*(i+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function k(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return M;function r(r,n){var i=w(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=w.invert(r/t,n);return i[0]*=e,i},r}function M(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function A(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function T(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>f&&--i>0);return e/2}}M.invert=function(t,e){var r=2*v(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=b(k),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=k,A.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(A)}).raw=A,T.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(T)}).raw=T,S(p);var E=function(t,e,r){var n=S(r);function i(r,i){return[t*r*Math.cos(i=n(i)),e*Math.sin(i)]}return i.invert=function(n,i){var a=v(i/e);return[n/(t*Math.cos(a)),v((2*a+Math.sin(2*a))/r)]},i}(Math.SQRT2/d,Math.SQRT2,p);function C(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}(t.geo.mollweide=function(){return x(E)}).raw=E,C.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)>f&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(C)}).raw=C;var L=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function z(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),i=Math.floor(n),a=n-i,o=(r=L[i])[0],s=r[1],l=(r=L[++i])[0],c=r[1],u=(r=L[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e>0?d:-d)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function P(t,e){return[t*Math.cos(e),e]}function O(t,e){var r,n=Math.cos(e),i=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function I(t,e){var r=O(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}L.forEach(function(t){t[1]*=1.0144}),z.invert=function(t,e){var r=e/d,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,p=u/c,v=f*(1-p*f*(1-2*p*f));if(v>=0||1===a){n=(e>=0?5:-5)*(v+i);var y,x=50;do{v=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],n-=(y=(e>=0?d:-d)*(s+v*(l-o)/2+v*v*(l-2*s+o)/2)-e)*m}while(Math.abs(y)>h&&--x>0);break}}while(--a>=0);var b=L[a][0],_=L[a+1][0],w=L[Math.min(19,a+2)][0];return[t/(_+v*(w-b)/2+v*v*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(z)}).raw=z,P.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(P)}).raw=P,O.invert=function(t,e){if(!(t*t+4*e*e>p*p+f)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),h=Math.sin(2*n),d=c*c,g=u*u,m=s*s,v=1-g*l*l,x=v?y(u*l)*Math.sqrt(a=1/v):a=0,b=2*x*u*s-t,_=x*c-e,w=a*(g*m+x*u*l*d),k=a*(.5*o*h-2*x*c*s),M=.25*a*(h*s-x*c*g*o),A=a*(d*l+x*m*u),T=k*M-A*w;if(!T)break;var S=(_*k-b*A)/T,E=(b*M-_*w)/T;r-=S,n-=E}while((Math.abs(S)>f||Math.abs(E)>f)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return x(O)}).raw=O,I.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,h=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),m=g*g,v=1-u*p*p,x=v?y(o*p)*Math.sqrt(a=1/v):a=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*a*(u*m+x*o*p*c)+.5/d,k=a*(h*l/4-x*s*g),M=.125*a*(l*g-x*s*u*h),A=.5*a*(c*p+x*m*o)+.5,T=k*M-A*w,S=(_*k-b*A)/T,E=(b*M-_*w)/T;r-=S,n-=E}while((Math.abs(S)>f||Math.abs(E)>f)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return x(I)}).raw=I}},{}],777:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=Math.PI/180,o=180/Math.PI,s={cursor:\"pointer\"},l={cursor:\"auto\"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function u(t,e,r){var n=t.id,a=t.graphDiv,o=a.layout[n],s=a._fullLayout[n],l={};function c(t,e){var r=i.nestedProperty(s,t);r.get()!==e&&(r.set(e),i.nestedProperty(o,t).set(e),l[n+\".\"+t]=e)}r(c),c(\"projection.scale\",e.scale()/t.fitScale),a.emit(\"plotly_relayout\",l)}function f(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r(\"center.lon\",n[0]),r(\"center.lat\",n[1])}return r.on(\"zoomstart\",function(){n.select(this).style(s)}).on(\"zoom\",function(){e.scale(n.event.scale).translate(n.event.translate),t.render()}).on(\"zoomend\",function(){n.select(this).style(l),u(t,e,i)}),r}function h(t,e){var r,i,a,o,f,h,p,d,g,m=c(0,e),v=2;function y(t){return e.invert(t)}function x(r){var n=e.rotate(),i=e.invert(t.midPt);r(\"projection.rotation.lon\",-n[0]),r(\"center.lon\",i[0]),r(\"center.lat\",i[1])}return m.on(\"zoomstart\",function(){n.select(this).style(s),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,f=y(r)}).on(\"zoom\",function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>v||Math.abs(n[1]-t[1])>v}(r))return m.scale(e.scale()),void m.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),f?y(h)&&(d=y(h),p=[o[0]+(d[0]-f[0]),i[1],i[2]],e.rotate(p),o=p):f=y(r=h),g=!0,t.render()}).on(\"zoomend\",function(){n.select(this).style(l),g&&u(t,e,x)}),m}function p(t,e){var r,i={r:e.rotate(),k:e.scale()},f=c(0,e),h=function(t){var e=0,r=arguments.length,i=[];for(;++e<r;)i.push(arguments[e]);var a=n.dispatch.apply(null,i);return a.of=function(e,r){return function(i){var o;try{o=i.sourceEvent=n.event,i.target=t,n.event=i,a[i.type].apply(e,r)}finally{n.event=o}}},a}(f,\"zoomstart\",\"zoom\",\"zoomend\"),p=0,m=f.on;function x(t){var r=e.rotate();t(\"projection.rotation.lon\",-r[0]),t(\"projection.rotation.lat\",-r[1])}return f.on(\"zoomstart\",function(){n.select(this).style(s);var t,l,c,u,x,b,_,w,k,M,A,T=n.mouse(this),S=e.rotate(),E=S,C=e.translate(),L=(l=.5*(t=S)[0]*a,c=.5*t[1]*a,u=.5*t[2]*a,x=Math.sin(l),b=Math.cos(l),_=Math.sin(c),w=Math.cos(c),k=Math.sin(u),M=Math.cos(u),[b*w*M+x*_*k,x*w*M-b*_*k,b*_*M+x*w*k,b*w*k-x*_*M]);r=d(e,T),m.call(f,\"zoom\",function(){var t,a,s,l,c,u,f,p,m,x,b=n.mouse(this);if(e.scale(i.k=n.event.scale),r){if(d(e,b)){e.rotate(S).translate(C);var _=d(e,b),w=function(t,e){if(!t||!e)return;var r=function(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}(t,e),n=Math.sqrt(y(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,y(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}(r,_),k=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*o,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*o,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*o]}((a=w,s=(t=L)[0],l=t[1],c=t[2],u=t[3],f=a[0],p=a[1],m=a[2],x=a[3],[s*f-l*p-c*m-u*x,s*p+l*f+c*x-u*m,s*m-l*x+c*f+u*p,s*x+l*m-c*p+u*f])),M=i.r=function(t,e,r){var n=v(e,2,t[0]);n=v(n,1,t[1]),n=v(n,0,t[2]-r[2]);var i,a,s=e[0],l=e[1],c=e[2],u=n[0],f=n[1],h=n[2],p=Math.atan2(l,s)*o,d=Math.sqrt(s*s+l*l);Math.abs(f)>d?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*o-p,i=Math.sqrt(d*d-f*f));var m=180-a-2*p,y=(Math.atan2(h,u)-Math.atan2(c,i))*o,x=(Math.atan2(h,u)-Math.atan2(c,-i))*o,b=g(r[0],r[1],a,y),_=g(r[0],r[1],m,x);return b<=_?[a,y,r[2]]:[m,x,r[2]]}(k,r,E);isFinite(M[0])&&isFinite(M[1])&&isFinite(M[2])||(M=E),e.rotate(M),E=M}}else r=d(e,T=b);h.of(this,arguments)({type:\"zoom\"})}),A=h.of(this,arguments),p++||A({type:\"zoomstart\"})}).on(\"zoomend\",function(){var r;n.select(this).style(l),m.call(f,\"zoom\",null),r=h.of(this,arguments),--p||r({type:\"zoomend\"}),u(t,e,x)}).on(\"zoom.redraw\",function(){t.render()}),n.rebind(f,h,\"on\")}function d(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*a,r=t[1]*a,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=m(r-t),a=m(n-e);return Math.sqrt(i*i+a*a)}function m(t){return(t%360+540)%360-180}function v(t,e,r){var n=r*a,i=t.slice(),o=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[o]=t[o]*l-t[s]*c,i[s]=t[s]*l+t[o]*c,i}function y(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}e.exports=function(t,e){var r=t.projection;return(e._isScoped?f:e._isClipped?p:h)(t,r)}},{\"../../lib\":693,d3:147}],778:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),i=t(\"./cartesian/constants\").SUBPLOT_PATTERN;r.getSubplotCalcData=function(t,e,r){var i=n.subplotsRegistry[e];if(!i)return[];for(var a=i.attr,o=[],s=0;s<t.length;s++){var l=t[s];l[0].trace[a]===r&&o.push(l)}return o},r.getModuleCalcData=function(t,e){var r,i=[],a=[];if(!(r=\"string\"==typeof e?n.getModule(e).plot:\"function\"==typeof e?e:e.plot))return[i,t];for(var o=0;o<t.length;o++){var s=t[o],l=s[0].trace;!0===l.visible&&(l._module.plot===r?i.push(s):a.push(s))}return[i,a]},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var a,o,s,l=n.subplotsRegistry[e].attr,c=[];if(\"gl2d\"===e){var u=r.match(i);o=\"x\"+u[1],s=\"y\"+u[2]}for(var f=0;f<t.length;f++)a=t[f],\"gl2d\"===e&&n.traceIs(a,\"gl2d\")?a[l[0]]===o&&a[l[1]]===s&&c.push(a):a[l]===r&&c.push(a);return c}},{\"../registry\":825,\"./cartesian/constants\":747}],779:[function(t,e,r){\"use strict\";var n=t(\"mouse-change\"),i=t(\"mouse-wheel\"),a=t(\"mouse-event-offset\"),o=t(\"../cartesian/constants\"),s=t(\"has-passive-events\");function l(t,e){this.element=t,this.plot=e,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}e.exports=function(t){var e=t.mouseContainer,r=t.glplot,c=new l(e,r);function u(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function f(e,n,i){var a,s,l=t.calcDataBox(),f=r.viewBox,h=c.lastPos[0],p=c.lastPos[1],d=o.MINDRAG*r.pixelRatio,g=o.MINZOOM*r.pixelRatio;function m(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(l[e]=i,l[e+2]=a,c.dataBox=l,t.setRanges(l)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(n*=r.pixelRatio,i*=r.pixelRatio,i=f[3]-f[1]-i,t.fullLayout.dragmode){case\"zoom\":if(e){var v=n/(f[2]-f[0])*(l[2]-l[0])+l[0],y=i/(f[3]-f[1])*(l[3]-l[1])+l[1];c.boxInited||(c.boxStart[0]=v,c.boxStart[1]=y,c.dragStart[0]=n,c.dragStart[1]=i),c.boxEnd[0]=v,c.boxEnd[1]=y,c.boxInited=!0,c.boxEnabled||c.boxStart[0]===c.boxEnd[0]&&c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)<g,b=Math.abs(c.dragStart[1]-i)<g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||x&&b)x&&(c.boxEnd[0]=c.boxStart[0]),b&&(c.boxEnd[1]=c.boxStart[1]);else{a=c.boxEnd[0]-c.boxStart[0],s=c.boxEnd[1]-c.boxStart[1];var _=(l[3]-l[1])/(l[2]-l[0]);Math.abs(a*_)>Math.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),c.boxEnd[1]<l[1]?(c.boxEnd[1]=l[1],c.boxEnd[0]=c.boxStart[0]+(l[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]>l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),c.boxEnd[0]<l[0]?(c.boxEnd[0]=l[0],c.boxEnd[1]=c.boxStart[1]+(l[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]>l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(a=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],a||s?(a&&(m(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(m(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case\"pan\":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n)<d&&(n=c.dragStart[0]),Math.abs(c.dragStart[1]-i)<d&&(i=c.dragStart[1]),a=(h-n)*(l[2]-l[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-i)*(l[3]-l[1])/(r.viewBox[3]-r.viewBox[1]),l[0]+=a,l[2]+=a,l[1]+=s,l[3]+=s,t.setRanges(l),c.panning=!0,c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations()):c.panning&&(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=i}return c.mouseListener=n(e,f),e.addEventListener(\"touchstart\",function(t){var r=a(t.changedTouches[0],e);f(0,r[0],r[1]),f(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener(\"touchmove\",function(t){t.preventDefault();var r=a(t.changedTouches[0],e);f(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener(\"touchend\",function(t){f(0,c.lastPos[0],c.lastPos[1]),t.preventDefault()},!!s&&{passive:!1}),c.wheelListener=i(e,function(e,n){if(!t.scrollZoom)return!1;var i=t.calcDataBox(),a=r.viewBox,o=c.lastPos[0],s=c.lastPos[1],l=Math.exp(5*n/(a[3]-a[1])),f=o/(a[2]-a[0])*(i[2]-i[0])+i[0],h=s/(a[3]-a[1])*(i[3]-i[1])+i[1];return i[0]=(i[0]-f)*l+f,i[2]=(i[2]-f)*l+f,i[1]=(i[1]-h)*l+h,i[3]=(i[3]-h)*l+h,t.setRanges(i),c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0},!0),c}},{\"../cartesian/constants\":747,\"has-passive-events\":392,\"mouse-change\":415,\"mouse-event-offset\":416,\"mouse-wheel\":418}],780:[function(t,e,r){\"use strict\";var n=t(\"../cartesian/axes\"),i=t(\"../../lib/html2unicode\"),a=t(\"../../lib/str2rgbarray\");function o(t){this.scene=t,this.gl=t.gl,this.pixelRatio=t.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=[\"x\",\"y\"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=[\"sans-serif\",\"sans-serif\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title=\"\",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont=\"sans-serif\",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=!1,this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var s=o.prototype,l=[\"xaxis\",\"yaxis\"];s.merge=function(t){var e,r,n,o,s,c,u,f,h,p,d;for(this.titleEnable=!1,this.backgroundColor=a(t.plot_bgcolor),p=0;p<2;++p){var g=(e=l[p]).charAt(0);for(n=(r=t[this.scene[e]._name]).title===this.scene.fullLayout._dfltTitle[g]?\"\":r.title,d=0;d<=2;d+=2)this.labelEnable[p+d]=!1,this.labels[p+d]=i(n),this.labelColor[p+d]=a(r.titlefont.color),this.labelFont[p+d]=r.titlefont.family,this.labelSize[p+d]=r.titlefont.size,this.labelPad[p+d]=this.getLabelPad(e,r),this.tickEnable[p+d]=!1,this.tickColor[p+d]=a((r.tickfont||{}).color),this.tickAngle[p+d]=\"auto\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[p+d]=this.getTickPad(r),this.tickMarkLength[p+d]=0,this.tickMarkWidth[p+d]=r.tickwidth||0,this.tickMarkColor[p+d]=a(r.tickcolor),this.borderLineEnable[p+d]=!1,this.borderLineColor[p+d]=a(r.linecolor),this.borderLineWidth[p+d]=r.linewidth||0;u=this.hasSharedAxis(r),s=this.hasAxisInDfltPos(e,r)&&!u,c=this.hasAxisInAltrPos(e,r)&&!u,o=r.mirror||!1,f=u?-1!==String(o).indexOf(\"all\"):!!o,h=u?\"allticks\"===o:-1!==String(o).indexOf(\"ticks\"),s?this.labelEnable[p]=!0:c&&(this.labelEnable[p+2]=!0),s?this.tickEnable[p]=r.showticklabels:c&&(this.tickEnable[p+2]=r.showticklabels),(s||f)&&(this.borderLineEnable[p]=r.showline),(c||f)&&(this.borderLineEnable[p+2]=r.showline),(s||h)&&(this.tickMarkLength[p]=this.getTickMarkLength(r)),(c||h)&&(this.tickMarkLength[p+2]=this.getTickMarkLength(r)),this.gridLineEnable[p]=r.showgrid,this.gridLineColor[p]=a(r.gridcolor),this.gridLineWidth[p]=r.gridwidth,this.zeroLineEnable[p]=r.zeroline,this.zeroLineColor[p]=a(r.zerolinecolor),this.zeroLineWidth[p]=r.zerolinewidth}},s.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,t).indexOf(e.id)},s.hasAxisInDfltPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"bottom\"===r:\"yaxis\"===t?\"left\"===r:void 0},s.hasAxisInAltrPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"top\"===r:\"yaxis\"===t?\"right\"===r:void 0},s.getLabelPad=function(t,e){var r=e.titlefont.size,n=e.showticklabels;return\"xaxis\"===t?\"top\"===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:\"yaxis\"===t?\"right\"===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},s.getTickPad=function(t){return\"outside\"===t.ticks?10+t.ticklen:15},s.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\"inside\"===t.ticks?-e:e},e.exports=function(t){return new o(t)}},{\"../../lib/html2unicode\":691,\"../../lib/str2rgbarray\":717,\"../cartesian/axes\":742}],781:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,i=t(\"./scene2d\"),a=t(\"../layout_attributes\"),o=t(\"../../constants/xmlns_namespaces\"),s=t(\"../cartesian/constants\"),l=t(\"../cartesian\"),c=t(\"../../components/fx/layout_attributes\"),u=t(\"../get_data\").getSubplotData;r.name=\"gl2d\",r.attr=[\"xaxis\",\"yaxis\"],r.idRoot=[\"x\",\"y\"],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t(\"../cartesian/attributes\"),r.supplyLayoutDefaults=function(t,e,r){e._has(\"cartesian\")||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,\"plot\",\"from-root\"),r.baseLayoutAttrOverrides=n({plot_bgcolor:a.plot_bgcolor,hoverlabel:c.hoverlabel},\"plot\",\"nested\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,a=0;a<n.length;a++){var o=n[a],s=e._plots[o],l=u(r,\"gl2d\",o),c=s._scene2d;void 0===c&&(c=new i({id:o,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene2d=c),c.plot(l,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d)0===u(t,\"gl2d\",o).length&&(s._scene2d.destroy(),delete n._plots[o])}l.clean.apply(this,arguments)},r.drawFramework=function(t){t._context.staticPlot||l.drawFramework(t)},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":a,x:0,y:0,width:\"100%\",height:\"100%\",preserveAspectRatio:\"none\"}),i.destroy()}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){e._plots[r[n]]._scene2d.updateFx(e.dragmode)}}},{\"../../components/fx/layout_attributes\":610,\"../../constants/xmlns_namespaces\":671,\"../../plot_api/edit_types\":725,\"../cartesian\":753,\"../cartesian/attributes\":740,\"../cartesian/constants\":747,\"../get_data\":778,\"../layout_attributes\":796,\"./scene2d\":782}],782:[function(t,e,r){\"use strict\";var n,i,a=t(\"../../registry\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"../../components/fx\"),l=t(\"gl-plot2d\"),c=t(\"gl-spikes2d\"),u=t(\"gl-select-box\"),f=t(\"webgl-context\"),h=t(\"./convert\"),p=t(\"./camera\"),d=t(\"../../lib/html2unicode\"),g=t(\"../../lib/show_no_webgl_msg\"),m=t(\"../cartesian/constraints\"),v=m.enforce,y=m.clean,x=t(\"../cartesian/autorange\").doAutoRange,b=[\"xaxis\",\"yaxis\"],_=t(\"../cartesian/constants\").SUBPLOT_PATTERN;function w(t,e){this.container=t.container,this.graphDiv=t.graphDiv,this.pixelRatio=t.plotGlPixelRatio||window.devicePixelRatio,this.id=t.id,this.staticPlot=!!t.staticPlot,this.scrollZoom=this.graphDiv._context.scrollZoom,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.stopped||(this.glplotOptions=h(this),this.glplotOptions.merge(e),this.glplot=l(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=c(this.glplot),this.selectBox=u(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw())}e.exports=w;var k=w.prototype;k.makeFramework=function(){if(this.staticPlot){if(!(i||(n=document.createElement(\"canvas\"),i=f({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"Error creating static canvas/context for image server\");this.canvas=n,this.gl=i}else{var t=this.container.querySelector(\".gl-canvas-focus\"),e=f({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});if(!e)return g(this),void(this.stopped=!0);this.canvas=t,this.gl=e}var r=this.canvas;r.style.width=\"100%\",r.style.height=\"100%\",r.style.position=\"absolute\",r.style.top=\"0px\",r.style.left=\"0px\",r.style[\"pointer-events\"]=\"none\",this.updateSize(r),r.className+=\" user-select-none\";var a=this.svgContainer=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");a.style.position=\"absolute\",a.style.top=a.style.left=\"0px\",a.style.width=a.style.height=\"100%\",a.style[\"z-index\"]=20,a.style[\"pointer-events\"]=\"none\";var o=this.mouseContainer=document.createElement(\"div\");o.style.position=\"absolute\",o.style[\"pointer-events\"]=\"auto\",this.pickCanvas=this.container.querySelector(\".gl-canvas-pick\");var s=this.container;s.appendChild(a),s.appendChild(o);var l=this;o.addEventListener(\"mouseout\",function(){l.isMouseOver=!1,l.unhover()}),o.addEventListener(\"mouseover\",function(){l.isMouseOver=!0})},k.toImage=function(t){t||(t=\"png\"),this.stopped=!0,this.staticPlot&&this.container.appendChild(n),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.clearColor(1,1,1,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=a[4*(r*o+l)+c];a[4*(r*o+l)+c]=a[4*(r*s+l)+c],a[4*(r*s+l)+c]=u}var f=document.createElement(\"canvas\");f.width=r,f.height=i;var h,p=f.getContext(\"2d\"),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case\"jpeg\":h=f.toDataURL(\"image/jpeg\");break;case\"webp\":h=f.toDataURL(\"image/webp\");break;default:h=f.toDataURL(\"image/png\")}return this.staticPlot&&this.container.removeChild(n),h},k.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),t},k.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[o.calcTicks(this.xaxis),o.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=d(t[e][r].text+\"\");return t},k.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(_),r=\"xaxis\"+e[1],n=\"yaxis\"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},k.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit(\"plotly_relayout\",i)},k.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r<2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].x)return!0}return!1})(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},k.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r<e.length;r++){var n=e[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&a.getComponentMethod(\"annotations\",\"drawOne\")(t,r)}},k.destroy=function(){if(this.glplot){var t=this.traces;t&&Object.keys(t).map(function(e){t[e].dispose(),delete t[e]}),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=null}},k.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(t,e),this.updateFx(r.dragmode);var i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};y(s,this.xaxis),y(s,this.yaxis);var l,c,u=r._size,f=this.xaxis.domain,h=this.yaxis.domain;for(o.viewBox=[u.l+f[0]*u.w,u.b+h[0]*u.h,i-u.r-(1-f[1])*u.w,a-u.t-(1-h[1])*u.h],this.mouseContainer.style.width=u.w*(f[1]-f[0])+\"px\",this.mouseContainer.style.height=u.h*(h[1]-h[0])+\"px\",this.mouseContainer.height=u.h*(h[1]-h[0]),this.mouseContainer.style.left=u.l+f[0]*u.w+\"px\",this.mouseContainer.style.top=u.t+(1-h[1])*u.h+\"px\",c=0;c<2;++c)(l=this[b[c]])._length=o.viewBox[c+2]-o.viewBox[c],x(this.graphDiv,l),l.setScale();v(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},k.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,i=t.r2l,a=e.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},k.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,i=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[i(t[1]),i(t[3])]},k.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if((i=t[n]).uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],c=this.traces[i.uid];c?c.update(i,l):(c=i._module.plot(this,i,l),this.traces[i.uid]=c)}this.glplot.objects.sort(function(t,e){return t._trace.index-e._trace.index})},k.updateFx=function(t){\"lasso\"===t||\"select\"===t?(this.pickCanvas.style[\"pointer-events\"]=\"none\",this.mouseContainer.style[\"pointer-events\"]=\"none\"):(this.pickCanvas.style[\"pointer-events\"]=\"auto\",this.mouseContainer.style[\"pointer-events\"]=\"auto\"),this.mouseContainer.style.cursor=\"pan\"===t?\"move\":\"zoom\"===t?\"crosshair\":null},k.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},k.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&&0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,l=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\"zoom\"===i.dragmode){this.selectBox.enabled=!0;for(var c=this.selectBox.selectBox=[Math.min(e.boxStart[0],e.boxEnd[0]),Math.min(e.boxStart[1],e.boxEnd[1]),Math.max(e.boxStart[0],e.boxEnd[0]),Math.max(e.boxStart[1],e.boxEnd[1])],u=0;u<2;u++)e.boxStart[u]===e.boxEnd[u]&&(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var f=i._size,h=this.xaxis.domain,p=this.yaxis.domain,d=(a=t.pick(o/t.pixelRatio+f.l+h[0]*f.w,l/t.pixelRatio-(f.t+(1-p[1])*f.h)))&&a.object._trace.handlePick(a);if(d&&n&&this.emitPointAction(d,\"plotly_click\"),a&&\"skip\"!==a.object._trace.hoverinfo&&i.hovermode&&d&&(!this.lastPickResult||this.lastPickResult.traceUid!==d.trace.uid||this.lastPickResult.dataCoord[0]!==d.dataCoord[0]||this.lastPickResult.dataCoord[1]!==d.dataCoord[1])){var g=d;this.lastPickResult={traceUid:d.trace?d.trace.uid:null,dataCoord:d.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),g.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.dataCoord[0]-t.dataBox[0])/(t.dataBox[2]-t.dataBox[0])+t.viewBox[0])/t.pixelRatio,(this.canvas.height-(t.viewBox[3]-t.viewBox[1])*(a.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(d,\"plotly_hover\");var m=this.fullData[g.trace.index]||{},v=g.pointIndex,y=s.castHoverinfo(m,i,v);if(y&&\"all\"!==y){var x=y.split(\"+\");-1===x.indexOf(\"x\")&&(g.traceCoord[0]=void 0),-1===x.indexOf(\"y\")&&(g.traceCoord[1]=void 0),-1===x.indexOf(\"z\")&&(g.traceCoord[2]=void 0),-1===x.indexOf(\"text\")&&(g.textLabel=void 0),-1===x.indexOf(\"name\")&&(g.name=void 0)}s.loneHover({x:g.screenCoord[0],y:g.screenCoord[1],xLabel:this.hoverFormatter(\"xaxis\",g.traceCoord[0]),yLabel:this.hoverFormatter(\"yaxis\",g.traceCoord[1]),zLabel:g.traceCoord[2],text:g.textLabel,name:g.name,color:s.castHoverOption(m,v,\"bgcolor\")||g.color,borderColor:s.castHoverOption(m,v,\"bordercolor\"),fontFamily:s.castHoverOption(m,v,\"font.family\"),fontSize:s.castHoverOption(m,v,\"font.size\"),fontColor:s.castHoverOption(m,v,\"font.color\")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},k.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\"plotly_unhover\"),s.loneUnhover(this.svgContainer))},k.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return o.tickText(r,r.c2l(e),\"hover\").text}}},{\"../../components/fx\":609,\"../../lib/html2unicode\":691,\"../../lib/show_no_webgl_msg\":715,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"../cartesian/autorange\":741,\"../cartesian/constants\":747,\"../cartesian/constraints\":749,\"./camera\":779,\"./convert\":780,\"gl-plot2d\":274,\"gl-select-box\":284,\"gl-spikes2d\":293,\"webgl-context\":530}],783:[function(t,e,r){\"use strict\";e.exports=function(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];\"distanceLimits\"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]);\"zoomMin\"in e&&(r[0]=e.zoomMin);\"zoomMax\"in e&&(r[1]=e.zoomMax);var c=i({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:r}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,p=t.clientHeight,d={keyBindingMode:\"rotate\",view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,tick:function(){var e=n(),r=this.delay,i=e-2*r;c.idle(e-r),c.recalcMatrix(i),c.flush(e-(100+2*r));for(var a=!0,o=c.computedMatrix,s=0;s<16;++s)a=a&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=Math.exp(c.computedRadius[0]),!0)},lookAt:function(t,e,r){c.lookAt(c.lastT(),t,e,r)},rotate:function(t,e,r){c.rotate(c.lastT(),t,e,r)},pan:function(t,e,r){c.pan(c.lastT(),t,e,r)},translate:function(t,e,r){c.translate(c.lastT(),t,e,r)}};Object.defineProperties(d,{matrix:{get:function(){return c.computedMatrix},set:function(t){return c.setMatrix(c.lastT(),t),c.computedMatrix},enumerable:!0},mode:{get:function(){return c.getMode()},set:function(t){var e=c.computedUp.slice(),r=c.computedEye.slice(),i=c.computedCenter.slice();if(c.setMode(t),\"turntable\"===t){var a=n();c._active.lookAt(a,r,i,e),c._active.lookAt(a+500,r,i,[0,0,1]),c._active.flush(a)}return c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return f},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\"contextmenu\",function(t){return t.preventDefault(),!1});var g=0,m=0,v={shift:!1,control:!1,alt:!1,meta:!1};function y(e,r,i,a){var o=d.keyBindingMode;if(!1!==o){var s=\"rotate\"===o,l=\"pan\"===o,u=\"zoom\"===o,h=!!a.control,p=!!a.alt,y=!!a.shift,x=!!(1&e),b=!!(2&e),_=!!(4&e),w=1/t.clientHeight,k=w*(r-g),M=w*(i-m),A=d.flipX?1:-1,T=d.flipY?1:-1,S=n(),E=Math.PI*d.rotateSpeed;if((s&&x&&!h&&!p&&!y||x&&!h&&!p&&y)&&c.rotate(S,A*E*k,-T*E*M,0),(l&&x&&!h&&!p&&!y||b||x&&h&&!p&&!y)&&c.pan(S,-d.translateSpeed*k*f,d.translateSpeed*M*f,0),u&&x&&!h&&!p&&!y||_||x&&!h&&p&&!y){var C=-d.zoomSpeed*M/window.innerHeight*(S-c.lastT())*100;c.pan(S,0,0,f*(Math.exp(C)-1))}return g=r,m=i,v=a,!0}}return d.mouseListener=a(t,y),t.addEventListener(\"touchstart\",function(e){var r=s(e.changedTouches[0],t);y(0,r[0],r[1],v),y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\"touchmove\",function(e){var r=s(e.changedTouches[0],t);y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\"touchend\",function(t){y(0,g,m,v),t.preventDefault()},!!l&&{passive:!1}),d.wheelListener=o(t,function(t,e){if(!1!==d.keyBindingMode){var r=d.flipX?1:-1,i=d.flipY?1:-1,a=n();if(Math.abs(t)>Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else{var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}},!0),d};var n=t(\"right-now\"),i=t(\"3d-view\"),a=t(\"mouse-change\"),o=t(\"mouse-wheel\"),s=t(\"mouse-event-offset\"),l=t(\"has-passive-events\")},{\"3d-view\":44,\"has-passive-events\":392,\"mouse-change\":415,\"mouse-event-offset\":416,\"mouse-wheel\":418,\"right-now\":477}],784:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,i=t(\"../../components/fx/layout_attributes\"),a=t(\"./scene\"),o=t(\"../get_data\").getSubplotData,s=t(\"../../lib\"),l=t(\"../../constants/xmlns_namespaces\");r.name=\"gl3d\",r.attr=\"scene\",r.idRoot=\"scene\",r.idRegex=r.attrRegex=s.counterRegex(\"scene\"),r.attributes=t(\"./layout/attributes\"),r.layoutAttributes=t(\"./layout/layout_attributes\"),r.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},\"plot\",\"nested\"),r.supplyLayoutDefaults=t(\"./layout/defaults\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i<n.length;i++){var l=n[i],c=o(r,\"gl3d\",l),u=e[l],f=u._scene;f||(f=new a({id:l,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),u._scene=f),f.cameraInitial||(f.cameraInitial=s.extendDeep({},u.camera)),f.plot(c,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\".annotation-\"+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,c=s.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:l.svg,\"xlink:href\":c,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),\"scene\"+e}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){e[r[n]]._scene.updateFx(e.dragmode,e.hovermode)}}},{\"../../components/fx/layout_attributes\":610,\"../../constants/xmlns_namespaces\":671,\"../../lib\":693,\"../../plot_api/edit_types\":725,\"../get_data\":778,\"./layout/attributes\":785,\"./layout/defaults\":789,\"./layout/layout_attributes\":790,\"./scene\":794}],785:[function(t,e,r){\"use strict\";e.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}},{}],786:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color\"),i=t(\"../../cartesian/layout_attributes\"),a=t(\"../../../lib/extend\").extendFlat,o=t(\"../../../plot_api/edit_types\").overrideAll;e.exports=o({visible:i.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:n.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:i.title,titlefont:i.titlefont,type:i.type,autorange:i.autorange,rangemode:i.rangemode,range:i.range,tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth},\"plot\",\"from-root\")},{\"../../../components/color\":567,\"../../../lib/extend\":682,\"../../../plot_api/edit_types\":725,\"../../cartesian/layout_attributes\":754}],787:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\").mix,i=t(\"../../../lib\"),a=t(\"../../../plot_api/plot_template\"),o=t(\"./axis_attributes\"),s=t(\"../../cartesian/type_defaults\"),l=t(\"../../cartesian/axis_defaults\"),c=[\"xaxis\",\"yaxis\",\"zaxis\"];e.exports=function(t,e,r){var u,f;function h(t,e){return i.coerce(u,f,o,t,e)}for(var p=0;p<c.length;p++){var d=c[p];u=t[d]||{},(f=a.newContainer(e,d))._id=d[0]+r.scene,f._name=d,s(u,f,h,r),l(u,f,h,{font:r.font,letter:d[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),h(\"gridcolor\",n(f.color,r.bgColor,13600/187).toRgbString()),h(\"title\",d[0]),f.setScale=i.noop,h(\"showspikes\")&&(h(\"spikesides\"),h(\"spikethickness\"),h(\"spikecolor\",f.color)),h(\"showaxeslabels\"),h(\"showbackground\")&&h(\"backgroundcolor\")}}},{\"../../../lib\":693,\"../../../plot_api/plot_template\":732,\"../../cartesian/axis_defaults\":744,\"../../cartesian/type_defaults\":765,\"./axis_attributes\":786,tinycolor2:511}],788:[function(t,e,r){\"use strict\";var n=t(\"../../../lib/html2unicode\"),i=t(\"../../../lib/str2rgbarray\"),a=[\"xaxis\",\"yaxis\",\"zaxis\"];function o(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}o.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[a[e]];r.visible?(this.labels[e]=n(r.title),\"titlefont\"in r&&(r.titlefont.color&&(this.labelColor[e]=i(r.titlefont.color)),r.titlefont.family&&(this.labelFont[e]=r.titlefont.family),r.titlefont.size&&(this.labelSize[e]=r.titlefont.size)),\"showline\"in r&&(this.lineEnable[e]=r.showline),\"linecolor\"in r&&(this.lineColor[e]=i(r.linecolor)),\"linewidth\"in r&&(this.lineWidth[e]=r.linewidth),\"showgrid\"in r&&(this.gridEnable[e]=r.showgrid),\"gridcolor\"in r&&(this.gridColor[e]=i(r.gridcolor)),\"gridwidth\"in r&&(this.gridWidth[e]=r.gridwidth),\"log\"===r.type?this.zeroEnable[e]=!1:\"zeroline\"in r&&(this.zeroEnable[e]=r.zeroline),\"zerolinecolor\"in r&&(this.zeroLineColor[e]=i(r.zerolinecolor)),\"zerolinewidth\"in r&&(this.zeroLineWidth[e]=r.zerolinewidth),\"ticks\"in r&&r.ticks?this.lineTickEnable[e]=!0:this.lineTickEnable[e]=!1,\"ticklen\"in r&&(this.lineTickLength[e]=this._defaultLineTickLength[e]=r.ticklen),\"tickcolor\"in r&&(this.lineTickColor[e]=i(r.tickcolor)),\"tickwidth\"in r&&(this.lineTickWidth[e]=r.tickwidth),\"tickangle\"in r&&(this.tickAngle[e]=\"auto\"===r.tickangle?0:Math.PI*-r.tickangle/180),\"showticklabels\"in r&&(this.tickEnable[e]=r.showticklabels),\"tickfont\"in r&&(r.tickfont.color&&(this.tickColor[e]=i(r.tickfont.color)),r.tickfont.family&&(this.tickFont[e]=r.tickfont.family),r.tickfont.size&&(this.tickSize[e]=r.tickfont.size)),\"mirror\"in r?-1!==[\"ticks\",\"all\",\"allticks\"].indexOf(r.mirror)?(this.lineTickMirror[e]=!0,this.lineMirror[e]=!0):!0===r.mirror?(this.lineTickMirror[e]=!1,this.lineMirror[e]=!0):(this.lineTickMirror[e]=!1,this.lineMirror[e]=!1):this.lineMirror[e]=!1,\"showbackground\"in r&&!1!==r.showbackground?(this.backgroundEnable[e]=!0,this.backgroundColor[e]=i(r.backgroundcolor)):this.backgroundEnable[e]=!1):(this.tickEnable[e]=!1,this.labelEnable[e]=!1,this.lineEnable[e]=!1,this.lineTickEnable[e]=!1,this.gridEnable[e]=!1,this.zeroEnable[e]=!1,this.backgroundEnable[e]=!1)}},e.exports=function(t){var e=new o;return e.merge(t),e}},{\"../../../lib/html2unicode\":691,\"../../../lib/str2rgbarray\":717}],789:[function(t,e,r){\"use strict\";var n=t(\"../../../lib\"),i=t(\"../../../components/color\"),a=t(\"../../../registry\"),o=t(\"../../subplot_defaults\"),s=t(\"./axis_defaults\"),l=t(\"./layout_attributes\");function c(t,e,r,n){for(var o=r(\"bgcolor\"),l=i.combine(o,n.paper_bgcolor),c=[\"up\",\"center\",\"eye\"],u=0;u<c.length;u++)r(\"camera.\"+c[u]+\".x\"),r(\"camera.\"+c[u]+\".y\"),r(\"camera.\"+c[u]+\".z\");var f=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),h=r(\"aspectmode\",f?\"manual\":\"auto\");f||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\"manual\"===h&&(e.aspectmode=\"auto\"),t.aspectmode=e.aspectmode),s(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:l,calendar:n.calendar,fullLayout:n.fullLayout}),a.getComponentMethod(\"annotations3d\",\"handleDefaults\")(t,e,n),r(\"dragmode\",n.getDfltFromLayout(\"dragmode\")),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}e.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:\"gl3d\",attributes:l,handleDefaults:c,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{\"../../../components/color\":567,\"../../../lib\":693,\"../../../registry\":825,\"../../subplot_defaults\":820,\"./axis_defaults\":787,\"./layout_attributes\":790}],790:[function(t,e,r){\"use strict\";var n=t(\"./axis_attributes\"),i=t(\"../../domain\").attributes,a=t(\"../../../lib/extend\").extendFlat,o=t(\"../../../lib\").counterRegex;function s(t,e,r){return{x:{valType:\"number\",dflt:t,editType:\"camera\"},y:{valType:\"number\",dflt:e,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}e.exports={_arrayAttrRegexps:[o(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),editType:\"camera\"},domain:i({name:\"scene\",editType:\"plot\"}),aspectmode:{valType:\"enumerated\",values:[\"auto\",\"cube\",\"data\",\"manual\"],dflt:\"auto\",editType:\"plot\",impliedEdits:{\"aspectratio.x\":void 0,\"aspectratio.y\":void 0,\"aspectratio.z\":void 0}},aspectratio:{x:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},y:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},z:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},editType:\"plot\",impliedEdits:{aspectmode:\"manual\"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:\"enumerated\",values:[\"orbit\",\"turntable\",\"zoom\",\"pan\",!1],dflt:\"turntable\",editType:\"plot\"},hovermode:{valType:\"enumerated\",values:[\"closest\",!1],dflt:\"closest\",editType:\"modebar\"},editType:\"plot\",_deprecated:{cameraposition:{valType:\"info_array\",editType:\"camera\"}}}},{\"../../../lib\":693,\"../../../lib/extend\":682,\"../../domain\":767,\"./axis_attributes\":786}],791:[function(t,e,r){\"use strict\";var n=t(\"../../../lib/str2rgbarray\"),i=[\"xaxis\",\"yaxis\",\"zaxis\"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new a;return e.merge(t),e}},{\"../../../lib/str2rgbarray\":717}],792:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,l=t.fullSceneLayout,c=[[],[],[]],u=0;u<3;++u){var f=l[o[u]];if(f._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(f._length)===1/0)c[u]=[];else{f._input_range=f.range.slice(),f.range[0]=r[u].lo/t.dataScale[u],f.range[1]=r[u].hi/t.dataScale[u],f._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),f.range[0]===f.range[1]&&(f.range[0]-=1,f.range[1]+=1);var h=f.tickmode;if(\"auto\"===f.tickmode){f.tickmode=\"linear\";var p=f.nticks||i.constrain(f._length/40,4,9);n.autoTicks(f,Math.abs(f.range[1]-f.range[0])/p)}for(var d=n.calcTicks(f),g=0;g<d.length;++g)d[g].x=d[g].x*t.dataScale[u],d[g].text=a(d[g].text);c[u]=d,f.tickmode=h}}e.ticks=c;for(var u=0;u<3;++u){s[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]);for(var g=0;g<2;++g)e.bounds[g][u]=t.glplot.bounds[g][u]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}(c)};var n=t(\"../../cartesian/axes\"),i=t(\"../../../lib\"),a=t(\"../../../lib/html2unicode\"),o=[\"xaxis\",\"yaxis\",\"zaxis\"],s=[0,0,0]},{\"../../../lib\":693,\"../../../lib/html2unicode\":691,\"../../cartesian/axes\":742}],793:[function(t,e,r){\"use strict\";function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}e.exports=function(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}},{}],794:[function(t,e,r){\"use strict\";var n,i,a=t(\"gl-plot3d\"),o=t(\"webgl-context\"),s=t(\"has-passive-events\"),l=t(\"../../registry\"),c=t(\"../../lib\"),u=t(\"../../plots/cartesian/axes\"),f=t(\"../../components/fx\"),h=t(\"../../lib/str2rgbarray\"),p=t(\"../../lib/show_no_webgl_msg\"),d=t(\"./camera\"),g=t(\"./project\"),m=t(\"./layout/convert\"),v=t(\"./layout/spikes\"),y=t(\"./layout/tick_marks\");function x(t,e,r,l){var c=t.graphDiv,h={canvas:r,gl:l,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(i||(n=document.createElement(\"canvas\"),i=o({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"error creating static canvas/context for image server\");h.pixelRatio=t.pixelRatio,h.gl=i,h.canvas=n}try{t.glplot=a(h)}catch(e){return p(t)}var m=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+\".camera\"]=M(t.camera),t.saveCamera(c.layout),t.graphDiv.emit(\"plotly_relayout\",e)}};if(t.glplot.canvas.addEventListener(\"mouseup\",m.bind(null,t)),t.glplot.canvas.addEventListener(\"wheel\",m.bind(null,t),!!s&&{passive:!1}),t.staticMode||t.glplot.canvas.addEventListener(\"webglcontextlost\",function(e){c&&c.emit&&c.emit(\"plotly_webglcontextlost\",{event:e,layer:t.id})},!1),!t.camera){var v=t.fullSceneLayout.camera;t.camera=d(t.container,{center:[v.center.x,v.center.y,v.center.z],eye:[v.eye.x,v.eye.y,v.eye.z],up:[v.up.x,v.up.y,v.up.z],zoomMin:.1,zoomMax:100,mode:\"orbit\"})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){var e,r=t.svgContainer,n=t.container.getBoundingClientRect(),i=n.width,a=n.height;r.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a),r.setAttributeNS(null,\"width\",i),r.setAttributeNS(null,\"height\",a),y(t),t.glplot.axes.update(t.axesOptions);for(var o,s=Object.keys(t.traces),l=null,c=t.glplot.selection,h=0;h<s.length;++h)\"skip\"!==(e=t.traces[s[h]]).data.hoverinfo&&e.handlePick(c)&&(l=e),e.setContourLevels&&e.setContourLevels();function p(e,r){var n=t.fullSceneLayout[e];return u.tickText(n,n.d2l(r),\"hover\").text}if(null!==l){var d=g(t.glplot.cameraParams,c.dataCoordinate);e=l.data;var m,v=c.index,x=f.castHoverinfo(e,t.fullLayout,v),b=x.split(\"+\"),_=\"all\"===x,w=p(\"xaxis\",c.traceCoordinate[0]),k=p(\"yaxis\",c.traceCoordinate[1]),M=p(\"zaxis\",c.traceCoordinate[2]);if(_||(-1===b.indexOf(\"x\")&&(w=void 0),-1===b.indexOf(\"y\")&&(k=void 0),-1===b.indexOf(\"z\")&&(M=void 0),-1===b.indexOf(\"text\")&&(c.textLabel=void 0),-1===b.indexOf(\"name\")&&(l.name=void 0)),\"cone\"===e.type||\"streamtube\"===e.type){var A=[];(_||-1!==b.indexOf(\"u\"))&&A.push(\"u: \"+p(\"xaxis\",c.traceCoordinate[3])),(_||-1!==b.indexOf(\"v\"))&&A.push(\"v: \"+p(\"yaxis\",c.traceCoordinate[4])),(_||-1!==b.indexOf(\"w\"))&&A.push(\"w: \"+p(\"zaxis\",c.traceCoordinate[5])),(_||-1!==b.indexOf(\"norm\"))&&A.push(\"norm: \"+c.traceCoordinate[6].toPrecision(3)),\"streamtube\"!==e.type||!_&&-1===b.indexOf(\"divergence\")||A.push(\"divergence: \"+c.traceCoordinate[7].toPrecision(3)),c.textLabel&&A.push(c.textLabel),m=A.join(\"<br>\")}else m=c.textLabel;t.fullSceneLayout.hovermode&&f.loneHover({x:(.5+.5*d[0]/d[3])*i,y:(.5-.5*d[1]/d[3])*a,xLabel:w,yLabel:k,zLabel:M,text:m,name:l.name,color:f.castHoverOption(e,v,\"bgcolor\")||l.color,borderColor:f.castHoverOption(e,v,\"bordercolor\"),fontFamily:f.castHoverOption(e,v,\"font.family\"),fontSize:f.castHoverOption(e,v,\"font.size\"),fontColor:f.castHoverOption(e,v,\"font.color\")},{container:r,gd:t.graphDiv});var T={x:c.traceCoordinate[0],y:c.traceCoordinate[1],z:c.traceCoordinate[2],data:e._input,fullData:e,curveNumber:e.index,pointNumber:v};e._module.eventData&&(T=e._module.eventData(T,c,e,{},v)),f.appendArrayPointValue(T,e,v);var S={points:[T]};c.buttons&&c.distance<5?t.graphDiv.emit(\"plotly_click\",S):t.graphDiv.emit(\"plotly_hover\",S),o=S}else f.loneUnhover(r),t.graphDiv.emit(\"plotly_unhover\",o);t.drawAnnotations(t)}.bind(null,t),t.traces={},!0}function b(t,e){var r=document.createElement(\"div\"),n=t.container;this.graphDiv=t.graphDiv;var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\",r.appendChild(i),this.svgContainer=i,r.id=t.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=e,this.id=t.id||\"scene\",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=m(e[this.id]),this.spikeOptions=v(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=l.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=l.getComponentMethod(\"annotations3d\",\"draw\"),x(this)}var _=b.prototype;_.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):x(t,t.fullLayout,r,e)?t.plot.apply(t,t.plotArgs):c.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\")})};var w=[\"xaxis\",\"yaxis\",\"zaxis\"];function k(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=w[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+\"calendar\"],f=e[\"_\"+o+\"length\"];if(c.isArrayOrTypedArray(l))for(var h,p=0;p<(f||l.length);p++)if(c.isArrayOrTypedArray(l[p]))for(var d=0;d<l[p].length;++d)h=s.d2l(l[p][d],0,u),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else h=s.d2l(l[p],0,u),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],f-1)}}function M(t){return{up:{x:t.up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]}}}_.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,s,l,c=e[this.id],u=r[this.id];c.bgcolor?this.glplot.clearColor=h(c.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=c,this.glplotLayout=c,this.axesOptions.merge(c),this.spikeOptions.merge(c),this.setCamera(c.camera),this.updateFx(c.dragmode,c.hovermode),this.glplot.update({}),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a<t.length;++a)!0===(n=t[a]).visible&&k(this,n,f);var p=[1,1,1];for(o=0;o<3;++o)f[0][o]>f[1][o]?p[o]=1:f[1][o]===f[0][o]?p[o]=1:p[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=p,this.convertAnnotations(this),a=0;a<t.length;++a)!0===(n=t[a]).visible&&((i=this.traces[n.uid])?i.data.type===n.type?i.update(n):(i.dispose(),i=n._module.plot(this,n),this.traces[n.uid]=i):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var d=Object.keys(this.traces);t:for(a=0;a<d.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===d[a]&&!0===t[o].visible)continue t;(i=this.traces[d[a]]).dispose(),delete this.traces[d[a]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var g=[[0,0,0],[0,0,0]],m=[],v={};for(a=0;a<3;++a){if((l=(s=c[w[a]]).type)in v?(v[l].acc*=p[a],v[l].count+=1):v[l]={acc:p[a],count:1},s.autorange){g[0][a]=1/0,g[1][a]=-1/0;var y=this.glplot.objects,x=this.fullSceneLayout.annotations||[],b=s._name.charAt(0);for(o=0;o<y.length;o++){var _=y[o],M=_.bounds,A=_._trace.data._pad||0;\"ErrorBars\"===_.constructor.name&&s._lowerLogErrorBound?g[0][a]=Math.min(g[0][a],s._lowerLogErrorBound):g[0][a]=Math.min(g[0][a],M[0][a]/p[a]-A),g[1][a]=Math.max(g[1][a],M[1][a]/p[a]+A)}for(o=0;o<x.length;o++){var T=x[o];if(T.visible){var S=s.r2l(T[b]);g[0][a]=Math.min(g[0][a],S),g[1][a]=Math.max(g[1][a],S)}}if(\"rangemode\"in s&&\"tozero\"===s.rangemode&&(g[0][a]=Math.min(g[0][a],0),g[1][a]=Math.max(g[1][a],0)),g[0][a]>g[1][a])g[0][a]=-1,g[1][a]=1;else{var E=g[1][a]-g[0][a];g[0][a]-=E/32,g[1][a]+=E/32}}else{var C=s.range;g[0][a]=s.r2l(C[0]),g[1][a]=s.r2l(C[1])}g[0][a]===g[1][a]&&(g[0][a]-=1,g[1][a]+=1),m[a]=g[1][a]-g[0][a],this.glplot.bounds[0][a]=g[0][a]*p[a],this.glplot.bounds[1][a]=g[1][a]*p[a]}var L=[1,1,1];for(a=0;a<3;++a){var z=v[l=(s=c[w[a]]).type];L[a]=Math.pow(z.acc,1/z.count)/p[a]}var P;if(\"auto\"===c.aspectmode)P=Math.max.apply(null,L)/Math.min.apply(null,L)<=4?L:[1,1,1];else if(\"cube\"===c.aspectmode)P=[1,1,1];else if(\"data\"===c.aspectmode)P=L;else{if(\"manual\"!==c.aspectmode)throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");var O=c.aspectratio;P=[O.x,O.y,O.z]}c.aspectratio.x=u.aspectratio.x=P[0],c.aspectratio.y=u.aspectratio.y=P[1],c.aspectratio.z=u.aspectratio.z=P[2],this.glplot.aspect=P;var I=c.domain||null,D=e._size||null;if(I&&D){var R=this.container.style;R.position=\"absolute\",R.left=D.l+I.x[0]*D.w+\"px\",R.top=D.t+(1-I.y[1])*D.h+\"px\",R.width=D.w*(I.x[1]-I.x[0])+\"px\",R.height=D.h*(I.y[1]-I.y[0])+\"px\"}this.glplot.redraw()}},_.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},_.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),M(this.glplot.camera)},_.setCamera=function(t){var e;this.glplot.camera.lookAt.apply(this,[[(e=t).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]])},_.saveCamera=function(t){var e=this.getCamera(),r=c.nestedProperty(t,this.id+\".camera\"),n=r.get(),i=!1;function a(t,e,r,n){var i=[\"up\",\"center\",\"eye\"],a=[\"x\",\"y\",\"z\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}if(void 0===n)i=!0;else for(var o=0;o<3;o++)for(var s=0;s<3;s++)if(!a(e,n,o,s)){i=!0;break}return i&&r.set(e),i},_.updateFx=function(t,e){var r=this.camera;r&&(\"orbit\"===t?(r.mode=\"orbit\",r.keyBindingMode=\"rotate\"):\"turntable\"===t?(r.up=[0,0,1],r.mode=\"turntable\",r.keyBindingMode=\"rotate\"):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},_.toImage=function(t){t||(t=\"png\"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=a[4*(r*o+l)+c];a[4*(r*o+l)+c]=a[4*(r*s+l)+c],a[4*(r*s+l)+c]=u}var f=document.createElement(\"canvas\");f.width=r,f.height=i;var h,p=f.getContext(\"2d\"),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case\"jpeg\":h=f.toDataURL(\"image/jpeg\");break;case\"webp\":h=f.toDataURL(\"image/webp\");break;default:h=f.toDataURL(\"image/png\")}return this.staticMode&&this.container.removeChild(n),h},_.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[w[t]];u.setConvert(e,this.fullLayout),e.setScale=c.noop}},e.exports=b},{\"../../components/fx\":609,\"../../lib\":693,\"../../lib/show_no_webgl_msg\":715,\"../../lib/str2rgbarray\":717,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"./camera\":783,\"./layout/convert\":788,\"./layout/spikes\":791,\"./layout/tick_marks\":792,\"./project\":793,\"gl-plot3d\":276,\"has-passive-events\":392,\"webgl-context\":530}],795:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;a<n;a++)i[a]=[t[a],e[a],r[a]];return i}},{}],796:[function(t,e,r){\"use strict\";var n=t(\"./font_attributes\"),i=t(\"../components/color/attributes\"),a=n({editType:\"calc\"});a.family.dflt='\"Open Sans\", verdana, arial, sans-serif',a.size.dflt=12,a.color.dflt=i.defaultLine,e.exports={font:a,title:{valType:\"string\",editType:\"layoutstyle\"},titlefont:n({editType:\"layoutstyle\"}),autosize:{valType:\"boolean\",dflt:!1,editType:\"none\"},width:{valType:\"number\",min:10,dflt:700,editType:\"plot\"},height:{valType:\"number\",min:10,dflt:450,editType:\"plot\"},margin:{l:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},r:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},t:{valType:\"number\",min:0,dflt:100,editType:\"plot\"},b:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},autoexpand:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},paper_bgcolor:{valType:\"color\",dflt:i.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:i.background,editType:\"layoutstyle\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:i.defaults,editType:\"calc\"},datarevision:{valType:\"any\",editType:\"calc\"},template:{valType:\"any\",editType:\"calc\"}}},{\"../components/color/attributes\":566,\"./font_attributes\":768}],797:[function(t,e,r){\"use strict\";e.exports={requiredVersion:\"0.45.0\",styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",controlContainerClassName:\"mapboxgl-control-container\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install mapbox-gl@0.45.0.\"].join(\"\\n\"),noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\"  Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });\",\"More info here: https://www.mapbox.com/help/define-access-token/\"].join(\"\\n\"),mapOnErrorMsg:\"Mapbox error.\",styleRules:{map:\"overflow:hidden;position:relative;\",\"missing-css\":\"display:none\"}}},{}],798:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){var r=t.split(\" \"),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=[\"\",\"\"],u=[0,0];switch(i){case\"top\":c[0]=\"top\",u[1]=-l;break;case\"bottom\":c[0]=\"bottom\",u[1]=l}switch(a){case\"left\":c[1]=\"right\",u[0]=-s;break;case\"right\":c[1]=\"left\",u[0]=s}return{anchor:c[0]&&c[1]?c.join(\"-\"):c[0]?c[0]:c[1]?c[1]:\"center\",offset:u}}},{\"../../lib\":693}],799:[function(t,e,r){\"use strict\";var n=t(\"mapbox-gl\"),i=t(\"../../lib\"),a=t(\"../../plots/get_data\").getSubplotCalcData,o=t(\"../../constants/xmlns_namespaces\"),s=t(\"./mapbox\"),l=t(\"./constants\");for(var c in l.styleRules)i.addStyleRule(\".mapboxgl-\"+c,l.styleRules[c]);r.name=\"mapbox\",r.attr=\"subplot\",r.idRoot=\"mapbox\",r.idRegex=r.attrRegex=i.counterRegex(\"mapbox\"),r.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}},r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=e._subplots.mapbox;if(n.version!==l.requiredVersion)throw new Error(l.wrongVersionErrorMsg);var c=function(t,e){var r=t._fullLayout;if(\"\"===t._context.mapboxAccessToken)return\"\";for(var n=0;n<e.length;n++){var i=r[e[n]];if(i.accesstoken)return i.accesstoken}throw new Error(l.noAccessTokenErrorMsg)}(t,o);n.accessToken=c;for(var u=0;u<o.length;u++){var f=o[u],h=a(r,\"mapbox\",f),p=e[f],d=p._subplot;d||(d=s({gd:t,container:e._glcontainer.node(),id:f,fullLayout:e,staticPlot:t._context.staticPlot}),e[f]._subplot=d),d.viewInitial||(d.viewInitial={center:i.extendFlat({},p.center),zoom:p.zoom,bearing:p.bearing,pitch:p.pitch}),d.plot(h,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],s=a.domain,l=a._subplot,c=l.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":c,x:n.l+n.w*s.x[0],y:n.t+n.h*(1-s.y[1]),width:n.w*(s.x[1]-s.x[0]),height:n.h*(s.y[1]-s.y[0]),preserveAspectRatio:\"none\"}),l.destroy()}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n<r.length;n++){e[r[n]]._subplot.updateFx(e)}}},{\"../../constants/xmlns_namespaces\":671,\"../../lib\":693,\"../../plots/get_data\":778,\"./constants\":797,\"./layout_attributes\":801,\"./layout_defaults\":802,\"./mapbox\":803,\"mapbox-gl\":406}],800:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./convert_text_opts\");function a(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+\"-layer\"+e,this.idSource=this.uid+\"-source\",this.idLayer=this.uid+\"-layer\",this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var o=a.prototype;function s(t){var e=t.source;return t.visible&&(n.isPlainObject(e)||\"string\"==typeof e&&e.length>0)}function l(t){var e={},r={};switch(t.type){case\"circle\":n.extendFlat(r,{\"circle-radius\":t.circle.radius,\"circle-color\":t.color,\"circle-opacity\":t.opacity});break;case\"line\":n.extendFlat(r,{\"line-width\":t.line.width,\"line-color\":t.color,\"line-opacity\":t.opacity});break;case\"fill\":n.extendFlat(r,{\"fill-color\":t.color,\"fill-outline-color\":t.fill.outlinecolor,\"fill-opacity\":t.opacity});break;case\"symbol\":var a=t.symbol,o=i(a.textposition,a.iconsize);n.extendFlat(e,{\"icon-image\":a.icon+\"-15\",\"icon-size\":a.iconsize/10,\"text-field\":a.text,\"text-size\":a.textfont.size,\"text-anchor\":o.anchor,\"text-offset\":o.offset}),n.extendFlat(r,{\"icon-color\":t.color,\"text-color\":a.textfont.color,\"text-opacity\":t.opacity})}return{layout:e,paint:r}}o.update=function(t){this.visible?this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=s(t)},o.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},o.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},o.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,s(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};\"geojson\"===r?e=\"data\":\"vector\"===r&&(e=\"string\"==typeof n?\"url\":\"tiles\");return i[e]=n,i}(t);e.addSource(this.idSource,r)}},o.updateLayer=function(t){var e=this.map,r=l(t);this.removeLayer(),this.layerType=t.type,s(t)&&e.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":t.sourcelayer||\"\",type:t.type,layout:r.layout,paint:r.paint},t.below)},o.updateStyle=function(t){if(s(t)){var e=l(t);this.mapbox.setOptions(this.idLayer,\"setLayoutProperty\",e.layout),this.mapbox.setOptions(this.idLayer,\"setPaintProperty\",e.paint)}},o.removeLayer=function(){var t=this.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer)},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new a(t,e);return n.update(r),n}},{\"../../lib\":693,\"./convert_text_opts\":798}],801:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\").defaultLine,a=t(\"../domain\").attributes,o=t(\"../font_attributes\"),s=t(\"../../traces/scatter/attributes\").textposition,l=t(\"../../plot_api/edit_types\").overrideAll,c=t(\"../../plot_api/plot_template\").templatedArray,u=o({});u.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\",e.exports=l({_arrayAttrRegexps:[n.counterRegex(\"mapbox\",\".layers\",!0)],domain:a({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],dflt:\"basic\"},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},layers:c(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\"],dflt:\"circle\"},below:{valType:\"string\",dflt:\"\"},color:{valType:\"color\",dflt:i},opacity:{valType:\"number\",min:0,max:1,dflt:1},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2}},fill:{outlinecolor:{valType:\"color\",dflt:i}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},textfont:u,textposition:n.extendFlat({},s,{arrayOk:!1})}})},\"plot\",\"from-root\")},{\"../../components/color\":567,\"../../lib\":693,\"../../plot_api/edit_types\":725,\"../../plot_api/plot_template\":732,\"../../traces/scatter/attributes\":1032,\"../domain\":767,\"../font_attributes\":768}],802:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../subplot_defaults\"),a=t(\"../array_container_defaults\"),o=t(\"./layout_attributes\");function s(t,e,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\"),a(t,e,{name:\"layers\",handleItemDefaults:l}),e._input=t}function l(t,e){function r(r,i){return n.coerce(t,e,o.layers,r,i)}if(r(\"visible\")){var i=r(\"sourcetype\");r(\"source\"),\"vector\"===i&&r(\"sourcelayer\");var a=r(\"type\");r(\"below\"),r(\"color\"),r(\"opacity\"),\"circle\"===a&&r(\"circle.radius\"),\"line\"===a&&r(\"line.width\"),\"fill\"===a&&r(\"fill.outlinecolor\"),\"symbol\"===a&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),n.coerceFont(r,\"symbol.textfont\"),r(\"symbol.textposition\"))}}e.exports=function(t,e,r){i(t,e,r,{type:\"mapbox\",attributes:o,handleDefaults:s,partition:\"y\",accessToken:e._mapboxAccessToken})}},{\"../../lib\":693,\"../array_container_defaults\":738,\"../subplot_defaults\":820,\"./layout_attributes\":801}],803:[function(t,e,r){\"use strict\";var n=t(\"mapbox-gl\"),i=t(\"../../components/fx\"),a=t(\"../../lib\"),o=t(\"../../components/dragelement\"),s=t(\"../cartesian/select\").prepSelect,l=t(\"../cartesian/select\").selectOnClick,c=t(\"./constants\"),u=t(\"./layout_attributes\"),f=t(\"./layers\");function h(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+\"-\"+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}var p=h.prototype;function d(t){var e=u.style.values,r=u.style.dflt,n={};return a.isPlainObject(t)?(n.id=t.id,n.style=t):\"string\"==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?g(t):t):(n.id=r,n.style=g(r)),n.transition={duration:0,delay:0},n}function g(t){return c.styleUrlPrefix+t+\"-\"+c.styleUrlSuffix}function m(t){return[t.lon,t.lat]}e.exports=function(t){return new h(t)},p.plot=function(t,e,r){var n,i=this,a=i.opts=e[this.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash=[],i.layerList={}),n=i.map?new Promise(function(r,n){i.updateMap(t,e,r,n)}):new Promise(function(r,n){i.createMap(t,e,r,n)}),r.push(n)},p.createMap=function(t,e,r,a){var o=this,s=o.gd,u=o.opts,f=o.styleObj=d(u.style);o.accessToken=u.accesstoken;var h=o.map=new n.Map({container:o.div,style:f.style,center:m(u.center),zoom:u.zoom,bearing:u.bearing,pitch:u.pitch,interactive:!o.isStatic,preserveDrawingBuffer:o.isStatic,doubleClickZoom:!1,boxZoom:!1}),p=c.controlContainerClassName,g=o.div.getElementsByClassName(p)[0];if(o.div.removeChild(g),h._canvas.style.left=\"0px\",h._canvas.style.top=\"0px\",o.rejectOnError(a),h.once(\"load\",function(){o.updateData(t),o.updateLayout(e),o.resolveOnRender(r)}),!o.isStatic){var v=!1;h.on(\"moveend\",function(t){if(o.map){var e=o.getView();u._input.center=u.center=e.center,u._input.zoom=u.zoom=e.zoom,u._input.bearing=u.bearing=e.bearing,u._input.pitch=u.pitch=e.pitch,(t.originalEvent||v)&&x(e),v=!1}}),h.on(\"wheel\",function(){v=!0}),h.on(\"mousemove\",function(t){var e=o.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},o.xaxis.p2c=function(){return t.lngLat.lng},o.yaxis.p2c=function(){return t.lngLat.lat},i.hover(s,t,o.id)}),h.on(\"dragstart\",y),h.on(\"zoomstart\",y),h.on(\"dblclick\",function(){s.emit(\"plotly_doubleclick\",null);var t=o.viewInitial;h.setCenter(m(t.center)),h.setZoom(t.zoom),h.setBearing(t.bearing),h.setPitch(t.pitch);var e=o.getView();u._input.center=u.center=e.center,u._input.zoom=u.zoom=e.zoom,u._input.bearing=u.bearing=e.bearing,u._input.pitch=u.pitch=e.pitch,x(e)}),o.clearSelect=function(){s._fullLayout._zoomlayer.selectAll(\".select-outline\").remove()},o.onClickInPanFn=function(t){return function(e){var r=s._fullLayout.clickmode;r.indexOf(\"select\")>-1&&l(e.originalEvent,s,[o.xaxis],[o.yaxis],o.id,t),r.indexOf(\"event\")>-1&&i.click(s,e.originalEvent)}}}function y(){i.loneUnhover(e._toppaper)}function x(t){var e=o.id,r={};for(var n in t)r[e+\".\"+n]=t[n];s.emit(\"plotly_relayout\",r)}},p.updateMap=function(t,e,r,n){var i=this,a=i.map;i.rejectOnError(n);var o=d(i.opts.style);i.styleObj.id!==o.id?(i.styleObj=o,a.setStyle(o.style),a.once(\"styledata\",function(){i.traceHash={},i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})):(i.updateData(t),i.updateLayout(e),i.resolveOnRender(r))},p.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n<t.length;n++){var o=t[n];(e=a[(r=o[0].trace).uid])?e.update(o):r._module&&(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n<s.length;n++){var l=s[n];for(i=0;i<t.length;i++)if(l===(r=t[i][0].trace).uid)continue t;(e=a[l]).dispose(),delete a[l]}},p.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(m(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},p.resolveOnRender=function(t){var e=this.map;e.on(\"render\",function r(){e.loaded()&&(e.off(\"render\",r),setTimeout(t,0))})},p.rejectOnError=function(t){var e=this.map;function r(){t(new Error(c.mapOnErrorMsg))}e.once(\"error\",r),e.once(\"style.error\",r),e.once(\"source.error\",r),e.once(\"tile.error\",r),e.once(\"layer.error\",r)},p.createFramework=function(t){var e=this,r=e.div=document.createElement(\"div\");r.id=e.uid,r.style.position=\"absolute\",e.container.appendChild(r),e.xaxis={_id:\"x\",c2p:function(t){return e.project(t).x}},e.yaxis={_id:\"y\",c2p:function(t){return e.project(t).y}},e.updateFramework(t)},p.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var i,l=t.dragmode;i=\"select\"===l?function(t,r){(t.range={})[e.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(u)};var c=e.dragOptions;e.dragOptions=a.extendDeep(c||{},{element:e.div,gd:n,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:i},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off(\"click\",e.onClickInPanHandler),\"select\"===l||\"lasso\"===l?(r.dragPan.disable(),r.on(\"zoomstart\",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){s(t,r,n,e.dragOptions,l)},o.init(e.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",e.clearSelect),e.div.onmousedown=null,e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on(\"click\",e.onClickInPanHandler))}function u(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},p.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+\"px\",n.height=r.h*(e.y[1]-e.y[0])+\"px\",n.left=r.l+e.x[0]*r.w+\"px\",n.top=r.t+(1-e.y[1])*r.h+\"px\",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},p.updateLayers=function(){var t,e=this.opts.layers,r=this.layerList;if(e.length!==r.length){for(t=0;t<r.length;t++)r[t].dispose();for(r=this.layerList=[],t=0;t<e.length;t++)r.push(f(this,t,e[t]))}else for(t=0;t<e.length;t++)r[t].update(e[t])},p.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},p.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},p.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},p.project=function(t){return this.map.project(new n.LngLat(t[0],t[1]))},p.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}}},{\"../../components/dragelement\":589,\"../../components/fx\":609,\"../../lib\":693,\"../cartesian/select\":759,\"./constants\":797,\"./layers\":800,\"./layout_attributes\":801,\"mapbox-gl\":406}],804:[function(t,e,r){\"use strict\";e.exports={t:{valType:\"number\",dflt:0,editType:\"arraydraw\"},r:{valType:\"number\",dflt:0,editType:\"arraydraw\"},b:{valType:\"number\",dflt:0,editType:\"arraydraw\"},l:{valType:\"number\",dflt:0,editType:\"arraydraw\"},editType:\"arraydraw\"}},{}],805:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../registry\"),o=t(\"../plot_api/plot_schema\"),s=t(\"../plot_api/plot_template\"),l=t(\"../lib\"),c=t(\"../components/color\"),u=t(\"../constants/numerical\").BADNUM,f=t(\"../plots/cartesian/axis_ids\"),h=t(\"./sort_modules\").sortBasePlotModules,p=t(\"./animation_attributes\"),d=t(\"./frame_attributes\"),g=l.relinkPrivateKeys,m=l._,v=e.exports={};l.extendFlat(v,a),v.attributes=t(\"./attributes\"),v.attributes.type.values=v.allTypes,v.fontAttrs=t(\"./font_attributes\"),v.layoutAttributes=t(\"./layout_attributes\"),v.fontWeight=\"normal\";var y=v.transformsRegistry,x=t(\"./command\");v.executeAPICommand=x.executeAPICommand,v.computeAPICommandBindings=x.computeAPICommandBindings,v.manageCommandObserver=x.manageCommandObserver,v.hasSimpleAPICommandBindings=x.hasSimpleAPICommandBindings,v.redrawText=function(t){if(!((t=l.getGraphDiv(t)).data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){a.getComponentMethod(\"annotations\",\"draw\")(t),a.getComponentMethod(\"legend\",\"draw\")(t),(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()}),e(v.previousPromises(t))},300)})},v.resize=function(t){return t=l.getGraphDiv(t),new Promise(function(e,r){function n(t){var e=window.getComputedStyle(t).display;return!e||\"none\"===e}t&&!n(t)||r(new Error(\"Resize must be passed a displayed plot div element.\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(!t.layout||t.layout.width&&t.layout.height||n(t))e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,a.call(\"relayout\",t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},v.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},v.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=l.ensureSingle(e._paper,\"text\",\"js-plot-link-container\",function(t){t.style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:c.defaultLine,\"pointer-events\":\"all\"}).each(function(){var t=n.select(this);t.append(\"tspan\").classed(\"js-link-to-tool\",!0),t.append(\"tspan\").classed(\"js-link-spacer\",!0),t.append(\"tspan\").classed(\"js-sourcelinks\",!0)})}),i=r.node(),a={y:e._paper.attr(\"height\")-9};document.body.contains(i)&&i.getComputedTextLength()>=e.width-20?(a[\"text-anchor\"]=\"start\",a.x=5):(a[\"text-anchor\"]=\"end\",a.x=e._paper.attr(\"width\")-7),r.attr(a);var o=r.select(\".js-link-to-tool\"),s=r.select(\".js-link-spacer\"),u=r.select(\".js-sourcelinks\");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text(\"\");var r=e.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(t._context.linkText+\" \"+String.fromCharCode(187));if(t._context.sendData)r.on(\"click\",function(){v.sendDataToCloud(t)});else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}(t,o),s.text(o.text()&&u.text()?\" - \":\"\")}},v.sendDataToCloud=function(t){t.emit(\"plotly_beforeexport\");var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL,r=n.select(t).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),i=r.append(\"form\").attr({action:e+\"/external\",method:\"post\",target:\"_blank\"});return i.append(\"input\").attr({type:\"text\",name:\"data\"}).node().value=v.graphJson(t,!1,\"keepdata\"),i.node().submit(),r.remove(),t.emit(\"plotly_afterexport\"),!1};var b,_=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],w=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];function k(t,e){var r=t._context.locale,n=!1,i={};function o(t){for(var r=!0,a=0;a<e.length;a++){var o=e[a];i[o]||(t[o]?i[o]=t[o]:r=!1)}r&&(n=!0)}for(var s=0;s<2;s++){for(var l=t._context.locales,c=0;c<2;c++){var u=(l[r]||{}).format;if(u&&(o(u),n))break;l=a.localeRegistry}var f=r.split(\"-\")[0];if(n||f===r)break;r=f}return n||o(a.localeRegistry.en.format),i}function M(t){var e=t.transforms;if(Array.isArray(e)&&e.length)for(var r=0;r<e.length;r++){var n=e[r],i=n._module||y[n.type];if(i&&i.makesData)return!0}return!1}function A(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=y[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function T(t){t._pushmargin||(t._pushmargin={}),t._pushmarginIds||(t._pushmarginIds={})}function S(t){for(var e=0;e<t.length;e++)t[e].clearCalc()}v.supplyDefaults=function(t,e){var r=e&&e.skipUpdateCalc,i=t._fullLayout||{};if(i._skipDefaults)delete i._skipDefaults;else{var o,s=t._fullLayout={},c=t.layout||{},u=t._fullData||[],p=t._fullData=[],d=t.data||[],y=t.calcdata||[],x=t._context||{};t._transitionData||v.createTransitionData(t),s._dfltTitle={plot:m(t,\"Click to enter Plot title\"),x:m(t,\"Click to enter X axis title\"),y:m(t,\"Click to enter Y axis title\"),colorbar:m(t,\"Click to enter Colorscale title\"),annotation:m(t,\"new text\")},s._traceWord=m(t,\"trace\");var M=k(t,_);if(s._mapboxAccessToken=x.mapboxAccessToken,i._initialAutoSizeIsDone){var A=i.width,T=i.height;v.supplyLayoutGlobalDefaults(c,s,M),c.width||(s.width=A),c.height||(s.height=T),v.sanitizeMargins(s)}else{v.supplyLayoutGlobalDefaults(c,s,M);var S=!c.width||!c.height,E=s.autosize,C=x.autosizable;S&&(E||C)?v.plotAutoSize(t,c,s):S&&v.sanitizeMargins(s),!E&&S&&(c.width=s.width,c.height=s.height)}s._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),n.locale(t)}(M,s.separators),s._extraFormat=k(t,w),s._initialAutoSizeIsDone=!0,s._dataLength=d.length,s._modules=[],s._visibleModules=[],s._basePlotModules=[];var L=s._subplots=function(){var t,e,r={};if(!b){b=[];var n=a.subplotsRegistry;for(var i in n){var o=n[i],s=o.attr;if(s&&(b.push(i),Array.isArray(s)))for(e=0;e<s.length;e++)l.pushUnique(b,s[e])}}for(t=0;t<b.length;t++)r[b[t]]=[];return r}(),z=s._splomAxes={x:{},y:{}},P=s._splomSubplots={};s._splomGridDflt={},s._scatterStackOpts={},s._firstScatter={},s._requestRangeslider={},s._traceUids=function(t,e){var r,n,i=e.length,a=[];for(r=0;r<t.length;r++){var o=t[r]._fullInput;o!==n&&a.push(o),n=o}var s=a.length,c=new Array(i),u={};function f(t,e){c[e]=t,u[t]=1}function h(t,e){if(t&&\"string\"==typeof t&&!u[t])return f(t,e),!0}for(r=0;r<i;r++)h(e[r].uid,r)||r<s&&h(a[r].uid,r)||f(l.randstr(u),r);return c}(u,d),s._globalTransforms=(t._context||{}).globalTransforms,v.supplyDataDefaults(d,p,c,s);var O=Object.keys(z.x),I=Object.keys(z.y);if(O.length>1&&I.length>1){for(a.getComponentMethod(\"grid\",\"sizeDefaults\")(c,s),o=0;o<O.length;o++)l.pushUnique(L.xaxis,O[o]);for(o=0;o<I.length;o++)l.pushUnique(L.yaxis,I[o]);for(var D in P)l.pushUnique(L.cartesian,D)}s._has=v._hasPlotType.bind(s);var R=s._visibleModules;for(o=0;o<R.length;o++){var B=R[o];B.cleanData&&B.cleanData(p)}if(u.length===p.length)for(o=0;o<p.length;o++)g(p[o],u[o]);v.supplyLayoutModuleDefaults(c,s,p,t._transitionData),s._hasOnlyLargeSploms=1===s._basePlotModules.length&&\"splom\"===s._basePlotModules[0].name&&O.length>15&&I.length>15&&0===s.shapes.length&&0===s.images.length,s._hasCartesian=s._has(\"cartesian\"),s._hasGeo=s._has(\"geo\"),s._hasGL3D=s._has(\"gl3d\"),s._hasGL2D=s._has(\"gl2d\"),s._hasTernary=s._has(\"ternary\"),s._hasPie=s._has(\"pie\"),v.linkSubplots(p,s,u,i),v.cleanPlot(p,s,u,i,y),g(s,i),v.doAutoMargin(t);var F=f.list(t);for(o=0;o<F.length;o++){F[o].setScale()}r||y.length!==p.length||v.supplyDefaultsUpdateCalc(y,p),s._basePlotModules.sort(h)}},v.supplyDefaultsUpdateCalc=function(t,e){for(var r=0;r<e.length;r++){var n=e[r],i=t[r][0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o,s,c,u=a._arrayAttrs;for(o=0;o<u.length;o++)s=u[o],c=l.nestedProperty(a,s).get().slice(),l.nestedProperty(n,s).set(c)}i.trace=n}}},v.createTransitionData=function(t){t._transitionData||(t._transitionData={}),t._transitionData._frames||(t._transitionData._frames=[]),t._transitionData._frameHash||(t._transitionData._frameHash={}),t._transitionData._counter||(t._transitionData._counter=0),t._transitionData._interruptCallbacks||(t._transitionData._interruptCallbacks=[])},v._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e<r.length;e++)if(r[e].name===t)return!0;var n=this._modules||[];for(e=0;e<n.length;e++){var i=n[e].name;if(i===t)return!0;var o=a.modules[i];if(o&&o.categories[t])return!0}return!1},v.cleanPlot=function(t,e,r,n,i){var a,o,s=n._basePlotModules||[];for(a=0;a<s.length;a++){var l=s[a];l.clean&&l.clean(t,e,r,n,i)}var c=n._has&&n._has(\"gl\"),u=e._has&&e._has(\"gl\");c&&!u&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(\".gl-canvas\").remove(),n._glcontainer.selectAll(\".no-webgl\").remove(),n._glcanvas=null);var f=!!n._infolayer;t:for(a=0;a<r.length;a++){var h=r[a].uid;for(o=0;o<t.length;o++){if(h===t[o].uid)continue t}f&&n._infolayer.select(\".cb\"+h).remove()}n._zoomlayer&&n._zoomlayer.selectAll(\".select-outline\").remove()},v.linkSubplots=function(t,e,r,n){var i,a,o=n._plots||{},s=e._plots={},l=e._subplots,c={_fullData:t,_fullLayout:e},u=l.cartesian.concat(l.gl2d||[]);for(i=0;i<u.length;i++){var h,p=u[i],d=o[p],g=f.getFromId(c,p,\"x\"),m=f.getFromId(c,p,\"y\");for(d?h=s[p]=d:(h=s[p]={}).id=p,h.xaxis=g,h.yaxis=m,h._hasClipOnAxisFalse=!1,a=0;a<t.length;a++){var v=t[a];if(v.xaxis===h.xaxis._id&&v.yaxis===h.yaxis._id&&!1===v.cliponaxis){h._hasClipOnAxisFalse=!0;break}}}var y=f.list(c,null,!0);for(i=0;i<y.length;i++){var x=y[i],b=null;x.overlaying&&(b=f.getFromId(c,x.overlaying))&&b.overlaying&&(x.overlaying=!1,b=null),x._mainAxis=b||x,b&&(x.domain=b.domain.slice()),x._anchorAxis=\"free\"===x.anchor?null:f.getFromId(c,x.anchor)}},v.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],o.crawl(t._module.attributes,function(t,n,i,a){r[a]=n,r.length=a+1,\"color\"===t.valType&&void 0===t.dflt&&e.push(r.join(\".\"))})),n=0;n<e.length;n++){l.nestedProperty(t,\"_input.\"+e[n]).get()||l.nestedProperty(t,e[n]).set(null)}},v.supplyDataDefaults=function(t,e,r,n){var i,o,c,u=n._modules,f=n._visibleModules,h=n._basePlotModules,p=0,d=0;function m(t){e.push(t);var r=t._module;r&&(l.pushUnique(u,r),!0===t.visible&&l.pushUnique(f,r),l.pushUnique(h,t._module.basePlotModule),p++,!1!==t._input.visible&&d++)}n._transformModules=[];var y={},x=[],b=(r.template||{}).data||{},_=s.traceTemplater(b);for(i=0;i<t.length;i++){if(c=t[i],(o=_.newTrace(c)).uid=n._traceUids[i],v.supplyTraceDefaults(c,o,d,n,i),o.index=i,o._input=c,o._expandedIndex=p,o.transforms&&o.transforms.length)for(var w=A(o,e,r,n),k=0;k<w.length;k++){var M=w[k],T={_template:o._template,type:o.type,uid:o.uid+k};v.supplyTraceDefaults(M,T,p,n,i),g(T,M),T.index=i,T._input=c,T._fullInput=o,T._expandedIndex=p,T._expandedInput=M,m(T)}else o._fullInput=o,o._expandedInput=o,m(o);a.traceIs(o,\"carpetAxis\")&&(y[o.carpet]=o),a.traceIs(o,\"carpetDependent\")&&x.push(i)}for(i=0;i<x.length;i++)if((o=e[x[i]]).visible){var S=y[o.carpet];o._carpet=S,S&&S.visible?(o.xaxis=S.xaxis,o.yaxis=S.yaxis):o.visible=!1}},v.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return l.coerce(t||{},r,p,e,n)}if(n(\"mode\"),n(\"direction\"),n(\"fromcurrent\"),Array.isArray(t.frame))for(r.frame=[],e=0;e<t.frame.length;e++)r.frame[e]=v.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=v.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=v.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=v.supplyAnimationTransitionDefaults(t.transition||{});return r},v.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,p.frame,r,n)}return r(\"duration\"),r(\"redraw\"),e},v.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,p.transition,r,n)}return r(\"duration\"),r(\"easing\"),e},v.supplyFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t,e,d,r,n)}return r(\"group\"),r(\"name\"),r(\"traces\"),r(\"baseframe\"),r(\"data\"),r(\"layout\"),e},v.supplyTraceDefaults=function(t,e,r,n,i){var o,s=n.colorway||c.defaults,u=s[r%s.length];function f(r,n){return l.coerce(t,e,v.attributes,r,n)}var h=f(\"visible\");f(\"type\"),f(\"name\",n._traceWord+\" \"+i);var p=v.getModule(e);if(e._module=p,p){var d=p.basePlotModule,g=d.attr,m=d.attributes;if(g&&m){var y=n._subplots,x=\"\";if(\"gl2d\"!==d.name||h){if(Array.isArray(g))for(o=0;o<g.length;o++){var b=g[o],_=l.coerce(t,e,m,b);y[b]&&l.pushUnique(y[b],_),x+=_}else x=l.coerce(t,e,m,g);y[d.name]&&l.pushUnique(y[d.name],x)}}}return h&&(f(\"customdata\"),f(\"ids\"),a.traceIs(e,\"showLegend\")?(e._dfltShowLegend=!0,f(\"showlegend\"),f(\"legendgroup\")):e._dfltShowLegend=!1,a.getComponentMethod(\"fx\",\"supplyDefaults\")(t,e,u,n),p&&(p.supplyDefaults(t,e,u,n),l.coerceHoverinfo(t,e,n)),a.traceIs(e,\"noOpacity\")||f(\"opacity\"),a.traceIs(e,\"notLegendIsolatable\")&&(e.visible=!!e.visible),p&&p.selectPoints&&f(\"selectedpoints\"),v.supplyTransformDefaults(t,e,n)),e},v.hasMakesDataTransform=M,v.supplyTransformDefaults=function(t,e,r){if(e._length||M(t)){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),s=e.transforms=[],c=0;c<o.length;c++){var u,f=o[c],h=f.type,p=y[h],d=!(f._module&&f._module===p),g=p&&\"function\"==typeof p.transform;p||l.warn(\"Unrecognized transform type \"+h+\".\"),p&&p.supplyDefaults&&(d||g)?((u=p.supplyDefaults(f,e,r,t)).type=h,u._module=p,l.pushUnique(i,p)):u=l.extendFlat({},f),s.push(u)}}},v.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return l.coerce(t,e,v.layoutAttributes,r,n)}var i=t.template;l.isPlainObject(i)&&(e.template=i,e._template=i.layout,e._dataTemplate=i.data);var o=l.coerceFont(n,\"font\");n(\"title\",e._dfltTitle.plot),l.coerceFont(n,\"titlefont\",{family:o.family,size:Math.round(1.4*o.size),color:o.color}),n(\"autosize\",!(t.width&&t.height)),n(\"width\"),n(\"height\"),n(\"margin.l\"),n(\"margin.r\"),n(\"margin.t\"),n(\"margin.b\"),n(\"margin.pad\"),n(\"margin.autoexpand\"),t.width&&t.height&&v.sanitizeMargins(e),a.getComponentMethod(\"grid\",\"sizeDefaults\")(t,e),n(\"paper_bgcolor\"),n(\"separators\",r.decimal+r.thousands),n(\"hidesources\"),n(\"colorway\"),n(\"datarevision\"),a.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\"),a.getComponentMethod(\"fx\",\"supplyLayoutGlobalDefaults\")(t,e,n)},v.plotAutoSize=function(t,e,r){var n,a,o=t._context||{},s=o.frameMargins,c=l.isPlotDiv(t);if(c&&t.emit(\"plotly_autosize\"),o.fillFrame)n=window.innerWidth,a=window.innerHeight,document.body.style.overflow=\"hidden\";else if(i(s)&&s>0){var u=function(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&&(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}(t._boundingBoxMargins),f=u.left+u.right,h=u.bottom+u.top,p=1-2*s,d=r._container&&r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(p*(d.width-f)),a=Math.round(p*(d.height-h))}else{var g=c?window.getComputedStyle(t):{};n=parseFloat(g.width)||parseFloat(g.maxWidth)||r.width,a=parseFloat(g.height)||parseFloat(g.maxHeight)||r.height}var m=v.layoutAttributes.width.min,y=v.layoutAttributes.height.min;n<m&&(n=m),a<y&&(a=y);var x=!e.width&&Math.abs(r.width-n)>1,b=!e.height&&Math.abs(r.height-a)>1;(b||x)&&(x&&(r.width=n),b&&(r.height=a)),t._initialAutoSize||(t._initialAutoSize={width:n,height:a}),v.sanitizeMargins(r)},v.supplyLayoutModuleDefaults=function(t,e,r,n){var i,o,s,c=a.componentsRegistry,u=e._basePlotModules,f=a.subplotsRegistry.cartesian;for(i in c)(s=c[i]).includeBasePlot&&s.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has(\"cartesian\")&&(a.getComponentMethod(\"grid\",\"contentDefaults\")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(l.subplotSort);for(o=0;o<u.length;o++)(s=u[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var p=e._visibleModules;for(o=0;o<p.length;o++)(s=p[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var d=e._transformModules;for(o=0;o<d.length;o++)(s=d[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r,n);for(i in c)(s=c[i]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r)},v.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(\".gl-canvas\").remove(),e._glcontainer.remove(),e._glcanvas=null),void 0!==e._geocontainer&&e._geocontainer.remove(),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),l.clearThrottle(),l.clearResponsive(t),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.framework,delete t.empty,delete t.fid,delete t.undoqueue,delete t.undonum,delete t.autoplay,delete t.changed,delete t._promises,delete t._redrawTimer,delete t._hmlumcount,delete t._hmpixcount,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,delete t._transitioningWithDuration,delete t._dragging,delete t._dragged,delete t._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},v.style=function(t){var e,r=t._fullLayout._visibleModules,n=[];for(e=0;e<r.length;e++){var i=r[e];i.style&&l.pushUnique(n,i.style)}for(e=0;e<n.length;e++)n[e](t)},v.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},v.clearAutoMarginIds=function(t){t._fullLayout._pushmarginIds={}},v.allowAutoMargin=function(t,e){t._fullLayout._pushmarginIds[e]=1},v.autoMargin=function(t,e,r){var n=t._fullLayout;T(n);var i=n._pushmargin,a=n._pushmarginIds;if(!1!==n.margin.autoexpand){if(r){var o=r.pad;if(void 0===o){var s=n.margin;o=Math.min(12,s.l,s.r,s.t,s.b)}r.l+r.r>.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0);var l=void 0!==r.xl?r.xl:r.x,c=void 0!==r.xr?r.xr:r.x,u=void 0!==r.yt?r.yt:r.y,f=void 0!==r.yb?r.yb:r.y;i[e]={l:{val:l,size:r.l+o},r:{val:c,size:r.r+o},b:{val:f,size:r.b+o},t:{val:u,size:r.t+o}},a[e]=1}else delete i[e],delete a[e];n._replotting||v.doAutoMargin(t)}},v.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),T(e);var r=e._size,n=JSON.stringify(r),o=Math.max(e.margin.l||0,0),s=Math.max(e.margin.r||0,0),l=Math.max(e.margin.t||0,0),c=Math.max(e.margin.b||0,0),u=e._pushmargin,f=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var h in u)f[h]||delete u[h];for(var p in u.base={l:{val:0,size:o},r:{val:1,size:s},t:{val:1,size:l},b:{val:0,size:c}},u){var d=u[p].l||{},g=u[p].b||{},m=d.val,v=d.size,y=g.val,x=g.size;for(var b in u){if(i(v)&&u[b].r){var _=u[b].r.val,w=u[b].r.size;if(_>m){var k=(v*_+(w-e.width)*m)/(_-m),M=(w*(1-m)+(v-e.width)*(1-_))/(_-m);k>=0&&M>=0&&k+M>o+s&&(o=k,s=M)}}if(i(x)&&u[b].t){var A=u[b].t.val,S=u[b].t.size;if(A>y){var E=(x*A+(S-e.height)*y)/(A-y),C=(S*(1-y)+(x-e.height)*(1-A))/(A-y);E>=0&&C>=0&&E+C>c+l&&(c=E,l=C)}}}}}if(r.l=Math.round(o),r.r=Math.round(s),r.t=Math.round(l),r.b=Math.round(c),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&&\"{}\"!==n&&n!==JSON.stringify(e._size))return\"_redrawFromAutoMarginCount\"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1,a.call(\"plot\",t)},v.graphJson=function(t,e,r,n,i){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&v.supplyDefaults(t);var a=i?t._fullData:t.data,o=i?t._fullLayout:t.layout,s=(t._transitionData||{})._frames;function c(t){if(\"function\"==typeof t)return null;if(l.isPlainObject(t)){var e,n,i={};for(e in t)if(\"function\"!=typeof t[e]&&-1===[\"_\",\"[\"].indexOf(e.charAt(0))){if(\"keepdata\"===r){if(\"src\"===e.substr(e.length-3))continue}else if(\"keepstream\"===r){if(\"string\"==typeof(n=t[e+\"src\"])&&n.indexOf(\":\")>0&&!l.isPlainObject(t.stream))continue}else if(\"keepall\"!==r&&\"string\"==typeof(n=t[e+\"src\"])&&n.indexOf(\":\")>0)continue;i[e]=c(t[e])}return i}return Array.isArray(t)?t.map(c):l.isTypedArray(t)?l.simpleMap(t,l.identity):l.isJSDate(t)?l.ms2DateTimeLocal(+t):t}var u={data:(a||[]).map(function(t){var r=c(t);return e&&delete r.fit,r})};return e||(u.layout=c(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),s&&(u.frames=c(s)),\"object\"===n?u:JSON.stringify(u)},v.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case\"replace\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\"insert\":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case\"delete\":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},v.computeFrame=function(t,e){var r,n,i,a,o=t._transitionData._frameHash;if(!e)throw new Error(\"computeFrame must be given a string frame name\");var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&&(u.layout=v.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r<s.data.length;r++)null!=(i=n[r])&&(-1===(a=u.traces.indexOf(i))&&(a=u.data.length,u.traces[a]=i),u.data[a]=v.extendTrace(u.data[a],s.data[r]))}return u},v.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},v.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,c,u,f=l.extendDeepNoArrays({},e||{}),h=l.expandObjectPaths(f),p={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=l.nestedProperty(h,r[a])).get())?l.nestedProperty(p,r[a]).set(null):(n.set(null),l.nestedProperty(p,r[a]).set(i));if(t=l.extendDeepNoArrays(t||{},h),r&&r.length)for(a=0;a<r.length;a++)if(c=l.nestedProperty(p,r[a]).get()){for(u=(s=l.nestedProperty(t,r[a])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<c.length;o++){var d=c[o];u[o]=null===d?null:v.extendObjectWithContainers(u[o],d)}s.set(u)}return t},v.dataArrayContainers=[\"transforms\",\"dimensions\"],v.layoutArrayContainers=a.layoutArrayContainers,v.extendTrace=function(t,e){return v.extendObjectWithContainers(t,e,v.dataArrayContainers)},v.extendLayout=function(t,e){return v.extendObjectWithContainers(t,e,v.layoutArrayContainers)},v.transition=function(t,e,r,n,i,o){var s,c,u=Array.isArray(e)?e.length:0,f=n.slice(0,u),h=[];var p=!1;for(s=0;s<f.length;s++){c=f[s];t._fullData[c]._module}var d=[v.previousPromises,function(){if(t._transitionData)return t._transitioning=!1,function(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}(t._transitionData._interruptCallbacks)},function(){var n;for(n=0;n<f.length;n++){var i=f[n],a=t._fullData[i]._module;a&&(a.animatable&&h.push(i),t.data[f[n]]=v.extendTrace(t.data[f[n]],e[n]))}var o=l.expandObjectPaths(l.extendDeepNoArrays({},r)),s=/^[xy]axis[0-9]*$/;for(var c in o)s.test(c)&&delete o[c].range;return v.extendLayout(t.layout,o),delete t.calcdata,v.supplyDefaults(t),v.doCalcdata(t),Promise.resolve()},v.rehover,function(){return t.emit(\"plotly_transitioning\",[]),new Promise(function(e){t._transitioning=!0,o.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){p=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return a.call(\"redraw\",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(\"plotly_transitioninterrupted\",[])});var n,s,c=0,u=0;function f(){return c++,function(){var r;u++,p||u!==c||(r=e,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return a.call(\"redraw\",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\"plotly_transitioned\",[])}).then(r)))}}var d=t._fullLayout._basePlotModules,g=!1;if(r)for(s=0;s<d.length;s++)if(d[s].transitionAxes){var m=l.expandObjectPaths(r);g=d[s].transitionAxes(t,m,o,f)||g}for(g?((n=l.extendFlat({},o)).duration=0,h=null):n=o,s=0;s<d.length;s++)d[s].plot(t,h,n,f);setTimeout(f())})}],g=l.syncOrAsync(d,t);return g&&g.then||(g=Promise.resolve()),g.then(function(){return t})},v.doCalcdata=function(t,e){var r,n,i,s,c=f.list(t),h=t._fullData,p=t._fullLayout,d=new Array(h.length),g=(t.calcdata||[]).slice(0);for(t.calcdata=d,p._numBoxes=0,p._numViolins=0,p._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,p._piecolormap={},i=0;i<h.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(d[i]=g[i]);for(i=0;i<h.length;i++)(r=h[i])._arrayAttrs=o.findArrayAttributes(r),r._extremes={};var m=p._subplots.polar||[];for(i=0;i<m.length;i++)c.push(p[m[i]].radialaxis,p[m[i]].angularaxis);S(c);var v=!1;for(i=0;i<h.length;i++)if(!0===(r=h[i]).visible&&r.transforms){if((n=r._module)&&n.calc){var x=n.calc(t,r);x[0]&&x[0].t&&x[0].t._scene&&delete x[0].t._scene.dirty}for(s=0;s<r.transforms.length;s++){var b=r.transforms[s];(n=y[b.type])&&n.calcTransform&&(r._hasCalcTransform=!0,v=!0,n.calcTransform(t,r,b))}}function _(e,i){if(r=h[e],!!(n=r._module).isContainer===i){var a=[];if(!0===r.visible){delete r._indexToPoints;var o=r.transforms||[];for(s=o.length-1;s>=0;s--)if(o[s].enabled){r._indexToPoints=o[s]._indexToPoints;break}n&&n.calc&&(a=n.calc(t,r))}Array.isArray(a)&&a[0]||(a=[{x:u,y:u}]),a[0].t||(a[0].t={}),a[0].trace=r,d[e]=a}}for(v&&S(c),i=0;i<h.length;i++)_(i,!0);for(i=0;i<h.length;i++)_(i,!1);!function(t){var e,r,n,i=t._fullLayout,a=i._visibleModules,o={};for(r=0;r<a.length;r++){var s=a[r],c=s.crossTraceCalc;if(c){var u=s.basePlotModule.name;o[u]?l.pushUnique(o[u],c):o[u]=[c]}}for(n in o){var f=o[n],h=i._subplots[n];if(Array.isArray(h))for(e=0;e<h.length;e++){var p=h[e],d=\"cartesian\"===n?i._plots[p]:i[p];for(r=0;r<f.length;r++)f[r](t,d,p)}else for(r=0;r<f.length;r++)f[r](t)}}(t),a.getComponentMethod(\"fx\",\"calc\")(t),a.getComponentMethod(\"errorbars\",\"calc\")(t)},v.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},v.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i<r.length;i++){var s=r[i],c=s[0].trace;c.visible&&(o[c.type]=o[c.type]||[],o[c.type].push(s))}for(var u in a)if(!o[u]){var f=a[u][0];f[0].trace.visible=!1,o[u]=[f]}for(var h in o){var p=o[h];p[0][0].trace._module.plot(t,e,l.filterVisible(p),n)}e.traceHash=o}},{\"../components/color\":567,\"../constants/numerical\":670,\"../lib\":693,\"../plot_api/plot_schema\":731,\"../plot_api/plot_template\":732,\"../plots/cartesian/axis_ids\":745,\"../registry\":825,\"./animation_attributes\":737,\"./attributes\":739,\"./command\":766,\"./font_attributes\":768,\"./frame_attributes\":769,\"./layout_attributes\":796,\"./sort_modules\":819,d3:147,\"fast-isnumeric\":213}],806:[function(t,e,r){\"use strict\";e.exports={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-line\",\"radial-line\",\"angular-axis\",\"radial-axis\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],807:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../lib/polygon\").tester,a=n.findIndexOfMin,o=n.isAngleInsideSector,s=n.angleDelta,l=n.angleDist;function c(t,e,r,n){var i,a,o=n[0],s=n[1],l=f(Math.sin(e)-Math.sin(t)),c=f(Math.cos(e)-Math.cos(t)),u=Math.tan(r),h=f(1/u),p=l/c,d=s-p*o;return h?l&&c?a=u*(i=d/(u-p)):c?(i=s*h,a=s):(i=o,a=o*u):l&&c?(i=0,a=d):c?(i=0,a=s):i=a=NaN,[i,a]}function u(t,e,r,i){return n.isFullCircle([e,r])?function(t,e){var r,n=e.length,i=new Array(n+1);for(r=0;r<n;r++){var a=e[r];i[r]=[t*Math.cos(a),t*Math.sin(a)]}return i[r]=i[0].slice(),i}(t,i):function(t,e,r,i){var s,u,f=i.length,h=[];function p(e){return[t*Math.cos(e),t*Math.sin(e)]}function d(t,e,r){return c(t,e,r,p(t))}function g(t){return n.mod(t,f)}function m(t){return o(t,[e,r])}var v=a(i,function(t){return m(t)?l(t,e):1/0}),y=d(i[v],i[g(v-1)],e);for(h.push(y),s=v,u=0;u<f;s++,u++){var x=i[g(s)];if(!m(x))break;h.push(p(x))}var b=a(i,function(t){return m(t)?l(t,r):1/0}),_=d(i[b],i[g(b+1)],r);return h.push(_),h.push([0,0]),h.push(h[0].slice()),h}(t,e,r,i)}function f(t){return Math.abs(t)>1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a<n;a++){var o=t[a];i[a]=[e+o[0],r-o[1]]}return i}e.exports={isPtInsidePolygon:function(t,e,r,n,a){if(!o(e,n))return!1;var s,l;r[0]<r[1]?(s=r[0],l=r[1]):(s=r[1],l=r[0]);var c=i(u(s,n[0],n[1],a)),f=i(u(l,n[0],n[1],a)),h=[t*Math.cos(e),t*Math.sin(e)];return f.contains(h)&&!c.contains(h)},findPolygonOffset:function(t,e,r,n){for(var i=1/0,a=1/0,o=u(t,e,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]},findEnclosingVertexAngles:function(t,e){var r=a(e,function(e){var r=s(e,t);return r>0?r:1/0}),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),c=(-o+l)/(2*a),u=(-o-l)/(2*a);return[[c,e*c+i+n],[u,e*u+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return\"M\"+h(u(t,e,r,n),i,a).join(\"L\")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t<e?(s=t,l=e):(s=e,l=t);var c=h(u(s,r,n,i),a,o);return\"M\"+h(u(l,r,n,i),a,o).reverse().join(\"L\")+\"M\"+c.join(\"L\")}}},{\"../../lib\":693,\"../../lib/polygon\":706}],808:[function(t,e,r){\"use strict\";var n=t(\"../get_data\").getSubplotCalcData,i=t(\"../../lib\").counterRegex,a=t(\"./polar\"),o=t(\"./constants\"),s=o.attr,l=o.name,c=i(l),u={};u[s]={valType:\"subplotid\",dflt:l,editType:\"calc\"},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t(\"./layout_attributes\"),supplyLayoutDefaults:t(\"./layout_defaults\"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[l],o=0;o<i.length;o++){var s=i[o],c=n(r,l,s),u=e[s]._subplot;u||(u=a(t,s),e[s]._subplot=u),u.plot(c,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[l]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&&s)for(var c in s.framework.remove(),s.layers[\"radial-axis-title\"].remove(),s.clipPaths)s.clipPaths[c].remove()}},toSVG:t(\"../cartesian\").toSVG}},{\"../../lib\":693,\"../cartesian\":753,\"../get_data\":778,\"./constants\":806,\"./layout_attributes\":809,\"./layout_defaults\":810,\"./polar\":817}],809:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),i=t(\"../cartesian/layout_attributes\"),a=t(\"../domain\").attributes,o=t(\"../../lib\").extendFlat,s=t(\"../../plot_api/edit_types\").overrideAll,l=s({color:i.color,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth},\"plot\",\"from-root\"),c=s({tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,layer:i.layer},\"plot\",\"from-root\"),u={visible:o({},i.visible,{dflt:!0}),type:i.type,autorange:i.autorange,rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},range:i.range,categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:o({},i.title,{editType:\"plot\",dflt:\"\"}),titlefont:s(i.titlefont,\"plot\",\"from-root\"),hoverformat:i.hoverformat,editType:\"calc\"};o(u,l,c);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},categoryorder:i.categoryorder,categoryarray:i.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:i.hoverformat,editType:\"calc\"};o(f,l,c),e.exports={domain:a({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:n.background},radialaxis:u,angularaxis:f,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},editType:\"calc\"}},{\"../../components/color/attributes\":566,\"../../lib\":693,\"../../plot_api/edit_types\":725,\"../cartesian/layout_attributes\":754,\"../domain\":767}],810:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../subplot_defaults\"),o=t(\"../get_data\").getSubplotData,s=t(\"../cartesian/tick_value_defaults\"),l=t(\"../cartesian/tick_mark_defaults\"),c=t(\"../cartesian/tick_label_defaults\"),u=t(\"../cartesian/category_order_defaults\"),f=t(\"../cartesian/line_grid_defaults\"),h=t(\"../cartesian/axis_autotype\"),p=t(\"./layout_attributes\"),d=t(\"./set_convert\"),g=t(\"./constants\"),m=g.axisNames;function v(t,e,r,a){var h=r(\"bgcolor\");a.bgColor=i.combine(h,a.paper_bgcolor);var v=r(\"sector\");r(\"hole\");var x,b=o(a.fullData,g.name,a.id),_=a.layoutOut;function w(t,e){return r(x+\".\"+t,e)}for(var k=0;k<m.length;k++){x=m[k],n.isPlainObject(t[x])||(t[x]={});var M=t[x],A=e[x]={};A._id=A._name=x,A._traceIndices=b.map(function(t){return t._expandedIndex});var T=g.axisName2dataArray[x],S=y(M,A,w,b,T);u(M,A,w,{axData:b,dataAttr:T});var E,C,L=w(\"visible\");switch(d(A,e,_),L&&(C=(E=w(\"color\"))===M.color?E:a.font.color),A._m=1,x){case\"radialaxis\":var z=w(\"autorange\",!A.isValidRange(M.range));M.autorange=z,!z||\"linear\"!==S&&\"-\"!==S||w(\"rangemode\"),\"reversed\"===z&&(A._m=-1),w(\"range\"),A.cleanRange(\"range\",{dfltRange:[0,1]}),L&&(w(\"side\"),w(\"angle\",v[0]),w(\"title\"),n.coerceFont(w,\"titlefont\",{family:a.font.family,size:Math.round(1.2*a.font.size),color:C}));break;case\"angularaxis\":if(\"date\"===S){n.log(\"Polar plots do not support date angular axes yet.\");for(var P=0;P<b.length;P++)b[P].visible=!1;S=M.type=A.type=\"linear\"}w(\"linear\"===S?\"thetaunit\":\"period\");var O=w(\"direction\");w(\"rotation\",{counterclockwise:0,clockwise:90}[O])}if(L)s(M,A,w,A.type),c(M,A,w,A.type,{tickSuffixDflt:\"degrees\"===A.thetaunit?\"\\xb0\":void 0}),l(M,A,w,{outerTicks:!0}),w(\"showticklabels\")&&(n.coerceFont(w,\"tickfont\",{family:a.font.family,size:a.font.size,color:C}),w(\"tickangle\"),w(\"tickformat\")),f(M,A,w,{dfltColor:E,bgColor:a.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:p[x]}),w(\"layer\");\"category\"!==S&&w(\"hoverformat\"),A._input=M}\"category\"===e.angularaxis.type&&r(\"gridshape\")}function y(t,e,r,n,i){if(\"-\"===r(\"type\")){for(var a,o=0;o<n.length;o++)if(n[o].visible){a=n[o];break}a&&a[i]&&(e.type=h(a[i],\"gregorian\")),\"-\"===e.type?e.type=\"linear\":t.type=e.type}return e.type}e.exports=function(t,e,r){a(t,e,r,{type:g.name,attributes:p,handleDefaults:v,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{\"../../components/color\":567,\"../../lib\":693,\"../cartesian/axis_autotype\":743,\"../cartesian/category_order_defaults\":746,\"../cartesian/line_grid_defaults\":756,\"../cartesian/tick_label_defaults\":761,\"../cartesian/tick_mark_defaults\":762,\"../cartesian/tick_value_defaults\":763,\"../get_data\":778,\"../subplot_defaults\":820,\"./constants\":806,\"./layout_attributes\":809,\"./set_convert\":818}],811:[function(t,e,r){\"use strict\";var n=t(\"../../../traces/scatter/attributes\"),i=n.marker,a=t(\"../../../lib/extend\").extendFlat;[\"Area traces are deprecated!\",\"Please switch to the *barpolar* trace type.\"].join(\" \");e.exports={r:a({},n.r,{}),t:a({},n.t,{}),marker:{color:a({},i.color,{}),size:a({},i.size,{}),symbol:a({},i.symbol,{}),opacity:a({},i.opacity,{}),editType:\"calc\"}}},{\"../../../lib/extend\":682,\"../../../traces/scatter/attributes\":1032}],812:[function(t,e,r){\"use strict\";var n=t(\"../../cartesian/layout_attributes\"),i=t(\"../../../lib/extend\").extendFlat,a=t(\"../../../plot_api/edit_types\").overrideAll,o=[\"Legacy polar charts are deprecated!\",\"Please switch to *polar* subplots.\"].join(\" \"),s=i({},n.domain,{});function l(t,e){return i({},e,{showline:{valType:\"boolean\"},showticklabels:{valType:\"boolean\"},tickorientation:{valType:\"enumerated\",values:[\"horizontal\",\"vertical\"]},ticklen:{valType:\"number\",min:0},tickcolor:{valType:\"color\"},ticksuffix:{valType:\"string\"},endpadding:{valType:\"number\",description:o},visible:{valType:\"boolean\"}})}e.exports=a({radialaxis:l(0,{range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},domain:s,orientation:{valType:\"number\"}}),angularaxis:l(0,{range:{valType:\"info_array\",items:[{valType:\"number\",dflt:0},{valType:\"number\",dflt:360}]},domain:s}),layout:{direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"]},orientation:{valType:\"angle\"}}},\"plot\",\"nested\")},{\"../../../lib/extend\":682,\"../../../plot_api/edit_types\":725,\"../../cartesian/layout_attributes\":754}],813:[function(t,e,r){\"use strict\";(e.exports=t(\"./micropolar\")).manager=t(\"./micropolar_manager\")},{\"./micropolar\":814,\"./micropolar_manager\":815}],814:[function(t,e,r){var n=t(\"d3\"),i=t(\"../../../lib\").extendDeepAll,a=t(\"../../../constants/alignment\").MID_SHIFT,o=e.exports={version:\"0.2.2\"};o.Axis=function(){var t,e,r,s,l={data:[],layout:{}},c={},u={},f=n.dispatch(\"hover\"),h={};return h.render=function(c){return function(c){e=c||e;var f=l.data,h=l.layout;(\"string\"==typeof e||e.nodeName)&&(e=n.select(e)),e.datum(f).each(function(e,l){var c=e.slice();u={data:o.util.cloneJson(c),layout:o.util.cloneJson(h)};var f=0;c.forEach(function(t,e){t.color||(t.color=h.defaultColorRange[f],f=(f+1)%h.defaultColorRange.length),t.strokeColor||(t.strokeColor=\"LinePlot\"===t.geometry?t.color:n.rgb(t.color).darker().toString()),u.data[e].color=t.color,u.data[e].strokeColor=t.strokeColor,u.data[e].strokeDash=t.strokeDash,u.data[e].strokeSize=t.strokeSize});var p=c.filter(function(t,e){var r=t.visible;return\"undefined\"==typeof r||!0===r}),d=!1,g=p.map(function(t,e){return d=d||\"undefined\"!=typeof t.groupId,t});if(d){var m=n.nest().key(function(t,e){return\"undefined\"!=typeof t.groupId?t.groupId:\"unstacked\"}).entries(g),v=[],y=m.map(function(t,e){if(\"unstacked\"===t.key)return t.values;var r=t.values[0].r.map(function(t,e){return 0});return t.values.forEach(function(t,e,n){t.yStack=[r],v.push(r),r=o.util.sumArrays(t.r,r)}),t.values});p=n.merge(y)}p.forEach(function(t,e){t.t=Array.isArray(t.t[0])?t.t:[t.t],t.r=Array.isArray(t.r[0])?t.r:[t.r]});var x=Math.min(h.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2;x=Math.max(10,x);var b,_=[h.margin.left+x,h.margin.top+x];b=d?[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(v)))]:n.extent(o.util.flattenArray(p.map(function(t,e){return t.r}))),h.radialAxis.domain!=o.DATAEXTENT&&(b[0]=0),r=n.scale.linear().domain(h.radialAxis.domain!=o.DATAEXTENT&&h.radialAxis.domain?h.radialAxis.domain:b).range([0,x]),u.layout.radialAxis.domain=r.domain();var w,k=o.util.flattenArray(p.map(function(t,e){return t.t})),M=\"string\"==typeof k[0];M&&(k=o.util.deduplicate(k),w=k.slice(),k=n.range(k.length),p=p.map(function(t,e){var r=t;return t.t=[k],d&&(r.yStack=t.yStack),r}));var A=p.filter(function(t,e){return\"LinePlot\"===t.geometry||\"DotPlot\"===t.geometry}).length===p.length,T=null===h.needsEndSpacing?M||!A:h.needsEndSpacing,S=h.angularAxis.domain&&h.angularAxis.domain!=o.DATAEXTENT&&!M&&h.angularAxis.domain[0]>=0?h.angularAxis.domain:n.extent(k),E=Math.abs(k[1]-k[0]);A&&!M&&(E=0);var C=S.slice();T&&M&&(C[1]+=E);var L=h.angularAxis.ticksCount||4;L>8&&(L=L/(L/8)+L%8),h.angularAxis.ticksStep&&(L=(C[1]-C[0])/L);var z=h.angularAxis.ticksStep||(C[1]-C[0])/(L*(h.minorTicks+1));w&&(z=Math.max(Math.round(z),1)),C[2]||(C[2]=z);var P=n.range.apply(this,C);if(P=P.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(C.slice(0,2)).range(\"clockwise\"===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=T?E:0,\"undefined\"==typeof(t=n.select(this).select(\"svg.chart-root\"))||t.empty()){var O=(new DOMParser).parseFromString(\"<svg xmlns='http://www.w3.org/2000/svg' class='chart-root'>' + '<g class='outer-group'>' + '<g class='chart-group'>' + '<circle class='background-circle'></circle>' + '<g class='geometry-group'></g>' + '<g class='radial axis-group'>' + '<circle class='outside-circle'></circle>' + '</g>' + '<g class='angular axis-group'></g>' + '<g class='guides-group'><line></line><circle r='0'></circle></g>' + '</g>' + '<g class='legend-group'></g>' + '<g class='tooltips-group'></g>' + '<g class='title-group'><text></text></g>' + '</g>' + '</svg>\",\"application/xml\"),I=this.appendChild(this.ownerDocument.importNode(O.documentElement,!0));t=n.select(I)}t.select(\".guides-group\").style({\"pointer-events\":\"none\"}),t.select(\".angular.axis-group\").style({\"pointer-events\":\"none\"}),t.select(\".radial.axis-group\").style({\"pointer-events\":\"none\"});var D,R=t.select(\".chart-group\"),B={fill:\"none\",stroke:h.tickColor},F={\"font-size\":h.font.size,\"font-family\":h.font.family,fill:h.font.color,\"text-shadow\":[\"-1px 0px\",\"1px -1px\",\"-1px 1px\",\"1px 1px\"].map(function(t,e){return\" \"+t+\" 0 \"+h.font.outlineColor}).join(\",\")};if(h.showLegend){D=t.select(\".legend-group\").attr({transform:\"translate(\"+[x,h.margin.top]+\")\"}).style({display:\"block\"});var N=p.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol=\"DotPlot\"===t.geometry?t.dotType||\"circle\":\"LinePlot\"!=t.geometry?\"square\":\"line\",r.visibleInLegend=\"undefined\"==typeof t.visibleInLegend||t.visibleInLegend,r.color=\"LinePlot\"===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:p.map(function(t,e){return t.name||\"Element\"+e}),legendConfig:i({},o.Legend.defaultConfig().legendConfig,{container:D,elements:N,reverseOrder:h.legend.reverseOrder})})();var j=D.node().getBBox();x=Math.min(h.width-j.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,x=Math.max(10,x),_=[h.margin.left+x,h.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),D.attr(\"transform\",\"translate(\"+[_[0]+x,_[1]-x]+\")\")}else D=t.select(\".legend-group\").style({display:\"none\"});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),R.attr(\"transform\",\"translate(\"+_+\")\").style({cursor:\"crosshair\"});var V=[(h.width-(h.margin.left+h.margin.right+2*x+(j?j.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*x))/2];if(V[0]=Math.max(0,V[0]),V[1]=Math.max(0,V[1]),t.select(\".outer-group\").attr(\"transform\",\"translate(\"+V+\")\"),h.title){var U=t.select(\"g.title-group text\").style(F).text(h.title),q=U.node().getBBox();U.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(\".radial.axis-group\");if(h.radialAxis.gridLinesVisible){var G=H.selectAll(\"circle.grid-circle\").data(r.ticks(5));G.enter().append(\"circle\").attr({class:\"grid-circle\"}).style(B),G.attr(\"r\",r),G.exit().remove()}H.select(\"circle.outside-circle\").attr({r:x}).style(B);var W=t.select(\"circle.background-circle\").attr({r:x}).style({fill:h.backgroundColor,stroke:h.stroke});function Y(t,e){return s(t)%360+h.orientation}if(h.radialAxis.visible){var X=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(X).attr({transform:\"rotate(\"+h.radialAxis.orientation+\")\"}),H.selectAll(\".domain\").style(B),H.selectAll(\"g>text\").text(function(t,e){return this.textContent+h.radialAxis.ticksSuffix}).style(F).style({\"text-anchor\":\"start\"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return\"horizontal\"===h.radialAxis.tickOrientation?\"rotate(\"+-h.radialAxis.orientation+\") translate(\"+[0,F[\"font-size\"]]+\")\":\"translate(\"+[0,F[\"font-size\"]]+\")\"}}),H.selectAll(\"g>line\").style({stroke:\"black\"})}var Z=t.select(\".angular.axis-group\").selectAll(\"g.angular-tick\").data(P),$=Z.enter().append(\"g\").classed(\"angular-tick\",!0);Z.attr({transform:function(t,e){return\"rotate(\"+Y(t)+\")\"}}).style({display:h.angularAxis.visible?\"block\":\"none\"}),Z.exit().remove(),$.append(\"line\").classed(\"grid-line\",!0).classed(\"major\",function(t,e){return e%(h.minorTicks+1)==0}).classed(\"minor\",function(t,e){return!(e%(h.minorTicks+1)==0)}).style(B),$.selectAll(\".minor\").style({stroke:h.minorTickColor}),Z.select(\"line.grid-line\").attr({x1:h.tickLength?x-h.tickLength:0,x2:x}).style({display:h.angularAxis.gridLinesVisible?\"block\":\"none\"}),$.append(\"text\").classed(\"axis-text\",!0).style(F);var J=Z.select(\"text.axis-text\").attr({x:x+h.labelOffset,dy:a+\"em\",transform:function(t,e){var r=Y(t),n=x+h.labelOffset,i=h.angularAxis.tickOrientation;return\"horizontal\"==i?\"rotate(\"+-r+\" \"+n+\" 0)\":\"radial\"==i?r<270&&r>90?\"rotate(180 \"+n+\" 0)\":null:\"rotate(\"+(r<=180&&r>0?-90:90)+\" \"+n+\" 0)\"}}).style({\"text-anchor\":\"middle\",display:h.angularAxis.labelsVisible?\"block\":\"none\"}).text(function(t,e){return e%(h.minorTicks+1)!=0?\"\":w?w[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix}).style(F);h.angularAxis.rewriteTicks&&J.text(function(t,e){return e%(h.minorTicks+1)!=0?\"\":h.angularAxis.rewriteTicks(this.textContent,e)});var K=n.max(R.selectAll(\".angular-tick text\")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));D.attr({transform:\"translate(\"+[x+K,h.margin.top]+\")\"});var Q=t.select(\"g.geometry-group\").selectAll(\"g\").size()>0,tt=t.select(\"g.geometry-group\").selectAll(\"g.geometry\").data(p);if(tt.enter().append(\"g\").attr({class:function(t,e){return\"geometry geometry\"+e}}),tt.exit().remove(),p[0]||Q){var et=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=tt.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,et.push({data:t,geometryConfig:n})});var rt=n.nest().key(function(t,e){return\"undefined\"!=typeof t.data.groupId||\"unstacked\"}).entries(et),nt=[];rt.forEach(function(t,e){\"unstacked\"===t.key?nt=nt.concat(t.values.map(function(t,e){return[t]})):nt.push(t.values)}),nt.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return i(o[r].defaultConfig(),t)});o[r]().config(n)()})}var it,at,ot=t.select(\".guides-group\"),st=t.select(\".tooltips-group\"),lt=o.tooltipPanel().config({container:st,fontSize:8})(),ct=o.tooltipPanel().config({container:st,fontSize:8})(),ut=o.tooltipPanel().config({container:st,hasTick:!0})();if(!M){var ft=ot.select(\"line\").attr({x1:0,y1:0,y2:0}).style({stroke:\"grey\",\"pointer-events\":\"none\"});R.on(\"mousemove.angular-guide\",function(t,e){var r=o.util.getMousePos(W).angle;ft.attr({x2:-x,transform:\"rotate(\"+r+\")\"}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;it=s.invert(n);var i=o.util.convertToCartesian(x+12,r+180);lt.text(o.util.round(it)).move([i[0]+_[0],i[1]+_[1]])}).on(\"mouseout.angular-guide\",function(t,e){ot.select(\"line\").style({opacity:0})})}var ht=ot.select(\"circle\").style({stroke:\"grey\",fill:\"none\"});R.on(\"mousemove.radial-guide\",function(t,e){var n=o.util.getMousePos(W).radius;ht.attr({r:n}).style({opacity:.5}),at=r.invert(o.util.getMousePos(W).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);ct.text(o.util.round(at)).move([i[0]+_[0],i[1]+_[1]])}).on(\"mouseout.radial-guide\",function(t,e){ht.style({opacity:0}),ut.hide(),lt.hide(),ct.hide()}),t.selectAll(\".geometry-group .mark\").on(\"mouseover.tooltip\",function(e,r){var i=n.select(this),a=this.style.fill,s=\"black\",l=this.style.opacity||1;if(i.attr({\"data-opacity\":l}),a&&\"none\"!==a){i.attr({\"data-fill\":a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};M&&(c.t=w[e[0]]);var u=\"t: \"+c.t+\", r: \"+c.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),p=[f.left+f.width/2-V[0]-h.left,f.top+f.height/2-V[1]-h.top];ut.config({color:s}).text(u),ut.move(p)}else a=this.style.stroke||\"black\",i.attr({\"data-stroke\":a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})}).on(\"mousemove.tooltip\",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr(\"data-fill\")&&ut.show()}).on(\"mouseout.tooltip\",function(t,e){ut.hide();var r=n.select(this),i=r.attr(\"data-fill\");i?r.style({fill:i,opacity:r.attr(\"data-opacity\")}):r.style({stroke:r.attr(\"data-stroke\"),opacity:r.attr(\"data-opacity\")})})})}(c),this},h.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),i(l.data[e],o.Axis.defaultConfig().data[0]),i(l.data[e],t)}),i(l.layout,o.Axis.defaultConfig().layout),i(l.layout,e.layout),this},h.getLiveConfig=function(){return u},h.getinputConfig=function(){return c},h.radialScale=function(t){return r},h.angularScale=function(t){return s},h.svg=function(){return t},n.rebind(h,f,\"on\"),h},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:\"Line1\",geometry:\"LinePlot\",color:null,strokeDash:\"solid\",strokeColor:null,strokeSize:\"1\",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:\"gray\",outlineColor:\"white\",family:\"Tahoma, sans-serif\"},direction:\"clockwise\",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:\"\",visible:!0,gridLinesVisible:!0,tickOrientation:\"horizontal\",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:\"\",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:\"horizontal\",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:\"silver\",minorTickColor:\"#eee\",backgroundColor:\"none\",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT=\"dataExtent\",o.AREA=\"AreaChart\",o.LINE=\"LinePlot\",o.DOT=\"DotPlot\",o.BAR=\"BarChart\",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},o.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if(\"undefined\"==typeof t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){\"string\"==typeof e&&(e=e.split(\".\"));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i<a;i++)(e=t[i])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},o.util.duplicates=function(t){return Object.keys(o.util.duplicatesCount(t))},o.util.translator=function(t,e,r,n){if(n){var i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(\"undefined\"!=typeof t)return t[e]},t);\"undefined\"!=typeof a&&(e.reduce(function(t,r,n){if(\"undefined\"!=typeof t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return\"undefined\"==typeof t[e]&&(t[e]={}),n===r.length-1&&(t[e]=a),t[e]},t))},o.PolyChart=function(){var t=[o.PolyChart.defaultConfig()],e=n.dispatch(\"hover\"),r={solid:\"none\",dash:[5,2],dot:[2,5]};function a(){var e=t[0].geometryConfig,i=e.container;\"string\"==typeof i&&(i=n.select(i)),i.datum(t).each(function(t,i){var a=!!t[0].data.yStack,o=t.map(function(t,e){return a?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),s=e.angularScale,l=e.radialScale.domain()[0],c={bar:function(r,i,a){var o=t[a].data,l=e.radialScale(r[1])-e.radialScale(0),c=e.radialScale(r[2]||0),u=o.barWidth;n.select(this).attr({class:\"mark bar\",d:\"M\"+[[l+c,-u/2],[l+c,u/2],[c,u/2],[c,-u/2]].join(\"L\")+\"Z\",transform:function(t,r){return\"rotate(\"+(e.orientation+s(t[0]))+\")\"}})}};c.dot=function(r,i,a){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(t[a].data.dotSize).type(t[a].data.dotType)(r,i);n.select(this).attr({class:\"mark dot\",d:s,transform:function(t,r){var n,i,a,s=(n=function(t,r){var n=e.radialScale(t[1]),i=(e.angularScale(t[0])+e.orientation)*Math.PI/180;return{r:n,t:i}}(o),i=n.r*Math.cos(n.t),a=n.r*Math.sin(n.t),{x:i,y:a});return\"translate(\"+[s.x,s.y]+\")\"}})};var u=n.svg.line.radial().interpolate(t[0].data.lineInterpolation).radius(function(t){return e.radialScale(t[1])}).angle(function(t){return e.angularScale(t[0])*Math.PI/180});c.line=function(r,i,a){var s=r[2]?o[a].map(function(t,e){return[t[0],t[1]+t[2]]}):o[a];if(n.select(this).each(c.dot).style({opacity:function(e,r){return+t[a].data.dotVisible},fill:d.stroke(r,i,a)}).attr({class:\"mark dot\"}),!(i>0)){var l=n.select(this.parentNode).selectAll(\"path.line\").data([0]);l.enter().insert(\"path\"),l.attr({class:\"line\",d:u(s),transform:function(t,r){return\"rotate(\"+(e.orientation+90)+\")\"},\"pointer-events\":\"none\"}).style({fill:function(t,e){return d.fill(r,i,a)},\"fill-opacity\":0,stroke:function(t,e){return d.stroke(r,i,a)},\"stroke-width\":function(t,e){return d[\"stroke-width\"](r,i,a)},\"stroke-dasharray\":function(t,e){return d[\"stroke-dasharray\"](r,i,a)},opacity:function(t,e){return d.opacity(r,i,a)},display:function(t,e){return d.display(r,i,a)}})}};var f=e.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle(function(t){return-h/2}).endAngle(function(t){return h/2}).innerRadius(function(t){return e.radialScale(l+(t[2]||0))}).outerRadius(function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])});c.arc=function(t,r,i){n.select(this).attr({class:\"mark arc\",d:p,transform:function(t,r){return\"rotate(\"+(e.orientation+s(t[0])+90)+\")\"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},\"stroke-width\":function(e,r,n){return t[n].data.strokeSize+\"px\"},\"stroke-dasharray\":function(e,n,i){return r[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return\"undefined\"==typeof t[n].data.visible||t[n].data.visible?\"block\":\"none\"}},g=n.select(this).selectAll(\"g.layer\").data(o);g.enter().append(\"g\").attr({class:\"layer\"});var m=g.selectAll(\"path.mark\").data(function(t,e){return t});m.enter().append(\"path\").attr({class:\"mark\"}),m.style(d).each(c[e.geometryType]),m.exit().remove(),g.exit().remove()})}return a.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),i(t[r],o.PolyChart.defaultConfig()),i(t[r],e)}),this):t},a.getColorScale=function(){},n.rebind(a,e,\"on\"),a},o.PolyChart.defaultConfig=function(){return{data:{name:\"geom1\",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:\"circle\",dotSize:64,dotVisible:!1,barWidth:20,color:\"#ffa500\",strokeSize:1,strokeColor:\"silver\",strokeDash:\"solid\",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:\"LinePlot\",geometryType:\"arc\",direction:\"clockwise\",orientation:0,container:\"body\",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:\"bar\"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:\"arc\"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:\"dot\",dotType:\"circle\"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:\"line\"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch(\"hover\");function r(){var e=t.legendConfig,a=t.data.map(function(t,r){return[].concat(t).map(function(t,n){var a=i({},e.elements[r]);return a.name=t,a.color=[].concat(e.elements[r].color)[n],a})}),o=n.merge(a);o=o.filter(function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||\"undefined\"==typeof e.elements[r].visibleInLegend)}),e.reverseOrder&&(o=o.reverse());var s=e.container;(\"string\"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map(function(t,e){return t.color}),c=e.fontSize,u=null==e.isContinuous?\"number\"==typeof o[0]:e.isContinuous,f=u?e.height:c*o.length,h=s.classed(\"legend-group\",!0).selectAll(\"svg\").data([0]),p=h.enter().append(\"svg\").attr({width:300,height:f+c,xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",version:\"1.1\"});p.append(\"g\").classed(\"legend-axis\",!0),p.append(\"g\").classed(\"legend-marks\",!0);var d=n.range(o.length),g=n.scale[u?\"linear\":\"ordinal\"]().domain(d).range(l),m=n.scale[u?\"linear\":\"ordinal\"]().domain(d)[u?\"range\":\"rangePoints\"]([0,f]);if(u){var v=h.select(\".legend-marks\").append(\"defs\").append(\"linearGradient\").attr({id:\"grad1\",x1:\"0%\",y1:\"0%\",x2:\"0%\",y2:\"100%\"}).selectAll(\"stop\").data(l);v.enter().append(\"stop\"),v.attr({offset:function(t,e){return e/(l.length-1)*100+\"%\"}}).style({\"stop-color\":function(t,e){return t}}),h.append(\"rect\").classed(\"legend-mark\",!0).attr({height:e.height,width:e.colorBandWidth,fill:\"url(#grad1)\"})}else{var y=h.select(\".legend-marks\").selectAll(\"path.legend-mark\").data(o);y.enter().append(\"path\").classed(\"legend-mark\",!0),y.attr({transform:function(t,e){return\"translate(\"+[c/2,m(e)+c/2]+\")\"},d:function(t,e){var r,i,a,o=t.symbol;return a=3*(i=c),\"line\"===(r=o)?\"M\"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+\"Z\":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(a)():n.svg.symbol().type(\"square\").size(a)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(m).orient(\"right\"),b=h.select(\"g.legend-axis\").attr({transform:\"translate(\"+[u?e.colorBandWidth:c,c/2]+\")\"}).call(x);return b.selectAll(\".domain\").style({fill:\"none\",stroke:\"none\"}),b.selectAll(\"line\").style({fill:\"none\",stroke:u?e.textColor:\"none\"}),b.selectAll(\"text\").style({fill:e.textColor,\"font-size\":e.fontSize}).text(function(t,e){return o[e].name}),r}return r.config=function(e){return arguments.length?(i(t,e),this):t},n.rebind(r,e,\"on\"),r},o.Legend.defaultConfig=function(t,e){return{data:[\"a\",\"b\",\"c\"],legendConfig:{elements:[{symbol:\"line\",color:\"red\"},{symbol:\"square\",color:\"yellow\"},{symbol:\"diamond\",color:\"limegreen\"}],height:150,colorBandWidth:30,fontSize:12,container:\"body\",isContinuous:null,textColor:\"grey\",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,a={container:null,hasTick:!1,fontSize:12,color:\"white\",padding:5},s=\"tooltip-\"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=a.container.selectAll(\"g.\"+s).data([0])).enter().append(\"g\").classed(s,!0).style({\"pointer-events\":\"none\",display:\"none\"});return r=n.append(\"path\").style({fill:\"white\",\"fill-opacity\":.9}).attr({d:\"M0 0\"}),e=n.append(\"text\").attr({dx:a.padding+l,dy:.3*+a.fontSize}),c};return c.text=function(i){var o=n.hsl(a.color).l,s=o>=.5?\"#aaa\":\"white\",u=o>=.5?\"black\":\"white\",f=i||\"\";e.style({fill:u,\"font-size\":a.fontSize+\"px\"}).text(f);var h=a.padding,p=e.node().getBBox(),d={fill:a.color,stroke:s,\"stroke-width\":\"2px\"},g=p.width+2*h+l,m=p.height+2*h;return r.attr({d:\"M\"+[[l,-m/2],[l,-m/4],[a.hasTick?0:l,0],[l,m/4],[l,m/2],[g,m/2],[g,-m/2]].join(\"L\")+\"Z\"}).style(d),t.attr({transform:\"translate(\"+[l,-m/2+2*h]+\")\"}),t.style({display:\"block\"}),c},c.move=function(e){if(t)return t.attr({transform:\"translate(\"+[e[0],e[1]]+\")\"}).style({display:\"block\"}),c},c.hide=function(){if(t)return t.style({display:\"none\"}),c},c.show=function(){if(t)return t.style({display:\"block\"}),c},c.config=function(t){return i(a,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map(function(t,r){var n=i({},t);return[[n,[\"marker\",\"color\"],[\"color\"]],[n,[\"marker\",\"opacity\"],[\"opacity\"]],[n,[\"marker\",\"line\",\"color\"],[\"strokeColor\"]],[n,[\"marker\",\"line\",\"dash\"],[\"strokeDash\"]],[n,[\"marker\",\"line\",\"width\"],[\"strokeSize\"]],[n,[\"marker\",\"symbol\"],[\"dotType\"]],[n,[\"marker\",\"size\"],[\"dotSize\"]],[n,[\"marker\",\"barWidth\"],[\"barWidth\"]],[n,[\"line\",\"interpolation\"],[\"lineInterpolation\"]],[n,[\"showlegend\"],[\"visibleInLegend\"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&&delete n.groupId,e?(\"LinePlot\"===n.geometry?(n.type=\"scatter\",!0===n.dotVisible?(delete n.dotVisible,n.mode=\"lines+markers\"):n.mode=\"lines\"):\"DotPlot\"===n.geometry?(n.type=\"scatter\",n.mode=\"markers\"):\"AreaChart\"===n.geometry?n.type=\"area\":\"BarChart\"===n.geometry&&(n.type=\"bar\"),delete n.geometry):(\"scatter\"===n.type?\"lines\"===n.mode?n.geometry=\"LinePlot\":\"markers\"===n.mode?n.geometry=\"DotPlot\":\"lines+markers\"===n.mode&&(n.geometry=\"LinePlot\",n.dotVisible=!0):\"area\"===n.type?n.geometry=\"AreaChart\":\"bar\"===n.type&&(n.geometry=\"BarChart\"),delete n.mode,delete n.type),n}),!e&&t.layout&&\"stack\"===t.layout.barmode)){var a=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=a.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)})}if(t.layout){var s=i({},t.layout);if([[s,[\"plot_bgcolor\"],[\"backgroundColor\"]],[s,[\"showlegend\"],[\"showLegend\"]],[s,[\"radialaxis\"],[\"radialAxis\"]],[s,[\"angularaxis\"],[\"angularAxis\"]],[s.angularaxis,[\"showline\"],[\"gridLinesVisible\"]],[s.angularaxis,[\"showticklabels\"],[\"labelsVisible\"]],[s.angularaxis,[\"nticks\"],[\"ticksCount\"]],[s.angularaxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.angularaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.angularaxis,[\"range\"],[\"domain\"]],[s.angularaxis,[\"endpadding\"],[\"endPadding\"]],[s.radialaxis,[\"showline\"],[\"gridLinesVisible\"]],[s.radialaxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.radialaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.radialaxis,[\"range\"],[\"domain\"]],[s.angularAxis,[\"showline\"],[\"gridLinesVisible\"]],[s.angularAxis,[\"showticklabels\"],[\"labelsVisible\"]],[s.angularAxis,[\"nticks\"],[\"ticksCount\"]],[s.angularAxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.angularAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.angularAxis,[\"range\"],[\"domain\"]],[s.angularAxis,[\"endpadding\"],[\"endPadding\"]],[s.radialAxis,[\"showline\"],[\"gridLinesVisible\"]],[s.radialAxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.radialAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.radialAxis,[\"range\"],[\"domain\"]],[s.font,[\"outlinecolor\"],[\"outlineColor\"]],[s.legend,[\"traceorder\"],[\"reverseOrder\"]],[s,[\"labeloffset\"],[\"labelOffset\"]],[s,[\"defaultcolorrange\"],[\"defaultColorRange\"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?(\"undefined\"!=typeof s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&\"undefined\"!=typeof s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&\"undefined\"!=typeof s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&\"boolean\"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder=\"normal\"!=s.legend.reverseOrder),s.legend&&\"boolean\"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?\"reversed\":\"normal\",delete s.legend.reverseOrder),s.margin&&\"undefined\"!=typeof s.margin.t){var l=[\"t\",\"r\",\"b\",\"l\",\"pad\"],c=[\"top\",\"right\",\"bottom\",\"left\",\"pad\"],u={};n.entries(s.margin).forEach(function(t,e){u[c[l.indexOf(t.key)]]=t.value}),s.margin=u}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r}};return t}},{\"../../../constants/alignment\":665,\"../../../lib\":693,d3:147}],815:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../../lib\"),a=t(\"../../../components/color\"),o=t(\"./micropolar\"),s=t(\"./undo_manager\"),l=i.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,i,a,u,f=new s;function h(r,s){return s&&(u=s),n.select(n.select(u).node().parentNode).selectAll(\".svg-container>*:not(.chart-root)\").remove(),e=e?l(e,r):r,i||(i=o.Axis()),a=o.adapter.plotly().convert(e),i.config(a).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return h.isPolar=!0,h.svg=function(){return i.svg()},h.getConfig=function(){return e},h.getLiveConfig=function(){return o.adapter.plotly().convert(i.getLiveConfig(),!0)},h.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},h.setUndoPoint=function(){var t,n,i=this,a=o.util.cloneJson(e);t=a,n=r,f.add({undo:function(){n&&i(n)},redo:function(){i(t)}}),r=o.util.cloneJson(a)},h.undo=function(){f.undo()},h.redo=function(){f.redo()},h},c.fillLayout=function(t){var e=n.select(t).selectAll(\".plot-container\"),r=e.selectAll(\".svg-container\"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{\"../../../components/color\":567,\"../../../lib\":693,\"./micropolar\":814,\"./undo_manager\":816,d3:147}],816:[function(t,e,r){\"use strict\";e.exports=function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(e.splice(r+1,e.length-r),e.push(t),r=e.length-1,this)},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(i(n,\"undo\"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(n,\"redo\"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r<e.length-1},getCommands:function(){return e},getPreviousCommand:function(){return e[r-1]},getIndex:function(){return r}}}},{}],817:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"../../registry\"),o=t(\"../../lib\"),s=t(\"../../components/color\"),l=t(\"../../components/drawing\"),c=t(\"../plots\"),u=t(\"../cartesian/set_convert\"),f=t(\"./set_convert\"),h=t(\"../cartesian/autorange\").doAutoRange,p=t(\"../cartesian/axes\").doTicksSingle,d=t(\"../cartesian/dragbox\"),g=t(\"../../components/dragelement\"),m=t(\"../../components/fx\"),v=t(\"../../components/titles\"),y=t(\"../cartesian/select\").prepSelect,x=t(\"../cartesian/select\").selectOnClick,b=t(\"../cartesian/select\").clearSelect,_=t(\"../../lib/setcursor\"),w=t(\"../../constants/alignment\").MID_SHIFT,k=t(\"./constants\"),M=t(\"./helpers\"),A=o._,T=o.mod,S=o.deg2rad,E=o.rad2deg;function C(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n=\"clip\"+r._uid+e;this.clipIds.forTraces=n+\"-for-traces\",this.clipPaths.forTraces=r._clips.append(\"clipPath\").attr(\"id\",this.clipIds.forTraces),this.clipPaths.forTraces.append(\"path\"),this.framework=r._polarlayer.append(\"g\").attr(\"class\",e),this.radialTickLayout=null,this.angularTickLayout=null}var L=C.prototype;function z(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return\"side\"in t&&(e+=t.side),e}function P(t,e){return e[o.findIndexOfMin(e,function(e){return o.angleDist(t,e)})]}function O(t,e,r){return e?(t.attr(\"display\",null),t.attr(r)):t&&t.attr(\"display\",\"none\"),t}function I(t,e){return\"translate(\"+t+\",\"+e+\")\"}function D(t){return\"rotate(\"+t+\")\"}function R(t){return Math.abs(t)<1e-10?0:t>0?1:-1}function B(t){return R(Math.cos(t))}function F(t){return R(Math.sin(t))}e.exports=function(t,e){return new C(t,e)},L.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n<t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),c.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},L.updateLayers=function(t,e){var r=this.layers,i=e.radialaxis,a=e.angularaxis,o=k.layerNames,s=o.indexOf(\"frontplot\"),l=o.slice(0,s),c=\"below traces\"===a.layer,u=\"below traces\"===i.layer;c&&l.push(\"angular-line\"),u&&l.push(\"radial-line\"),c&&l.push(\"angular-axis\"),u&&l.push(\"radial-axis\"),l.push(\"frontplot\"),c||l.push(\"angular-line\"),u||l.push(\"radial-line\"),c||l.push(\"angular-axis\"),u||l.push(\"radial-axis\");var f=this.framework.selectAll(\".polarsublayer\").data(l,String);f.enter().append(\"g\").attr(\"class\",function(t){return\"polarsublayer \"+t}).each(function(t){var e=r[t]=n.select(this);switch(t){case\"frontplot\":e.append(\"g\").classed(\"barlayer\",!0),e.append(\"g\").classed(\"scatterlayer\",!0);break;case\"backplot\":e.append(\"g\").classed(\"maplayer\",!0);break;case\"plotbg\":r.bg=e.append(\"path\");break;case\"radial-grid\":e.style(\"fill\",\"none\"),e.append(\"g\").classed(\"x\",1);break;case\"angular-grid\":e.style(\"fill\",\"none\"),e.append(\"g\").classed(\"angularaxis\",1);break;case\"radial-line\":e.append(\"line\").style(\"fill\",\"none\");break;case\"angular-line\":e.append(\"path\").style(\"fill\",\"none\")}}),f.order()},L.updateLayout=function(t,e){var r=this.layers,n=t._size,i=e.radialaxis,a=e.angularaxis,o=e.domain.x,c=e.domain.y;this.xOffset=n.l+n.w*o[0],this.yOffset=n.t+n.h*(1-c[1]);var u=this.xLength=n.w*(o[1]-o[0]),f=this.yLength=n.h*(c[1]-c[0]),h=e.sector;this.sectorInRad=h.map(S);var p,d,g,m,v,y=this.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=T(a,360),l=s+o,c=Math.cos(S(s)),u=Math.sin(S(s)),f=Math.cos(S(l)),h=Math.sin(S(l));i=s<=90&&l>=90||s>90&&l>=450?1:u<=0&&h<=0?0:Math.max(u,h);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&f>=0?0:Math.min(c,f);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&h>=0?0:Math.min(u,h);n=l>=360?1:c<=0&&f<=0?0:Math.max(c,f);return[e,r,n,i]}(h),x=y[2]-y[0],b=y[3]-y[1],_=f/u,w=Math.abs(b/x);_>w?(p=u,v=(f-(d=u*w))/n.h/2,g=[o[0],o[1]],m=[c[0]+v,c[1]-v]):(d=f,v=(u-(p=f/w))/n.w/2,g=[o[0]+v,o[1]-v],m=[c[0],c[1]]),this.xLength2=p,this.yLength2=d,this.xDomain2=g,this.yDomain2=m;var k=this.xOffset2=n.l+n.w*g[0],M=this.yOffset2=n.t+n.h*(1-m[1]),A=this.radius=p/x,E=this.innerRadius=e.hole*A,C=this.cx=k-A*y[0],L=this.cy=M+A*y[3],z=this.cxx=C-k,P=this.cyy=L-M;this.radialAxis=this.mockAxis(t,e,i,{_axislayer:r[\"radial-axis\"],_gridlayer:r[\"radial-grid\"],_id:\"x\",side:{counterclockwise:\"top\",clockwise:\"bottom\"}[i.side],domain:[E/n.w,A/n.w]}),this.angularAxis=this.mockAxis(t,e,a,{_axislayer:r[\"angular-axis\"],_gridlayer:r[\"angular-grid\"],side:\"right\",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:\"x\",domain:g}),this.yaxis=this.mockCartesianAxis(t,e,{_id:\"y\",domain:m});var O=this.pathSubplot();this.clipPaths.forTraces.select(\"path\").attr(\"d\",O).attr(\"transform\",I(z,P)),r.frontplot.attr(\"transform\",I(k,M)).call(l.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces),r.bg.attr(\"d\",O).attr(\"transform\",I(C,L)).call(s.fill,e.bgcolor),this.framework.selectAll(\".crisp\").classed(\"crisp\",0)},L.mockAxis=function(t,e,r,n){var i=o.extendFlat({anchor:\"free\",position:0,_pos:0,_counteraxis:!0,automargin:!1},r,n);return f(i,e,t),i},L.mockCartesianAxis=function(t,e,r){var n=this,i=r._id,a=o.extendFlat({type:\"linear\"},r);u(a,t);var s={x:[0,2],y:[1,3]};return a.setRange=function(){var t=n.sectorBBox,r=s[i],o=n.radialAxis._rl,l=(o[1]-o[0])/(1-e.hole);a.range=[t[r[0]]*l,t[r[1]]*l]},a.isPtWithinRange=\"x\"===i?function(t){return n.isPtInside(t)}:function(){return!0},a.setRange(),a.setScale(),a},L.doAutoRange=function(t,e){var r=this.gd,n=this.radialAxis,i=e.radialaxis;n.setScale(),h(r,n);var a=n.range;i.range=a.slice(),i._input.range=a.slice(),n._rl=[n.r2l(a[0],null,\"gregorian\"),n.r2l(a[1],null,\"gregorian\")]},L.updateRadialAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,l=r.cx,c=r.cy,u=e.radialaxis,f=T(e.sector[0],360),h=r.radialAxis,d=o<a;r.fillViewInitialKey(\"radialaxis.angle\",u.angle),r.fillViewInitialKey(\"radialaxis.range\",h.range.slice()),h.setGeometry(),\"auto\"===h.tickangle&&f>90&&f<=270&&(h.tickangle=180),h._transfn=function(t){return\"translate(\"+(h.l2p(t.x)+o)+\",0)\"},h._gridpath=function(t){return r.pathArc(h.r2p(t.x)+o)};var g=z(u);r.radialTickLayout!==g&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=g),d&&(h.setScale(),p(n,h,!0));var m=r.radialAxisAngle=r.vangles?E(P(S(u.angle),r.vangles)):u.angle,v=I(l,c)+D(-m);O(i[\"radial-axis\"],d&&(u.showticklabels||u.ticks),{transform:v}),O(i[\"radial-grid\"],d&&u.showgrid,{transform:I(l,c)}).selectAll(\"path\").attr(\"transform\",null),O(i[\"radial-line\"].select(\"line\"),d&&u.showline,{x1:o,y1:0,x2:a,y2:0,transform:v}).attr(\"stroke-width\",u.linewidth).call(s.stroke,u.linecolor)},L.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,c=this.id+\"title\",u=void 0!==r?r:this.radialAxisAngle,f=S(u),h=Math.cos(f),p=Math.sin(f),d=0;if(s.title){var g=l.bBox(this.layers[\"radial-axis\"].node()).height,m=s.titlefont.size;d=\"counterclockwise\"===s.side?-g-.4*m:g+.8*m}this.layers[\"radial-axis-title\"]=v.draw(n,c,{propContainer:s,propName:this.id+\".radialaxis.title\",placeholder:A(n,\"Click to enter radial axis title\"),attributes:{x:a+i/2*h+d*p,y:o-i/2*p+d*h,\"text-anchor\":\"middle\"},transform:{rotate:-u}})},L.updateAngularAxis=function(t,e){var r=this,i=r.gd,a=r.layers,l=r.radius,c=r.innerRadius,u=r.cx,f=r.cy,h=e.angularaxis,d=r.angularAxis;r.fillViewInitialKey(\"angularaxis.rotation\",h.rotation),d.setGeometry();var g=function(t){return d.t2g(t.x)};\"linear\"===d.type&&\"radians\"===d.thetaunit&&(d.tick0=E(d.tick0),d.dtick=E(d.dtick)),\"category\"===d.type&&(d._tickFilter=function(t){return o.isAngleInsideSector(g(t),r.sectorInRad)}),d._transfn=function(t){var e=n.select(this),r=e&&e.node();if(r&&e.classed(\"angularaxisgrid\"))return\"\";var i=g(t),a=I(u+l*Math.cos(i),f-l*Math.sin(i));return r&&e.classed(\"ticks\")&&(a+=D(-E(i))),a},d._gridpath=function(t){var e=g(t),r=Math.cos(e),n=Math.sin(e);return\"M\"+[u+c*r,f-c*n]+\"L\"+[u+l*r,f-l*n]};var m=\"outside\"!==h.ticks?.7:.5;d._labelx=function(t){var e=g(t),r=d._labelStandoff,n=d._pad;return(0===F(e)?0:Math.cos(e)*(r+n+m*t.fontSize))+B(e)*(t.dx+r+n)},d._labely=function(t){var e=g(t),r=d._labelStandoff,n=d._labelShift,i=d._pad;return t.dy+t.fontSize*w-n+-Math.sin(e)*(r+i+m*t.fontSize)},d._labelanchor=function(t,e){var r=g(e);return 0===F(r)?B(r)>0?\"start\":\"end\":\"middle\"};var v,y=z(h);r.angularTickLayout!==y&&(a[\"angular-axis\"].selectAll(\".\"+d._id+\"tick\").remove(),r.angularTickLayout=y),d.setScale(),p(i,d,!0),\"linear\"===e.gridshape?(v=d._vals.map(g),o.angleDelta(v[0],v[1])<0&&(v=v.slice().reverse())):v=null,r.vangles=v,O(a[\"angular-line\"].select(\"path\"),h.showline,{d:r.pathSubplot(),transform:I(u,f)}).attr(\"stroke-width\",h.linewidth).call(s.stroke,h.linecolor)},L.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1),this.updateMainDrag(t))},L.updateMainDrag=function(t){var e=this,r=e.gd,o=e.layers,s=t._zoomlayer,l=k.MINZOOM,c=k.OFFEDGE,u=e.radius,f=e.innerRadius,h=e.cx,p=e.cy,v=e.cxx,_=e.cyy,w=e.sectorInRad,A=e.vangles,T=e.radialAxis,S=M.clampTiny,E=M.findXYatLength,C=M.findEnclosingVertexAngles,L=k.cornerHalfWidth,z=k.cornerLen/2,P=d.makeDragger(o,\"path\",\"maindrag\",\"crosshair\");n.select(P).attr(\"d\",e.pathSubplot()).attr(\"transform\",I(h,p));var O,D,R,B,F,N,j,V,U,q={element:P,gd:r,subplot:e.id,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis},xaxes:[e.xaxis],yaxes:[e.yaxis]};function H(t,e){return Math.sqrt(t*t+e*e)}function G(t,e){return H(t-v,e-_)}function W(t,e){return Math.atan2(_-e,t-v)}function Y(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function X(t,r){if(0===t)return e.pathSector(2*L);var n=z/t,i=r-n,a=r+n,o=Math.max(0,Math.min(t,u)),s=o-L,l=o+L;return\"M\"+Y(s,i)+\"A\"+[s,s]+\" 0,0,0 \"+Y(s,a)+\"L\"+Y(l,a)+\"A\"+[l,l]+\" 0,0,1 \"+Y(l,i)+\"Z\"}function Z(t,r,n){if(0===t)return e.pathSector(2*L);var i,a,o=Y(t,r),s=Y(t,n),l=S((o[0]+s[0])/2),c=S((o[1]+s[1])/2);if(l&&c){var u=c/l,f=-1/u,h=E(L,u,l,c);i=E(z,f,h[0][0],h[0][1]),a=E(z,f,h[1][0],h[1][1])}else{var p,d;c?(p=z,d=L):(p=L,d=z),i=[[l-p,c-d],[l+p,c-d]],a=[[l-p,c+d],[l+p,c+d]]}return\"M\"+i.join(\"L\")+\"L\"+a.reverse().join(\"L\")+\"Z\"}function $(t,e){return e=Math.max(Math.min(e,u),f),t<c?t=0:u-t<c?t=u:e<c?e=0:u-e<c&&(e=u),Math.abs(e-t)>l?(t<e?(R=t,B=e):(R=e,B=t),!0):(R=null,B=null,!1)}function J(t,e){t=t||F,e=e||\"M0,0Z\",V.attr(\"d\",t),U.attr(\"d\",e),d.transitionZoombox(V,U,N,j),N=!0}function K(t,r){var n,i,a=O+t,o=D+r,s=G(O,D),l=Math.min(G(a,o),u),c=W(O,D);$(s,l)&&(n=F+e.pathSector(B),R&&(n+=e.pathSector(R)),i=X(R,c)+X(B,c)),J(n,i)}function Q(t,e,r,n){var i=M.findIntersectionXY(r,n,r,[t-v,_-e]);return H(i[0],i[1])}function tt(t,r){var n,i,a=O+t,o=D+r,s=W(O,D),l=W(a,o),c=C(s,A),f=C(l,A);$(Q(O,D,c[0],c[1]),Math.min(Q(a,o,f[0],f[1]),u))&&(n=F+e.pathSector(B),R&&(n+=e.pathSector(R)),i=[Z(R,c[0],c[1]),Z(B,c[0],c[1])].join(\" \")),J(n,i)}function et(){if(d.removeZoombox(r),null!==R&&null!==B){d.showDoubleClickNotifier(r);var t=T._rl,n=(t[1]-t[0])/(1-f/u)/u,i=[t[0]+(R-f)*n,t[0]+(B-f)*n];a.call(\"relayout\",r,e.id+\".radialaxis.range\",i)}}function rt(t,n){var i=r._fullLayout.clickmode;if(d.removeZoombox(r),2===t){var o={};for(var s in e.viewInitial)o[e.id+\".\"+s]=e.viewInitial[s];r.emit(\"plotly_doubleclick\",null),a.call(\"relayout\",r,o)}i.indexOf(\"select\")>-1&&1===t&&x(n,r,[e.xaxis],[e.yaxis],e.id,q),i.indexOf(\"event\")>-1&&m.click(r,n,e.id)}q.prepFn=function(t,n,a){var o=r._fullLayout.dragmode,l=P.getBoundingClientRect();if(O=n-l.left,D=a-l.top,A){var c=M.findPolygonOffset(u,w[0],w[1],A);O+=v+c[0],D+=_+c[1]}switch(o){case\"zoom\":q.moveFn=A?tt:K,q.clickFn=rt,q.doneFn=et,function(){R=null,B=null,F=e.pathSubplot(),N=!1;var t=r._fullLayout[e.id];j=i(t.bgcolor).getLuminance(),(V=d.makeZoombox(s,j,h,p,F)).attr(\"fill-rule\",\"evenodd\"),U=d.makeCorners(s,h,p),b(s)}();break;case\"select\":case\"lasso\":y(t,n,a,q,o)}},P.onmousemove=function(t){m.hover(r,t,e.id),r._fullLayout._lasthover=P,r._fullLayout._hoversubplot=e.id},P.onmouseout=function(t){r._dragging||g.unhover(r,t)},g.init(q)},L.updateRadialDrag=function(t,e,r){var i=this,s=i.gd,l=i.layers,c=i.radius,u=i.innerRadius,f=i.cx,h=i.cy,m=i.radialAxis,v=k.radialDragBoxSize,y=v/2;if(m.visible){var x,_,w,M=S(i.radialAxisAngle),A=m._rl,T=A[0],C=A[1],L=A[r],z=.75*(A[1]-A[0])/(1-e.hole)/c;r?(x=f+(c+y)*Math.cos(M),_=h-(c+y)*Math.sin(M),w=\"radialdrag\"):(x=f+(u-y)*Math.cos(M),_=h-(u-y)*Math.sin(M),w=\"radialdrag-inner\");var R,B,F,N=d.makeRectDragger(l,w,\"crosshair\",-y,-y,v,v),j={element:N,gd:s};O(n.select(N),m.visible&&u<c,{transform:I(x,_)}),j.prepFn=function(){R=null,B=null,F=null,j.moveFn=V,j.doneFn=U,b(t._zoomlayer)},j.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<k.MINDRAG&&(t=0,e=0),[t,e]},g.init(j)}function V(t,e){if(R)R(t,e);else{var r=[t,-e],n=[Math.cos(M),Math.sin(M)],i=Math.abs(o.dot(r,n)/Math.sqrt(o.dot(r,r)));isNaN(i)||(R=i<.5?q:H)}}function U(){null!==B?a.call(\"relayout\",s,i.id+\".radialaxis.angle\",B):null!==F&&a.call(\"relayout\",s,i.id+\".radialaxis.range[\"+r+\"]\",F)}function q(t,e){if(0!==r){var n=x+t,a=_+e;B=Math.atan2(h-a,n-f),i.vangles&&(B=P(B,i.vangles)),B=E(B);var o=I(f,h)+D(-B);l[\"radial-axis\"].attr(\"transform\",o),l[\"radial-line\"].select(\"line\").attr(\"transform\",o);var s=i.gd._fullLayout,c=s[i.id];i.updateRadialAxisTitle(s,c,B)}}function H(t,e){var n=o.dot([t,-e],[Math.cos(M),Math.sin(M)]);if(F=L-z*n,z>0==(r?F>T:F<C))for(var a in m.range[r]=F,m._rl[r]=F,m.setGeometry(),m.setScale(),i.xaxis.setRange(),i.xaxis.setScale(),i.yaxis.setRange(),i.yaxis.setScale(),p(s,m,!0),l[\"radial-grid\"].attr(\"transform\",I(f,h)).selectAll(\"path\").attr(\"transform\",null),i._scene&&i._scene.clear(),i.traceHash){var c=i.traceHash[a],u=o.filterVisible(c),d=c[0][0].trace._module,g=s._fullLayout[i.id];d.plot(s,i,u,g)}else F=null}},L.updateAngularDrag=function(t){var e=this,r=e.gd,i=e.layers,s=e.radius,c=e.angularAxis,u=e.cx,f=e.cy,h=e.cxx,m=e.cyy,v=k.angularDragBoxSize,y=d.makeDragger(i,\"path\",\"angulardrag\",\"move\"),x={element:y,gd:r};function w(t,e){return Math.atan2(m+v-e,t-h-v)}n.select(y).attr(\"d\",e.pathAnnulus(s,s+v)).attr(\"transform\",I(u,f)).call(_,\"move\");var M,A,T,S,C,L,z=i.frontplot.select(\".scatterlayer\").selectAll(\".trace\"),P=z.selectAll(\".point\"),O=z.selectAll(\".textpoint\");function R(t,s){var d=e.gd._fullLayout,g=d[e.id],v=w(M+t,A+s),y=E(v-L);if(S=T+y,i.frontplot.attr(\"transform\",I(e.xOffset2,e.yOffset2)+D([-y,h,m])),e.vangles){C=e.radialAxisAngle+y;var x=I(u,f)+D(-y),b=I(u,f)+D(-C);i.bg.attr(\"transform\",x),i[\"radial-grid\"].attr(\"transform\",x),i[\"angular-line\"].select(\"path\").attr(\"transform\",x),i[\"radial-axis\"].attr(\"transform\",b),i[\"radial-line\"].select(\"line\").attr(\"transform\",b),e.updateRadialAxisTitle(d,g,C)}else e.clipPaths.forTraces.select(\"path\").attr(\"transform\",I(h,m)+D(y));for(var _ in P.each(function(){var t=n.select(this),e=l.getTranslate(t);t.attr(\"transform\",I(e.x,e.y)+D([y]))}),O.each(function(){var t=n.select(this),e=t.select(\"text\"),r=l.getTranslate(t);t.attr(\"transform\",D([y,e.attr(\"x\"),e.attr(\"y\")])+I(r.x,r.y))}),c.rotation=o.modHalf(S,360),c.setGeometry(),c.setScale(),p(r,c,!0),e._hasClipOnAxisFalse&&!o.isFullCircle(e.sectorInRad)&&z.call(l.hideOutsideRangePoints,e),e._scene&&e._scene.clear(),e.traceHash)if(a.traceIs(_,\"gl\")){var k=e.traceHash[_],R=o.filterVisible(k);k[0][0].trace._module.plot(r,e,R,g)}}function B(){O.select(\"text\").attr(\"transform\",null);var t={};t[e.id+\".angularaxis.rotation\"]=S,e.vangles&&(t[e.id+\".radialaxis.angle\"]=C),a.call(\"relayout\",r,t)}x.prepFn=function(r,n,i){var a=t[e.id];T=a.angularaxis.rotation;var o=y.getBoundingClientRect();M=n-o.left,A=i-o.top,L=w(M,A),x.moveFn=R,x.doneFn=B,b(t._zoomlayer)},e.vangles&&!o.isFullCircle(e.sectorInRad)&&(x.prepFn=o.noop,_(n.select(y),null)),g.init(x)},L.isPtInside=function(t){var e=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(t.theta),i=this.radialAxis,a=i.c2l(t.r),s=i._rl;return(r?M.isPtInsidePolygon:o.isPtInsideSector)(a,n,s,e,r)},L.pathArc=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathArc)(t,e[0],e[1],r)},L.pathSector=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathSector)(t,e[0],e[1],r)},L.pathAnnulus=function(t,e){var r=this.sectorInRad,n=this.vangles;return(n?M.pathPolygonAnnulus:o.pathAnnulus)(t,e,r[0],r[1],n)},L.pathSubplot=function(){var t=this.innerRadius,e=this.radius;return t?this.pathAnnulus(t,e):this.pathSector(e)},L.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{\"../../components/color\":567,\"../../components/dragelement\":589,\"../../components/drawing\":592,\"../../components/fx\":609,\"../../components/titles\":658,\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/setcursor\":714,\"../../registry\":825,\"../cartesian/autorange\":741,\"../cartesian/axes\":742,\"../cartesian/dragbox\":750,\"../cartesian/select\":759,\"../cartesian/set_convert\":760,\"../plots\":805,\"./constants\":806,\"./helpers\":807,\"./set_convert\":818,d3:147,tinycolor2:511}],818:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../cartesian/set_convert\"),a=n.deg2rad,o=n.rad2deg;e.exports=function(t,e,r){switch(i(t,r),t._id){case\"x\":case\"radialaxis\":!function(t,e){var r=e._subplot;t.setGeometry=function(){var e=t._rl[0],n=t._rl[1],i=r.innerRadius,a=(r.radius-i)/(n-e),o=i/a,s=e>n?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case\"angularaxis\":!function(t,e){var r=t.type;if(\"linear\"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return\"degrees\"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return\"degrees\"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,i){var a,o,s=e[i],l=e._length,c=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&\"linear\"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(a=new Array(l),o=0;o<l;o++)a[o]=c(s[o])}else{var u=i+\"0\",f=\"d\"+i,h=u in e?c(e[u]):0,p=e[f]?c(e[f]):(t.period||2*Math.PI)/l;for(a=new Array(l),o=0;o<l;o++)a[o]=h+o*p}return a},t.setGeometry=function(){var i,s,l,c,u=e.sector,f=u.map(a),h={clockwise:-1,counterclockwise:1}[t.direction],p=a(t.rotation),d=function(t){return h*t+p},g=function(t){return(t-p)/h};switch(r){case\"linear\":s=i=n.identity,c=a,l=o,t.range=n.isFullCircle(f)?[u[0],u[0]+360]:f.map(g).map(o);break;case\"category\":var m=t._categories.length,v=t.period?Math.max(t.period,m):m;s=c=function(t){return 2*t*Math.PI/v},i=l=function(t){return t*v/Math.PI/2},t.range=[0,v]}t.c2g=function(t){return d(s(t))},t.g2c=function(t){return i(g(t))},t.t2g=function(t){return d(c(t))},t.g2t=function(t){return l(g(t))}}}(t,e)}}},{\"../../lib\":693,\"../cartesian/set_convert\":760}],819:[function(t,e,r){\"use strict\";function n(t,e){return\"splom\"===t?-1:\"splom\"===e?1:0}e.exports={sortBasePlotModules:function(t,e){return n(t.name,e.name)},sortModules:n}},{}],820:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plot_api/plot_template\"),a=t(\"./domain\").defaults;e.exports=function(t,e,r,o){var s,l,c=o.type,u=o.attributes,f=o.handleDefaults,h=o.partition||\"x\",p=e._subplots[c],d=p.length,g=d&&p[0].replace(/\\d+$/,\"\");function m(t,e){return n.coerce(s,l,u,t,e)}for(var v=0;v<d;v++){var y=p[v];s=t[y]?t[y]:t[y]={},l=i.newContainer(e,y,g);var x={};x[h]=[v/d,(v+1)/d],a(l,e,m,x),o.id=y,f(s,l,m,o)}}},{\"../lib\":693,\"../plot_api/plot_template\":732,\"./domain\":767}],821:[function(t,e,r){\"use strict\";var n=t(\"./ternary\"),i=t(\"../../plots/get_data\").getSubplotCalcData,a=t(\"../../lib\").counterRegex;r.name=\"ternary\";var o=r.attr=\"subplot\";r.idRoot=\"ternary\",r.idRegex=r.attrRegex=a(\"ternary\"),(r.attributes={})[o]={valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"},r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.ternary,o=0;o<a.length;o++){var s=a[o],l=i(r,\"ternary\",s),c=e[s]._subplot;c||(c=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.ternary||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[\"a-title\"].remove(),s.layers[\"b-title\"].remove(),s.layers[\"c-title\"].remove())}}},{\"../../lib\":693,\"../../plots/get_data\":778,\"./layout_attributes\":822,\"./layout_defaults\":823,\"./ternary\":824}],822:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),i=t(\"../domain\").attributes,a=t(\"../cartesian/layout_attributes\"),o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../lib/extend\").extendFlat,l={title:a.title,titlefont:a.titlefont,color:a.color,tickmode:a.tickmode,nticks:s({},a.nticks,{dflt:6,min:1}),tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,showticklabels:a.showticklabels,showtickprefix:a.showtickprefix,tickprefix:a.tickprefix,showticksuffix:a.showticksuffix,ticksuffix:a.ticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,separatethousands:a.separatethousands,tickfont:a.tickfont,tickangle:a.tickangle,tickformat:a.tickformat,tickformatstops:a.tickformatstops,hoverformat:a.hoverformat,showline:s({},a.showline,{dflt:!0}),linecolor:a.linecolor,linewidth:a.linewidth,showgrid:s({},a.showgrid,{dflt:!0}),gridcolor:a.gridcolor,gridwidth:a.gridwidth,layer:a.layer,min:{valType:\"number\",dflt:0,min:0}};e.exports=o({domain:i({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:n.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:l,baxis:l,caxis:l},\"plot\",\"from-root\")},{\"../../components/color/attributes\":566,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../cartesian/layout_attributes\":754,\"../domain\":767}],823:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../plot_api/plot_template\"),a=t(\"../../lib\"),o=t(\"../subplot_defaults\"),s=t(\"../cartesian/tick_label_defaults\"),l=t(\"../cartesian/tick_mark_defaults\"),c=t(\"../cartesian/tick_value_defaults\"),u=t(\"../cartesian/line_grid_defaults\"),f=t(\"./layout_attributes\"),h=[\"aaxis\",\"baxis\",\"caxis\"];function p(t,e,r,a){var o,s,l,c=r(\"bgcolor\"),u=r(\"sum\");a.bgColor=n.combine(c,a.paper_bgcolor);for(var f=0;f<h.length;f++)s=t[o=h[f]]||{},(l=i.newContainer(e,o))._name=o,d(s,l,a);var p=e.aaxis,g=e.baxis,m=e.caxis;p.min+g.min+m.min>=u&&(p.min=0,g.min=0,m.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function d(t,e,r){var n=f[e._name];function i(r,i){return a.coerce(t,e,n,r,i)}e.type=\"linear\";var o=i(\"color\"),h=o!==n.color.dflt?o:r.font.color,p=e._name.charAt(0).toUpperCase(),d=\"Component \"+p,g=i(\"title\",d);e._hovertitle=g===d?g:p,a.coerceFont(i,\"titlefont\",{family:r.font.family,size:Math.round(1.2*r.font.size),color:h}),i(\"min\"),c(t,e,i,\"linear\"),s(t,e,i,\"linear\",{}),l(t,e,i,{outerTicks:!0}),i(\"showticklabels\")&&(a.coerceFont(i,\"tickfont\",{family:r.font.family,size:r.font.size,color:h}),i(\"tickangle\"),i(\"tickformat\")),u(t,e,i,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:n}),i(\"hoverformat\"),i(\"layer\")}e.exports=function(t,e,r){o(t,e,r,{type:\"ternary\",attributes:f,handleDefaults:p,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{\"../../components/color\":567,\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../cartesian/line_grid_defaults\":756,\"../cartesian/tick_label_defaults\":761,\"../cartesian/tick_mark_defaults\":762,\"../cartesian/tick_value_defaults\":763,\"../subplot_defaults\":820,\"./layout_attributes\":822}],824:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"../../registry\"),o=t(\"../../lib\"),s=o._,l=t(\"../../components/color\"),c=t(\"../../components/drawing\"),u=t(\"../cartesian/set_convert\"),f=t(\"../../lib/extend\").extendFlat,h=t(\"../plots\"),p=t(\"../cartesian/axes\"),d=t(\"../../components/dragelement\"),g=t(\"../../components/fx\"),m=t(\"../../components/titles\"),v=t(\"../cartesian/select\").prepSelect,y=t(\"../cartesian/select\").selectOnClick,x=t(\"../cartesian/select\").clearSelect,b=t(\"../cartesian/constants\");function _(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}e.exports=_;var w=_.prototype;w.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},w.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i<t.length;i++){if(!1===t[i][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),h.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select(\"path\").call(l.fill,r.bgcolor)},w.makeFramework=function(t){var e=t[this.id],r=this.clipId=\"clip\"+this.layoutId+this.id,n=this.clipIdRelative=\"clip-relative\"+this.layoutId+this.id;this.clipDef=o.ensureSingleById(t._clips,\"clipPath\",r,function(t){t.append(\"path\").attr(\"d\",\"M0,0Z\")}),this.clipDefRelative=o.ensureSingleById(t._clips,\"clipPath\",n,function(t){t.append(\"path\").attr(\"d\",\"M0,0Z\")}),this.plotContainer=o.ensureSingle(this.container,\"g\",this.id),this.updateLayers(e),c.setClipUrl(this.layers.backplot,r),c.setClipUrl(this.layers.grids,r)},w.updateLayers=function(t){var e=this.layers,r=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\"];\"below traces\"===t.aaxis.layer&&r.push(\"aaxis\",\"aline\"),\"below traces\"===t.baxis.layer&&r.push(\"baxis\",\"bline\"),\"below traces\"===t.caxis.layer&&r.push(\"caxis\",\"cline\"),r.push(\"frontplot\"),\"above traces\"===t.aaxis.layer&&r.push(\"aaxis\",\"aline\"),\"above traces\"===t.baxis.layer&&r.push(\"baxis\",\"bline\"),\"above traces\"===t.caxis.layer&&r.push(\"caxis\",\"cline\");var i=this.plotContainer.selectAll(\"g.toplevel\").data(r,String),a=[\"agrid\",\"bgrid\",\"cgrid\"];i.enter().append(\"g\").attr(\"class\",function(t){return\"toplevel \"+t}).each(function(t){var r=n.select(this);e[t]=r,\"frontplot\"===t?r.append(\"g\").classed(\"scatterlayer\",!0):\"backplot\"===t?r.append(\"g\").classed(\"maplayer\",!0):\"plotbg\"===t?r.append(\"path\").attr(\"d\",\"M0,0Z\"):\"aline\"===t||\"bline\"===t||\"cline\"===t?r.append(\"path\"):\"grids\"===t&&a.forEach(function(t){e[t]=r.append(\"g\").classed(\"grid \"+t,!0);var n=\"bgrid\"===t?\"x\":\"y\";e[t].append(\"g\").classed(n,!0)})}),i.order()};var k=Math.sqrt(4/3);function M(t){return t.ticks+String(t.ticklen)+String(t.showticklabels)}w.adjustLayout=function(t,e){var r,n,i,a,o,s,h=this,p=t.domain,d=(p.x[0]+p.x[1])/2,g=(p.y[0]+p.y[1])/2,m=p.x[1]-p.x[0],v=p.y[1]-p.y[0],y=m*e.w,x=v*e.h,b=t.sum,_=t.aaxis.min,w=t.baxis.min,M=t.caxis.min;y>k*x?i=(a=x)*k:a=(i=y)/k,o=m*i/y,s=v*a/x,r=e.l+e.w*d-i/2,n=e.t+e.h*(1-g)-a/2,h.x0=r,h.y0=n,h.w=i,h.h=a,h.sum=b,h.xaxis={type:\"linear\",range:[_+2*M-b,b-_-2*w],domain:[d-o/2,d+o/2],_id:\"x\"},u(h.xaxis,h.graphDiv._fullLayout),h.xaxis.setScale(),h.xaxis.isPtWithinRange=function(t){return t.a>=h.aaxis.range[0]&&t.a<=h.aaxis.range[1]&&t.b>=h.baxis.range[1]&&t.b<=h.baxis.range[0]&&t.c>=h.caxis.range[1]&&t.c<=h.caxis.range[0]},h.yaxis={type:\"linear\",range:[_,b-w-M],domain:[g-s/2,g+s/2],_id:\"y\"},u(h.yaxis,h.graphDiv._fullLayout),h.yaxis.setScale(),h.yaxis.isPtWithinRange=function(){return!0};var A=h.yaxis.domain[0],T=h.aaxis=f({},t.aaxis,{visible:!0,range:[_,b-w-M],side:\"left\",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*k],_axislayer:h.layers.aaxis,_gridlayer:h.layers.agrid,anchor:\"free\",position:0,_pos:0,_id:\"y\",_length:i,_gridpath:\"M0,0l\"+a+\",-\"+i/2,automargin:!1});u(T,h.graphDiv._fullLayout),T.setScale();var S=h.baxis=f({},t.baxis,{visible:!0,range:[b-_-M,w],side:\"bottom\",_counterangle:30,domain:h.xaxis.domain,_axislayer:h.layers.baxis,_gridlayer:h.layers.bgrid,_counteraxis:h.aaxis,anchor:\"free\",position:0,_pos:0,_id:\"x\",_length:i,_gridpath:\"M0,0l-\"+i/2+\",-\"+a,automargin:!1});u(S,h.graphDiv._fullLayout),S.setScale(),T._counteraxis=S;var E=h.caxis=f({},t.caxis,{visible:!0,range:[b-_-w,M],side:\"right\",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*k],_axislayer:h.layers.caxis,_gridlayer:h.layers.cgrid,_counteraxis:h.baxis,anchor:\"free\",position:0,_pos:0,_id:\"y\",_length:i,_gridpath:\"M0,0l-\"+a+\",\"+i/2,automargin:!1});u(E,h.graphDiv._fullLayout),E.setScale();var C=\"M\"+r+\",\"+(n+a)+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";h.clipDef.select(\"path\").attr(\"d\",C),h.layers.plotbg.select(\"path\").attr(\"d\",C);var L=\"M0,\"+a+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";h.clipDefRelative.select(\"path\").attr(\"d\",L);var z=\"translate(\"+r+\",\"+n+\")\";h.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",z),h.clipDefRelative.select(\"path\").attr(\"transform\",null);var P=\"translate(\"+(r-S._offset)+\",\"+(n+a)+\")\";h.layers.baxis.attr(\"transform\",P),h.layers.bgrid.attr(\"transform\",P);var O=\"translate(\"+(r+i/2)+\",\"+n+\")rotate(30)translate(0,\"+-T._offset+\")\";h.layers.aaxis.attr(\"transform\",O),h.layers.agrid.attr(\"transform\",O);var I=\"translate(\"+(r+i/2)+\",\"+n+\")rotate(-30)translate(0,\"+-E._offset+\")\";h.layers.caxis.attr(\"transform\",I),h.layers.cgrid.attr(\"transform\",I),h.drawAxes(!0),h.plotContainer.selectAll(\".crisp\").classed(\"crisp\",!1),h.layers.aline.select(\"path\").attr(\"d\",T.showline?\"M\"+r+\",\"+(n+a)+\"l\"+i/2+\",-\"+a:\"M0,0\").call(l.stroke,T.linecolor||\"#000\").style(\"stroke-width\",(T.linewidth||0)+\"px\"),h.layers.bline.select(\"path\").attr(\"d\",S.showline?\"M\"+r+\",\"+(n+a)+\"h\"+i:\"M0,0\").call(l.stroke,S.linecolor||\"#000\").style(\"stroke-width\",(S.linewidth||0)+\"px\"),h.layers.cline.select(\"path\").attr(\"d\",E.showline?\"M\"+(r+i/2)+\",\"+n+\"l\"+i/2+\",\"+a:\"M0,0\").call(l.stroke,E.linecolor||\"#000\").style(\"stroke-width\",(E.linewidth||0)+\"px\"),h.graphDiv._context.staticPlot||h.initInteractions(),c.setClipUrl(h.layers.frontplot,h._hasClipOnAxisFalse?null:h.clipId)},w.drawAxes=function(t){var e,r=this.graphDiv,n=this.id.substr(7)+\"title\",i=this.layers,a=this.aaxis,o=this.baxis,l=this.caxis;if(e=M(a),this.aTickLayout!==e&&(i.aaxis.selectAll(\".ytick\").remove(),this.aTickLayout=e),e=M(o),this.bTickLayout!==e&&(i.baxis.selectAll(\".xtick\").remove(),this.bTickLayout=e),e=M(l),this.cTickLayout!==e&&(i.caxis.selectAll(\".ytick\").remove(),this.cTickLayout=e),p.doTicksSingle(r,a,!0),p.doTicksSingle(r,o,!0),p.doTicksSingle(r,l,!0),t){var c=Math.max(a.showticklabels?a.tickfont.size/2:0,(l.showticklabels?.75*l.tickfont.size:0)+(\"outside\"===l.ticks?.87*l.ticklen:0));this.layers[\"a-title\"]=m.draw(r,\"a\"+n,{propContainer:a,propName:this.id+\".aaxis.title\",placeholder:s(r,\"Click to enter Component A title\"),attributes:{x:this.x0+this.w/2,y:this.y0-a.titlefont.size/3-c,\"text-anchor\":\"middle\"}});var u=(o.showticklabels?o.tickfont.size:0)+(\"outside\"===o.ticks?o.ticklen:0)+3;this.layers[\"b-title\"]=m.draw(r,\"b\"+n,{propContainer:o,propName:this.id+\".baxis.title\",placeholder:s(r,\"Click to enter Component B title\"),attributes:{x:this.x0-u,y:this.y0+this.h+.83*o.titlefont.size+u,\"text-anchor\":\"middle\"}}),this.layers[\"c-title\"]=m.draw(r,\"c\"+n,{propContainer:l,propName:this.id+\".caxis.title\",placeholder:s(r,\"Click to enter Component C title\"),attributes:{x:this.x0+this.w+u,y:this.y0+this.h+.83*l.titlefont.size+u,\"text-anchor\":\"middle\"}})}};var A=b.MINZOOM/2+.87,T=\"m-0.87,.5h\"+A+\"v3h-\"+(A+5.2)+\"l\"+(A/2+2.6)+\",-\"+(.87*A+4.5)+\"l2.6,1.5l-\"+A/2+\",\"+.87*A+\"Z\",S=\"m0.87,.5h-\"+A+\"v3h\"+(A+5.2)+\"l-\"+(A/2+2.6)+\",-\"+(.87*A+4.5)+\"l-2.6,1.5l\"+A/2+\",\"+.87*A+\"Z\",E=\"m0,1l\"+A/2+\",\"+.87*A+\"l2.6,-1.5l-\"+(A/2+2.6)+\",-\"+(.87*A+4.5)+\"l-\"+(A/2+2.6)+\",\"+(.87*A+4.5)+\"l2.6,1.5l\"+A/2+\",-\"+.87*A+\"Z\",C=\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\",L=!0;function z(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}w.initInteractions=function(){var t,e,r,n,u,f,h,p,m,_,w=this,M=w.layers.plotbg.select(\"path\").node(),A=w.graphDiv,P=A._fullLayout._zoomlayer,O={element:M,gd:A,plotinfo:{id:w.id,xaxis:w.xaxis,yaxis:w.yaxis},subplot:w.id,prepFn:function(a,o,s){O.xaxes=[w.xaxis],O.yaxes=[w.yaxis];var c=A._fullLayout.dragmode;O.minDrag=\"lasso\"===c?1:void 0,\"zoom\"===c?(O.moveFn=F,O.clickFn=I,O.doneFn=N,function(a,o,s){var c=M.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,n=w.aaxis.range[1]-r.a,f=i(w.graphDiv._fullLayout[w.id].bgcolor).getLuminance(),h=\"M0,\"+w.h+\"L\"+w.w/2+\", 0L\"+w.w+\",\"+w.h+\"Z\",p=!1,m=P.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",\"translate(\"+w.x0+\", \"+w.y0+\")\").style({fill:f>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",h),_=P.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",\"translate(\"+w.x0+\", \"+w.y0+\")\").style({fill:l.background,stroke:l.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),x(P)}(0,o,s)):\"pan\"===c?(O.moveFn=j,O.clickFn=I,O.doneFn=V,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,x(P)):\"select\"!==c&&\"lasso\"!==c||v(a,o,s,O,c)}};function I(t,e){var r=A._fullLayout.clickmode;if(z(A),2===t){var n={};n[w.id+\".aaxis.min\"]=0,n[w.id+\".baxis.min\"]=0,n[w.id+\".caxis.min\"]=0,A.emit(\"plotly_doubleclick\",null),a.call(\"relayout\",A,n)}r.indexOf(\"select\")>-1&&1===t&&y(e,A,[w.xaxis],[w.yaxis],w.id,O),r.indexOf(\"event\")>-1&&g.click(A,e,w.id)}function D(t,e){return 1-e/w.h}function R(t,e){return 1-(t+(w.h-e)/Math.sqrt(3))/w.w}function B(t,e){return(t-(w.h-e)/Math.sqrt(3))/w.w}function F(i,a){var o=t+i,s=e+a,l=Math.max(0,Math.min(1,D(0,e),D(0,s))),c=Math.max(0,Math.min(1,R(t,e),R(o,s))),d=Math.max(0,Math.min(1,B(t,e),B(o,s))),g=(l/2+d)*w.w,v=(1-l/2-c)*w.w,y=(g+v)/2,x=v-g,M=(1-l)*w.h,A=M-x/k;x<b.MINZOOM?(u=r,m.attr(\"d\",h),_.attr(\"d\",\"M0,0Z\")):(u={a:r.a+l*n,b:r.b+c*n,c:r.c+d*n},m.attr(\"d\",h+\"M\"+g+\",\"+M+\"H\"+v+\"L\"+y+\",\"+A+\"L\"+g+\",\"+M+\"Z\"),_.attr(\"d\",\"M\"+t+\",\"+e+C+\"M\"+g+\",\"+M+T+\"M\"+v+\",\"+M+S+\"M\"+y+\",\"+A+E)),p||(m.transition().style(\"fill\",f>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),_.transition().style(\"opacity\",1).duration(200),p=!0)}function N(){if(z(A),u!==r){var t={};t[w.id+\".aaxis.min\"]=u.a,t[w.id+\".baxis.min\"]=u.b,t[w.id+\".caxis.min\"]=u.c,a.call(\"relayout\",A,t),L&&A.data&&A._context.showTips&&(o.notifier(s(A,\"Double-click to zoom back out\"),\"long\"),L=!1)}}function j(t,e){var n=t/w.xaxis._m,i=e/w.yaxis._m,a=[(u={a:r.a-i,b:r.b+(n+i)/2,c:r.c-(n-i)/2}).a,u.b,u.c].sort(),o=a.indexOf(u.a),s=a.indexOf(u.b),l=a.indexOf(u.c);a[0]<0&&(a[1]+a[0]/2<0?(a[2]+=a[0]+a[1],a[0]=a[1]=0):(a[2]+=a[0]/2,a[1]+=a[0]/2,a[0]=0),u={a:a[o],b:a[s],c:a[l]},e=(r.a-u.a)*w.yaxis._m,t=(r.c-u.c-r.b+u.b)*w.xaxis._m);var f=\"translate(\"+(w.x0+t)+\",\"+(w.y0+e)+\")\";w.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",f);var h=\"translate(\"+-t+\",\"+-e+\")\";w.clipDefRelative.select(\"path\").attr(\"transform\",h),w.aaxis.range=[u.a,w.sum-u.b-u.c],w.baxis.range=[w.sum-u.a-u.c,u.b],w.caxis.range=[w.sum-u.a-u.b,u.c],w.drawAxes(!1),w.plotContainer.selectAll(\".crisp\").classed(\"crisp\",!1),w._hasClipOnAxisFalse&&w.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(c.hideOutsideRangePoints,w)}function V(){var t={};t[w.id+\".aaxis.min\"]=u.a,t[w.id+\".baxis.min\"]=u.b,t[w.id+\".caxis.min\"]=u.c,a.call(\"relayout\",A,t)}M.onmousemove=function(t){g.hover(A,t,w.id),A._fullLayout._lasthover=M,A._fullLayout._hoversubplot=w.id},M.onmouseout=function(t){A._dragging||d.unhover(A,t)},d.init(O)}},{\"../../components/color\":567,\"../../components/dragelement\":589,\"../../components/drawing\":592,\"../../components/fx\":609,\"../../components/titles\":658,\"../../lib\":693,\"../../lib/extend\":682,\"../../registry\":825,\"../cartesian/axes\":742,\"../cartesian/constants\":747,\"../cartesian/select\":759,\"../cartesian/set_convert\":760,\"../plots\":805,d3:147,tinycolor2:511}],825:[function(t,e,r){\"use strict\";var n=t(\"./lib/loggers\"),i=t(\"./lib/noop\"),a=t(\"./lib/push_unique\"),o=t(\"./lib/is_plain_object\"),s=t(\"./lib/extend\"),l=t(\"./plots/attributes\"),c=t(\"./plots/layout_attributes\"),u=s.extendFlat,f=s.extendDeepAll;function h(t){var e=t.name,i=t.categories,a=t.meta;if(r.modules[e])n.log(\"Type \"+e+\" already registered\");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log(\"Plot type \"+e+\" already registered.\");for(var i in m(t),r.subplotsRegistry[e]=t,r.componentsRegistry)x(i,t.name)}(t.basePlotModule);for(var o={},s=0;s<i.length;s++)o[i[s]]=!0,r.allCategories[i[s]]=!0;for(var l in r.modules[e]={_module:t,categories:o},a&&Object.keys(a).length&&(r.modules[e].meta=a),r.allTypes.push(e),r.componentsRegistry)v(l,e);t.layoutAttributes&&u(r.traceLayoutAttributes,t.layoutAttributes)}}function p(t){if(\"string\"!=typeof t.name)throw new Error(\"Component module *name* must be a string.\");var e=t.name;for(var n in r.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&a(r.layoutArrayContainers,e),m(t)),r.modules)v(e,n);for(var i in r.subplotsRegistry)x(e,i);for(var o in r.transformsRegistry)y(e,o);t.schema&&t.schema.layout&&f(c,t.schema.layout)}function d(t){if(\"string\"!=typeof t.name)throw new Error(\"Transform module *name* must be a string.\");var e=\"Transform module \"+t.name,i=\"function\"==typeof t.transform,a=\"function\"==typeof t.calcTransform;if(!i&&!a)throw new Error(e+\" is missing a *transform* or *calcTransform* method.\");for(var s in i&&a&&n.log([e+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),o(t.attributes)||n.log(e+\" registered without an *attributes* object.\"),\"function\"!=typeof t.supplyDefaults&&n.log(e+\" registered without a *supplyDefaults* method.\"),r.transformsRegistry[t.name]=t,r.componentsRegistry)y(s,t.name)}function g(t){var e=t.name,n=e.split(\"-\")[0],i=t.dictionary,a=t.format,o=i&&Object.keys(i).length,s=a&&Object.keys(a).length,l=r.localeRegistry,c=l[e];if(c||(l[e]=c={}),n!==e){var u=l[n];u||(l[n]=u={}),o&&u.dictionary===c.dictionary&&(u.dictionary=i),s&&u.format===c.format&&(u.format=a)}o&&(c.dictionary=i),s&&(c.format=a)}function m(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)a(r.layoutArrayRegexes,e[n])}}function v(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.traces){var i=n.traces[e];i&&f(r.modules[e]._module.attributes,i)}}function y(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.transforms){var i=n.transforms[e];i&&f(r.transformsRegistry[e].attributes,i)}}function x(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.subplots){var i=r.subplotsRegistry[e],a=i.layoutAttributes,o=\"subplot\"===i.attr?i.name:i.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];a&&s&&f(a,s)}}function b(t){return\"object\"==typeof t&&(t=t.type),t}r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.apiMethodRegistry={},r.register=function(t){if(!t)throw new Error(\"No argument passed to Plotly.register.\");t&&!Array.isArray(t)&&(t=[t]);for(var e=0;e<t.length;e++){var n=t[e];if(!n)throw new Error(\"Invalid module was attempted to be registered!\");switch(n.moduleType){case\"trace\":h(n);break;case\"transform\":d(n);break;case\"component\":p(n);break;case\"locale\":g(n);break;case\"apiMethod\":var i=n.name;r.apiMethodRegistry[i]=n.fn;break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}},r.getModule=function(t){var e=r.modules[b(t)];return!!e&&e._module},r.traceIs=function(t,e){if(\"various\"===(t=b(t)))return!1;var i=r.modules[t];return i||(t&&\"area\"!==t&&n.log(\"Unrecognized trace type \"+t+\".\"),i=r.modules[l.type.dflt]),!!i.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},r.getComponentMethod=function(t,e){var n=r.componentsRegistry[t];return n&&n[e]||i},r.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return r.apiMethodRegistry[t].apply(null,e)}},{\"./lib/extend\":682,\"./lib/is_plain_object\":695,\"./lib/loggers\":698,\"./lib/noop\":703,\"./lib/push_unique\":708,\"./plots/attributes\":739,\"./plots/layout_attributes\":796}],826:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=n.extendFlat,a=n.extendDeep;function o(t){var e;switch(t){case\"themes__thumb\":e={autosize:!0,width:150,height:150,title:\"\",showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\"thumbnail\":e={title:\"\",hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\"\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}e.exports=function(t,e){var r;t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var n,s=t.data,l=t.layout,c=a([],s),u=a({},l,o(e.tileClass)),f=t._context||{};if(e.width&&(u.width=e.width),e.height&&(u.height=e.height),\"thumbnail\"===e.tileClass||\"themes__thumb\"===e.tileClass){u.annotations=[];var h=Object.keys(u);for(r=0;r<h.length;r++)n=h[r],[\"xaxis\",\"yaxis\",\"zaxis\"].indexOf(n.slice(0,5))>-1&&(u[h[r]].title=\"\");for(r=0;r<c.length;r++){var p=c[r];p.showscale=!1,p.marker&&(p.marker.showscale=!1),\"pie\"===p.type&&(p.textposition=\"none\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)u.annotations.push(e.annotations[r]);var d=Object.keys(u).filter(function(t){return t.match(/^scene\\d*$/)});if(d.length){var g={};for(\"thumbnail\"===e.tileClass&&(g={title:\"\",showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<d.length;r++){var m=u[d[r]];m.xaxis||(m.xaxis={}),m.yaxis||(m.yaxis={}),m.zaxis||(m.zaxis={}),i(m.xaxis,g),i(m.yaxis,g),i(m.zaxis,g),m._scene=null}}var v=document.createElement(\"div\");e.tileClass&&(v.className=e.tileClass);var y={gd:v,td:v,layout:u,data:c,config:{staticPlot:void 0===e.staticPlot||e.staticPlot,plotGlPixelRatio:void 0===e.plotGlPixelRatio?2:e.plotGlPixelRatio,displaylogo:e.displaylogo||!1,showLink:e.showLink||!1,showTips:e.showTips||!1,mapboxAccessToken:f.mapboxAccessToken}};return\"transparent\"!==e.setBackground&&(y.config.setBackground=e.setBackground||\"opaque\"),y.gd.defaultLayout=o(e.tileClass),y}},{\"../lib\":693}],827:[function(t,e,r){\"use strict\";var n=t(\"../plot_api/to_image\"),i=t(\"../lib\"),a=t(\"./filesaver\");e.exports=function(t,e){var r;return i.isPlainObject(t)||(r=i.getGraphDiv(t)),(e=e||{}).format=e.format||\"png\",new Promise(function(o,s){r&&r._snapshotInProgress&&s(new Error(\"Snapshotting already in progress.\")),i.isIE()&&\"svg\"!==e.format&&s(new Error(\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\")),r&&(r._snapshotInProgress=!0);var l=n(t,e),c=e.filename||t.fn||\"newplot\";c+=\".\"+e.format,l.then(function(t){return r&&(r._snapshotInProgress=!1),a(t,c)}).then(function(t){o(t)}).catch(function(t){r&&(r._snapshotInProgress=!1),s(t)})})}},{\"../lib\":693,\"../plot_api/to_image\":735,\"./filesaver\":828}],828:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=document.createElement(\"a\"),n=\"download\"in r,i=/Version\\/[\\d\\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){if(\"undefined\"!=typeof navigator&&/MSIE [1-9]\\./.test(navigator.userAgent)&&o(new Error(\"IE < 10 unsupported\")),i&&(document.location.href=\"data:application/octet-stream\"+t.slice(t.search(/[,;]/)),a(e)),e||(e=\"download\"),n&&(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),\"undefined\"!=typeof navigator&&navigator.msSaveBlob){var s=t.split(/^data:image\\/svg\\+xml,/)[1],l=decodeURIComponent(s);navigator.msSaveBlob(new Blob([l]),e),a(e)}o(new Error(\"download error\"))})}},{}],829:[function(t,e,r){\"use strict\";r.getDelay=function(t){return t._has&&(t._has(\"gl3d\")||t._has(\"gl2d\")||t._has(\"mapbox\"))?500:0},r.getRedrawFunc=function(t){var e=t._fullLayout||{};if(!(!(e._has&&e._has(\"polar\"))&&t.data&&t.data[0]&&t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()})}}},{}],830:[function(t,e,r){\"use strict\";var n=t(\"./helpers\"),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(\"./cloneplot\"),toSVG:t(\"./tosvg\"),svgToImg:t(\"./svgtoimg\"),toImage:t(\"./toimage\"),downloadImage:t(\"./download\")};e.exports=i},{\"./cloneplot\":826,\"./download\":827,\"./helpers\":829,\"./svgtoimg\":831,\"./toimage\":832,\"./tosvg\":833}],831:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"events\").EventEmitter;e.exports=function(t){var e=t.emitter||new i,r=new Promise(function(i,a){var o=window.Image,s=t.svg,l=t.format||\"png\";if(n.isIE()&&\"svg\"!==l){var c=new Error(\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\");return a(c),t.promise?r:e.emit(\"error\",c)}var u=t.canvas,f=t.scale||1,h=t.width||300,p=t.height||150,d=f*h,g=f*p,m=u.getContext(\"2d\"),v=new o,y=\"data:image/svg+xml,\"+encodeURIComponent(s);u.width=d,u.height=g,v.onload=function(){var r;switch(\"svg\"!==l&&m.drawImage(v,0,0,d,g),l){case\"jpeg\":r=u.toDataURL(\"image/jpeg\");break;case\"png\":r=u.toDataURL(\"image/png\");break;case\"webp\":r=u.toDataURL(\"image/webp\");break;case\"svg\":r=y;break;default:var n=\"Image format is not jpeg, png, svg or webp.\";if(a(new Error(n)),!t.promise)return e.emit(\"error\",n)}i(r),t.promise||e.emit(\"success\",r)},v.onerror=function(r){if(a(r),!t.promise)return e.emit(\"error\",r)},v.src=y});return t.promise?r:e}},{\"../lib\":693,events:91}],832:[function(t,e,r){\"use strict\";var n=t(\"events\").EventEmitter,i=t(\"../registry\"),a=t(\"../lib\"),o=t(\"./helpers\"),s=t(\"./cloneplot\"),l=t(\"./tosvg\"),c=t(\"./svgtoimg\");e.exports=function(t,e){var r=new n,u=s(t,{format:\"png\"}),f=u.gd;f.style.position=\"absolute\",f.style.left=\"-5000px\",document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.call(\"plot\",f,u.data,u.layout,u.config).then(h).then(function(){var t=o.getDelay(f._fullLayout);setTimeout(function(){var t=l(f),n=document.createElement(\"canvas\");n.id=a.randstr(),(r=c({format:e.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){f&&document.body.removeChild(f)}},t)}).catch(function(t){r.emit(\"error\",t)}),r}},{\"../lib\":693,\"../registry\":825,\"./cloneplot\":826,\"./helpers\":829,\"./svgtoimg\":831,\"./tosvg\":833,events:91}],833:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../lib\"),a=t(\"../components/drawing\"),o=t(\"../components/color\"),s=t(\"../constants/xmlns_namespaces\"),l=/\"/g,c=new RegExp('(\"TOBESTRIPPED)|(TOBESTRIPPED\")',\"g\");e.exports=function(t,e,r){var u,f=t._fullLayout,h=f._paper,p=f._toppaper,d=f.width,g=f.height;h.insert(\"rect\",\":first-child\").call(a.setRect,0,0,d,g).call(o.fill,f.paper_bgcolor);var m=f._basePlotModules||[];for(u=0;u<m.length;u++){var v=m[u];v.toSVG&&v.toSVG(t)}if(p){var y=p.node().childNodes,x=Array.prototype.slice.call(y);for(u=0;u<x.length;u++){var b=x[u];b.childNodes.length&&h.node().appendChild(b)}}f._draggers&&f._draggers.remove(),h.node().style.background=\"\",h.selectAll(\"text\").attr({\"data-unformatted\":null,\"data-math\":null}).each(function(){var t=n.select(this);if(\"hidden\"!==this.style.visibility&&\"none\"!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&&-1!==e.indexOf('\"')&&t.style(\"font-family\",e.replace(l,\"TOBESTRIPPED\"))}else t.remove()}),h.selectAll(\".point, .scatterpts, .legendfill>path, .legendlines>path, .cbfill\").each(function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf(\"url(\")&&t.style(\"fill\",e.replace(l,\"TOBESTRIPPED\"));var r=this.style.stroke;r&&-1!==r.indexOf(\"url(\")&&t.style(\"stroke\",r.replace(l,\"TOBESTRIPPED\"))}),\"pdf\"!==e&&\"eps\"!==e||h.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),h.node().setAttributeNS(s.xmlns,\"xmlns\",s.svg),h.node().setAttributeNS(s.xmlns,\"xmlns:xlink\",s.xlink),\"svg\"===e&&r&&(h.attr(\"width\",r*d),h.attr(\"height\",r*g),h.attr(\"viewBox\",\"0 0 \"+d+\" \"+g));var _=(new window.XMLSerializer).serializeToString(h.node());return _=function(t){var e=n.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),r=t.replace(/(&[^;]*;)/gi,function(t){return\"&lt;\"===t?\"&#60;\":\"&rt;\"===t?\"&#62;\":-1!==t.indexOf(\"<\")||-1!==t.indexOf(\">\")?\"\":e.html(t).text()});return e.remove(),r}(_),_=(_=_.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&amp;\")).replace(c,\"'\"),i.isIE()&&(_=(_=(_=_.replace(/\"/gi,\"'\")).replace(/(\\('#)([^']*)('\\))/gi,'(\"#$2\")')).replace(/(\\\\')/gi,'\"')),_}},{\"../components/color\":567,\"../components/drawing\":592,\"../constants/xmlns_namespaces\":671,\"../lib\":693,d3:147}],834:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").mergeArray;e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n(e.text,t,\"tx\"),n(e.hovertext,t,\"htx\");var i=e.marker;if(i){n(i.opacity,t,\"mo\"),n(i.color,t,\"mc\");var a=i.line;a&&(n(a.color,t,\"mlc\"),n(a.width,t,\"mlw\"))}}},{\"../../lib\":693}],835:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../plots/font_attributes\"),s=t(\"../../lib/extend\").extendFlat,l=o({editType:\"calc\",arrayOk:!0}),c=s({},n.marker.line.width,{dflt:0}),u=s({width:c,editType:\"calc\"},i(\"marker.line\")),f=s({line:u,editType:\"calc\"},i(\"marker\"),{colorbar:a,opacity:{valType:\"number\",arrayOk:!0,dflt:1,min:0,max:1,editType:\"style\"}});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,hovertext:n.hovertext,textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"none\",arrayOk:!0,editType:\"calc\"},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),constraintext:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"both\",\"none\"],dflt:\"both\",editType:\"calc\"},cliponaxis:s({},n.cliponaxis,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},base:{valType:\"any\",dflt:null,arrayOk:!0,editType:\"calc\"},offset:{valType:\"number\",dflt:null,arrayOk:!0,editType:\"calc\"},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0,editType:\"calc\"},marker:f,selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:\"style\"},textfont:n.selected.textfont,editType:\"style\"},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:\"style\"},textfont:n.unselected.textfont,editType:\"style\"},r:n.r,t:n.t,_deprecated:{bardir:{valType:\"enumerated\",editType:\"calc\",values:[\"v\",\"h\"]}}}},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plots/font_attributes\":768,\"../scatter/attributes\":1032}],836:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/calc\"),o=t(\"./arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\");e.exports=function(t,e){var r,l,c=n.getFromId(t,e.xaxis||\"x\"),u=n.getFromId(t,e.yaxis||\"y\");\"h\"===e.orientation?(r=c.makeCalcdata(e,\"x\"),l=u.makeCalcdata(e,\"y\")):(r=u.makeCalcdata(e,\"y\"),l=c.makeCalcdata(e,\"x\"));for(var f=Math.min(l.length,r.length),h=new Array(f),p=0;p<f;p++)h[p]={p:l[p],s:r[p]},e.ids&&(h[p].id=String(e.ids[p]));return i(e,\"marker\")&&a(e,e.marker.color,\"marker\",\"c\"),i(e,\"marker.line\")&&a(e,e.marker.line.color,\"marker.line\",\"c\"),o(h,e),s(h,e),h}},{\"../../components/colorscale/calc\":575,\"../../components/colorscale/has_colorscale\":581,\"../../plots/cartesian/axes\":742,\"../scatter/calc_selection\":1034,\"./arrays_to_calcdata\":834}],837:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\").isArrayOrTypedArray,a=t(\"../../constants/numerical\").BADNUM,o=t(\"../../registry\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"./sieve.js\");function c(t,e,r,o){if(o.length){var c,_,w,k,M=t._fullLayout.barmode,A=\"overlay\"===M,T=\"group\"===M;if(function(t,e,r,a){var o,s;for(o=0;o<a.length;o++){var l,c=a[o],u=c[0].trace,f=u.base,h=\"h\"===u.orientation?u.xcalendar:u.ycalendar;if(i(f)){for(s=0;s<Math.min(f.length,c.length);s++)l=r.d2c(f[s],0,h),n(l)?(c[s].b=+l,c[s].hasB=1):c[s].b=0;for(;s<c.length;s++)c[s].b=0}else{l=r.d2c(f,0,h);var p=n(l);for(l=p?l:0,s=0;s<c.length;s++)c[s].b=l,p&&(c[s].hasB=1)}}}(0,0,r,o),A)u(t,e,r,o);else if(T){for(c=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.offset?_.push(k):c.push(k);_.length&&function(t,e,r,n){var i=t._fullLayout.barnorm,a=new l(n,!1,!i);(function(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,c=s.bargroupgap||0,u=r.positions,f=r.distinctPositions,g=r.minDiff,m=r.traces,v=u.length!==f.length,y=m.length,x=g*(1-l),b=v?x/y:x,_=b*(1-c);for(n=0;n<y;n++){i=m[n],a=i[0];var w=v?((2*n+1-y)*b-_)/2:-_/2;(o=a.t).barwidth=_,o.poffset=w,o.bargroupwidth=x,o.bardelta=g}r.binWidth=m[0][0].t.barwidth/100,h(r),p(t,e,r),d(t,e,r,v)})(t,e,a),i?(v(t,r,a),y(t,r,a)):m(t,r,a)}(t,e,r,_),c.length&&u(t,e,r,c)}else{for(c=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.base?_.push(k):c.push(k);_.length&&function(t,e,r,i){var o=t._fullLayout.barmode,c=\"stack\"===o,u=\"relative\"===o,h=t._fullLayout.barnorm,p=new l(i,u,!(h||c||u));f(t,e,p),function(t,e,r){var i,o,l,c,u=t._fullLayout.barnorm,f=x(e),h=r.traces,p=[null,null];for(i=0;i<h.length;i++)for(o=h[i],l=0;l<o.length;l++)if((c=o[l]).s!==a){var d=r.put(c.p,c.b+c.s),m=d+c.b+c.s;c.b=d,c[f]=m,u||(n(e.c2l(m))&&g(p,m),c.hasB&&n(e.c2l(d))&&g(p,d))}if(!u){var v=s.findExtremes(e,p,{tozero:!0,padded:!0});b(h,e,v)}}(t,r,p);for(var d=0;d<i.length;d++)for(var m=i[d],v=0;v<m.length;v++){var _=m[v];if(_.s!==a){var w=_.b+_.s===p.get(_.p,_.s);w&&(_._outmost=!0)}}h&&y(t,r,p)}(t,e,r,_),c.length&&u(t,e,r,c)}!function(t,e){var r,i,a,o=e._id.charAt(0),s={},l=1/0,c=-1/0;for(r=0;r<t.length;r++)for(a=t[r],i=0;i<a.length;i++){var u=a[i].p;n(u)&&(l=Math.min(l,u),c=Math.max(c,u))}var f,h,p=1e4/(c-l),d=s.round=function(t){return String(Math.round(p*(t-l)))};for(r=0;r<t.length;r++)for((a=t[r])[0].t.extents=s,f=a[0].t.poffset,h=Array.isArray(f),i=0;i<a.length;i++){var g=a[i],m=g[o]-g.w/2;if(n(m)){var v=g[o]+g.w/2,y=d(g.p);s[y]?s[y]=[Math.min(m,s[y][0]),Math.max(v,s[y][1])]:s[y]=[m,v]}g.p0=g.p+(h?f[i]:f),g.p1=g.p0+g.w,g.s0=g.b,g.s1=g.s0+g.s}}(o,e)}}function u(t,e,r,n){for(var i=t._fullLayout.barnorm,a=!i,o=0;o<n.length;o++){var s=n[o],c=new l([s],!1,a);f(t,e,c),i?(v(t,r,c),y(t,r,c)):m(t,r,c)}}function f(t,e,r){var n,i,a=t._fullLayout,o=a.bargap,s=a.bargroupgap||0,l=r.minDiff,c=r.traces,u=l*(1-o),f=u*(1-s),g=-f/2;for(n=0;n<c.length;n++)(i=c[n][0].t).barwidth=f,i.poffset=g,i.bargroupwidth=u,i.bardelta=l;r.binWidth=c[0][0].t.barwidth/100,h(r),p(t,e,r),d(t,e,r)}function h(t){var e,r,a,o,s,l,c=t.traces;for(e=0;e<c.length;e++){o=(a=(r=c[e])[0]).trace,l=a.t;var u,f=o._offset||o.offset,h=l.poffset;if(i(f)){for(u=f.slice(0,r.length),s=0;s<u.length;s++)n(u[s])||(u[s]=h);for(s=u.length;s<r.length;s++)u.push(h);l.poffset=u}else void 0!==f&&(l.poffset=f);var p=o._width||o.width,d=l.barwidth;if(i(p)){var g=p.slice(0,r.length);for(s=0;s<g.length;s++)n(g[s])||(g[s]=d);for(s=g.length;s<r.length;s++)g.push(d);if(l.barwidth=g,void 0===f){for(u=[],s=0;s<r.length;s++)u.push(h+(d-g[s])/2);l.poffset=u}}else void 0!==p&&(l.barwidth=p,void 0===f&&(l.poffset=h+(d-p)/2))}}function p(t,e,r){for(var n=r.traces,i=x(e),a=0;a<n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,c=Array.isArray(l),u=s.barwidth,f=Array.isArray(u),h=0;h<o.length;h++){var p=o[h],d=p.w=f?u[h]:u;p[i]=p.p+(c?l[h]:l)+d/2}}function d(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],l=r.minDiff,c=l/2;s.minDtick(e,l,o,n);for(var u=Math.min.apply(Math,a)-c,f=Math.max.apply(Math,a)+c,h=0;h<i.length;h++){var p=i[h],d=p[0],g=d.trace;if(void 0!==g.width||void 0!==g.offset)for(var m=d.t,v=m.poffset,y=m.barwidth,x=Array.isArray(v),_=Array.isArray(y),w=0;w<p.length;w++){var k=p[w],M=x?v[w]:v,A=_?y[w]:y,T=k.p+M,S=T+A;u=Math.min(u,T),f=Math.max(f,S)}}b(i,e,s.findExtremes(e,[u,f],{padded:!1}))}function g(t,e){n(t[0])?t[0]=Math.min(t[0],e):t[0]=e,n(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function m(t,e,r){for(var i=r.traces,a=x(e),o=[null,null],l=0;l<i.length;l++)for(var c=i[l],u=0;u<c.length;u++){var f=c[u],h=f.b,p=h+f.s;f[a]=p,n(e.c2l(p))&&g(o,p),f.hasB&&n(e.c2l(h))&&g(o,h)}b(i,e,s.findExtremes(e,o,{tozero:!0,padded:!0}))}function v(t,e,r){for(var n=r.traces,i=0;i<n.length;i++)for(var o=n[i],s=0;s<o.length;s++){var l=o[s];l.s!==a&&r.put(l.p,l.b+l.s)}}function y(t,e,r){var i=r.traces,o=x(e),l=\"fraction\"===t._fullLayout.barnorm?1:100,c=l/1e9,u=e.l2c(e.c2l(0)),f=\"stack\"===t._fullLayout.barmode?l:u,h=[u,f],p=!1;function d(t){n(e.c2l(t))&&(t<u-c||t>f+c||!n(u))&&(p=!0,g(h,t))}for(var m=0;m<i.length;m++)for(var v=i[m],y=0;y<v.length;y++){var _=v[y];if(_.s!==a){var w=Math.abs(l/r.get(_.p,_.s));_.b*=w,_.s*=w;var k=_.b,M=k+_.s;_[o]=M,d(M),_.hasB&&d(k)}}var A=s.findExtremes(e,h,{tozero:!0,padded:p});b(i,e,A)}function x(t){return t._id.charAt(0)}function b(t,e,r){for(var n=0;n<t.length;n++)t[n][0].trace._extremes[e._id]=r}e.exports={crossTraceCalc:function(t,e){var r,n=e.xaxis,i=e.yaxis,a=t._fullData,s=t.calcdata,l=[],u=[];for(r=0;r<a.length;r++){var f=a[r];!0===f.visible&&o.traceIs(f,\"bar\")&&f.xaxis===n._id&&f.yaxis===i._id&&(\"h\"===f.orientation?l.push(s[r]):u.push(s[r]))}c(t,n,i,u),c(t,i,n,l)},setGroupPositions:c}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"./sieve.js\":845,\"fast-isnumeric\":213}],838:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../../registry\"),o=t(\"../scatter/xy_defaults\"),s=t(\"../bar/style_defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}var f=n.coerceFont;if(o(t,e,c,u)){u(\"orientation\",e.x&&!e.y?\"h\":\"v\"),u(\"base\"),u(\"offset\"),u(\"width\"),u(\"text\"),u(\"hovertext\");var h=u(\"textposition\"),p=Array.isArray(h)||\"auto\"===h,d=p||\"inside\"===h,g=p||\"outside\"===h;if(d||g){var m=f(u,\"textfont\",c.font);d&&f(u,\"insidetextfont\",m),g&&f(u,\"outsidetextfont\",m),u(\"constraintext\"),u(\"selected.textfont.color\"),u(\"unselected.textfont.color\"),u(\"cliponaxis\")}s(t,e,u,r,c);var v=a.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(t,e,i.defaultLine,{axis:\"y\"}),v(t,e,i.defaultLine,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{\"../../components/color\":567,\"../../lib\":693,\"../../registry\":825,\"../bar/style_defaults\":847,\"../scatter/xy_defaults\":1058,\"./attributes\":835}],839:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../registry\"),a=t(\"../../components/color\"),o=t(\"../scatter/fill_hover_text\");function s(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=e.mlw||t.marker.line.width;return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}e.exports={hoverPoints:function(t,e,r,a){var l,c,u,f,h,p,d,g=t.cd,m=g[0].trace,v=g[0].t,y=\"closest\"===a,x=t.maxHoverDistance,b=t.maxSpikeDistance;function _(t){return t[u]-t.w/2}function w(t){return t[u]+t.w/2}var k=y?_:function(t){return Math.min(_(t),t.p-v.bardelta/2)},M=y?w:function(t){return Math.max(w(t),t.p+v.bardelta/2)};function A(t,e){return n.inbox(t-l,e-l,x+Math.min(1,Math.abs(e-t)/d)-1)}function T(t){return A(k(t),M(t))}function S(t){return n.inbox(t.b-c,t[f]-c,x+(t[f]-c)/(t[f]-t.b)-1)}\"h\"===m.orientation?(l=r,c=e,u=\"y\",f=\"x\",h=S,p=T):(l=e,c=r,u=\"x\",f=\"y\",p=S,h=T);var E=t[u+\"a\"],C=t[f+\"a\"];d=Math.abs(E.r2c(E.range[1])-E.r2c(E.range[0]));var L=n.getDistanceFunction(a,h,p,function(t){return(h(t)+p(t))/2});if(n.getClosest(g,L,t),!1!==t.index){y||(k=function(t){return Math.min(_(t),t.p-v.bargroupwidth/2)},M=function(t){return Math.max(w(t),t.p+v.bargroupwidth/2)});var z=g[t.index],P=m.base?z.b+z.s:z.s;t[f+\"0\"]=t[f+\"1\"]=C.c2p(z[f],!0),t[f+\"LabelVal\"]=P;var O=v.extents[v.extents.round(z.p)];return t[u+\"0\"]=E.c2p(y?k(z):O[0],!0),t[u+\"1\"]=E.c2p(y?M(z):O[1],!0),t[u+\"LabelVal\"]=z.p,t.spikeDistance=(S(z)+function(t){return A(_(t),w(t))}(z))/2+b-x,t[u+\"Spike\"]=E.c2p(z.p,!0),t.color=s(m,z),o(z,m,t),i.getComponentMethod(\"errorbars\",\"hoverInfo\")(z,m,t),[t]}},getTraceColor:s}},{\"../../components/color\":567,\"../../components/fx\":609,\"../../registry\":825,\"../scatter/fill_hover_text\":1040}],840:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.layoutAttributes=t(\"./layout_attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"./layout_defaults\"),n.calc=t(\"./calc\"),n.crossTraceCalc=t(\"./cross_trace_calc\").crossTraceCalc,n.colorbar=t(\"../scatter/marker_colorbar\"),n.arraysToCalcdata=t(\"./arrays_to_calcdata\"),n.plot=t(\"./plot\"),n.style=t(\"./style\").style,n.styleOnSelect=t(\"./style\").styleOnSelect,n.hoverPoints=t(\"./hover\").hoverPoints,n.selectPoints=t(\"./select\"),n.moduleType=\"trace\",n.name=\"bar\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"../scatter/marker_colorbar\":1050,\"./arrays_to_calcdata\":834,\"./attributes\":835,\"./calc\":836,\"./cross_trace_calc\":837,\"./defaults\":838,\"./hover\":839,\"./layout_attributes\":841,\"./layout_defaults\":842,\"./plot\":843,\"./select\":844,\"./style\":846}],841:[function(t,e,r){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\",\"relative\"],dflt:\"group\",editType:\"calc\"},barnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},bargap:{valType:\"number\",min:0,max:1,editType:\"calc\"},bargroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},{}],842:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\"),o=t(\"./layout_attributes\");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,f={},h=0;h<r.length;h++){var p=r[h];if(n.traceIs(p,\"bar\")){if(l=!0,\"overlay\"!==t.barmode&&\"stack\"!==t.barmode){var d=p.xaxis+p.yaxis;f[d]&&(u=!0),f[d]=!0}if(p.visible&&\"histogram\"===p.type)\"category\"!==i.getFromId({_fullLayout:e},p[\"v\"===p.orientation?\"xaxis\":\"yaxis\"]).type&&(c=!0)}}l&&(\"overlay\"!==s(\"barmode\")&&s(\"barnorm\"),s(\"bargap\",c&&!u?0:.2),s(\"bargroupgap\"))}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"./layout_attributes\":841}],843:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"tinycolor2\"),o=t(\"../../lib\"),s=t(\"../../lib/svg_text_utils\"),l=t(\"../../components/color\"),c=t(\"../../components/drawing\"),u=t(\"../../registry\"),f=t(\"./attributes\"),h=f.text,p=f.textposition,d=f.textfont,g=f.insidetextfont,m=f.outsidetextfont,v=3;function y(t,e,r,n,i,a){var o;return i<1?o=\"scale(\"+i+\") \":(i=1,o=\"\"),\"translate(\"+(r-i*t)+\" \"+(n-i*e)+\")\"+o+(a?\"rotate(\"+a+\" \"+t+\" \"+e+\") \":\"\")}function x(t,e,r,n){var o=b((e=e||{}).family,r),s=b(e.size,r),l=b(e.color,r);return{family:_(t.family,o,n.family),size:function(t,e,r){if(i(e)){e=+e;var n=t.min,a=t.max,o=void 0!==n&&e<n||void 0!==a&&e>a;if(!o)return e}return void 0!==r?r:t.dflt}(t.size,s,n.size),color:function(t,e,r){return a(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,n.color)}}function b(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r}function _(t,e,r){if(\"string\"==typeof e){if(e||!t.noBlank)return e}else if(\"number\"==typeof e&&!t.strict)return String(e);return void 0!==r?r:t.dflt}e.exports=function(t,e,r,a){var f=e.xaxis,w=e.yaxis,k=t._fullLayout,M=o.makeTraceGroups(a,r,\"trace bars\").each(function(r){var a=n.select(this),u=r[0],M=u.trace;e.isRangePlot||(u.node3=a);var A=o.ensureSingle(a,\"g\",\"points\").selectAll(\"g.point\").data(o.identity);A.enter().append(\"g\").classed(\"point\",!0),A.exit().remove(),A.each(function(a,u){var A,T,S,E,C=n.select(this);if(\"h\"===M.orientation?(S=w.c2p(a.p0,!0),E=w.c2p(a.p1,!0),A=f.c2p(a.s0,!0),T=f.c2p(a.s1,!0),a.ct=[T,(S+E)/2]):(A=f.c2p(a.p0,!0),T=f.c2p(a.p1,!0),S=w.c2p(a.s0,!0),E=w.c2p(a.s1,!0),a.ct=[(A+T)/2,E]),i(A)&&i(T)&&i(S)&&i(E)&&A!==T&&S!==E){var L=(a.mlw+1||M.marker.line.width+1||(a.trace?a.trace.marker.line.width:0)+1)-1,z=n.round(L/2%1,2);if(!t._context.staticPlot){var P=l.opacity(a.mc||M.marker.color)<1||L>.01?O:function(t,e){return Math.abs(t-e)>=2?O(t):t>e?Math.ceil(t):Math.floor(t)};A=P(A,T),T=P(T,A),S=P(S,E),E=P(E,S)}o.ensureSingle(C,\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"d\",\"M\"+A+\",\"+S+\"V\"+E+\"H\"+T+\"V\"+S+\"Z\").call(c.setClipUrl,e.layerClipId),function(t,e,r,n,i,a,l,u){var f;function w(e,r,n){var i=o.ensureSingle(e,\"text\").text(r).attr({class:\"bartext bartext-\"+f,transform:\"\",\"text-anchor\":\"middle\",\"data-notex\":1}).call(c.font,n).call(s.convertToTspans,t);return i}var k=r[0].trace,M=k.orientation,A=function(t,e){var r=b(t.text,e);return _(h,r)}(k,n);if(f=function(t,e){var r=b(t.textposition,e);return function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(p,r)}(k,n),!A||\"none\"===f)return void e.select(\"text\").remove();var T,S,E,C,L,z,P=function(t,e,r){return x(d,t.textfont,e,r)}(k,n,t._fullLayout.font),O=function(t,e,r){return x(g,t.insidetextfont,e,r)}(k,n,P),I=function(t,e,r){return x(m,t.outsidetextfont,e,r)}(k,n,P),D=t._fullLayout.barmode,R=\"relative\"===D,B=\"stack\"===D||R,F=r[n],N=!B||F._outmost,j=Math.abs(a-i)-2*v,V=Math.abs(u-l)-2*v;\"outside\"===f&&(N||(f=\"inside\"));if(\"auto\"===f)if(N){f=\"inside\",T=w(e,A,O),S=c.bBox(T.node()),E=S.width,C=S.height;var U=E>0&&C>0,q=E<=j&&C<=V,H=E<=V&&C<=j,G=\"h\"===M?j>=E*(V/C):V>=C*(j/E);U&&(q||H||G)?f=\"inside\":(f=\"outside\",T.remove(),T=null)}else f=\"inside\";if(!T&&(T=w(e,A,\"outside\"===f?I:O),S=c.bBox(T.node()),E=S.width,C=S.height,E<=0||C<=0))return void T.remove();\"outside\"===f?(z=\"both\"===k.constraintext||\"outside\"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l=\"h\"===a?Math.abs(n-r):Math.abs(e-t);l>2*v&&(s=v);var c=1;o&&(c=\"h\"===a?Math.min(1,l/i.height):Math.min(1,l/i.width));var u,f,h,p,d=(i.left+i.right)/2,g=(i.top+i.bottom)/2;u=c*i.width,f=c*i.height,\"h\"===a?e<t?(h=e-s-u/2,p=(r+n)/2):(h=e+s+u/2,p=(r+n)/2):n>r?(h=(t+e)/2,p=n+s+f/2):(h=(t+e)/2,p=n-s-f/2);return y(d,g,h,p,c,!1)}(i,a,l,u,S,M,z)):(z=\"both\"===k.constraintext||\"inside\"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l,c,u,f,h,p,d=i.width,g=i.height,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=Math.abs(e-t),_=Math.abs(n-r);b>2*v&&_>2*v?(b-=2*(f=v),_-=2*f):f=0;d<=b&&g<=_?(h=!1,p=1):d<=_&&g<=b?(h=!0,p=1):d<g==b<_?(h=!1,p=o?Math.min(b/d,_/g):1):(h=!0,p=o?Math.min(_/d,b/g):1);h&&(h=90);h?(s=p*g,l=p*d):(s=p*d,l=p*g);\"h\"===a?e<t?(c=e+f+s/2,u=(r+n)/2):(c=e-f-s/2,u=(r+n)/2):n>r?(c=(t+e)/2,u=n-f-l/2):(c=(t+e)/2,u=n+f+l/2);return y(m,x,c,u,p,h)}(i,a,l,u,S,M,z));T.attr(\"transform\",L)}(t,C,r,u,A,T,S,E),e.layerClipId&&c.hideOutsideRangePoint(a,C.select(\"text\"),f,w,M.xcalendar,M.ycalendar)}else C.remove();function O(t){return 0===k.bargap&&0===k.bargroupgap?n.round(Math.round(t)-z,2):t}});var T=!1===u.trace.cliponaxis;c.setClipUrl(a,T?null:e.layerClipId)});u.getComponentMethod(\"errorbars\",\"plot\")(M,e)}},{\"../../components/color\":567,\"../../components/drawing\":592,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../registry\":825,\"./attributes\":835,d3:147,\"fast-isnumeric\":213,tinycolor2:511}],844:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var s=n[r];e.contains(s.ct,!1,r,t)?(o.push({pointNumber:r,x:i.c2d(s.x),y:a.c2d(s.y)}),s.selected=1):s.selected=0}return o}},{}],845:[function(t,e,r){\"use strict\";e.exports=a;var n=t(\"../../lib\"),i=t(\"../../constants/numerical\").BADNUM;function a(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var a=1/0,o=[],s=0;s<t.length;s++){for(var l=t[s],c=0;c<l.length;c++){var u=l[c];u.p!==i&&o.push(u.p)}l[0]&&l[0].width1&&(a=Math.min(l[0].width1,a))}this.positions=o;var f=n.distinctVals(o);this.distinctPositions=f.vals,1===f.vals.length&&a!==1/0?this.minDiff=a:this.minDiff=Math.min(f.minDiff,a),this.binWidth=this.minDiff,this.bins={}}a.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},a.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},a.prototype.getLabel=function(t,e){return(e<0&&this.separateNegativeValues?\"v\":\"^\")+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))}},{\"../../constants/numerical\":670,\"../../lib\":693}],846:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../../registry\");function o(t,e,r){var a=t.selectAll(\"path\"),o=t.selectAll(\"text\");i.pointStyle(a,e,r),o.each(function(t){var r,a=n.select(this);function o(e){var n=r[e];return Array.isArray(n)?n[t.i]:n}a.classed(\"bartext-inside\")?r=e.insidetextfont:a.classed(\"bartext-outside\")&&(r=e.outsidetextfont),r||(r=e.textfont),i.font(a,o(\"family\"),o(\"size\"),o(\"color\"))})}e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\"g.trace.bars\"),i=r.size(),s=t._fullLayout;r.style(\"opacity\",function(t){return t[0].trace.opacity}).each(function(t){(\"stack\"===s.barmode&&i>1||0===s.bargap&&0===s.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr(\"shape-rendering\",\"crispEdges\")}),r.selectAll(\"g.points\").each(function(e){o(n.select(this),e[0].trace,t)}),a.getComponentMethod(\"errorbars\",\"style\")(r)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll(\"path\"),n),i.selectedTextStyle(r.selectAll(\"text\"),n)):o(r,n,t)}}},{\"../../components/drawing\":592,\"../../registry\":825,d3:147}],847:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,o,s){r(\"marker.color\",o),i(t,\"marker\")&&a(t,e,s,r,{prefix:\"marker.\",cLetter:\"c\"}),r(\"marker.line.color\",n.defaultLine),i(t,\"marker.line\")&&a(t,e,s,r,{prefix:\"marker.line.\",cLetter:\"c\"}),r(\"marker.line.width\"),r(\"marker.opacity\"),r(\"selected.marker.color\"),r(\"unselected.marker.color\")}},{\"../../components/color\":567,\"../../components/colorscale/defaults\":577,\"../../components/colorscale/has_colorscale\":581}],848:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat,i=t(\"../scatterpolar/attributes\"),a=t(\"../bar/attributes\");e.exports={r:i.r,theta:i.theta,r0:i.r0,dr:i.dr,theta0:i.theta0,dtheta:i.dtheta,thetaunit:i.thetaunit,base:n({},a.base,{}),offset:n({},a.offset,{}),width:n({},a.width,{}),text:n({},a.text,{}),marker:a.marker,hoverinfo:i.hoverinfo,selected:a.selected,unselected:a.unselected}},{\"../../lib/extend\":682,\"../bar/attributes\":835,\"../scatterpolar/attributes\":1094}],849:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/has_colorscale\"),i=t(\"../../components/colorscale/calc\"),a=t(\"../bar/arrays_to_calcdata\"),o=t(\"../bar/cross_trace_calc\").setGroupPositions,s=t(\"../scatter/calc_selection\"),l=t(\"../../registry\").traceIs,c=t(\"../../lib\").extendFlat;e.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,c=r[o].angularaxis,u=l.makeCalcdata(e,\"r\"),f=c.makeCalcdata(e,\"theta\"),h=e._length,p=new Array(h),d=u,g=f,m=0;m<h;m++)p[m]={p:g[m],s:d[m]};function v(t){var r=e[t];void 0!==r&&(e[\"_\"+t]=Array.isArray(r)?c.makeCalcdata(e,t):c.d2c(r,e.thetaunit))}return\"linear\"===c.type&&(v(\"width\"),v(\"offset\")),n(e,\"marker\")&&i(e,e.marker.color,\"marker\",\"c\"),n(e,\"marker.line\")&&i(e,e.marker.line.color,\"marker.line\",\"c\"),a(p,e),s(p,e),p},crossTraceCalc:function(t,e,r){for(var n=t.calcdata,i=[],a=0;a<n.length;a++){var s=n[a],u=s[0].trace;!0===u.visible&&l(u,\"bar\")&&u.subplot===r&&i.push(s)}var f=c({},e.radialaxis,{_id:\"x\"}),h=e.angularaxis;o({_fullLayout:e},h,f,i)}}},{\"../../components/colorscale/calc\":575,\"../../components/colorscale/has_colorscale\":581,\"../../lib\":693,\"../../registry\":825,\"../bar/arrays_to_calcdata\":834,\"../bar/cross_trace_calc\":837,\"../scatter/calc_selection\":1034}],850:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatterpolar/defaults\").handleRThetaDefaults,a=t(\"../bar/style_defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,s,l)?(l(\"thetaunit\"),l(\"base\"),l(\"offset\"),l(\"width\"),l(\"text\"),a(t,e,l,r,s),n.coerceSelectionMarkerOpacity(e,l)):e.visible=!1}},{\"../../lib\":693,\"../bar/style_defaults\":847,\"../scatterpolar/defaults\":1096,\"./attributes\":848}],851:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../lib\"),a=t(\"../bar/hover\").getTraceColor,o=t(\"../scatter/fill_hover_text\"),s=t(\"../scatterpolar/hover\").makeHoverPointText,l=t(\"../../plots/polar/helpers\").isPtInsidePolygon;e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.subplot,h=f.radialAxis,p=f.angularAxis,d=f.vangles,g=d?l:i.isPtInsideSector,m=t.maxHoverDistance,v=p._period||2*Math.PI,y=Math.abs(h.g2p(Math.sqrt(e*e+r*r))),x=Math.atan2(r,e);h.range[0]>h.range[1]&&(x+=Math.PI);if(n.getClosest(c,function(t){return g(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?m+Math.min(1,Math.abs(t.thetag1-t.thetag0)/v)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0},t),!1!==t.index){var b=c[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,u,t),s(_,u,f,t),t.color=a(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign=\"left\"),[t]}}},{\"../../components/fx\":609,\"../../lib\":693,\"../../plots/polar/helpers\":807,\"../bar/hover\":839,\"../scatter/fill_hover_text\":1040,\"../scatterpolar/hover\":1097}],852:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:t(\"../../plots/polar\"),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),colorbar:t(\"../scatter/marker_colorbar\"),style:t(\"../bar/style\").style,hoverPoints:t(\"./hover\"),selectPoints:t(\"../bar/select\"),meta:{}}},{\"../../plots/polar\":808,\"../bar/select\":844,\"../bar/style\":846,\"../scatter/marker_colorbar\":1050,\"./attributes\":848,\"./calc\":849,\"./defaults\":850,\"./hover\":851,\"./layout_attributes\":853,\"./layout_defaults\":854,\"./plot\":855}],853:[function(t,e,r){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}},{}],854:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l<r.length;l++){var c=r[l];\"barpolar\"===c.type&&!0===c.visible&&(o[a=c.subplot]||(s(\"barmode\"),s(\"bargap\"),o[a]=1))}}},{\"../../lib\":693,\"./layout_attributes\":853}],855:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../components/drawing\"),s=t(\"../../plots/polar/helpers\");e.exports=function(t,e,r){var l=e.xaxis,c=e.yaxis,u=e.radialAxis,f=e.angularAxis,h=function(t){var e=t.cxx,r=t.cyy;if(t.vangles)return function(n,i,o,l){var c,u;a.angleDelta(o,l)>0?(c=o,u=l):(c=l,u=o);var f=s.findEnclosingVertexAngles(c,t.vangles)[0],h=s.findEnclosingVertexAngles(u,t.vangles)[1],p=[f,(c+u)/2,h];return s.pathPolygonAnnulus(n,i,c,u,p,e,r)};return function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),p=e.layers.frontplot.select(\"g.barlayer\");a.makeTraceGroups(p,r,\"trace bars\").each(function(t){var r=t[0].node3=n.select(this),s=a.ensureSingle(r,\"g\",\"points\").selectAll(\"g.point\").data(a.identity);s.enter().append(\"g\").style(\"vector-effect\",\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),s.exit().remove(),s.each(function(t){var e,r=n.select(this),o=t.rp0=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=f.c2g(t.p0),d=t.thetag1=f.c2g(t.p1);if(i(o)&&i(s)&&i(p)&&i(d)&&o!==s&&p!==d){var g=u.c2g(t.s1),m=(p+d)/2;t.ct=[l.c2p(g*Math.cos(m)),c.c2p(g*Math.sin(m))],e=h(o,s,p,d)}else e=\"M0,0Z\";a.ensureSingle(r,\"path\").attr(\"d\",e)}),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null)})}},{\"../../components/drawing\":592,\"../../lib\":693,\"../../plots/polar/helpers\":807,d3:147,\"fast-isnumeric\":213}],856:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=n.marker,s=o.line;e.exports={y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},name:{valType:\"string\",editType:\"calc+clearAxisTypes\"},text:a({},n.text,{}),whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},notched:{valType:\"boolean\",editType:\"calc\"},notchwidth:{valType:\"number\",min:0,max:.5,dflt:.25,editType:\"calc\"},boxpoints:{valType:\"enumerated\",values:[\"all\",\"outliers\",\"suspectedoutliers\",!1],dflt:\"outliers\",editType:\"calc\"},boxmean:{valType:\"enumerated\",values:[!0,\"sd\",!1],dflt:!1,editType:\"calc\"},jitter:{valType:\"number\",min:0,max:1,editType:\"calc\"},pointpos:{valType:\"number\",min:-2,max:2,editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},marker:{outliercolor:{valType:\"color\",dflt:\"rgba(0, 0, 0, 0)\",editType:\"style\"},symbol:a({},o.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),size:a({},o.size,{arrayOk:!1,editType:\"calc\"}),color:a({},o.color,{arrayOk:!1,editType:\"style\"}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine,editType:\"style\"}),width:a({},s.width,{arrayOk:!1,dflt:0,editType:\"style\"}),outliercolor:{valType:\"color\",editType:\"style\"},outlierwidth:{valType:\"number\",min:0,dflt:1,editType:\"style\"},editType:\"style\"},editType:\"plot\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:n.fillcolor,selected:{marker:n.selected.marker,editType:\"style\"},unselected:{marker:n.unselected.marker,editType:\"style\"},hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"}}},{\"../../components/color/attributes\":566,\"../../lib/extend\":682,\"../scatter/attributes\":1032}],857:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=i._,o=t(\"../../plots/cartesian/axes\");function s(t,e,r){var n={text:\"tx\"};for(var i in n)Array.isArray(e[i])&&(t[n[i]]=e[i][r])}function l(t,e){return t.v-e.v}function c(t){return t.v}e.exports=function(t,e){var r,u,f,h,p,d=t._fullLayout,g=o.getFromId(t,e.xaxis||\"x\"),m=o.getFromId(t,e.yaxis||\"y\"),v=[],y=\"violin\"===e.type?\"_numViolins\":\"_numBoxes\";\"h\"===e.orientation?(u=g,f=\"x\",h=m,p=\"y\"):(u=m,f=\"y\",h=g,p=\"x\");var x=u.makeCalcdata(e,f),b=function(t,e,r,a,o){if(e in t)return r.makeCalcdata(t,e);var s;s=e+\"0\"in t?t[e+\"0\"]:\"name\"in t&&(\"category\"===r.type||n(t.name)&&-1!==[\"linear\",\"log\"].indexOf(r.type)||i.isDateTime(t.name)&&\"date\"===r.type)?t.name:o;var l=r.d2c(s,0,t[e+\"calendar\"]);return a.map(function(){return l})}(e,p,h,x,d[y]),_=i.distinctVals(b),w=_.vals,k=_.minDiff/2,M=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i<r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(w,k),A=w.length,T=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(A);for(r=0;r<e._length;r++){var S=x[r];if(n(S)){var E=i.findBin(b[r],M);if(E>=0&&E<A){var C={v:S,i:r};s(C,e,r),T[E].push(C)}}}for(r=0;r<A;r++)if(T[r].length>0){var L=T[r].sort(l),z=L.map(c),P=z.length,O={pos:w[r],pts:L};O.min=z[0],O.max=z[P-1],O.mean=i.mean(z,P),O.sd=i.stdev(z,P,O.mean),O.q1=i.interp(z,.25),O.med=i.interp(z,.5),O.q3=i.interp(z,.75),O.lf=Math.min(O.q1,z[Math.min(i.findBin(2.5*O.q1-1.5*O.q3,z,!0)+1,P-1)]),O.uf=Math.max(O.q3,z[Math.max(i.findBin(2.5*O.q3-1.5*O.q1,z),0)]),O.lo=4*O.q1-3*O.q3,O.uo=4*O.q3-3*O.q1;var I=1.57*(O.q3-O.q1)/Math.sqrt(P);O.ln=O.med-I,O.un=O.med+I,v.push(O)}!function(t,e){if(i.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],a={},o=0;o<n.length;o++)a[n[o].i]=o;i.tagSelected(n,e,a)}}(v,e);var D=o.findExtremes(u,x,{padded:!0});return e._extremes[u._id]=D,v.length>0?(v[0].t={num:d[y],dPos:k,posLetter:p,valLetter:f,labels:{med:a(t,\"median:\"),min:a(t,\"min:\"),q1:a(t,\"q1:\"),q3:a(t,\"q3:\"),max:a(t,\"max:\"),mean:\"sd\"===e.boxmean?a(t,\"mean \\xb1 \\u03c3:\"):a(t,\"mean:\"),lf:a(t,\"lower fence:\"),uf:a(t,\"upper fence:\")}},d[y]++,v):[{t:{empty:!0}}]}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"fast-isnumeric\":213}],858:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\"),a=[\"v\",\"h\"];function o(t,e,r,a,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=[],p=\"violin\"===t?\"_numViolins\":\"_numBoxes\";for(s=0;s<r.length;s++)for(c=u[r[s]],l=0;l<c.length;l++)h.push(c[l].pos);if(h.length){var d=i.distinctVals(h),g=d.minDiff/2;h.length===d.vals.length&&(f[p]=1),n.minDtick(a,d.minDiff,d.vals[0],!0);var m=(1-f[t+\"gap\"])*(1-f[t+\"groupgap\"])*g/f[p],v=n.findExtremes(a,d.vals,{vpadminus:g+o[0]*m,vpadplus:g+o[1]*m});for(s=0;s<r.length;s++)(c=u[r[s]])[0].t.dPos=g,c[0].trace._extremes[a._id]=v}}e.exports={crossTraceCalc:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,s=0;s<a.length;s++){for(var l=a[s],c=\"h\"===l?i:n,u=[],f=0,h=0,p=0;p<r.length;p++){var d=r[p],g=d[0].t,m=d[0].trace;!0!==m.visible||\"box\"!==m.type&&\"candlestick\"!==m.type||g.empty||(m.orientation||\"v\")!==l||m.xaxis!==n._id||m.yaxis!==i._id||(u.push(p),m.boxpoints&&(f=Math.max(f,m.jitter-m.pointpos-1),h=Math.max(h,m.jitter+m.pointpos-1)))}o(\"box\",t,u,c,[f,h])}},setPositionOffset:o}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742}],859:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"../../components/color\"),o=t(\"./attributes\");function s(t,e,r,n){var a,o,s=r(\"y\"),l=r(\"x\"),c=l&&l.length;if(s&&s.length)a=\"v\",c?o=Math.min(l.length,s.length):(r(\"x0\"),o=s.length);else{if(!c)return void(e.visible=!1);a=\"h\",r(\"y0\"),o=l.length}e._length=o,i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],n),r(\"orientation\",a)}function l(t,e,r,i){var a=i.prefix,s=n.coerce2(t,e,o,\"marker.outliercolor\"),l=r(\"marker.line.outliercolor\"),c=r(a+\"points\",s||l?\"suspectedoutliers\":void 0);c?(r(\"jitter\",\"all\"===c?.3:0),r(\"pointpos\",\"all\"===c?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.color\",e.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),\"suspectedoutliers\"===c&&(r(\"marker.line.outliercolor\",e.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\")):delete e.marker,r(\"hoveron\"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,i){function c(r,i){return n.coerce(t,e,o,r,i)}s(t,e,c,i),!1!==e.visible&&(c(\"line.color\",(t.marker||{}).color||r),c(\"line.width\"),c(\"fillcolor\",a.addOpacity(e.line.color,.5)),c(\"whiskerwidth\"),c(\"boxmean\"),c(\"notched\",void 0!==t.notchwidth)&&c(\"notchwidth\"),l(t,e,c,{prefix:\"box\"}))},handleSampleDefaults:s,handlePointsDefaults:l}},{\"../../components/color\":567,\"../../lib\":693,\"../../registry\":825,\"./attributes\":856}],860:[function(t,e,r){\"use strict\";e.exports=function(t,e){return e.hoverOnBox&&(t.hoverOnBox=e.hoverOnBox),\"xVal\"in e&&(t.x=e.xVal),\"yVal\"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],861:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\"),a=t(\"../../components/fx\"),o=t(\"../../components/color\"),s=t(\"../scatter/fill_hover_text\");function l(t,e,r,s){var l,c,u,f,h,p,d,g,m,v,y,x,b=t.cd,_=t.xa,w=t.ya,k=b[0].trace,M=b[0].t,A=\"violin\"===k.type,T=[],S=M.bdPos,E=M.wHover,C=function(t){return t.pos+M.bPos-p};A&&\"both\"!==k.side?(\"positive\"===k.side&&(m=function(t){var e=C(t);return a.inbox(e,e+E,v)}),\"negative\"===k.side&&(m=function(t){var e=C(t);return a.inbox(e-E,e,v)})):m=function(t){var e=C(t);return a.inbox(e-E,e+E,v)},x=A?function(t){return a.inbox(t.span[0]-h,t.span[1]-h,v)}:function(t){return a.inbox(t.min-h,t.max-h,v)},\"h\"===k.orientation?(h=e,p=r,d=x,g=m,l=\"y\",u=w,c=\"x\",f=_):(h=r,p=e,d=m,g=x,l=\"x\",u=_,c=\"y\",f=w);var L=Math.min(1,S/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function z(t){return(d(t)+g(t))/2}v=t.maxHoverDistance-L,y=t.maxSpikeDistance-L;var P=a.getDistanceFunction(s,d,g,z);if(a.getClosest(b,P,t),!1===t.index)return[];var O=b[t.index],I=k.line.color,D=(k.marker||{}).color;o.opacity(I)&&k.line.width?t.color=I:o.opacity(D)&&k.boxpoints?t.color=D:t.color=k.fillcolor,t[l+\"0\"]=u.c2p(O.pos+M.bPos-S,!0),t[l+\"1\"]=u.c2p(O.pos+M.bPos+S,!0),t[l+\"LabelVal\"]=O.pos;var R=l+\"Spike\";t.spikeDistance=z(O)*y/v,t[R]=u.c2p(O.pos,!0);var B={},F=[\"med\",\"min\",\"q1\",\"q3\",\"max\"];(k.boxmean||(k.meanline||{}).visible)&&F.push(\"mean\"),(k.boxpoints||k.points)&&F.push(\"lf\",\"uf\");for(var N=0;N<F.length;N++){var j=F[N];if(j in O&&!(O[j]in B)){B[O[j]]=!0;var V=O[j],U=f.c2p(V,!0),q=i.extendFlat({},t);q[c+\"0\"]=q[c+\"1\"]=U,q[c+\"LabelVal\"]=V,q[c+\"Label\"]=(M.labels?M.labels[j]+\" \":\"\")+n.hoverLabelText(f,V),q.hoverOnBox=!0,\"mean\"===j&&\"sd\"in O&&\"sd\"===k.boxmean&&(q[c+\"err\"]=O.sd),t.name=\"\",t.spikeDistance=void 0,t[R]=void 0,T.push(q)}}return T}function c(t,e,r){for(var n,o,l,c=t.cd,u=t.xa,f=t.ya,h=c[0].trace,p=u.c2p(e),d=f.c2p(r),g=a.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-p)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.y)-d)-e,1-3/e)}),m=!1,v=0;v<c.length;v++){o=c[v];for(var y=0;y<(o.pts||[]).length;y++){var x=g(l=o.pts[y]);x<=t.distance&&(t.distance=x,m=[v,y])}}if(!m)return!1;l=(o=c[m[0]]).pts[m[1]];var b=u.c2p(l.x,!0),_=f.c2p(l.y,!0),w=l.mrc||1;n=i.extendFlat({},t,{index:l.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,xLabelVal:l.x,y0:_-w,y1:_+w,yLabelVal:l.y,spikeDistance:t.distance});var k=\"h\"===h.orientation?\"y\":\"x\",M=\"h\"===h.orientation?f:u;return n[k+\"Spike\"]=M.c2p(o.pos,!0),s(l,h,n),n}e.exports={hoverPoints:function(t,e,r,n){var i,a=t.cd[0].trace.hoveron,o=[];return-1!==a.indexOf(\"boxes\")&&(o=o.concat(l(t,e,r,n))),-1!==a.indexOf(\"points\")&&(i=c(t,e,r)),\"closest\"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:l,hoverOnPoints:c}},{\"../../components/color\":567,\"../../components/fx\":609,\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../scatter/fill_hover_text\":1040}],862:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.layoutAttributes=t(\"./layout_attributes\"),n.supplyDefaults=t(\"./defaults\").supplyDefaults,n.supplyLayoutDefaults=t(\"./layout_defaults\").supplyLayoutDefaults,n.calc=t(\"./calc\"),n.crossTraceCalc=t(\"./cross_trace_calc\").crossTraceCalc,n.plot=t(\"./plot\").plot,n.style=t(\"./style\").style,n.styleOnSelect=t(\"./style\").styleOnSelect,n.hoverPoints=t(\"./hover\").hoverPoints,n.eventData=t(\"./event_data\"),n.selectPoints=t(\"./select\"),n.moduleType=\"trace\",n.name=\"box\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"boxLayout\",\"zoomScale\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"./attributes\":856,\"./calc\":857,\"./cross_trace_calc\":858,\"./defaults\":859,\"./event_data\":860,\"./hover\":861,\"./layout_attributes\":863,\"./layout_defaults\":864,\"./plot\":865,\"./select\":866,\"./style\":867}],863:[function(t,e,r){\"use strict\";e.exports={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"}}},{}],864:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"./layout_attributes\");function o(t,e,r,i,a){for(var o,s=a+\"Layout\",l=0;l<r.length;l++)if(n.traceIs(r[l],s)){o=!0;break}o&&(i(a+\"mode\"),i(a+\"gap\"),i(a+\"groupgap\"))}e.exports={supplyLayoutDefaults:function(t,e,r){o(0,0,r,function(r,n){return i.coerce(t,e,a,r,n)},\"box\")},_supply:o}},{\"../../lib\":693,\"../../registry\":825,\"./layout_attributes\":863}],865:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=5,s=.01;function l(t,e,r,a){var o,s,l=e.pos,c=e.val,u=a.bPos,f=a.wdPos||0,h=a.bPosPxOffset||0,p=r.whiskerwidth||0,d=r.notched||!1,g=d?1-2*r.notchwidth:1;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var m=t.selectAll(\"path.box\").data(\"violin\"!==r.type||r.box.visible?i.identity:[]);m.enter().append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"class\",\"box\"),m.exit().remove(),m.each(function(t){var e=t.pos,a=l.c2p(e+u,!0)+h,m=l.c2p(e+u-o,!0)+h,v=l.c2p(e+u+s,!0)+h,y=l.c2p(e+u-f,!0)+h,x=l.c2p(e+u+f,!0)+h,b=l.c2p(e+u-o*g,!0)+h,_=l.c2p(e+u+s*g,!0)+h,w=c.c2p(t.q1,!0),k=c.c2p(t.q3,!0),M=i.constrain(c.c2p(t.med,!0),Math.min(w,k)+1,Math.max(w,k)-1),A=void 0===t.lf||!1===r.boxpoints,T=c.c2p(A?t.min:t.lf,!0),S=c.c2p(A?t.max:t.uf,!0),E=c.c2p(t.ln,!0),C=c.c2p(t.un,!0);\"h\"===r.orientation?n.select(this).attr(\"d\",\"M\"+M+\",\"+b+\"V\"+_+\"M\"+w+\",\"+m+\"V\"+v+(d?\"H\"+E+\"L\"+M+\",\"+_+\"L\"+C+\",\"+v:\"\")+\"H\"+k+\"V\"+m+(d?\"H\"+C+\"L\"+M+\",\"+b+\"L\"+E+\",\"+m:\"\")+\"ZM\"+w+\",\"+a+\"H\"+T+\"M\"+k+\",\"+a+\"H\"+S+(0===p?\"\":\"M\"+T+\",\"+y+\"V\"+x+\"M\"+S+\",\"+y+\"V\"+x)):n.select(this).attr(\"d\",\"M\"+b+\",\"+M+\"H\"+_+\"M\"+m+\",\"+w+\"H\"+v+(d?\"V\"+E+\"L\"+_+\",\"+M+\"L\"+v+\",\"+C:\"\")+\"V\"+k+\"H\"+m+(d?\"V\"+C+\"L\"+b+\",\"+M+\"L\"+m+\",\"+E:\"\")+\"ZM\"+a+\",\"+w+\"V\"+T+\"M\"+a+\",\"+k+\"V\"+S+(0===p?\"\":\"M\"+y+\",\"+T+\"H\"+x+\"M\"+y+\",\"+S+\"H\"+x))})}function c(t,e,r,n){var l=e.x,c=e.y,u=n.bdPos,f=n.bPos,h=r.boxpoints||r.points;i.seedPseudoRandom();var p=t.selectAll(\"g.points\").data(h?function(t){return t.forEach(function(t){t.t=n,t.trace=r}),t}:[]);p.enter().append(\"g\").attr(\"class\",\"points\"),p.exit().remove();var d=p.selectAll(\"path\").data(function(t){var e,n,a=\"all\"===h?t.pts:t.pts.filter(function(e){return e.v<t.lf||e.v>t.uf}),l=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*l,p=l*s,d=[],g=0;if(r.jitter){if(0===l)for(g=1,d=new Array(a.length),e=0;e<a.length;e++)d[e]=1;else for(e=0;e<a.length;e++){var m=Math.max(0,e-o),v=a[m].v,y=Math.min(a.length-1,e+o),x=a[y].v;\"all\"!==h&&(a[e].v<t.lf?x=Math.min(x,t.lf):v=Math.max(v,t.uf));var b=Math.sqrt(p*(y-m)/(x-v+c))||0;b=i.constrain(Math.abs(b),0,1),d.push(b),g=Math.max(b,g)}n=2*r.jitter/(g||1)}for(e=0;e<a.length;e++){var _=a[e],w=_.v,k=r.jitter?n*d[e]*(i.pseudoRandom()-.5):0,M=t.pos+f+u*(r.pointpos+k);\"h\"===r.orientation?(_.y=M,_.x=w):(_.x=M,_.y=w),\"suspectedoutliers\"===h&&w<t.uo&&w>t.lo&&(_.so=!0)}return a});d.enter().append(\"path\").classed(\"point\",!0),d.exit().remove(),d.call(a.translatePoints,l,c)}function u(t,e,r,a){var o,s,l=e.pos,c=e.val,u=a.bPos,f=a.bPosPxOffset||0,h=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var p=t.selectAll(\"path.mean\").data(\"box\"===r.type&&r.boxmean||\"violin\"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);p.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),p.exit().remove(),p.each(function(t){var e=l.c2p(t.pos+u,!0)+f,i=l.c2p(t.pos+u-o,!0)+f,a=l.c2p(t.pos+u+s,!0)+f,p=c.c2p(t.mean,!0),d=c.c2p(t.mean-t.sd,!0),g=c.c2p(t.mean+t.sd,!0);\"h\"===r.orientation?n.select(this).attr(\"d\",\"M\"+p+\",\"+i+\"V\"+a+(\"sd\"===h?\"m0,0L\"+d+\",\"+e+\"L\"+p+\",\"+i+\"L\"+g+\",\"+e+\"Z\":\"\")):n.select(this).attr(\"d\",\"M\"+i+\",\"+p+\"H\"+a+(\"sd\"===h?\"m0,0L\"+e+\",\"+d+\"L\"+i+\",\"+p+\"L\"+e+\",\"+g+\"Z\":\"\"))})}e.exports={plot:function(t,e,r,a){var o=t._fullLayout,s=e.xaxis,f=e.yaxis,h=o._numBoxes,p=1-o.boxgap,d=\"group\"===o.boxmode&&h>1;i.makeTraceGroups(a,r,\"trace boxes\").each(function(t){var r=n.select(this),i=t[0],a=i.t,g=i.trace;e.isRangePlot||(i.node3=r);var m,v,y=a.dPos*p*(1-o.boxgroupgap)/(d?h:1),x=d?2*a.dPos*((a.num+.5)/h-.5)*p:0,b=y*g.whiskerwidth;!0!==g.visible||a.empty?r.remove():(\"h\"===g.orientation?(m=f,v=s):(m=s,v=f),a.bPos=x,a.bdPos=y,a.wdPos=b,a.wHover=a.dPos*(d?p/h:1),l(r,{pos:m,val:v},g,a),c(r,{x:s,y:f},g,a),u(r,{pos:m,val:v},g,a))})},plotBoxAndWhiskers:l,plotPoints:c,plotBoxMean:u}},{\"../../components/drawing\":592,\"../../lib\":693,d3:147}],866:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],c=a.c2p(l.x),u=o.c2p(l.y);e.contains([c,u],null,l.i,t)?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],867:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/color\"),a=t(\"../../components/drawing\");e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\"g.trace.boxes\");r.style(\"opacity\",function(t){return t[0].trace.opacity}),r.each(function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;function l(t,e,r,n){t.style(\"stroke-width\",e+\"px\").call(i.stroke,r).call(i.fill,n)}var c=r.selectAll(\"path.box\");if(\"candlestick\"===o.type)c.each(function(t){var e=n.select(this),r=o[t.dir];l(e,r.line.width,r.line.color,r.fillcolor),e.style(\"opacity\",o.selectedpoints&&!t.selected?.3:1)});else{l(c,s,o.line.color,o.fillcolor),r.selectAll(\"path.mean\").style({\"stroke-width\":s,\"stroke-dasharray\":2*s+\"px,\"+s+\"px\"}).call(i.stroke,o.line.color);var u=r.selectAll(\"path.point\");a.pointStyle(u,o,t)}})},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace,i=r.selectAll(\"path.point\");n.selectedpoints?a.selectedPointStyle(i,n):a.pointStyle(i,n,t)}}},{\"../../components/color\":567,\"../../components/drawing\":592,d3:147}],868:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").extendFlat,i=t(\"../ohlc/attributes\"),a=t(\"../box/attributes\");function o(t){return{line:{color:n({},a.line.color,{dflt:t}),width:a.line.width,editType:\"style\"},fillcolor:a.fillcolor,editType:\"style\"}}e.exports={x:i.x,open:i.open,high:i.high,low:i.low,close:i.close,line:{width:n({},a.line.width,{}),editType:\"style\"},increasing:o(i.increasing.line.color.dflt),decreasing:o(i.decreasing.line.color.dflt),text:i.text,whiskerwidth:n({},a.whiskerwidth,{dflt:0})}},{\"../../lib\":693,\"../box/attributes\":856,\"../ohlc/attributes\":987}],869:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../ohlc/calc\").calcCommon;function o(t,e,r,n){return{min:r,q1:Math.min(t,n),med:n,q3:Math.max(t,n),max:e}}e.exports=function(t,e){var r=t._fullLayout,s=i.getFromId(t,e.xaxis),l=i.getFromId(t,e.yaxis),c=s.makeCalcdata(e,\"x\"),u=a(t,e,c,l,o);return u.length?(n.extendFlat(u[0].t,{num:r._numBoxes,dPos:n.distinctVals(c).minDiff/2,posLetter:\"x\",valLetter:\"y\"}),r._numBoxes++,u):[{t:{empty:!0}}]}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../ohlc/calc\":988}],870:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../ohlc/ohlc_defaults\"),o=t(\"./attributes\");function s(t,e,r,n){var a=r(n+\".line.color\");r(n+\".line.width\",e.line.width),r(n+\".fillcolor\",i.addOpacity(a,.5))}e.exports=function(t,e,r,i){function l(r,i){return n.coerce(t,e,o,r,i)}a(t,e,l,i)?(l(\"line.width\"),s(t,e,l,\"increasing\"),s(t,e,l,\"decreasing\"),l(\"text\"),l(\"whiskerwidth\"),i._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{\"../../components/color\":567,\"../../lib\":693,\"../ohlc/ohlc_defaults\":992,\"./attributes\":868}],871:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"showLegend\",\"candlestick\",\"boxLayout\"],meta:{},attributes:t(\"./attributes\"),layoutAttributes:t(\"../box/layout_attributes\"),supplyLayoutDefaults:t(\"../box/layout_defaults\").supplyLayoutDefaults,crossTraceCalc:t(\"../box/cross_trace_calc\").crossTraceCalc,supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"../box/plot\").plot,layerName:\"boxlayer\",style:t(\"../box/style\").style,hoverPoints:t(\"../ohlc/hover\"),selectPoints:t(\"../ohlc/select\")}},{\"../../plots/cartesian\":753,\"../box/cross_trace_calc\":858,\"../box/layout_attributes\":863,\"../box/layout_defaults\":864,\"../box/plot\":865,\"../box/style\":867,\"../ohlc/hover\":990,\"../ohlc/select\":994,\"./attributes\":868,\"./calc\":869,\"./defaults\":870}],872:[function(t,e,r){\"use strict\";var n=t(\"./axis_defaults\");e.exports=function(t,e,r,i,a){i(\"a\")||(i(\"da\"),i(\"a0\")),i(\"b\")||(i(\"db\"),i(\"b0\")),function(t,e,r,i){[\"aaxis\",\"baxis\"].forEach(function(a){var o=a.charAt(0),s=t[a]||{},l={},c={tickfont:\"x\",id:o+\"axis\",letter:o,font:e.font,name:a,data:t[o],calendar:e.calendar,dfltColor:i,bgColor:r.paper_bgcolor,fullLayout:r};n(s,l,c),l._categories=l._categories||[],e[a]=l,t[a]||\"-\"===s.type||(t[a]={type:s.type})})}(t,e,r,a)}},{\"./axis_defaults\":877}],873:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t){return function t(e,r){if(!n(e)||r>=10)return null;var i=1/0;var a=-1/0;var o=e.length;for(var s=0;s<o;s++){var l=e[s];if(n(l)){var c=t(l,r+1);c&&(i=Math.min(c[0],i),a=Math.max(c[1],a))}else i=Math.min(l,i),a=Math.max(l,a)}return[i,a]}(t,0)}},{\"../../lib\":693}],874:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"./axis_attributes\"),a=t(\"../../components/color/attributes\"),o=n({editType:\"calc\"});o.family.dflt='\"Open Sans\", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.defaultLine,e.exports={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:i,baxis:i,font:o,color:{valType:\"color\",dflt:a.defaultLine,editType:\"plot\"}}},{\"../../components/color/attributes\":566,\"../../plots/font_attributes\":768,\"./axis_attributes\":876}],875:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,g,m,v,y=n(r)?\"a\":\"b\",x=(\"a\"===y?t.aaxis:t.baxis).smoothing,b=\"a\"===y?t.a2i:t.b2j,_=\"a\"===y?r:i,w=\"a\"===y?i:r,k=\"a\"===y?e.a.length:e.b.length,M=\"a\"===y?e.b.length:e.a.length,A=Math.floor(\"a\"===y?t.b2j(w):t.a2i(w)),T=\"a\"===y?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};x&&(s=Math.max(0,Math.min(M-2,A)),l=A-s,o=\"a\"===y?function(e,r){return t.dxydi([],e,s,r,l)}:function(e,r){return t.dxydj([],s,e,l,r)});var S=b(_[0]),E=b(_[1]),C=S<E?1:-1,L=1e-8*(E-S),z=C>0?Math.floor:Math.ceil,P=C>0?Math.ceil:Math.floor,O=C>0?Math.min:Math.max,I=C>0?Math.max:Math.min,D=z(S+L),R=P(E-L),B=[[f=T(S)]];for(a=D;a*C<R*C;a+=C)c=[],g=I(S,a),v=(m=O(E,a+C))-g,u=Math.max(0,Math.min(k-2,Math.floor(.5*(g+m)))),h=T(m),x&&(p=o(u,g-u),d=o(u,m-u),c.push([f[0]+p[0]/3*v,f[1]+p[1]/3*v]),c.push([h[0]-d[0]/3*v,h[1]-d[1]/3*v])),c.push(h),B.push(c),f=h;return B}},{\"../../lib\":693}],876:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../components/color/attributes\"),a=t(\"../../plots/cartesian/layout_attributes\"),o=t(\"../../plot_api/edit_types\").overrideAll;e.exports={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{valType:\"string\",editType:\"calc\"},titlefont:n({editType:\"calc\"}),titleoffset:{valType:\"number\",dflt:10,editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},tickfont:n({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\"},tickformatstops:o(a.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:i.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgridcolor:{valType:\"color\",dflt:i.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},editType:\"calc\"}},{\"../../components/color/attributes\":566,\"../../plot_api/edit_types\":725,\"../../plots/cartesian/layout_attributes\":754,\"../../plots/font_attributes\":768}],877:[function(t,e,r){\"use strict\";var n=t(\"./attributes\"),i=t(\"../../components/color\").addOpacity,a=t(\"../../registry\"),o=t(\"../../lib\"),s=t(\"../../plots/cartesian/tick_value_defaults\"),l=t(\"../../plots/cartesian/tick_label_defaults\"),c=t(\"../../plots/cartesian/category_order_defaults\"),u=t(\"../../plots/cartesian/set_convert\"),f=t(\"../../plots/cartesian/axis_autotype\");e.exports=function(t,e,r){var h=r.letter,p=r.font||{},d=n[h+\"axis\"];function g(r,n){return o.coerce(t,e,d,r,n)}function m(r,n){return o.coerce2(t,e,d,r,n)}r.name&&(e._name=r.name,e._id=r.name);var v=g(\"type\");(\"-\"===v&&(r.data&&function(t,e){if(\"-\"!==t.type)return;var r=t._id.charAt(0),n=t[r+\"calendar\"];t.type=f(e,n)}(e,r.data),\"-\"===e.type?e.type=\"linear\":v=t.type=e.type),g(\"smoothing\"),g(\"cheatertype\"),g(\"showticklabels\"),g(\"labelprefix\",h+\" = \"),g(\"labelsuffix\"),g(\"showtickprefix\"),g(\"showticksuffix\"),g(\"separatethousands\"),g(\"tickformat\"),g(\"exponentformat\"),g(\"showexponent\"),g(\"categoryorder\"),g(\"tickmode\"),g(\"tickvals\"),g(\"ticktext\"),g(\"tick0\"),g(\"dtick\"),\"array\"===e.tickmode&&(g(\"arraytick0\"),g(\"arraydtick\")),g(\"labelpadding\"),e._hovertitle=h,\"date\"===v)&&a.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\",r.calendar);u(e,r.fullLayout),e.c2p=o.identity;var y=g(\"color\",r.dfltColor),x=y===t.color?y:p.color;g(\"title\"),o.coerceFont(g,\"titlefont\",{family:p.family,size:Math.round(1.2*p.size),color:x}),g(\"titleoffset\"),g(\"tickangle\"),g(\"autorange\",!e.isValidRange(t.range))&&g(\"rangemode\"),g(\"range\"),e.cleanRange(),g(\"fixedrange\"),s(t,e,g,v),l(t,e,g,v,r),c(t,e,g,{data:r.data,dataAttr:h});var b=m(\"gridcolor\",i(y,.3)),_=m(\"gridwidth\"),w=g(\"showgrid\");w||(delete e.gridcolor,delete e.gridwidth);var k=m(\"startlinecolor\",y),M=m(\"startlinewidth\",_);g(\"startline\",e.showgrid||!!k||!!M)||(delete e.startlinecolor,delete e.startlinewidth);var A=m(\"endlinecolor\",y),T=m(\"endlinewidth\",_);return g(\"endline\",e.showgrid||!!A||!!T)||(delete e.endlinecolor,delete e.endlinewidth),w?(g(\"minorgridcount\"),g(\"minorgridwidth\",_),g(\"minorgridcolor\",i(b,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),\"none\"===e.showticklabels&&(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,g(\"tickmode\"),(!e.title||e.title&&0===e.title.length)&&(delete e.titlefont,delete e.titleoffset),e}},{\"../../components/color\":567,\"../../lib\":693,\"../../plots/cartesian/axis_autotype\":743,\"../../plots/cartesian/category_order_defaults\":746,\"../../plots/cartesian/set_convert\":760,\"../../plots/cartesian/tick_label_defaults\":761,\"../../plots/cartesian/tick_value_defaults\":763,\"../../registry\":825,\"./attributes\":874}],878:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\").isArray1D,a=t(\"./cheater_basis\"),o=t(\"./array_minmax\"),s=t(\"./calc_gridlines\"),l=t(\"./calc_labels\"),c=t(\"./calc_clippath\"),u=t(\"../heatmap/clean_2d_array\"),f=t(\"./smooth_fill_2d_array\"),h=t(\"../heatmap/convert_column_xyz\"),p=t(\"./set_convert\");e.exports=function(t,e){var r=n.getFromId(t,e.xaxis),d=n.getFromId(t,e.yaxis),g=e.aaxis,m=e.baxis,v=e.x,y=e.y,x=[];v&&i(v)&&x.push(\"x\"),y&&i(y)&&x.push(\"y\"),x.length&&h(e,g,m,\"a\",\"b\",x);var b=e._a=e._a||e.a,_=e._b=e._b||e.b;v=e._x||e.x,y=e._y||e.y;var w={};if(e._cheater){var k=\"index\"===g.cheatertype?b.length:b,M=\"index\"===m.cheatertype?_.length:_;v=a(k,M,e.cheaterslope)}e._x=v=u(v),e._y=y=u(y),f(v,b,_),f(y,b,_),p(e),e.setScale();var A=o(v),T=o(y),S=.5*(A[1]-A[0]),E=.5*(A[1]+A[0]),C=.5*(T[1]-T[0]),L=.5*(T[1]+T[0]);return A=[E-1.3*S,E+1.3*S],T=[L-1.3*C,L+1.3*C],e._extremes[r._id]=n.findExtremes(r,A,{padded:!0}),e._extremes[d._id]=n.findExtremes(d,T,{padded:!0}),s(e,\"a\",\"b\"),s(e,\"b\",\"a\"),l(e,g),l(e,m),w.clipsegments=c(e._xctrl,e._yctrl,g,m),w.x=v,w.y=y,w.a=b,w.b=_,[w]}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../heatmap/clean_2d_array\":944,\"../heatmap/convert_column_xyz\":946,\"./array_minmax\":873,\"./calc_clippath\":879,\"./calc_gridlines\":880,\"./calc_labels\":881,\"./cheater_basis\":883,\"./set_convert\":896,\"./smooth_fill_2d_array\":897}],879:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,c=!!n.smoothing,u=t[0].length-1,f=t.length-1;for(i=0,a=[],o=[];i<=u;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=f;i++)a[i]=t[i][u],o[i]=e[i][u];for(s.push({x:a,y:o,bicubic:c}),i=u,a=[],o=[];i>=0;i--)a[u-i]=t[f][i],o[u-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],880:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib/extend\").extendFlat;e.exports=function(t,e,r){var a,o,s,l,c,u,f,h,p,d,g,m,v,y,x=t[\"_\"+e],b=t[e+\"axis\"],_=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],M=t[\"_\"+r],A=t[r+\"axis\"];\"array\"===b.tickmode&&(b.tickvals=x.slice());var T=t._xctrl,S=t._yctrl,E=T[0].length,C=T.length,L=t._a.length,z=t._b.length;n.prepTicks(b),\"array\"===b.tickmode&&delete b.tickvals;var P=b.smoothing?3:1;function O(n){var i,a,o,s,l,c,u,f,p,d,g,m,v=[],y=[],x={};if(\"b\"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(z-2,a))),s=a-o,x.length=z,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i<L;i++)c=Math.min(L-2,i),u=i-c,f=t.evalxy([],i,a),A.smoothing&&i>0&&(p=t.dxydi([],i-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),v.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),v.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,i))),u=i-c,x.length=L,x.crossLength=z,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a<z;a++)o=Math.min(z-2,a),s=a-o,f=t.evalxy([],i,a),A.smoothing&&a>0&&(g=t.dxydj([],c,a-1,u,0),v.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),m=t.dxydj([],c,a-1,u,1),v.push(f[0]-m[0]/3),y.push(f[1]-m[1]/3)),v.push(f[0]),y.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=v,x.y=y,x.smoothing=A.smoothing,x}function I(n){var i,a,o,s,l,c=[],u=[],f={};if(f.length=x.length,f.crossLength=M.length,\"b\"===e)for(o=Math.max(0,Math.min(z-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;i<E;i++)c[i]=T[n*P][i],u[i]=S[n*P][i];else for(a=Math.max(0,Math.min(L-2,n)),s=Math.min(1,Math.max(0,n-a)),f.xy=function(e){return t.evalxy([],n,e)},f.dxy=function(e,r){return t.dxydj([],a,e,s,r)},i=0;i<C;i++)c[i]=T[i][n*P],u[i]=S[i][n*P];return f.axisLetter=e,f.axis=b,f.crossAxis=A,f.value=x[n],f.constvar=r,f.index=n,f.x=c,f.y=u,f.smoothing=A.smoothing,f}if(\"array\"===b.tickmode){for(l=5e-15,u=(c=[Math.floor((x.length-1-b.arraytick0)/b.arraydtick*(1+l)),Math.ceil(-b.arraytick0/b.arraydtick/(1+l))].sort(function(t,e){return t-e}))[0]-1,f=c[1]+1,h=u;h<f;h++)(o=b.arraytick0+b.arraydtick*h)<0||o>x.length-1||_.push(i(I(o),{color:b.gridcolor,width:b.gridwidth}));for(h=u;h<f;h++)if(s=b.arraytick0+b.arraydtick*h,g=Math.min(s+b.arraydtick,x.length-1),!(s<0||s>x.length-1||g<0||g>x.length-1))for(m=x[s],v=x[g],a=0;a<b.minorgridcount;a++)(y=g-s)<=0||(d=m+(v-m)*(a+1)/(b.minorgridcount+1)*(b.arraydtick/y))<x[0]||d>x[x.length-1]||w.push(i(O(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(I(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(I(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort(function(t,e){return t-e}))[0],f=c[1],h=u;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(O(p),{color:b.gridcolor,width:b.gridwidth}));for(h=u-1;h<f+1;h++)for(p=b.tick0+b.dtick*h,a=0;a<b.minorgridcount;a++)(d=p+b.dtick*(a+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(i(O(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(O(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(O(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{\"../../lib/extend\":682,\"../../plots/cartesian/axes\":742}],881:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib/extend\").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==[\"start\",\"both\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:o.xy(0),dxy:o.dxy(0,0),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a)),-1!==[\"end\",\"both\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{endAnchor:!1,xy:o.xy(o.crossLength-1),dxy:o.dxy(o.crossLength-2,1),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a))}},{\"../../lib/extend\":682,\"../../plots/cartesian/axes\":742}],882:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,f=(c*c*a-l*l*s)*n,h=c*(l+c)*3,p=l*(l+c)*3;return[[e[0]+(h&&u/h),e[1]+(h&&f/h)],[e[0]-(p&&u/p),e[1]-(p&&f/p)]]}},{}],883:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r){var i,a,o,s,l,c,u=[],f=n(t)?t.length:t,h=n(e)?e.length:e,p=n(t)?t:null,d=n(e)?e:null;p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(f-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(h-1));var g=1/0,m=-1/0;for(a=0;a<h;a++)for(u[a]=[],l=d?(d[a]-d[0])*s:a/(h-1),i=0;i<f;i++)c=(p?(p[i]-p[0])*o:i/(f-1))-l*r,g=Math.min(c,g),m=Math.max(c,m),u[a][i]=c;var v=1/(m-g),y=-g*v;for(a=0;a<h;a++)for(i=0;i<f;i++)u[a][i]=v*u[a][i]+y;return u}},{\"../../lib\":693}],884:[function(t,e,r){\"use strict\";var n=t(\"./catmull_rom\"),i=t(\"../../lib\").ensureArray;function a(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}e.exports=function(t,e,r,o,s,l){var c,u,f,h,p,d,g,m,v,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=i(t,w),e=i(e,w),f=0;f<w;f++)t[f]=i(t[f],_),e[f]=i(e[f],_);for(u=0,h=0;u<b;u++,h+=l?3:1)for(p=t[h],d=e[h],g=r[u],m=o[u],c=0,f=0;c<x;c++,f+=s?3:1)p[f]=g[c],d[f]=m[c];if(s)for(u=0,h=0;u<b;u++,h+=l?3:1){for(c=1,f=3;c<x-1;c++,f+=3)v=n([r[u][c-1],o[u][c-1]],[r[u][c],o[u][c]],[r[u][c+1],o[u][c+1]],s),t[h][f-1]=v[0][0],e[h][f-1]=v[0][1],t[h][f+1]=v[1][0],e[h][f+1]=v[1][1];y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=y[0],e[h][1]=y[1],y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=y[0],e[h][_-2]=y[1]}if(l)for(f=0;f<_;f++){for(h=3;h<w-3;h+=3)v=n([t[h-3][f],e[h-3][f]],[t[h][f],e[h][f]],[t[h+3][f],e[h+3][f]],l),t[h-1][f]=v[0][0],e[h-1][f]=v[0][1],t[h+1][f]=v[1][0],e[h+1][f]=v[1][1];y=a([t[0][f],e[0][f]],[t[2][f],e[2][f]],[t[3][f],e[3][f]]),t[1][f]=y[0],e[1][f]=y[1],y=a([t[w-1][f],e[w-1][f]],[t[w-3][f],e[w-3][f]],[t[w-4][f],e[w-4][f]]),t[w-2][f]=y[0],e[w-2][f]=y[1]}if(s&&l)for(h=1;h<w;h+=(h+1)%3==0?2:1){for(f=3;f<_-3;f+=3)v=n([t[h][f-3],e[h][f-3]],[t[h][f],e[h][f]],[t[h][f+3],e[h][f+3]],s),t[h][f-1]=.5*(t[h][f-1]+v[0][0]),e[h][f-1]=.5*(e[h][f-1]+v[0][1]),t[h][f+1]=.5*(t[h][f+1]+v[1][0]),e[h][f+1]=.5*(e[h][f+1]+v[1][1]);y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=.5*(t[h][1]+y[0]),e[h][1]=.5*(e[h][1]+y[1]),y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=.5*(t[h][_-2]+y[0]),e[h][_-2]=.5*(e[h][_-2]+y[1])}return[t,e]}},{\"../../lib\":693,\"./catmull_rom\":882}],885:[function(t,e,r){\"use strict\";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],886:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=1-i,d=p*p,g=p*i*2,m=-3*d,v=3*(d-g),y=3*(g-h),x=3*h,b=a*a,_=b*a,w=1-a,k=w*w,M=k*w;for(f=0;f<t.length;f++)o=m*(u=t[f])[n][r]+v*u[n][r+1]+y*u[n][r+2]+x*u[n][r+3],s=m*u[n+1][r]+v*u[n+1][r+1]+y*u[n+1][r+2]+x*u[n+1][r+3],l=m*u[n+2][r]+v*u[n+2][r+1]+y*u[n+2][r+2]+x*u[n+2][r+3],c=m*u[n+3][r]+v*u[n+3][r+1]+y*u[n+3][r+2]+x*u[n+3][r+3],e[f]=M*o+3*(k*a*s+w*b*l)+_*c;return e}:e?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),r*=3;var u=i*i,f=1-i,h=f*f,p=f*i*2,d=-3*h,g=3*(h-p),m=3*(p-u),v=3*u,y=1-a;for(l=0;l<t.length;l++)o=d*(c=t[l])[n][r]+g*c[n][r+1]+m*c[n][r+2]+v*c[n][r+3],s=d*c[n+1][r]+g*c[n+1][r+1]+m*c[n+1][r+2]+v*c[n+1][r+3],e[l]=y*o+a*s;return e}:r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),n*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n][r+1]-f[n][r],s=f[n+1][r+1]-f[n+1][r],l=f[n+2][r+1]-f[n+2][r],c=f[n+3][r+1]-f[n+3][r],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-a;for(l=0;l<t.length;l++)o=(c=t[l])[n][r+1]-c[n][r],s=c[n+1][r+1]-c[n+1][r],e[l]=u*o+a*s;return e}}},{}],887:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=h*i,d=1-i,g=d*d,m=g*d,v=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),k=3*(b-v),M=3*v;for(f=0;f<t.length;f++)o=_*(u=t[f])[n][r]+w*u[n+1][r]+k*u[n+2][r]+M*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+k*u[n+2][r+1]+M*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+k*u[n+2][r+2]+M*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+k*u[n+2][r+3]+M*u[n+3][r+3],e[f]=m*o+3*(g*i*s+d*h*l)+p*c;return e}:e?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n+1][r]-f[n][r],s=f[n+1][r+1]-f[n][r+1],l=f[n+1][r+2]-f[n][r+2],c=f[n+1][r+3]-f[n][r+3],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:r?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),n*=3;var u=1-i,f=a*a,h=1-a,p=h*h,d=h*a*2,g=-3*p,m=3*(p-d),v=3*(d-f),y=3*f;for(l=0;l<t.length;l++)o=g*(c=t[l])[n][r]+m*c[n+1][r]+v*c[n+2][r]+y*c[n+3][r],s=g*c[n][r+1]+m*c[n+1][r+1]+v*c[n+2][r+1]+y*c[n+3][r+1],e[l]=u*o+i*s;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-i;for(l=0;l<t.length;l++)o=(c=t[l])[n+1][r]-c[n][r],s=c[n+1][r+1]-c[n][r+1],e[l]=u*o+i*s;return e}}},{}],888:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){var i,s,l,c,u,f;e||(e=[]);var h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=3,p*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,k=1-g,M=k*k,A=M*k;for(f=0;f<t.length;f++)i=b*(u=t[f])[p][h]+3*(x*d*u[p][h+1]+y*m*u[p][h+2])+v*u[p][h+3],s=b*u[p+1][h]+3*(x*d*u[p+1][h+1]+y*m*u[p+1][h+2])+v*u[p+1][h+3],l=b*u[p+2][h]+3*(x*d*u[p+2][h+1]+y*m*u[p+2][h+2])+v*u[p+2][h+3],c=b*u[p+3][h]+3*(x*d*u[p+3][h+1]+y*m*u[p+3][h+2])+v*u[p+3][h+3],e[f]=A*i+3*(M*g*s+k*_*l)+w*c;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=1-g;for(u=0;u<t.length;u++)i=_*(f=t[u])[p][h]+g*f[p+1][h],s=_*f[p][h+1]+g*f[p+1][h+1],l=_*f[p][h+2]+g*f[p+1][h+1],c=_*f[p][h+3]+g*f[p+1][h+1],e[u]=b*i+3*(x*d*s+y*m*l)+v*c;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));p*=3;var m=g*g,v=m*g,y=1-g,x=y*y,b=x*y,_=1-d;for(u=0;u<t.length;u++)i=_*(f=t[u])[p][h]+d*f[p][h+1],s=_*f[p+1][h]+d*f[p+1][h+1],l=_*f[p+2][h]+d*f[p+2][h+1],c=_*f[p+3][h]+d*f[p+3][h+1],e[u]=b*i+3*(x*g*s+y*m*l)+v*c;return e}:function(e,r,n){e||(e=[]);var i,s,l,c,u=Math.max(0,Math.min(Math.floor(r),a)),f=Math.max(0,Math.min(Math.floor(n),o)),h=Math.max(0,Math.min(1,r-u)),p=Math.max(0,Math.min(1,n-f)),d=1-p,g=1-h;for(l=0;l<t.length;l++)i=g*(c=t[l])[f][u]+h*c[f][u+1],s=g*c[f+1][u]+h*c[f+1][u+1],e[l]=d*i+p*s;return e}}},{}],889:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./xy_defaults\"),a=t(\"./ab_defaults\"),o=t(\"./attributes\"),s=t(\"../../components/color/attributes\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,o,r,i)}e._clipPathId=\"clip\"+e.uid+\"carpet\";var u=c(\"color\",s.defaultLine);(n.coerceFont(c,\"font\"),c(\"carpet\"),a(t,e,l,c,u),e.a&&e.b)?(e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0),i(t,e,c)||(e.visible=!1),e._cheater&&c(\"cheaterslope\")):e.visible=!1}},{\"../../components/color/attributes\":566,\"../../lib\":693,\"./ab_defaults\":872,\"./attributes\":874,\"./xy_defaults\":898}],890:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.plot=t(\"./plot\"),n.calc=t(\"./calc\"),n.animatable=!0,n.isContainer=!0,n.moduleType=\"trace\",n.name=\"carpet\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"./attributes\":874,\"./calc\":878,\"./defaults\":889,\"./plot\":895}],891:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&(\"carpet\"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],892:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){if(0===t.length)return\"\";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+\",\"+e[n]),r&&n<t.length-a&&(i.push(\"C\"),i.push([t[n+1]+\",\"+e[n+1],t[n+2]+\",\"+e[n+2]+\" \"].join(\" \")));return i.join(r?\"\":\"L\")}},{}],893:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r){var i;for(n(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],i=0;i<e.length;i++)t[i]=r(e[i]);return t}},{\"../../lib\":693}],894:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,c=1;if(a){var u=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=(i[0]*a[0]+i[1]*a[1])/u/f;c=Math.max(0,h)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],895:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"./map_1d_array\"),o=t(\"./makepath\"),s=t(\"./orient_text\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../lib\"),u=t(\"../../constants/alignment\");function f(t,e,r,i,s,l){var c=\"const-\"+s+\"-lines\",u=r.selectAll(\".\"+c).data(l);u.enter().append(\"path\").classed(c,!0).style(\"vector-effect\",\"non-scaling-stroke\"),u.each(function(r){var i=r,s=i.x,l=i.y,c=a([],s,t.c2p),u=a([],l,e.c2p),f=\"M\"+o(c,u,i.smoothing);n.select(this).attr(\"d\",f).style(\"stroke-width\",i.width).style(\"stroke\",i.color).style(\"fill\",\"none\")}),u.exit().remove()}function h(t,e,r,a,o,c,u,f){var h=c.selectAll(\"text.\"+f).data(u);h.enter().append(\"text\").classed(f,!0);var p=0,d={};return h.each(function(o,c){var u;if(\"auto\"===o.axis.tickangle)u=s(a,e,r,o.xy,o.dxy);else{var f=(o.axis.tickangle+180)*Math.PI/180;u=s(a,e,r,o.xy,[Math.cos(f),Math.sin(f)])}c||(d={angle:u.angle,flip:u.flip});var h=(o.endAnchor?-1:1)*u.flip,g=n.select(this).attr({\"text-anchor\":h>0?\"start\":\"end\",\"data-notex\":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);g.attr(\"transform\",\"translate(\"+u.p[0]+\",\"+u.p[1]+\") rotate(\"+u.angle+\")translate(\"+o.axis.labelpadding*h+\",\"+.3*m.height+\")\"),p=Math.max(p,m.width+o.axis.labelpadding)}),h.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,i){var l=e.xaxis,u=e.yaxis,p=t._fullLayout._clips;c.makeTraceGroups(i,r,\"trace\").each(function(e){var r=n.select(this),i=e[0],d=i.trace,m=d.aaxis,v=d.baxis,y=c.ensureSingle(r,\"g\",\"minorlayer\"),x=c.ensureSingle(r,\"g\",\"majorlayer\"),b=c.ensureSingle(r,\"g\",\"boundarylayer\"),_=c.ensureSingle(r,\"g\",\"labellayer\");r.style(\"opacity\",d.opacity),f(l,u,x,m,\"a\",m._gridlines),f(l,u,x,v,\"b\",v._gridlines),f(l,u,y,m,\"a\",m._minorgridlines),f(l,u,y,v,\"b\",v._minorgridlines),f(l,u,b,m,\"a-boundary\",m._boundarylines),f(l,u,b,v,\"b-boundary\",v._boundarylines);var w=h(t,l,u,d,i,_,m._labels,\"a-label\"),k=h(t,l,u,d,i,_,v._labels,\"b-label\");!function(t,e,r,n,i,a,o,l){var u,f,h,p;u=.5*(r.a[0]+r.a[r.a.length-1]),f=r.b[0],h=r.ab2xy(u,f,!0),p=r.dxyda_rough(u,f),void 0===o.angle&&c.extendFlat(o,s(r,i,a,h,r.dxydb_rough(u,f)));g(t,e,r,n,h,p,r.aaxis,i,a,o,\"a-title\"),u=r.a[0],f=.5*(r.b[0]+r.b[r.b.length-1]),h=r.ab2xy(u,f,!0),p=r.dxydb_rough(u,f),void 0===l.angle&&c.extendFlat(l,s(r,i,a,h,r.dxyda_rough(u,f)));g(t,e,r,n,h,p,r.baxis,i,a,l,\"b-title\")}(t,_,d,i,l,u,w,k),function(t,e,r,n,i){var s,l,u,f,h=r.select(\"#\"+t._clipPathId);h.size()||(h=r.append(\"clipPath\").classed(\"carpetclip\",!0));var p=c.ensureSingle(h,\"path\",\"carpetboundary\"),d=e.clipsegments,g=[];for(f=0;f<d.length;f++)s=d[f],l=a([],s.x,n.c2p),u=a([],s.y,i.c2p),g.push(o(l,u,s.bicubic));var m=\"M\"+g.join(\"L\")+\"Z\";h.attr(\"id\",t._clipPathId),p.attr(\"d\",m)}(d,i,p,l,u)})};var p=u.LINE_SPACING,d=(1-u.MID_SHIFT)/p+1;function g(t,e,r,a,o,c,u,f,h,g,m){var v=[];u.title&&v.push(u.title);var y=e.selectAll(\"text.\"+m).data(v),x=g.maxExtent;y.enter().append(\"text\").classed(m,!0),y.each(function(){var e=s(r,f,h,o,c);-1===[\"start\",\"both\"].indexOf(u.showticklabels)&&(x=0);var a=u.titlefont.size;x+=a+u.titleoffset;var m=(g.angle+(g.flip<0?180:0)-e.angle+450)%360,v=m>90&&m<270,y=n.select(this);y.text(u.title||\"\").call(l.convertToTspans,t),v&&(x=(-l.lineCount(y)+d)*p*a-x),y.attr(\"transform\",\"translate(\"+e.p[0]+\",\"+e.p[1]+\") rotate(\"+e.angle+\") translate(0,\"+x+\")\").classed(\"user-select-none\",!0).attr(\"text-anchor\",\"middle\").call(i.font,u.titlefont)}),y.exit().remove()}},{\"../../components/drawing\":592,\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"./makepath\":892,\"./map_1d_array\":893,\"./orient_text\":894,d3:147}],896:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../lib/search\").findBin,a=t(\"./compute_control_points\"),o=t(\"./create_spline_evaluator\"),s=t(\"./create_i_derivative_evaluator\"),l=t(\"./create_j_derivative_evaluator\");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[c-1],g=r[0],m=r[u-1],v=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=v*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,m+=b,t.isVisible=function(t,e){return t>p&&t<d&&e>g&&e<m},t.isOccluded=function(t,e){return t<p||t>d||e<g||e>m},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(n<e[0]||n>e[c-1]|i<r[0]||i>r[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,g=0,m=0,v=[];n<e[0]?(f=0,h=0,g=(n-e[0])/(e[1]-e[0])):n>e[c-1]?(f=c-2,h=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):h=o-(f=Math.max(0,Math.min(c-2,Math.floor(o)))),i<r[0]?(p=0,d=0,m=(i-r[0])/(r[1]-r[0])):i>r[u-1]?(p=u-2,d=1,m=(i-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),g&&(t.dxydi(v,f,p,h,d),l[0]+=v[0]*g,l[1]+=v[1]*g),m&&(t.dxydj(v,f,p,h,d),l[0]+=v[0]*m,l[1]+=v[1]*m)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{\"../../lib/search\":713,\"./compute_control_points\":884,\"./constants\":885,\"./create_i_derivative_evaluator\":886,\"./create_j_derivative_evaluator\":887,\"./create_spline_evaluator\":888}],897:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<c-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}var h,p,d,g,m,v,y,x,b,_,w,k=0;for(i=0;i<c;i++)for(a=0;a<u;a++)void 0===t[a][i]&&(s.push(i),l.push(a),t[a][i]=f(i,a)),k=Math.max(k,Math.abs(t[a][i]));if(!s.length)return t;var M=0,A=0,T=s.length;do{for(M=0,o=0;o<T;o++){i=s[o],a=l[o];var S,E,C,L,z,P,O=0,I=0;0===i?(C=e[z=Math.min(c-1,2)],L=e[1],S=t[a][z],I+=(E=t[a][1])+(E-S)*(e[0]-L)/(L-C),O++):i===c-1&&(C=e[z=Math.max(0,c-3)],L=e[c-2],S=t[a][z],I+=(E=t[a][c-2])+(E-S)*(e[c-1]-L)/(L-C),O++),(0===i||i===c-1)&&a>0&&a<u-1&&(h=r[a+1]-r[a],I+=((p=r[a]-r[a-1])*t[a+1][i]+h*t[a-1][i])/(p+h),O++),0===a?(C=r[P=Math.min(u-1,2)],L=r[1],S=t[P][i],I+=(E=t[1][i])+(E-S)*(r[0]-L)/(L-C),O++):a===u-1&&(C=r[P=Math.max(0,u-3)],L=r[u-2],S=t[P][i],I+=(E=t[u-2][i])+(E-S)*(r[u-1]-L)/(L-C),O++),(0===a||a===u-1)&&i>0&&i<c-1&&(h=e[i+1]-e[i],I+=((p=e[i]-e[i-1])*t[a][i+1]+h*t[a][i-1])/(p+h),O++),O?I/=O:(d=e[i+1]-e[i],g=e[i]-e[i-1],x=(m=r[a+1]-r[a])*(v=r[a]-r[a-1])*(m+v),I=((y=d*g*(d+g))*(v*t[a+1][i]+m*t[a-1][i])+x*(g*t[a][i+1]+d*t[a][i-1]))/(x*(g+d)+y*(v+m))),M+=(_=(b=I-t[a][i])/k)*_,w=O?0:.85,t[a][i]+=b*(1+w)}M=Math.sqrt(M)}while(A++<100&&M>1e-5);return n.log(\"Smoother converged to\",M,\"after\",A,\"iterations\"),t}},{\"../../lib\":693}],898:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArray1D;e.exports=function(t,e,r){var i=r(\"x\"),a=i&&i.length,o=r(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{\"../../lib\":693}],899:[function(t,e,r){\"use strict\";var n=t(\"../scattergeo/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=n.marker.line;e.exports=s({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:n.locationmode,z:{valType:\"data_array\",editType:\"calc\"},text:s({},n.text,{}),marker:{line:{color:l.color,width:s({},l.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:n.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:n.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:s({},o.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]})},i(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}),{colorbar:a})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../scattergeo/attributes\":1072}],900:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../../components/colorscale/calc\"),o=t(\"../scatter/arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\");e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=0;c<r;c++){var u=l[c]={},f=e.locations[c],h=e.z[c];u.loc=\"string\"==typeof f?f:null,u.z=n(h)?h:i}return o(l,e),a(e,e.z,\"\",\"z\"),s(l,e),l}},{\"../../components/colorscale/calc\":575,\"../../constants/numerical\":670,\"../scatter/arrays_to_calcdata\":1031,\"../scatter/calc_selection\":1034,\"fast-isnumeric\":213}],901:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"locations\"),c=s(\"z\");l&&l.length&&n.isArrayOrTypedArray(c)&&c.length?(e._length=Math.min(l.length,c.length),s(\"locationmode\"),s(\"text\"),s(\"marker.line.color\"),s(\"marker.line.width\"),s(\"marker.opacity\"),i(t,e,o,s,{prefix:\"\",cLetter:\"z\"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"./attributes\":899}],902:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.location=e.location,t.z=e.z,t}},{}],903:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"./attributes\"),a=t(\"../scatter/fill_hover_text\");e.exports=function(t,e,r){var o,s,l,c,u=t.cd,f=u[0].trace,h=t.subplot;for(s=0;s<u.length;s++)if(c=!1,(o=u[s])._polygons){for(l=0;l<o._polygons.length;l++)o._polygons[l].contains([e,r])&&(c=!c),o._polygons[l].contains([e+360,r])&&(c=!c);if(c)break}if(c&&o)return t.x0=t.x1=t.xa.c2p(o.ct),t.y0=t.y1=t.ya.c2p(o.ct),t.index=o.index,t.location=o.loc,t.z=o.z,function(t,e,r,o){var s=r.hi||e.hoverinfo,l=\"all\"===s?i.hoverinfo.flags:s.split(\"+\"),c=-1!==l.indexOf(\"name\"),u=-1!==l.indexOf(\"location\"),f=-1!==l.indexOf(\"z\"),h=-1!==l.indexOf(\"text\"),p=[];!c&&u?t.nameOverride=r.loc:(c&&(t.nameOverride=e.name),u&&p.push(r.loc));f&&p.push((d=r.z,n.tickText(o,o.c2l(d),\"hover\").text));var d;h&&a(r,e,p);t.extraText=p.join(\"<br>\")}(t,f,o,h.mockAxis),[t]}},{\"../../plots/cartesian/axes\":742,\"../scatter/fill_hover_text\":1040,\"./attributes\":899}],904:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../heatmap/colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"./style\").style,n.styleOnSelect=t(\"./style\").styleOnSelect,n.hoverPoints=t(\"./hover\"),n.eventData=t(\"./event_data\"),n.selectPoints=t(\"./select\"),n.moduleType=\"trace\",n.name=\"choropleth\",n.basePlotModule=t(\"../../plots/geo\"),n.categories=[\"geo\",\"noOpacity\"],n.meta={},e.exports=n},{\"../../plots/geo\":772,\"../heatmap/colorbar\":945,\"./attributes\":899,\"./calc\":900,\"./defaults\":901,\"./event_data\":902,\"./hover\":903,\"./plot\":905,\"./select\":906,\"./style\":907}],905:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../lib/polygon\"),o=t(\"../../lib/topojson_utils\").getTopojsonFeatures,s=t(\"../../lib/geo_location_utils\").locationToFeature,l=t(\"./style\").style;function c(t,e){for(var r=t[0].trace,n=t.length,i=o(r,e),a=0;a<n;a++){var l=t[a],c=s(r.locationmode,l.loc,i);c?(l.geojson=c,l.ct=c.properties.ct,l.index=a,l._polygons=u(c)):l.geojson=null}}function u(t){var e,r,n,i,o=t.geometry,s=o.coordinates,l=t.id,c=[];function u(t){for(var e=0;e<t.length-1;e++)if(t[e][0]>0&&t[e+1][0]<0)return e;return null}switch(e=\"RUS\"===l||\"FJI\"===l?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;i<t.length;i++)e[i]=[t[i][0]<0?t[i][0]+360:t[i][0],t[i][1]];c.push(a.tester(e))}:\"ATA\"===l?function(t){var e=u(t);if(null===e)return c.push(a.tester(t));var r=new Array(t.length+1),n=0;for(i=0;i<t.length;i++)i>e?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var o=a.tester(r);o.pts.pop(),c.push(o)}:function(t){c.push(a.tester(t))},o.type){case\"MultiPolygon\":for(r=0;r<s.length;r++)for(n=0;n<s[r].length;n++)e(s[r][n]);break;case\"Polygon\":for(r=0;r<s.length;r++)e(s[r])}return c}e.exports=function(t,e,r){for(var a=0;a<r.length;a++)c(r[a],e.topojson);var o=e.layers.backplot.select(\".choroplethlayer\");i.makeTraceGroups(o,r,\"trace choropleth\").each(function(e){var r=(e[0].node3=n.select(this)).selectAll(\"path.choroplethlocation\").data(i.identity);r.enter().append(\"path\").classed(\"choroplethlocation\",!0),r.exit().remove(),l(t,e)})}},{\"../../lib\":693,\"../../lib/geo_location_utils\":685,\"../../lib/polygon\":706,\"../../lib/topojson_utils\":721,\"./style\":907,d3:147}],906:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=c.c2p(i),e.contains([a,o],null,r,t)?(u.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return u}},{}],907:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/color\"),a=t(\"../../components/drawing\"),o=t(\"../../components/colorscale\");function s(t,e){var r=e[0].trace,s=e[0].node3.selectAll(\".choroplethlocation\"),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFunc(o.extractScale(r.colorscale,r.zmin,r.zmax));s.each(function(t){n.select(this).attr(\"fill\",u(t.z)).call(i.stroke,t.mlc||c.color).call(a.dashLine,\"\",t.mlw||c.width||0).style(\"opacity\",l.opacity)}),a.selectedPointStyle(s,r,t)}e.exports={style:function(t,e){e&&s(t,e)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?a.selectedPointStyle(r.selectAll(\".choroplethlocation\"),n,t):s(t,e)}}},{\"../../components/color\":567,\"../../components/colorscale\":582,\"../../components/drawing\":592,d3:147}],908:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../components/colorbar/attributes\"),a=t(\"../mesh3d/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"scaled\",\"absolute\"],editType:\"calc\",dflt:\"scaled\"},sizeref:{valType:\"number\",editType:\"calc\",min:0},anchor:{valType:\"enumerated\",editType:\"calc\",values:[\"tip\",\"tail\",\"cm\",\"center\"],dflt:\"cm\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"}};s(l,n(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:i});[\"opacity\",\"lightposition\",\"lighting\"].forEach(function(t){l[t]=a[t]}),l.hoverinfo=s({},o.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),e.exports=l},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../mesh3d/attributes\":982}],909:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,c=0;c<o;c++){var u=r[c],f=i[c],h=a[c],p=Math.sqrt(u*u+f*f+h*h);s=Math.max(s,p),l=Math.min(l,p)}e._len=o,e._normMax=s,n(e,[l,s],\"\",\"c\")}},{\"../../components/colorscale/calc\":575}],910:[function(t,e,r){\"use strict\";var n=t(\"gl-cone3d\"),i=t(\"gl-cone3d\").createConeMesh,a=t(\"../../lib\").simpleMap,o=t(\"../../lib/gl_format_color\").parseColorScale,s=t(\"../../plots/gl3d/zip3\");function l(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var c=l.prototype;c.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index,r=this.data.x[e],n=this.data.y[e],i=this.data.z[e],a=this.data.u[e],o=this.data.v[e],s=this.data.w[e];t.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.text;return Array.isArray(l)&&void 0!==l[e]?t.textLabel=l[e]:l&&(t.textLabel=l),!0}};var u={xaxis:0,yaxis:1,zaxis:2},f={tip:1,tail:0,cm:.25,center:.5},h={tip:1,tail:1,cm:.75,center:.5};function p(t,e){var r=t.fullSceneLayout,i=t.dataScale,l={};function c(t,e){var n=r[e],o=i[u[e]];return a(t,function(t){return n.d2l(t)*o})}l.vectors=s(c(e.u,\"xaxis\"),c(e.v,\"yaxis\"),c(e.w,\"zaxis\"),e._len),l.positions=s(c(e.x,\"xaxis\"),c(e.y,\"yaxis\"),c(e.z,\"zaxis\"),e._len),l.colormap=o(e.colorscale),l.vertexIntensityBounds=[e.cmin/e._normMax,e.cmax/e._normMax],l.coneOffset=f[e.anchor],\"scaled\"===e.sizemode?l.coneSize=e.sizeref||.5:l.coneSize=e.sizeref&&e._normMax?e.sizeref/e._normMax:.5;var p=n(l),d=e.lightposition;return p.lightPosition=[d.x,d.y,d.z],p.ambient=e.lighting.ambient,p.diffuse=e.lighting.diffuse,p.specular=e.lighting.specular,p.roughness=e.lighting.roughness,p.fresnel=e.lighting.fresnel,p.opacity=e.opacity,e._pad=h[e.anchor]*p.vectorScale*p.coneScale*e._normMax,p}c.update=function(t){this.data=t;var e=p(this.scene,t);this.mesh.update(e)},c.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=p(t,e),a=i(r,n),o=new l(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},{\"../../lib\":693,\"../../lib/gl_format_color\":689,\"../../plots/gl3d/zip3\":795,\"gl-cone3d\":230}],911:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"u\"),c=s(\"v\"),u=s(\"w\"),f=s(\"x\"),h=s(\"y\"),p=s(\"z\");l&&l.length&&c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length&&p&&p.length?(s(\"sizeref\"),s(\"sizemode\"),s(\"anchor\"),s(\"lighting.ambient\"),s(\"lighting.diffuse\"),s(\"lighting.specular\"),s(\"lighting.roughness\"),s(\"lighting.fresnel\"),s(\"lightposition.x\"),s(\"lightposition.y\"),s(\"lightposition.z\"),i(t,e,o,s,{prefix:\"\",cLetter:\"c\"}),s(\"text\"),e._length=null):e.visible=!1}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"./attributes\":908}],912:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"cone\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:{min:\"cmin\",max:\"cmax\"},calc:t(\"./calc\"),plot:t(\"./convert\"),meta:{}}},{\"../../plots/gl3d\":784,\"./attributes\":908,\"./calc\":909,\"./convert\":910,\"./defaults\":911}],913:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/attributes\"),i=t(\"../scatter/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../components/drawing/attributes\").dash,l=t(\"../../plots/font_attributes\"),c=t(\"../../lib/extend\").extendFlat,u=t(\"../../constants/filter_ops\"),f=u.COMPARISON_OPS2,h=u.INTERVAL_OPS,p=i.line;e.exports=c({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,connectgaps:n.connectgaps,fillcolor:{valType:\"color\",editType:\"calc\"},autocontour:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"contours.start\":void 0,\"contours.end\":void 0,\"contours.size\":void 0}},ncontours:{valType:\"integer\",dflt:15,min:1,editType:\"calc\"},contours:{type:{valType:\"enumerated\",values:[\"levels\",\"constraint\"],dflt:\"levels\",editType:\"calc\"},start:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},end:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:{valType:\"boolean\",dflt:!0,editType:\"plot\"},showlabels:{valType:\"boolean\",dflt:!1,editType:\"plot\"},labelfont:l({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\"},operation:{valType:\"enumerated\",values:[].concat(f).concat(h),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:c({},p.color,{editType:\"style+colorbars\"}),width:c({},p.width,{editType:\"style+colorbars\"}),dash:s,smoothing:c({},p.smoothing,{}),editType:\"plot\"}},a(\"\",{cLetter:\"z\",autoColorDflt:!1,editTypeOverride:\"calc\"}),{colorbar:o})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../components/drawing/attributes\":591,\"../../constants/filter_ops\":666,\"../../lib/extend\":682,\"../../plots/font_attributes\":768,\"../heatmap/attributes\":942,\"../scatter/attributes\":1032}],914:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/calc\"),i=t(\"./set_contours\");e.exports=function(t,e){var r=n(t,e);return i(e),r}},{\"../heatmap/calc\":943,\"./set_contours\":932}],915:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i,a,o,s=t[0],l=s.x.length,c=s.y.length,u=s.z,f=n.contours,h=-1/0,p=1/0;for(i=0;i<c;i++)p=Math.min(p,u[i][0]),p=Math.min(p,u[i][l-1]),h=Math.max(h,u[i][0]),h=Math.max(h,u[i][l-1]);for(i=1;i<l-1;i++)p=Math.min(p,u[0][i]),p=Math.min(p,u[c-1][i]),h=Math.max(h,u[0][i]),h=Math.max(h,u[c-1][i]);switch(s.prefixBoundary=!1,e){case\">\":f.value>h&&(s.prefixBoundary=!0);break;case\"<\":f.value<p&&(s.prefixBoundary=!0);break;case\"[]\":a=Math.min.apply(null,f.value),((o=Math.max.apply(null,f.value))<p||a>h)&&(s.prefixBoundary=!0);break;case\"][\":a=Math.min.apply(null,f.value),o=Math.max.apply(null,f.value),a<p&&o>h&&(s.prefixBoundary=!0)}}},{}],916:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorbar/draw\"),i=t(\"./make_color_map\"),a=t(\"./end_plus\");e.exports=function(t,e){var r=e[0].trace,o=\"cb\"+r.uid;if(t._fullLayout._infolayer.selectAll(\".\"+o).remove(),r.showscale){var s=e[0].t.cb=n(t,o),l=r.contours,c=r.line,u=l.size||1,f=l.coloring,h=i(r,{isColorbar:!0});s.fillgradient(\"heatmap\"===f?r.colorscale:\"\").zrange(\"heatmap\"===f?[r.zmin,r.zmax]:\"\").fillcolor(\"fill\"===f?h:\"\").line({color:\"lines\"===f?h:c.color,width:!1!==l.showlines?c.width:0,dash:c.dash}).levels({start:l.start,end:a(l),size:u}).options(r.colorbar)()}}},{\"../../components/colorbar/draw\":572,\"./end_plus\":924,\"./make_color_map\":929}],917:[function(t,e,r){\"use strict\";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],918:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./label_defaults\"),a=t(\"../../components/color\"),o=a.addOpacity,s=a.opacity,l=t(\"../../constants/filter_ops\"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,a,l,f){var h,p,d,g=e.contours,m=r(\"contours.operation\");(g._operation=c[m],function(t,e){var r;-1===u.indexOf(e.operation)?(t(\"contours.value\",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t(\"contours.value\",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),\"=\"===m?h=g.showlines=!0:(h=r(\"contours.showlines\"),d=r(\"fillcolor\",o((t.line||{}).color||l,.5))),h)&&(p=r(\"line.color\",d&&s(d)?o(e.fillcolor,1):l),r(\"line.width\",2),r(\"line.dash\"));r(\"line.smoothing\"),i(r,a,p,f)}},{\"../../components/color\":567,\"../../constants/filter_ops\":666,\"./label_defaults\":928,\"fast-isnumeric\":213}],919:[function(t,e,r){\"use strict\";var n=t(\"../../constants/filter_ops\"),i=t(\"fast-isnumeric\");function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}e.exports={\"[]\":o(\"[]\"),\"][\":o(\"][\"),\">\":s(\">\"),\"<\":s(\"<\"),\"=\":s(\"=\")}},{\"../../constants/filter_ops\":666,\"fast-isnumeric\":213}],920:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i=n(\"contours.start\"),a=n(\"contours.end\"),o=!1===i||!1===a,s=r(\"contours.size\");!(o?e.autocontour=!0:r(\"autocontour\",!1))&&s||r(\"ncontours\")}},{}],921:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths)})}e.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case\"=\":case\"<\":return t;case\">\":for(1!==t.length&&n.warn(\"Contour data invalid for the specified inequality operation.\"),a=t[0],r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);return t;case\"][\":var c=s;s=l,l=c;case\"[]\":for(2!==t.length&&n.warn(\"Contour data invalid for the specified inequality range operation.\"),a=i(t[0]),o=i(t[1]),r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(;o.edgepaths.length;)a.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)a.paths.push(l(o.paths.shift()));return[a]}}},{\"../../lib\":693}],922:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../heatmap/xyz_defaults\"),a=t(\"./constraint_defaults\"),o=t(\"./contours_defaults\"),s=t(\"./style_defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}if(i(t,e,u,c)){u(\"text\");var f=\"constraint\"===u(\"contours.type\");u(\"connectgaps\",n.isArray1D(e.z)),f?a(t,e,u,c,r):(o(t,e,u,function(r){return n.coerce2(t,e,l,r)}),s(t,e,u,c))}else e.visible=!1}},{\"../../lib\":693,\"../heatmap/xyz_defaults\":957,\"./attributes\":913,\"./constraint_defaults\":918,\"./contours_defaults\":920,\"./style_defaults\":934}],923:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./constraint_mapping\"),a=t(\"./end_plus\");e.exports=function(t,e,r){for(var o=\"constraint\"===t.type?i[t._operation](t.value):t,s=o.size,l=[],c=a(o),u=r.trace._carpetTrace,f=u?{xaxis:u.aaxis,yaxis:u.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},h=o.start;h<c;h+=s)if(l.push(n.extendFlat({level:h,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},f)),l.length>1e3){n.warn(\"Too many contours, clipping at 1000\",t);break}return l}},{\"../../lib\":693,\"./constraint_mapping\":919,\"./end_plus\":924}],924:[function(t,e,r){\"use strict\";e.exports=function(t){return t.end+t.size/1e6}},{}],925:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./constants\");function a(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function o(t,e,r,o,l){var c,u=e.join(\",\"),f=u,h=t.crossings[f],p=function(t,e,r){var n=0,a=0;t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1;return[n,a]}(h,r,e),d=[s(t,e,[-p[0],-p[1]])],g=p.join(\",\"),m=t.z.length,v=t.z[0].length;for(c=0;c<1e4;c++){if(h>20?(h=i.CHOOSESADDLE[h][(p[0]||p[1])<0?0:1],t.crossings[f]=i.SADDLEREMAINDER[h]):delete t.crossings[f],!(p=i.NEWDELTA[h])){n.log(\"Found bad marching index:\",h,e,t.level);break}d.push(s(t,e,p)),e[0]+=p[0],e[1]+=p[1],a(d[d.length-1],d[d.length-2],o,l)&&d.pop(),f=e.join(\",\");var y=p[0]&&(e[0]<0||e[0]>v-2)||p[1]&&(e[1]<0||e[1]>m-2);if(f===u&&p.join(\",\")===g||r&&y)break;h=t.crossings[f]}1e4===c&&n.log(\"Infinite loop in contour?\");var x,b,_,w,k,M,A,T,S,E,C,L,z,P,O,I=a(d[0],d[d.length-1],o,l),D=0,R=.2*t.smoothing,B=[],F=0;for(c=1;c<d.length;c++)L=d[c],z=d[c-1],void 0,void 0,P=L[2]-z[2],O=L[3]-z[3],D+=A=Math.sqrt(P*P+O*O),B.push(A);var N=D/B.length*R;function j(t){return d[t%d.length]}for(c=d.length-2;c>=F;c--)if((x=B[c])<N){for(_=0,b=c-1;b>=F&&x+B[b]<N;b--)x+=B[b];if(I&&c===d.length-2)for(_=0;_<b&&x+B[_]<N;_++)x+=B[_];k=c-b+_+1,M=Math.floor((c+b+_+2)/2),w=I||c!==d.length-2?I||-1!==b?k%2?j(M):[(j(M)[0]+j(M+1)[0])/2,(j(M)[1]+j(M+1)[1])/2]:d[0]:d[d.length-1],d.splice(b+1,c-b+1,w),c=b+1,_&&(F=_),I&&(c===d.length-2?d[_]=d[d.length-1]:0===c&&(d[d.length-1]=d[0]))}for(d.splice(0,F),c=0;c<d.length;c++)d[c].length=2;if(!(d.length<2))if(I)d.pop(),t.paths.push(d);else{r||n.log(\"Unclosed interior contour?\",t.level,u,d.join(\"L\"));var V=!1;for(T=0;T<t.edgepaths.length;T++)if(E=t.edgepaths[T],!V&&a(E[0],d[d.length-1],o,l)){d.pop(),V=!0;var U=!1;for(S=0;S<t.edgepaths.length;S++)if(a((C=t.edgepaths[S])[C.length-1],d[0],o,l)){U=!0,d.shift(),t.edgepaths.splice(T,1),S===T?t.paths.push(d.concat(C)):(S>T&&S--,t.edgepaths[S]=C.concat(d,E));break}U||(t.edgepaths[T]=d.concat(E))}for(T=0;T<t.edgepaths.length&&!V;T++)a((E=t.edgepaths[T])[E.length-1],d[0],o,l)&&(d.shift(),t.edgepaths[T]=E.concat(d),V=!0);V||t.edgepaths.push(d)}}function s(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0),n+l,i]}var c=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-c)*t.y[i]+c*t.y[i+1],!0),n,i+c]}e.exports=function(t,e,r){var i,a,s,l;for(e=e||.01,r=r||.01,a=0;a<t.length;a++){for(s=t[a],l=0;l<s.starts.length;l++)o(s,s.starts[l],\"edge\",e,r);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,o(s,Object.keys(s.crossings)[0].split(\",\").map(Number),void 0,e,r);1e4===i&&n.log(\"Infinite loop in contour?\")}}},{\"../../lib\":693,\"./constants\":917}],926:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../heatmap/hover\");e.exports=function(t,e,r,a,o){var s=i(t,e,r,a,o,!0);return s&&s.forEach(function(t){var e=t.trace;\"constraint\"===e.contours.type&&(e.fillcolor&&n.opacity(e.fillcolor)?t.color=n.addOpacity(e.fillcolor,1):e.contours.showlines&&n.opacity(e.line.color)&&(t.color=n.addOpacity(e.line.color,1)))}),s}},{\"../../components/color\":567,\"../heatmap/hover\":949}],927:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\").plot,n.style=t(\"./style\"),n.colorbar=t(\"./colorbar\"),n.hoverPoints=t(\"./hover\"),n.moduleType=\"trace\",n.name=\"contour\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"./attributes\":913,\"./calc\":914,\"./colorbar\":916,\"./defaults\":922,\"./hover\":926,\"./plot\":931,\"./style\":933}],928:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r,i){if(i||(i={}),t(\"contours.showlabels\")){var a=e.font;n.coerceFont(t,\"contours.labelfont\",{family:a.family,size:a.size,color:r}),t(\"contours.labelformat\")}!1!==i.hasHover&&t(\"zhoverformat\")}},{\"../../lib\":693}],929:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/colorscale\"),a=t(\"./end_plus\");e.exports=function(t){var e=t.contours,r=e.start,o=a(e),s=e.size||1,l=Math.floor((o-r)/s)+1,c=\"lines\"===e.coloring?0:1;isFinite(s)||(s=1,l=1);var u,f,h=t.colorscale,p=h.length,d=new Array(p),g=new Array(p);if(\"heatmap\"===e.coloring){for(t.zauto&&!1===t.autocontour&&(t.zmin=r-s/2,t.zmax=t.zmin+l*s),f=0;f<p;f++)u=h[f],d[f]=u[0]*(t.zmax-t.zmin)+t.zmin,g[f]=u[1];var m=n.extent([t.zmin,t.zmax,e.start,e.start+s*(l-1)]),v=m[t.zmin<t.zmax?0:1],y=m[t.zmin<t.zmax?1:0];v!==t.zmin&&(d.splice(0,0,v),g.splice(0,0,Range[0])),y!==t.zmax&&(d.push(y),g.push(g[g.length-1]))}else for(f=0;f<p;f++)u=h[f],d[f]=(u[0]*(l+c-1)-c/2)*s+r,g[f]=u[1];return i.makeColorScaleFunc({domain:d,range:g},{noNumericCheck:!0})}},{\"../../components/colorscale\":582,\"./end_plus\":924,d3:147}],930:[function(t,e,r){\"use strict\";var n=t(\"./constants\");function i(t,e){var r=(e[0][0]>t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,a,o,s,l,c,u,f,h=t[0].z,p=h.length,d=h[0].length,g=2===p||2===d;for(r=0;r<p-1;r++)for(o=[],0===r&&(o=o.concat(n.BOTTOMSTART)),r===p-2&&(o=o.concat(n.TOPSTART)),e=0;e<d-1;e++)for(a=o.slice(),0===e&&(a=a.concat(n.LEFTSTART)),e===d-2&&(a=a.concat(n.RIGHTSTART)),s=e+\",\"+r,l=[[h[r][e],h[r][e+1]],[h[r+1][e],h[r+1][e+1]]],f=0;f<t.length;f++)(c=i((u=t[f]).level,l))&&(u.crossings[s]=c,-1!==a.indexOf(c)&&(u.starts.push([e,r]),g&&-1!==a.indexOf(c,a.indexOf(c)+1)&&u.starts.push([e,r])))}},{\"./constants\":917}],931:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../../plots/cartesian/set_convert\"),c=t(\"../heatmap/plot\"),u=t(\"./make_crossings\"),f=t(\"./find_all_paths\"),h=t(\"./empty_pathinfo\"),p=t(\"./convert_to_constraints\"),d=t(\"./close_boundaries\"),g=t(\"./constants\"),m=g.LABELOPTIMIZER;function v(t,e){var r,n,o,s,l,c,u,f=function(t,e){var r=t.prefixBoundary;if(void 0===r){var n=Math.min(t.z[0][0],t.z[0][1]);r=!t.edgepaths.length&&n>t.level}return r?\"M\"+e.join(\"L\")+\"Z\":\"\"}(t,e),h=0,p=t.edgepaths.map(function(t,e){return e}),d=!0;function g(t){return Math.abs(t[1]-e[2][1])<.01}function m(t){return Math.abs(t[0]-e[0][0])<.01}function v(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(c=a.smoothopen(t.edgepaths[h],t.smoothing),f+=d?c:c.replace(/^M/,\"L\"),p.splice(p.indexOf(h),1),r=t.edgepaths[h][t.edgepaths[h].length-1],s=-1,o=0;o<4;o++){if(!r){i.log(\"Missing end?\",h,t);break}for(u=r,Math.abs(u[1]-e[0][1])<.01&&!v(r)?n=e[1]:m(r)?n=e[0]:g(r)?n=e[3]:v(r)&&(n=e[2]),l=0;l<t.edgepaths.length;l++){var y=t.edgepaths[l][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-y[0])<.01&&(y[1]-r[1])*(n[1]-y[1])>=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):i.log(\"endpt to newendpt is not vert. or horz.\",r,n,y)}if(r=n,s>=0)break;f+=\"L\"+n}if(s===t.edgepaths.length){i.log(\"unclosed perimeter path\");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+=\"Z\")}for(h=0;h<t.paths.length;h++)f+=a.smoothclosed(t.paths[h],t.smoothing);return f}function y(t,e,r,n){var a=e.width/2,o=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*a,f=Math.sin(c)*a,h=(s>n.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(c)*o);if(h<1||p<1)return 1/0;var d=m.EDGECOST*(1/(h-1)+1/(p-1));d+=m.ANGLECOST*c*c;for(var g=s-u,v=l-f,y=s+u,x=l+f,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,k=Math.sin(_.theta)*_.width/2,M=2*i.segmentDistance(g,v,y,x,_.x-w,_.y-k,_.x+w,_.y+k)/(e.height+_.height),A=_.level===e.level,T=A?m.SAMELEVELDISTANCE:1;if(M<=T)return 1/0;d+=m.NEIGHBORCOST*(A?m.SAMELEVELFACTOR:1)/(M-T)}return d}r.plot=function(t,e,o,s){var l=e.xaxis,m=e.yaxis,y=t._fullLayout;i.makeTraceGroups(s,o,\"contour\").each(function(o){var s=n.select(this),x=o[0],b=x.trace,_=x.x,w=x.y,k=b.contours,M=h(k,e,x),A=i.ensureSingle(s,\"g\",\"heatmapcoloring\"),T=[];\"heatmap\"===k.coloring&&(b.zauto&&!1===b.autocontour&&(b._input.zmin=b.zmin=k.start-k.size/2,b._input.zmax=b.zmax=b.zmin+M.length*k.size),T=[o]),c(t,e,T,A),u(M),f(M);var S=l.c2p(_[0],!0),E=l.c2p(_[_.length-1],!0),C=m.c2p(w[0],!0),L=m.c2p(w[w.length-1],!0),z=[[S,L],[E,L],[E,C],[S,C]],P=M;\"constraint\"===k.type&&(P=p(M,k._operation),d(P,k._operation,z,b)),function(t,e,r){var n=i.ensureSingle(t,\"g\",\"contourbg\").selectAll(\"path\").data(\"fill\"===r.coloring?[0]:[]);n.enter().append(\"path\"),n.exit().remove(),n.attr(\"d\",\"M\"+e.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}(s,z,k),function(t,e,r,a){var o=i.ensureSingle(t,\"g\",\"contourfill\").selectAll(\"path\").data(\"fill\"===a.coloring||\"constraint\"===a.type&&\"=\"!==a._operation?e:[]);o.enter().append(\"path\"),o.exit().remove(),o.each(function(t){var e=v(t,r);e?n.select(this).attr(\"d\",e).style(\"stroke\",\"none\"):n.select(this).remove()})}(s,P,z,k),function(t,e,o,s,l,c){var u=i.ensureSingle(t,\"g\",\"contourlines\"),f=!1!==l.showlines,h=l.showlabels,p=f&&h,d=r.createLines(u,f||h,e),m=r.createLineClip(u,p,o._fullLayout._clips,s.trace.uid),v=t.selectAll(\"g.contourlabels\").data(h?[0]:[]);if(v.exit().remove(),v.enter().append(\"g\").classed(\"contourlabels\",!0),h){var y=[c],x=[];i.clearLocationCache();var b=r.labelFormatter(l,s.t.cb,o._fullLayout),_=a.tester.append(\"text\").attr(\"data-notex\",1).call(a.font,l.labelfont),w=e[0].xaxis._length,k=e[0].yaxis._length,M={left:Math.max(c[0][0],0),right:Math.min(c[2][0],w),top:Math.max(c[0][1],0),bottom:Math.min(c[2][1],k)};M.middle=(M.top+M.bottom)/2,M.center=(M.left+M.right)/2;var A=Math.sqrt(w*w+k*k),T=g.LABELDISTANCE*A/Math.max(1,e.length/g.LABELINCREASE);d.each(function(t){var e=r.calcTextOpts(t.level,b,_,o);n.select(this).selectAll(\"path\").each(function(){var t=i.getVisibleSegment(this,M,e.height/2);if(t&&!(t.len<(e.width+e.height)*g.LABELMIN))for(var n=Math.min(Math.ceil(t.len/T),g.LABELMAX),a=0;a<n;a++){var o=r.findBestTextLocation(this,t,e,x,M);if(!o)break;r.addLabelData(o,e,x,y)}})}),_.remove(),r.drawLabels(v,x,o,m,p?y:null)}h&&!f&&d.remove()}(s,M,t,x,k,z),function(t,e,r,n,o){var s=\"clip\"+n.trace.uid,l=r.selectAll(\"#\"+s).data(n.trace.connectgaps?[]:[0]);if(l.enter().append(\"clipPath\").classed(\"contourclip\",!0).attr(\"id\",s),l.exit().remove(),!1===n.trace.connectgaps){var c={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}(n),smoothing:0};u([c]),f([c]);var h=v(c,o),p=i.ensureSingle(l,\"path\",\"\");p.attr(\"d\",h)}else s=null;t.call(a.setClipUrl,s)}(s,e,y._clips,x,z)})},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(\"g.contourlevel\").data(e?r:[]);if(i.exit().remove(),i.enter().append(\"g\").classed(\"contourlevel\",!0),e){var o=i.selectAll(\"path.openline\").data(function(t){return t.pedgepaths||t.edgepaths});o.exit().remove(),o.enter().append(\"path\").classed(\"openline\",!0),o.attr(\"d\",function(t){return a.smoothopen(t,n)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",\"non-scaling-stroke\");var s=i.selectAll(\"path.closedline\").data(function(t){return t.ppaths||t.paths});s.exit().remove(),s.enter().append(\"path\").classed(\"closedline\",!0),s.attr(\"d\",function(t){return a.smoothclosed(t,n)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",\"non-scaling-stroke\")}return i},r.createLineClip=function(t,e,r,n){var i=e?\"clipline\"+n:null,o=r.selectAll(\"#\"+i).data(e?[0]:[]);return o.exit().remove(),o.enter().append(\"clipPath\").classed(\"contourlineclip\",!0).attr(\"id\",i),a.setClipUrl(t,i),o},r.labelFormatter=function(t,e,r){if(t.labelformat)return r._d3locale.numberFormat(t.labelformat);var n;if(e)n=e.axis;else{if(n={type:\"linear\",_id:\"ycontour\",showexponent:\"all\",exponentformat:\"B\"},\"constraint\"===t.type){var i=t.value;Array.isArray(i)?n.range=[i[0],i[i.length-1]]:n.range=[i,i]}else n.range=[t.start,t.end],n.nticks=(t.end-t.start)/t.size;n.range[0]===n.range[1]&&(n.range[1]+=n.range[0]||1),n.nticks||(n.nticks=1e3),l(n,r),s.prepTicks(n),n._tmin=null,n._tmax=null}return function(t){return s.tickText(n,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(o.convertToTspans,n);var s=a.bBox(r.node(),!0);return{text:i,width:s.width,height:s.height,level:t,dy:(s.top+s.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,a){var o,s,l,c,u,f=r.width;e.isClosed?(s=e.len/m.INITIALSEARCHPOINTS,o=e.min+s/2,l=e.max):(s=(e.len-f)/(m.INITIALSEARCHPOINTS+1),o=e.min+s+f/2,l=e.max-(s+f)/2);for(var h=1/0,p=0;p<m.ITERATIONS;p++){for(var d=o;d<l;d+=s){var g=i.getTextLocation(t,e.total,d,f),v=y(g,r,n,a);v<h&&(h=v,u=g,c=d)}if(h>2*m.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(h<=m.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),f=i*u,h=a*c,p=i*c,d=-a*u,g=[[o-f-h,s-p-d],[o+f-h,s+p-d],[o+f+h,s+p+d],[o-f+h,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},r.drawLabels=function(t,e,r,a,s){var l=t.selectAll(\"text\").data(e,function(t){return t.text+\",\"+t.x+\",\"+t.y+\",\"+t.theta});if(l.exit().remove(),l.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:\"rotate(\"+180*t.theta/Math.PI+\" \"+e+\" \"+i+\")\"}).call(o.convertToTspans,r)}),s){for(var c=\"\",u=0;u<s.length;u++)c+=\"M\"+s[u].join(\"L\")+\"Z\";i.ensureSingle(a,\"path\",\"\").attr(\"d\",c)}}},{\"../../components/drawing\":592,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../plots/cartesian/axes\":742,\"../../plots/cartesian/set_convert\":760,\"../heatmap/plot\":954,\"./close_boundaries\":915,\"./constants\":917,\"./convert_to_constraints\":921,\"./empty_pathinfo\":923,\"./find_all_paths\":925,\"./make_crossings\":930,d3:147}],932:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\");function a(t,e,r){var i={type:\"linear\",range:[t,e]};return n.autoTicks(i,(e-t)/(r||15)),i}e.exports=function(t){var e=t.contours;if(t.autocontour){var r=t.zmin,o=t.zmax;void 0!==r&&void 0!==o||(r=i.aggNums(Math.min,null,t._z),o=i.aggNums(Math.max,null,t._z));var s=a(r,o,t.ncontours);e.size=s.dtick,e.start=n.tickFirst(s),s.range.reverse(),e.end=n.tickFirst(s),e.start===r&&(e.start+=e.size),e.end===o&&(e.end-=e.size),e.start>e.end&&(e.start=e.end=(e.start+e.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:e.start,end:e.end,size:e.size}),t._input.autocontour=!0}else if(\"constraint\"!==e.type){var l,c=e.start,u=e.end,f=t._input.contours;if(c>u&&(e.start=f.start=u,u=e.end=f.end=c,c=e.start),!(e.size>0))l=c===u?1:a(c,u,t.ncontours).dtick,f.size=e.size=l}}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742}],933:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../heatmap/style\"),o=t(\"./make_color_map\");e.exports=function(t){var e=n.select(t).selectAll(\"g.contour\");e.style(\"opacity\",function(t){return t[0].trace.opacity}),e.each(function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u=\"constraint\"===a.type,f=!u&&\"lines\"===a.coloring,h=!u&&\"fill\"===a.coloring,p=f||h?o(r):null;e.selectAll(\"g.contourlevel\").each(function(t){n.select(this).selectAll(\"path\").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)});var d=a.labelfont;if(e.selectAll(\"g.contourlabels text\").each(function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})}),u)e.selectAll(\"g.contourfill path\").style(\"fill\",r.fillcolor);else if(h){var g;e.selectAll(\"g.contourfill path\").style(\"fill\",function(t){return void 0===g&&(g=t.level),p(t.level+.5*l)}),void 0===g&&(g=c),e.selectAll(\"g.contourbg path\").style(\"fill\",p(g-.5*l))}}),a(t)}},{\"../../components/drawing\":592,\"../heatmap/style\":955,\"./make_color_map\":929,d3:147}],934:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/defaults\"),i=t(\"./label_defaults\");e.exports=function(t,e,r,a,o){var s,l=r(\"contours.coloring\"),c=\"\";\"fill\"===l&&(s=r(\"contours.showlines\")),!1!==s&&(\"lines\"!==l&&(c=r(\"line.color\",\"#000\")),r(\"line.width\",.5),r(\"line.dash\")),\"none\"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:\"\",cLetter:\"z\"})),r(\"line.smoothing\"),i(r,a,c,o)}},{\"../../components/colorscale/defaults\":577,\"./label_defaults\":928}],935:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/attributes\"),i=t(\"../contour/attributes\"),a=i.contours,o=t(\"../scatter/attributes\"),s=t(\"../../components/colorscale/attributes\"),l=t(\"../../components/colorbar/attributes\"),c=t(\"../../lib/extend\").extendFlat,u=o.line;e.exports=c({carpet:{valType:\"string\",editType:\"calc\"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:a.type,start:a.start,end:a.end,size:a.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:a.operation,value:a.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:c({},u.color,{}),width:u.width,dash:u.dash,smoothing:c({},u.smoothing,{}),editType:\"plot\"}},s(\"\",{cLetter:\"z\",autoColorDflt:!1}),{colorbar:l})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../contour/attributes\":913,\"../heatmap/attributes\":942,\"../scatter/attributes\":1032}],936:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\"),i=t(\"../../lib\").isArray1D,a=t(\"../heatmap/convert_column_xyz\"),o=t(\"../heatmap/clean_2d_array\"),s=t(\"../heatmap/max_row_length\"),l=t(\"../heatmap/interp2d\"),c=t(\"../heatmap/find_empties\"),u=t(\"../heatmap/make_bound_array\"),f=t(\"./defaults\"),h=t(\"../carpet/lookup_carpetid\"),p=t(\"../contour/set_contours\");e.exports=function(t,e){var r=e._carpetTrace=h(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){if(!e.a||!e.b){var d=t.data[r.index],g=t.data[e.index];g.a||(g.a=d.a),g.b||(g.b=d.b),f(g,e,e._defaultColor,t._fullLayout)}var m=function(t,e){var r,f,h,p,d,g,m,v=e._carpetTrace,y=v.aaxis,x=v.baxis;y._minDtick=0,x._minDtick=0,i(e.z)&&a(e,y,x,\"a\",\"b\",[\"z\"]);r=e._a=e._a||e.a,p=e._b=e._b||e.b,r=r?y.makeCalcdata(e,\"_a\"):[],p=p?x.makeCalcdata(e,\"_b\"):[],f=e.a0||0,h=e.da||1,d=e.b0||0,g=e.db||1,m=e._z=o(e._z||e.z,e.transpose),e._emptypoints=c(m),l(m,e._emptypoints);var b=s(m),_=\"scaled\"===e.xtype?\"\":r,w=u(e,_,f,h,b,y),k=\"scaled\"===e.ytype?\"\":p,M=u(e,k,d,g,m.length,x),A={a:w,b:M,z:m};\"levels\"===e.contours.type&&\"none\"!==e.contours.coloring&&n(e,m,\"\",\"z\");return[A]}(0,e);return p(e),m}}},{\"../../components/colorscale/calc\":575,\"../../lib\":693,\"../carpet/lookup_carpetid\":891,\"../contour/set_contours\":932,\"../heatmap/clean_2d_array\":944,\"../heatmap/convert_column_xyz\":946,\"../heatmap/find_empties\":948,\"../heatmap/interp2d\":951,\"../heatmap/make_bound_array\":952,\"../heatmap/max_row_length\":953,\"./defaults\":937}],937:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../heatmap/xyz_defaults\"),a=t(\"./attributes\"),o=t(\"../contour/constraint_defaults\"),s=t(\"../contour/contours_defaults\"),l=t(\"../contour/style_defaults\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,a,r,i)}if(u(\"carpet\"),t.a&&t.b){if(!i(t,e,u,c,\"a\",\"b\"))return void(e.visible=!1);u(\"text\"),\"constraint\"===u(\"contours.type\")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,function(r){return n.coerce2(t,e,a,r)}),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{\"../../lib\":693,\"../contour/constraint_defaults\":918,\"../contour/contours_defaults\":920,\"../contour/style_defaults\":934,\"../heatmap/xyz_defaults\":957,\"./attributes\":935}],938:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../contour/colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"../contour/style\"),n.moduleType=\"trace\",n.name=\"contourcarpet\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"../contour/colorbar\":916,\"../contour/style\":933,\"./attributes\":935,\"./calc\":936,\"./defaults\":937,\"./plot\":941}],939:[function(t,e,r){\"use strict\";var n=t(\"../../components/drawing\"),i=t(\"../carpet/axis_aligned_line\"),a=t(\"../../lib\");e.exports=function(t,e,r,o,s,l,c,u){var f,h,p,d,g,m,v,y=\"\",x=e.edgepaths.map(function(t,e){return e}),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function k(t){return Math.abs(t[1]-r[0][1])<w}function M(t){return Math.abs(t[1]-r[2][1])<w}function A(t){return Math.abs(t[0]-r[0][0])<_}function T(t){return Math.abs(t[0]-r[2][0])<_}function S(t,e){var r,n,a,o,f=\"\";for(k(t)&&!T(t)||M(t)&&!A(t)?(o=s.aaxis,a=i(s,l,[t[0],e[0]],.5*(t[1]+e[1]))):(o=s.baxis,a=i(s,l,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<a.length;r++)for(f+=o.smoothing?\"C\":\"L\",n=0;n<a[r].length;n++){var h=a[r][n];f+=[c.c2p(h[0]),u.c2p(h[1])]+\" \"}return f}for(f=0,h=null;x.length;){var E=e.edgepaths[f][0];for(h&&(y+=S(h,E)),v=n.smoothopen(e.edgepaths[f].map(o),e.smoothing),y+=b?v:v.replace(/^M/,\"L\"),x.splice(x.indexOf(f),1),h=e.edgepaths[f][e.edgepaths[f].length-1],g=-1,d=0;d<4;d++){if(!h){a.log(\"Missing end?\",f,e);break}for(k(h)&&!T(h)?p=r[1]:A(h)?p=r[0]:M(h)?p=r[3]:T(h)&&(p=r[2]),m=0;m<e.edgepaths.length;m++){var C=e.edgepaths[m][0];Math.abs(h[0]-p[0])<_?Math.abs(h[0]-C[0])<_&&(C[1]-h[1])*(p[1]-C[1])>=0&&(p=C,g=m):Math.abs(h[1]-p[1])<w?Math.abs(h[1]-C[1])<w&&(C[0]-h[0])*(p[0]-C[0])>=0&&(p=C,g=m):a.log(\"endpt to newendpt is not vert. or horz.\",h,p,C)}if(g>=0)break;y+=S(h,p),h=p}if(g===e.edgepaths.length){a.log(\"unclosed perimeter path\");break}f=g,(b=-1===x.indexOf(f))&&(f=x[0],y+=S(h,p)+\"Z\",h=null)}for(f=0;f<e.paths.length;f++)y+=n.smoothclosed(e.paths[f].map(o),e.smoothing);return y}},{\"../../components/drawing\":592,\"../../lib\":693,\"../carpet/axis_aligned_line\":875}],940:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r<t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(u=a.edgepaths[n],l=[],i=0;i<u.length;i++)l[i]=e(u[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(u=a.paths[n],c=[],i=0;i<u.length;i++)c[i]=e(u[i]);s.push(c)}}}},{}],941:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../carpet/map_1d_array\"),a=t(\"../carpet/makepath\"),o=t(\"../../components/drawing\"),s=t(\"../../lib\"),l=t(\"../contour/make_crossings\"),c=t(\"../contour/find_all_paths\"),u=t(\"../contour/plot\"),f=t(\"../contour/constants\"),h=t(\"../contour/convert_to_constraints\"),p=t(\"./join_all_paths\"),d=t(\"../contour/empty_pathinfo\"),g=t(\"./map_pathinfo\"),m=t(\"../carpet/lookup_carpetid\"),v=t(\"../contour/close_boundaries\");function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function x(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function b(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}e.exports=function(t,e,r,_){var w=e.xaxis,k=e.yaxis;s.makeTraceGroups(_,r,\"contour\").each(function(r){var _=n.select(this),M=r[0],A=M.trace,T=A._carpetTrace=m(t,A),S=t.calcdata[T.index][0];if(T.visible&&\"legendonly\"!==T.visible){var E=M.a,C=M.b,L=A.contours,z=d(L,e,M),P=\"constraint\"===L.type,O=L._operation,I=P?\"=\"===O?\"lines\":\"fill\":L.coloring,D=[[E[0],C[C.length-1]],[E[E.length-1],C[C.length-1]],[E[E.length-1],C[0]],[E[0],C[0]]];l(z);var R=1e-8*(E[E.length-1]-E[0]),B=1e-8*(C[C.length-1]-C[0]);c(z,R,B);var F,N,j,V,U=z;\"constraint\"===L.type&&(U=h(z,O),v(U,O,D,A)),g(z,G);var q=[];for(V=S.clipsegments.length-1;V>=0;V--)F=S.clipsegments[V],N=i([],F.x,w.c2p),j=i([],F.y,k.c2p),N.reverse(),j.reverse(),q.push(a(N,j,F.bicubic));var H=\"M\"+q.join(\"L\")+\"Z\";!function(t,e,r,n,o,l){var c,u,f,h,p=s.ensureSingle(t,\"g\",\"contourbg\").selectAll(\"path\").data(\"fill\"!==l||o?[]:[0]);p.enter().append(\"path\"),p.exit().remove();var d=[];for(h=0;h<e.length;h++)c=e[h],u=i([],c.x,r.c2p),f=i([],c.y,n.c2p),d.push(a(u,f,c.bicubic));p.attr(\"d\",\"M\"+d.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}(_,S.clipsegments,w,k,P,I),function(t,e,r,i,a,o,l,c,u,f,h){var d=s.ensureSingle(e,\"g\",\"contourfill\").selectAll(\"path\").data(\"fill\"===f?a:[]);d.enter().append(\"path\"),d.exit().remove(),d.each(function(e){var a=p(t,e,o,l,c,u,r,i);e.prefixBoundary&&(a=h+a),a?n.select(this).attr(\"d\",a).style(\"stroke\",\"none\"):n.select(this).remove()})}(A,_,w,k,U,D,G,T,S,I,H),function(t,e,r,i,a,l,c){var h=s.ensureSingle(t,\"g\",\"contourlines\"),p=!1!==a.showlines,d=a.showlabels,g=p&&d,m=u.createLines(h,p||d,e),v=u.createLineClip(h,g,r._fullLayout._defs,i.trace.uid),_=t.selectAll(\"g.contourlabels\").data(d?[0]:[]);if(_.exit().remove(),_.enter().append(\"g\").classed(\"contourlabels\",!0),d){var w=l.xaxis,k=l.yaxis,M=w._length,A=k._length,T=[[[0,0],[M,0],[M,A],[0,A]]],S=[];s.clearLocationCache();var E=u.labelFormatter(a,i.t.cb,r._fullLayout),C=o.tester.append(\"text\").attr(\"data-notex\",1).call(o.font,a.labelfont),L={left:0,right:M,center:M/2,top:0,bottom:A,middle:A/2},z=Math.sqrt(M*M+A*A),P=f.LABELDISTANCE*z/Math.max(1,e.length/f.LABELINCREASE);m.each(function(t){var e=u.calcTextOpts(t.level,E,C,r);n.select(this).selectAll(\"path\").each(function(r){var n=s.getVisibleSegment(this,L,e.height/2);if(n&&(function(t,e,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],c=i.a[i.a.length-1],u=i.b[0],f=i.b[i.b.length-1];function h(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-c)<.1)&&(r=x(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*b(e,r)/2)),(Math.abs(t[1]-u)<.1||Math.abs(t[1]-f)<.1)&&(r=x(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*b(e,r)/2)),n}var p=y(t,0,1),d=y(t,n.total,n.total-1),g=h(o[0],p),m=n.total-h(o[o.length-1],d);n.min<g&&(n.min=g);n.max>m&&(n.max=m);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*f.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/P),f.LABELMAX),a=0;a<i;a++){var o=u.findBestTextLocation(this,n,e,S,L);if(!o)break;u.addLabelData(o,e,S,T)}})}),C.remove(),u.drawLabels(_,S,r,v,g?T:null)}d&&!p&&m.remove()}(_,z,t,M,L,e,T),o.setClipUrl(_,T._clipPathId)}function G(t){var e=T.ab2xy(t[0],t[1],!0);return[w.c2p(e[0]),k.c2p(e[1])]}})}},{\"../../components/drawing\":592,\"../../lib\":693,\"../carpet/lookup_carpetid\":891,\"../carpet/makepath\":892,\"../carpet/map_1d_array\":893,\"../contour/close_boundaries\":915,\"../contour/constants\":917,\"../contour/convert_to_constraints\":921,\"../contour/empty_pathinfo\":923,\"../contour/find_all_paths\":925,\"../contour/make_crossings\":930,\"../contour/plot\":931,\"./join_all_paths\":939,\"./map_pathinfo\":940,d3:147}],942:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../lib/extend\").extendFlat;e.exports=o({z:{valType:\"data_array\",editType:\"calc\"},x:o({},n.x,{impliedEdits:{xtype:\"array\"}}),x0:o({},n.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:o({},n.dx,{impliedEdits:{xtype:\"scaled\"}}),y:o({},n.y,{impliedEdits:{ytype:\"array\"}}),y0:o({},n.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:o({},n.dy,{impliedEdits:{ytype:\"scaled\"}}),text:{valType:\"data_array\",editType:\"calc\"},transpose:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xtype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},ytype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",\"best\",!1],dflt:!1,editType:\"calc\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xgap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},ygap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},zhoverformat:{valType:\"string\",dflt:\"\",editType:\"none\"}},i(\"\",{cLetter:\"z\",autoColorDflt:!1}),{colorbar:a})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../scatter/attributes\":1032}],943:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../histogram2d/calc\"),s=t(\"../../components/colorscale/calc\"),l=t(\"./convert_column_xyz\"),c=t(\"./max_row_length\"),u=t(\"./clean_2d_array\"),f=t(\"./interp2d\"),h=t(\"./find_empties\"),p=t(\"./make_bound_array\");e.exports=function(t,e){var r,d,g,m,v,y,x,b,_,w=a.getFromId(t,e.xaxis||\"x\"),k=a.getFromId(t,e.yaxis||\"y\"),M=n.traceIs(e,\"contour\"),A=n.traceIs(e,\"histogram\"),T=n.traceIs(e,\"gl2d\"),S=M?\"best\":e.zsmooth;if(w._minDtick=0,k._minDtick=0,A)r=(_=o(t,e)).x,d=_.x0,g=_.dx,m=_.y,v=_.y0,y=_.dy,x=_.z;else{var E=e.z;i.isArray1D(E)?(l(e,w,k,\"x\",\"y\",[\"z\"]),r=e._x,m=e._y,E=e._z):(r=e.x?w.makeCalcdata(e,\"x\"):[],m=e.y?k.makeCalcdata(e,\"y\"):[]),d=e.x0||0,g=e.dx||1,v=e.y0||0,y=e.dy||1,x=u(E,e.transpose),(M||e.connectgaps)&&(e._emptypoints=h(x),f(x,e._emptypoints))}function C(t){S=e._input.zsmooth=e.zsmooth=!1,i.warn('cannot use zsmooth: \"fast\": '+t)}if(\"fast\"===S)if(\"log\"===w.type||\"log\"===k.type)C(\"log axis found\");else if(!A){if(r.length){var L=(r[r.length-1]-r[0])/(r.length-1),z=Math.abs(L/100);for(b=0;b<r.length-1;b++)if(Math.abs(r[b+1]-r[b]-L)>z){C(\"x scale is not linear\");break}}if(m.length&&\"fast\"===S){var P=(m[m.length-1]-m[0])/(m.length-1),O=Math.abs(P/100);for(b=0;b<m.length-1;b++)if(Math.abs(m[b+1]-m[b]-P)>O){C(\"y scale is not linear\");break}}}var I=c(x),D=\"scaled\"===e.xtype?\"\":r,R=p(e,D,d,g,I,w),B=\"scaled\"===e.ytype?\"\":m,F=p(e,B,v,y,x.length,k);T||(e._extremes[w._id]=a.findExtremes(w,R),e._extremes[k._id]=a.findExtremes(k,F));var N={x:R,y:F,z:x,text:e._text||e.text};if(D&&D.length===R.length-1&&(N.xCenter=D),B&&B.length===F.length-1&&(N.yCenter=B),A&&(N.xRanges=_.xRanges,N.yRanges=_.yRanges,N.pts=_.pts),M&&\"constraint\"===e.contours.type||s(e,x,\"\",\"z\"),M&&e.contours&&\"heatmap\"===e.contours.coloring){var j={type:\"contour\"===e.type?\"heatmap\":\"histogram2d\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};N.xfill=p(j,D,d,g,I,w),N.yfill=p(j,B,v,y,x.length,k)}return[N]}},{\"../../components/colorscale/calc\":575,\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"../histogram2d/calc\":974,\"./clean_2d_array\":944,\"./convert_column_xyz\":946,\"./find_empties\":948,\"./interp2d\":951,\"./make_bound_array\":952,\"./max_row_length\":953}],944:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t,e){var r,i,a,o,s,l;function c(t){if(n(t))return+t}if(e){for(r=0,s=0;s<t.length;s++)r=Math.max(r,t[s].length);if(0===r)return!1;a=function(t){return t.length},o=function(t,e,r){return t[r][e]}}else r=t.length,a=function(t,e){return t[e].length},o=function(t,e,r){return t[e][r]};var u=new Array(r);for(s=0;s<r;s++)for(i=a(t,s),u[s]=new Array(i),l=0;l<i;l++)u[s][l]=c(o(t,s,l));return u}},{\"fast-isnumeric\":213}],945:[function(t,e,r){\"use strict\";e.exports={min:\"zmin\",max:\"zmax\"}},{}],946:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r,a,o,s){var l,c,u,f=t._length,h=t[a].slice(0,f),p=t[o].slice(0,f),d=t.text,g=void 0!==d&&n.isArray1D(d),m=t[a+\"calendar\"],v=t[o+\"calendar\"];for(l=0;l<f;l++)h[l]=e.d2c(h[l],0,m),p[l]=r.d2c(p[l],0,v);var y,x,b,_=n.distinctVals(h),w=_.vals,k=n.distinctVals(p),M=k.vals,A=[];for(l=0;l<s.length;l++)A[l]=n.init2dArray(M.length,w.length);for(g&&(b=n.init2dArray(M.length,w.length)),l=0;l<f;l++)if(h[l]!==i&&p[l]!==i){for(y=n.findBin(h[l]+_.minDiff/2,w),x=n.findBin(p[l]+k.minDiff/2,M),c=0;c<s.length;c++)u=t[s[c]],A[c][x][y]=u[l];g&&(b[x][y]=d[l])}for(t[\"_\"+a]=w,t[\"_\"+o]=M,c=0;c<s.length;c++)t[\"_\"+s[c]]=A[c];g&&(t._text=b)}},{\"../../constants/numerical\":670,\"../../lib\":693}],947:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./xyz_defaults\"),a=t(\"./style_defaults\"),o=t(\"../../components/colorscale/defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l)?(c(\"text\"),a(t,e,c,l),c(\"connectgaps\",n.isArray1D(e.z)&&!1!==e.zsmooth),o(t,e,l,c,{prefix:\"\",cLetter:\"z\"})):e.visible=!1}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"./attributes\":942,\"./style_defaults\":956,\"./xyz_defaults\":957}],948:[function(t,e,r){\"use strict\";var n=t(\"./max_row_length\");e.exports=function(t){var e,r,i,a,o,s,l,c,u=[],f={},h=[],p=t[0],d=[],g=[0,0,0],m=n(t);for(r=0;r<t.length;r++)for(e=d,d=p,p=t[r+1]||[],i=0;i<m;i++)void 0===d[i]&&((s=(void 0!==d[i-1]?1:0)+(void 0!==d[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==p[i]?1:0))?(0===r&&s++,0===i&&s++,r===t.length-1&&s++,i===d.length-1&&s++,s<4&&(f[[r,i]]=[r,i,s]),u.push([r,i,s])):h.push([r,i]));for(;h.length;){for(l={},c=!1,o=h.length-1;o>=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||g)[2]+(f[[r+1,i]]||g)[2]+(f[[r,i-1]]||g)[2]+(f[[r,i+1]]||g)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw\"findEmpties iterated with no new neighbors\";for(a in l)f[a]=l[a],u.push(l[a])}return u.sort(function(t,e){return e[2]-t[2]})}},{\"./max_row_length\":953}],949:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r,o,s,l){var c,u,f,h,p=t.cd[0],d=p.trace,g=t.xa,m=t.ya,v=p.x,y=p.y,x=p.z,b=p.xCenter,_=p.yCenter,w=p.zmask,k=[d.zmin,d.zmax],M=d.zhoverformat,A=v,T=y;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index)}if(f<0||f>=x[0].length||h<0||h>x.length)return}else{if(n.inbox(e-v[0],e-v[v.length-1],0)>0||n.inbox(r-y[0],r-y[y.length-1],0)>0)return;if(l){var S;for(A=[2*v[0]-v[1]],S=1;S<v.length;S++)A.push((v[S]+v[S-1])/2);for(A.push([2*v[v.length-1]-v[v.length-2]]),T=[2*y[0]-y[1]],S=1;S<y.length;S++)T.push((y[S]+y[S-1])/2);T.push([2*y[y.length-1]-y[y.length-2]])}f=Math.max(0,Math.min(A.length-2,i.findBin(e,A))),h=Math.max(0,Math.min(T.length-2,i.findBin(r,T)))}var E=g.c2p(v[f]),C=g.c2p(v[f+1]),L=m.c2p(y[h]),z=m.c2p(y[h+1]);l?(C=E,c=v[f],z=L,u=y[h]):(c=b?b[f]:(v[f]+v[f+1])/2,u=_?_[h]:(y[h]+y[h+1])/2,d.zsmooth&&(E=C=g.c2p(c),L=z=m.c2p(u)));var P,O,I=x[h][f];w&&!w[h][f]&&(I=void 0),Array.isArray(p.text)&&Array.isArray(p.text[h])&&(P=p.text[h][f]);var D={type:\"linear\",range:k,hoverformat:M,_separators:g._separators,_numFormat:g._numFormat};return O=a.tickText(D,I,\"hover\").text,[i.extendFlat(t,{index:[h,f],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:E,x1:C,y0:L,y1:z,xLabelVal:c,yLabelVal:u,zLabelVal:I,zLabel:O,text:P})]}},{\"../../components/fx\":609,\"../../lib\":693,\"../../plots/cartesian/axes\":742}],950:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.colorbar=t(\"./colorbar\"),n.style=t(\"./style\"),n.hoverPoints=t(\"./hover\"),n.moduleType=\"trace\",n.name=\"heatmap\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"2dMap\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"./attributes\":942,\"./calc\":943,\"./colorbar\":945,\"./defaults\":947,\"./hover\":949,\"./plot\":954,\"./style\":955}],951:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=[[-1,0],[1,0],[0,-1],[0,1]];function a(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,a,o,s,l,c,u,f,h,p,d,g,m,v=0;for(s=0;s<e.length;s++){for(a=(n=e[s])[0],o=n[1],d=t[a][o],p=0,h=0,l=0;l<4;l++)(u=t[a+(c=i[l])[0]])&&void 0!==(f=u[o+c[1]])&&(0===p?g=m=f:(g=Math.min(g,f),m=Math.max(m,f)),h++,p+=f);if(0===h)throw\"iterateInterp2d order is wrong: no defined neighbors\";t[a][o]=p/h,void 0===d?h<4&&(v=1):(t[a][o]=(1+r)*t[a][o]-r*d,m>g&&(v=Math.max(v,Math.abs(t[a][o]-d)/(m-g))))}return v}e.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r<e.length&&!(e[r][2]<4);r++);for(e=e.slice(r),r=0;r<100&&i>.01;r++)i=o(t,e,a(i));return i>.01&&n.log(\"interp2d didn't converge quickly\",i),t}},{\"../../lib\":693}],952:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,a,o,s){var l,c,u,f=[],h=n.traceIs(t,\"contour\"),p=n.traceIs(t,\"histogram\"),d=n.traceIs(t,\"gl2d\");if(i(e)&&e.length>1&&!p&&\"category\"!==s.type){var g=e.length;if(!(g<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],u=1;u<g;u++)f.push(.5*(e[u-1]+e[u]));f.push(1.5*e[g-1]-.5*e[g-2])}if(g<o){var m=f[f.length-1],v=m-f[f.length-2];for(u=g;u<o;u++)m+=v,f.push(m)}}else{c=a||1;var y=t[s._id.charAt(0)+\"calendar\"];for(l=p||\"category\"===s.type?s.r2c(r,0,y)||0:i(e)&&1===e.length?e[0]:void 0===r?0:s.d2c(r,0,y),u=h||d?0:-.5;u<o;u++)f.push(l+c*u)}return f}},{\"../../lib\":693,\"../../registry\":825}],953:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,t[r].length);return e}},{}],954:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"../../registry\"),o=t(\"../../lib\"),s=t(\"../../components/colorscale\"),l=t(\"../../constants/xmlns_namespaces\"),c=t(\"./max_row_length\");function u(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=e[n+1],s=o.constrain(n+(t-i)/(a-i)-.5,0,r),l=Math.round(s),c=Math.abs(s-l);return s&&s!==r&&c?{bin0:l,frac:c,bin1:Math.round(l+c/(s-l))}:{bin0:l,bin1:l,frac:0}}function f(t,e){var r=e.length-1,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=(t-i)/(e[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function h(t,e,r){t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=Math.round(255*r[3])}e.exports=function(t,e,r,p){var d=e.xaxis,g=e.yaxis;o.makeTraceGroups(p,r,\"hm\").each(function(e){var r,p,m,v,y,x,b=n.select(this),_=e[0],w=_.trace,k=_.z,M=_.x,A=_.y,T=_.xCenter,S=_.yCenter,E=a.traceIs(w,\"contour\"),C=E?\"best\":w.zsmooth,L=k.length,z=c(k),P=!1,O=!1;for(x=0;void 0===r&&x<M.length-1;)r=d.c2p(M[x]),x++;for(x=M.length-1;void 0===p&&x>0;)p=d.c2p(M[x]),x--;for(p<r&&(m=p,p=r,r=m,P=!0),x=0;void 0===v&&x<A.length-1;)v=g.c2p(A[x]),x++;for(x=A.length-1;void 0===y&&x>0;)y=g.c2p(A[x]),x--;if(y<v&&(m=v,v=y,y=m,O=!0),E&&(T=M,S=A,M=_.xfill,A=_.yfill),\"fast\"!==C){var I=\"best\"===C?0:.5;r=Math.max(-I*d._length,r),p=Math.min((1+I)*d._length,p),v=Math.max(-I*g._length,v),y=Math.min((1+I)*g._length,y)}var D=Math.round(p-r),R=Math.round(y-v);if(D<=0||R<=0){b.selectAll(\"image\").data([]).exit().remove()}else{var B,F;\"fast\"===C?(B=z,F=L):(B=D,F=R);var N=document.createElement(\"canvas\");N.width=B,N.height=F;var j,V,U=N.getContext(\"2d\"),q=s.makeColorScaleFunc(s.extractScale(w.colorscale,w.zmin,w.zmax),{noNumericCheck:!0,returnArray:!0});\"fast\"===C?(j=P?function(t){return z-1-t}:o.identity,V=O?function(t){return L-1-t}:o.identity):(j=function(t){return o.constrain(Math.round(d.c2p(M[t])-r),0,D)},V=function(t){return o.constrain(Math.round(g.c2p(A[t])-v),0,R)});var H,G,W,Y,X,Z=V(0),$=[Z,Z],J=P?0:1,K=O?0:1,Q=0,tt=0,et=0,rt=0;if(C){var nt,it=0;try{nt=new Uint8Array(D*R*4)}catch(t){nt=new Array(D*R*4)}if(\"best\"===C){var at,ot,st,lt=T||M,ct=S||A,ut=new Array(lt.length),ft=new Array(ct.length),ht=new Array(D),pt=T?f:u,dt=S?f:u;for(x=0;x<lt.length;x++)ut[x]=Math.round(d.c2p(lt[x])-r);for(x=0;x<ct.length;x++)ft[x]=Math.round(g.c2p(ct[x])-v);for(x=0;x<D;x++)ht[x]=pt(x,ut);for(G=0;G<R;G++)for(ot=k[(at=dt(G,ft)).bin0],st=k[at.bin1],x=0;x<D;x++,it+=4)h(nt,it,X=At(ot,st,ht[x],at))}else for(G=0;G<L;G++)for(Y=k[G],$=V(G),x=0;x<D;x++)X=Mt(Y[x],1),h(nt,it=4*($*D+j(x)),X);var gt=U.createImageData(D,R);try{gt.data.set(nt)}catch(t){var mt=gt.data,vt=mt.length;for(G=0;G<vt;G++)mt[G]=nt[G]}U.putImageData(gt,0,0)}else{var yt=w.xgap,xt=w.ygap,bt=Math.floor(yt/2),_t=Math.floor(xt/2);for(G=0;G<L;G++)if(Y=k[G],$.reverse(),$[K]=V(G+1),$[0]!==$[1]&&void 0!==$[0]&&void 0!==$[1])for(H=[W=j(0),W],x=0;x<z;x++)H.reverse(),H[J]=j(x+1),H[0]!==H[1]&&void 0!==H[0]&&void 0!==H[1]&&(X=Mt(Y[x],(H[1]-H[0])*($[1]-$[0])),U.fillStyle=\"rgba(\"+X.join(\",\")+\")\",U.fillRect(H[0]+bt,$[0]+_t,H[1]-H[0]-yt,$[1]-$[0]-xt))}tt=Math.round(tt/Q),et=Math.round(et/Q),rt=Math.round(rt/Q);var wt=i(\"rgb(\"+tt+\",\"+et+\",\"+rt+\")\");t._hmpixcount=(t._hmpixcount||0)+Q,t._hmlumcount=(t._hmlumcount||0)+Q*wt.getLuminance();var kt=b.selectAll(\"image\").data(e);kt.enter().append(\"svg:image\").attr({xmlns:l.svg,preserveAspectRatio:\"none\"}),kt.attr({height:R,width:D,x:r,y:v,\"xlink:href\":N.toDataURL(\"image/png\")})}function Mt(t,e){if(void 0!==t){var r=q(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),Q+=e,tt+=r[0]*e,et+=r[1]*e,rt+=r[2]*e,r}return[0,0,0,0]}function At(t,e,r,n){var i=t[r.bin0];if(void 0===i)return Mt(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],c=o-i||0,u=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,Mt(i+r.frac*c+n.frac*(u+r.frac*a))}})}},{\"../../components/colorscale\":582,\"../../constants/xmlns_namespaces\":671,\"../../lib\":693,\"../../registry\":825,\"./max_row_length\":953,d3:147,tinycolor2:511}],955:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports=function(t){n.select(t).selectAll(\".hm image\").style(\"opacity\",function(t){return t.trace.opacity})}},{d3:147}],956:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){!1===r(\"zsmooth\")&&(r(\"xgap\"),r(\"ygap\")),r(\"zhoverformat\")}},{}],957:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../registry\");function o(t,e){var r=e(t);return\"scaled\"===(r?e(t+\"type\",\"array\"):\"scaled\")&&(e(t+\"0\"),e(\"d\"+t)),r}e.exports=function(t,e,r,s,l,c){var u,f,h=r(\"z\");if(l=l||\"x\",c=c||\"y\",void 0===h||!h.length)return 0;if(i.isArray1D(t.z)){if(u=r(l),f=r(c),!(u&&u.length&&f&&f.length))return 0;e._length=Math.min(u.length,f.length,h.length)}else{if(u=o(l,r),f=o(c,r),!function(t){for(var e,r=!0,a=!1,o=!1,s=0;s<t.length;s++){if(e=t[s],!i.isArrayOrTypedArray(e)){r=!1;break}e.length>0&&(a=!0);for(var l=0;l<e.length;l++)if(n(e[l])){o=!0;break}}return r&&a&&o}(h))return 0;r(\"transpose\"),e._length=null}return a.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[l,c],s),!0}},{\"../../lib\":693,\"../../registry\":825,\"fast-isnumeric\":213}],958:[function(t,e,r){\"use strict\";for(var n=t(\"../heatmap/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/edit_types\").overrideAll,l=[\"z\",\"x\",\"x0\",\"dx\",\"y\",\"y0\",\"dy\",\"text\",\"transpose\",\"xtype\",\"ytype\"],c={},u=0;u<l.length;u++){var f=l[u];c[f]=n[f]}o(c,i(\"\",{cLetter:\"z\",autoColorDflt:!1}),{colorbar:a}),e.exports=s(c,\"calc\",\"nested\")},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../heatmap/attributes\":942}],959:[function(t,e,r){\"use strict\";var n=t(\"gl-heatmap2d\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib/str2rgbarray\");function o(t,e){this.scene=t,this.uid=e,this.type=\"heatmapgl\",this.name=\"\",this.hoverinfo=\"all\",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=n(t.glplot,this.options),this.heatmap._trace=this}var s=o.prototype;s.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],hoverinfo:this.hoverinfo}},s.update=function(t,e){var r=e[0];this.index=t.index,this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var o=n[0].length,s=n.length;this.options.shape=[o,s],this.options.x=r.x,this.options.y=r.y;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,o=new Array(i),s=new Array(4*i),l=0;l<i;l++){var c=e[l],u=a(c[1]);o[l]=r+c[0]*(n-r);for(var f=0;f<4;f++)s[4*l+f]=u[f]}return{colorLevels:o,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options);var c=this.scene.xaxis,u=this.scene.yaxis;t._extremes[c._id]=i.findExtremes(c,r.x),t._extremes[u._id]=i.findExtremes(u,r.y)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var n=new o(t,e.uid);return n.update(e,r),n}},{\"../../lib/str2rgbarray\":717,\"../../plots/cartesian/axes\":742,\"gl-heatmap2d\":240}],960:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"../heatmap/defaults\"),n.colorbar=t(\"../heatmap/colorbar\"),n.calc=t(\"../heatmap/calc\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"heatmapgl\",n.basePlotModule=t(\"../../plots/gl2d\"),n.categories=[\"gl\",\"gl2d\",\"2dMap\"],n.meta={},e.exports=n},{\"../../plots/gl2d\":781,\"../heatmap/calc\":943,\"../heatmap/colorbar\":945,\"../heatmap/defaults\":947,\"./attributes\":958,\"./convert\":959}],961:[function(t,e,r){\"use strict\";var n=t(\"../bar/attributes\");function i(t){var e={};e[\"autobin\"+t]=!1;var r={};return r[\"^autobin\"+t]=!1,{start:{valType:\"any\",dflt:null,editType:\"calc\",impliedEdits:r},end:{valType:\"any\",dflt:null,editType:\"calc\",impliedEdits:r},size:{valType:\"any\",dflt:null,editType:\"calc\",impliedEdits:r},editType:\"calc\",impliedEdits:e}}e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:n.text,orientation:n.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\",editType:\"calc\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\",editType:\"calc\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\",editType:\"calc\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\",editType:\"calc\"},editType:\"calc\"},autobinx:{valType:\"boolean\",dflt:null,editType:\"calc\",impliedEdits:{\"xbins.start\":void 0,\"xbins.end\":void 0,\"xbins.size\":void 0}},nbinsx:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},xbins:i(\"x\"),autobiny:{valType:\"boolean\",dflt:null,editType:\"calc\",impliedEdits:{\"ybins.start\":void 0,\"ybins.end\":void 0,\"ybins.size\":void 0}},nbinsy:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},ybins:i(\"y\"),marker:n.marker,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},{\"../bar/attributes\":835}],962:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],963:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){return r(\"histnorm\"),n.forEach(function(t){r(t+\"bins.start\"),r(t+\"bins.end\"),r(t+\"bins.size\"),!1!==r(\"autobin\"+t)&&r(\"nbins\"+t)}),e}},{}],964:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports={count:function(t,e,r){return r[t]++,1},sum:function(t,e,r,i){var a=i[e];return n(a)?(a=Number(a),r[t]+=a,a):0},avg:function(t,e,r,i,a){var o=i[e];return n(o)&&(o=Number(o),r[t]+=o,a[t]++),0},min:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]>a){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]<a){var o=a-r[t];return r[t]=a,o}}return 0}}},{\"fast-isnumeric\":213}],965:[function(t,e,r){\"use strict\";var n=t(\"../../constants/numerical\"),i=n.ONEAVGYEAR,a=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,c=n.ONESEC,u=t(\"../../plots/cartesian/axes\").tickIncrement;function f(t,e,r,n){if(t*e<=0)return 1/0;for(var i=Math.abs(e-t),a=\"date\"===r.type,o=h(i,a),s=0;s<10;s++){var l=h(80*o,a);if(o===l)break;if(!p(l,t,e,a,r,n))break;o=l}return o}function h(t,e){return e&&t>c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split(\"-\");return\"\"===n[0]&&(n.unshift(),n[0]=\"-\"+n[0]),n}e.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,h=-.1*e,p=t-h,d=r[0],g=r[1],m=Math.min(f(d+h,d+p,n,a),f(g+h,g+p,n,a)),v=Math.min(f(d+c,d+h,n,a),f(g+c,g+h,n,a));if(m>v&&v<Math.abs(g-d)/4e3?(s=m,l=!1):(s=Math.min(m,v),l=!0),\"date\"===n.type&&s>o){var y=s===i?1:6,x=s===i?\"M12\":\"M1\";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf(\"-\",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(c<e){var f=u(c,x,!1,a);(c+f)/2<e+t&&(c=f)}return r&&l?u(c,x,!0,a):c}}return function(e,r){var n=s*Math.round(e/s);return n+s/10<e&&n+.9*s<e+t&&(n+=s),r&&l&&(n-=s),n}}},{\"../../constants/numerical\":670,\"../../plots/cartesian/axes\":742}],966:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../bar/arrays_to_calcdata\"),s=t(\"./bin_functions\"),l=t(\"./norm_functions\"),c=t(\"./average\"),u=t(\"./clean_bins\"),f=t(\"../../constants/numerical\").ONEAVGMONTH,h=t(\"./bin_label_vals\");function p(t,e,r,i,o){var s,l,c,u,f,h=i+\"bins\",p=\"overlay\"===t._fullLayout.barmode;if(e._autoBinFinished)delete e._autoBinFinished;else{var v=p?[e]:g(t,e),y=[],x=1/0,b=1/0,_=-1/0,w=\"autobin\"+i;for(s=0;s<v.length;s++){f=(l=v[s])._pos0=r.makeCalcdata(l,i);var k=l[h];if(l[w]||!k||null===k.start||null===k.end){c=l[i+\"calendar\"];var M=l.cumulative;if(k=a.autoBin(f,r,l[\"nbins\"+i],!1,c),p&&0===k._dataSpan&&\"category\"!==r.type){if(o)return[k,f,!0];k=d(t,e,r,i,h)}M.enabled&&\"include\"!==M.currentbin&&(\"decreasing\"===M.direction?b=Math.min(b,r.r2c(k.start,0,c)-k.size):_=Math.max(_,r.r2c(k.end,0,c)+k.size)),y.push(l)}else u||(u={size:k.size,start:r.r2c(k.start,0,c),end:r.r2c(k.end,0,c)});x=m(x,k.size),b=Math.min(b,r.r2c(k.start,0,c)),_=Math.max(_,r.r2c(k.end,0,c)),s&&(l._autoBinFinished=1)}if(u&&n(u.size)&&n(x)){x=x>u.size/1.9?u.size:u.size/Math.ceil(u.size/x);var A=u.start+(u.size-x)/2;b=A-x*Math.ceil((A-b)/x)}for(s=0;s<y.length;s++)c=(l=y[s])[i+\"calendar\"],l._input[h]=l[h]={start:r.c2r(b,0,c),end:r.c2r(_,0,c),size:x},l._input[w]=l[w]}return f=e._pos0,delete e._pos0,[e[h],f]}function d(t,e,r,n,a){var o,s,l=g(t,e),c=!1,u=1/0,f=[e];for(o=0;o<l.length;o++)if((s=l[o])===e)c=!0;else if(c){var h=p(t,s,r,n,!0),d=h[0],m=h[2];s._autoBinFinished=1,s._pos0=h[1],m?f.push(s):u=Math.min(u,d.size)}else u=Math.min(u,s[a].size);var v=new Array(f.length);for(o=0;o<f.length;o++)for(var y=f[o]._pos0,x=0;x<y.length;x++)if(void 0!==y[x]){v[o]=y[x];break}for(isFinite(u)||(u=i.distinctVals(v).minDiff),o=0;o<f.length;o++){var b=(s=f[o])[n+\"calendar\"];s._input[a]=s[a]={start:r.c2r(v[o]-u/2,0,b),end:r.c2r(v[o]+u/2,0,b),size:u}}return e[a]}function g(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];\"histogram\"===l.type&&!0===l.visible&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function m(t,e){if(t===1/0)return e;var r=v(t);return v(e)<r?e:t}function v(t){return n(t)?t:\"string\"==typeof t&&\"M\"===t.charAt(0)?f*+t.substr(1):1/0}e.exports=function(t,e){if(!0===e.visible){var r,f=[],d=[],g=a.getFromId(t,\"h\"===e.orientation?e.yaxis||\"y\":e.xaxis||\"x\"),m=\"h\"===e.orientation?\"y\":\"x\",v={x:\"y\",y:\"x\"}[m],y=e[m+\"calendar\"],x=e.cumulative;u(e,g,m);var b,_,w,k=p(t,e,g,m),M=k[0],A=k[1],T=\"string\"==typeof M.size,S=[],E=T?S:M,C=[],L=[],z=[],P=0,O=e.histnorm,I=e.histfunc,D=-1!==O.indexOf(\"density\");x.enabled&&D&&(O=O.replace(/ ?density$/,\"\"),D=!1);var R,B=\"max\"===I||\"min\"===I?null:0,F=s.count,N=l[O],j=!1,V=function(t){return g.r2c(t,0,y)};for(i.isArrayOrTypedArray(e[v])&&\"count\"!==I&&(R=e[v],j=\"avg\"===I,F=s[I]),r=V(M.start),_=V(M.end)+(r-a.tickIncrement(r,M.size,!1,y))/1e6;r<_&&f.length<1e6&&(b=a.tickIncrement(r,M.size,!1,y),f.push((r+b)/2),d.push(B),z.push([]),S.push(r),D&&C.push(1/(b-r)),j&&L.push(0),!(b<=r));)r=b;S.push(r),T||\"date\"!==g.type||(E={start:V(E.start),end:V(E.end),size:E.size});var U,q=d.length,H=!0,G=1/0,W=1/0,Y={};for(r=0;r<A.length;r++){var X=A[r];(w=i.findBin(X,E))>=0&&w<q&&(P+=F(w,r,d,R,L),H&&z[w].length&&X!==A[z[w][0]]&&(H=!1),z[w].push(r),Y[r]=w,G=Math.min(G,X-S[w]),W=Math.min(W,S[w+1]-X))}H||(U=h(G,W,S,g,y)),j&&(P=c(d,L)),N&&N(d,P,C),x.enabled&&function(t,e,r){var n,i,a;function o(e){a=t[e],t[e]/=2}function s(e){i=t[e],t[e]=a+i/2,a+=i}if(\"half\"===r)if(\"increasing\"===e)for(o(0),n=1;n<t.length;n++)s(n);else for(o(t.length-1),n=t.length-2;n>=0;n--)s(n);else if(\"increasing\"===e){for(n=1;n<t.length;n++)t[n]+=t[n-1];\"exclude\"===r&&(t.unshift(0),t.pop())}else{for(n=t.length-2;n>=0;n--)t[n]+=t[n+1];\"exclude\"===r&&(t.push(0),t.shift())}}(d,x.direction,x.currentbin);var Z=Math.min(f.length,d.length),$=[],J=0,K=Z-1;for(r=0;r<Z;r++)if(d[r]){J=r;break}for(r=Z-1;r>=J;r--)if(d[r]){K=r;break}for(r=J;r<=K;r++)if(n(f[r])&&n(d[r])){var Q={p:f[r],s:d[r],b:0};x.enabled||(Q.pts=z[r],H?Q.ph0=Q.ph1=z[r].length?A[z[r][0]]:f[r]:(Q.ph0=U(S[r]),Q.ph1=U(S[r+1],!0))),$.push(Q)}return 1===$.length&&($[0].width1=a.tickIncrement($[0].p,M.size,!1,y)-$[0].p),o($,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected($,e,Y),$}}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../bar/arrays_to_calcdata\":834,\"./average\":962,\"./bin_functions\":964,\"./bin_label_vals\":965,\"./clean_bins\":967,\"./norm_functions\":972,\"fast-isnumeric\":213}],967:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\").cleanDate,a=t(\"../../constants/numerical\"),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+\"bins\",c=t[l];c||(c=t[l]={});var u=\"date\"===a?function(t){return t||0===t?i(t,s,c.calendar):null}:function(t){return n(t)?Number(t):null};c.start=u(c.start),c.end=u(c.end);var f=\"date\"===a?o:1,h=c.size;if(n(h))c.size=h>0?Number(h):f;else if(\"string\"!=typeof h)c.size=f;else{var p=h.charAt(0),d=h.substr(1);((d=n(d)?Number(d):0)<=0||\"date\"!==a||\"M\"!==p||d!==Math.round(d))&&(c.size=f)}var g=\"autobin\"+r;\"boolean\"!=typeof t[g]&&(t[g]=t._fullInput[g]=t._input[g]=!((c.start||0===c.start)&&(c.end||0===c.end))),t[g]||(delete t[\"nbins\"+r],delete t._fullInput[\"nbins\"+r])}},{\"../../constants/numerical\":670,\"../../lib\":693,\"fast-isnumeric\":213}],968:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../components/color\"),o=t(\"./bin_defaults\"),s=t(\"../bar/style_defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r,c){function u(r,n){return i.coerce(t,e,l,r,n)}var f=u(\"x\"),h=u(\"y\");u(\"cumulative.enabled\")&&(u(\"cumulative.direction\"),u(\"cumulative.currentbin\")),u(\"text\");var p=u(\"orientation\",h&&!f?\"h\":\"v\"),d=\"v\"===p?\"x\":\"y\",g=\"v\"===p?\"y\":\"x\",m=f&&h?Math.min(f.length&&h.length):(e[d]||[]).length;if(m){e._length=m,n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],c),e[g]&&u(\"histfunc\"),o(t,e,u,[d]),s(t,e,u,r,c);var v=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(t,e,a.defaultLine,{axis:\"y\"}),v(t,e,a.defaultLine,{axis:\"x\",inherit:\"y\"}),i.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{\"../../components/color\":567,\"../../lib\":693,\"../../registry\":825,\"../bar/style_defaults\":847,\"./attributes\":961,\"./bin_defaults\":963}],969:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){if(t.x=\"xVal\"in e?e.xVal:e.x,t.y=\"yVal\"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;t.pointIndices=a}return t}},{}],970:[function(t,e,r){\"use strict\";var n=t(\"../bar/hover\").hoverPoints,i=t(\"../../plots/cartesian/axes\").hoverLabelText;e.exports=function(t,e,r,a){var o=n(t,e,r,a);if(o){var s=(t=o[0]).cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var c=\"h\"===l.orientation?\"y\":\"x\";t[c+\"Label\"]=i(t[c+\"a\"],s.ph0,s.ph1)}return o}}},{\"../../plots/cartesian/axes\":742,\"../bar/hover\":839}],971:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.layoutAttributes=t(\"../bar/layout_attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"../bar/layout_defaults\"),n.calc=t(\"./calc\"),n.crossTraceCalc=t(\"../bar/cross_trace_calc\").crossTraceCalc,n.plot=t(\"../bar/plot\"),n.layerName=\"barlayer\",n.style=t(\"../bar/style\").style,n.styleOnSelect=t(\"../bar/style\").styleOnSelect,n.colorbar=t(\"../scatter/marker_colorbar\"),n.hoverPoints=t(\"./hover\"),n.selectPoints=t(\"../bar/select\"),n.eventData=t(\"./event_data\"),n.moduleType=\"trace\",n.name=\"histogram\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"../bar/cross_trace_calc\":837,\"../bar/layout_attributes\":841,\"../bar/layout_defaults\":842,\"../bar/plot\":843,\"../bar/select\":844,\"../bar/style\":846,\"../scatter/marker_colorbar\":1050,\"./attributes\":961,\"./calc\":966,\"./defaults\":968,\"./event_data\":969,\"./hover\":970}],972:[function(t,e,r){\"use strict\";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=n},probability:function(t,e){for(var r=t.length,n=0;n<r;n++)t[n]/=e},density:function(t,e,r,n){var i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},\"probability density\":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}}},{}],973:[function(t,e,r){\"use strict\";var n=t(\"../histogram/attributes\"),i=t(\"../heatmap/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.exports=s({x:n.x,y:n.y,z:{valType:\"data_array\",editType:\"calc\"},marker:{color:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth,zhoverformat:i.zhoverformat},a(\"\",{cLetter:\"z\",autoColorDflt:!1}),{colorbar:o})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../heatmap/attributes\":942,\"../histogram/attributes\":961}],974:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../histogram/bin_functions\"),o=t(\"../histogram/norm_functions\"),s=t(\"../histogram/average\"),l=t(\"../histogram/clean_bins\"),c=t(\"../histogram/bin_label_vals\");function u(t,e,r,n,a,o,s){var c=e+\"bins\",u=\"autobin\"+e,f=t[c];l(t,n,e),!t[u]&&f&&null!==f.start&&null!==f.end||(f=i.autoBin(r,n,t[\"nbins\"+e],\"2d\",s),\"histogram2dcontour\"===t.type&&(f.start=o(i.tickIncrement(a(f.start),f.size,!0,s)),f.end=o(i.tickIncrement(a(f.end),f.size,!1,s))),t._input[c]=t[c]=f,t._input[u]=t[u])}function f(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i<t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i<t;i++)a[i]=o}return a}function h(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function p(t,e,r,n,i,a){var o,s=t.length-1,l=new Array(s);if(e)for(o=0;o<s;o++)l[o]=[e[o],e[o]];else{var u=c(r,n,t,i,a);for(o=0;o<s;o++)l[o]=[u(t[o]),u(t[o+1],!0)]}return l}e.exports=function(t,e){var r,l,c,d,g=i.getFromId(t,e.xaxis||\"x\"),m=e.x?g.makeCalcdata(e,\"x\"):[],v=i.getFromId(t,e.yaxis||\"y\"),y=e.y?v.makeCalcdata(e,\"y\"):[],x=e.xcalendar,b=e.ycalendar,_=function(t){return g.r2c(t,0,x)},w=function(t){return v.r2c(t,0,b)},k=function(t){return g.c2r(t,0,x)},M=function(t){return v.c2r(t,0,b)},A=e._length;m.length>A&&m.splice(A,m.length-A),y.length>A&&y.splice(A,y.length-A),u(e,\"x\",m,g,_,k,x),u(e,\"y\",y,v,w,M,b);var T=[],S=[],E=[],C=\"string\"==typeof e.xbins.size,L=\"string\"==typeof e.ybins.size,z=[],P=[],O=C?z:e.xbins,I=L?P:e.ybins,D=0,R=[],B=[],F=e.histnorm,N=e.histfunc,j=-1!==F.indexOf(\"density\"),V=\"max\"===N||\"min\"===N?null:0,U=a.count,q=o[F],H=!1,G=[],W=[],Y=\"z\"in e?e.z:\"marker\"in e&&Array.isArray(e.marker.color)?e.marker.color:\"\";Y&&\"count\"!==N&&(H=\"avg\"===N,U=a[N]);var X=e.xbins,Z=_(X.start),$=_(X.end)+(Z-i.tickIncrement(Z,X.size,!1,x))/1e6;for(r=Z;r<$;r=i.tickIncrement(r,X.size,!1,x))S.push(V),z.push(r),H&&E.push(0);z.push(r);var J=S.length,K=_(e.xbins.start),Q=(r-K)/J,tt=k(K+Q/2);for(Z=w((X=e.ybins).start),$=w(X.end)+(Z-i.tickIncrement(Z,X.size,!1,b))/1e6,r=Z;r<$;r=i.tickIncrement(r,X.size,!1,b)){T.push(S.slice()),P.push(r);var et=new Array(J);for(l=0;l<J;l++)et[l]=[];B.push(et),H&&R.push(E.slice())}P.push(r);var rt=T.length,nt=w(e.ybins.start),it=(r-nt)/rt,at=M(nt+it/2);j&&(G=f(S.length,O,Q,C),W=f(T.length,I,it,L)),C||\"date\"!==g.type||(O=h(_,O)),L||\"date\"!==v.type||(I=h(w,I));var ot=!0,st=!0,lt=new Array(J),ct=new Array(rt),ut=1/0,ft=1/0,ht=1/0,pt=1/0;for(r=0;r<A;r++){var dt=m[r],gt=y[r];c=n.findBin(dt,O),d=n.findBin(gt,I),c>=0&&c<J&&d>=0&&d<rt&&(D+=U(c,r,T[d],Y,R[d]),B[d][c].push(r),ot&&(void 0===lt[c]?lt[c]=dt:lt[c]!==dt&&(ot=!1)),st&&(void 0===ct[c]?ct[c]=gt:ct[c]!==gt&&(st=!1)),ut=Math.min(ut,dt-z[c]),ft=Math.min(ft,z[c+1]-dt),ht=Math.min(ht,gt-P[d]),pt=Math.min(pt,P[d+1]-gt))}if(H)for(d=0;d<rt;d++)D+=s(T[d],R[d]);if(q)for(d=0;d<rt;d++)q(T[d],D,G,W[d]);return{x:m,xRanges:p(z,ot&&lt,ut,ft,g,x),x0:tt,dx:Q,y:y,yRanges:p(P,st&&ct,ht,pt,v,b),y0:at,dy:it,z:T,pts:B}}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../histogram/average\":962,\"../histogram/bin_functions\":964,\"../histogram/bin_label_vals\":965,\"../histogram/clean_bins\":967,\"../histogram/norm_functions\":972}],975:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./sample_defaults\"),a=t(\"../heatmap/style_defaults\"),o=t(\"../../components/colorscale/defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&&(a(t,e,c,l),o(t,e,l,c,{prefix:\"\",cLetter:\"z\"}))}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"../heatmap/style_defaults\":956,\"./attributes\":973,\"./sample_defaults\":978}],976:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/hover\"),i=t(\"../../plots/cartesian/axes\").hoverLabelText;e.exports=function(t,e,r,a,o,s){var l=n(t,e,r,a,o,s);if(l){var c=(t=l[0]).index,u=c[0],f=c[1],h=t.cd[0],p=h.xRanges[f],d=h.yRanges[u];return t.xLabel=i(t.xa,p[0],p[1]),t.yLabel=i(t.ya,d[0],d[1]),l}}},{\"../../plots/cartesian/axes\":742,\"../heatmap/hover\":949}],977:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"../heatmap/calc\"),n.plot=t(\"../heatmap/plot\"),n.layerName=\"heatmaplayer\",n.colorbar=t(\"../heatmap/colorbar\"),n.style=t(\"../heatmap/style\"),n.hoverPoints=t(\"./hover\"),n.eventData=t(\"../histogram/event_data\"),n.moduleType=\"trace\",n.name=\"histogram2d\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"2dMap\",\"histogram\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"../heatmap/calc\":943,\"../heatmap/colorbar\":945,\"../heatmap/plot\":954,\"../heatmap/style\":955,\"../histogram/event_data\":969,\"./attributes\":973,\"./defaults\":975,\"./hover\":976}],978:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../histogram/bin_defaults\");e.exports=function(t,e,r,a){var o=r(\"x\"),s=r(\"y\");if(o&&o.length&&s&&s.length){e._length=Math.min(o.length,s.length),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],a),(r(\"z\")||r(\"marker.color\"))&&r(\"histfunc\");i(t,e,r,[\"x\",\"y\"])}else e.visible=!1}},{\"../../registry\":825,\"../histogram/bin_defaults\":963}],979:[function(t,e,r){\"use strict\";var n=t(\"../histogram2d/attributes\"),i=t(\"../contour/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.exports=s({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:i.line,zhoverformat:n.zhoverformat},a(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}),{colorbar:o})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../contour/attributes\":913,\"../histogram2d/attributes\":973}],980:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../histogram2d/sample_defaults\"),a=t(\"../contour/contours_defaults\"),o=t(\"../contour/style_defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&&(a(t,e,c,function(r){return n.coerce2(t,e,s,r)}),o(t,e,c,l))}},{\"../../lib\":693,\"../contour/contours_defaults\":920,\"../contour/style_defaults\":934,\"../histogram2d/sample_defaults\":978,\"./attributes\":979}],981:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"../contour/calc\"),n.plot=t(\"../contour/plot\").plot,n.layerName=\"contourlayer\",n.style=t(\"../contour/style\"),n.colorbar=t(\"../contour/colorbar\"),n.hoverPoints=t(\"../contour/hover\"),n.moduleType=\"trace\",n.name=\"histogram2dcontour\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"histogram\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"../contour/calc\":914,\"../contour/colorbar\":916,\"../contour/hover\":926,\"../contour/plot\":931,\"../contour/style\":933,\"./attributes\":979,\"./defaults\":980}],982:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../components/colorbar/attributes\"),a=t(\"../surface/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.exports=s({x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},i:{valType:\"data_array\",editType:\"calc\"},j:{valType:\"data_array\",editType:\"calc\"},k:{valType:\"data_array\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\",editType:\"calc\"},alphahull:{valType:\"number\",dflt:-1,editType:\"calc\"},intensity:{valType:\"data_array\",editType:\"calc\"},color:{valType:\"color\",editType:\"calc\"},vertexcolor:{valType:\"data_array\",editType:\"calc\"},facecolor:{valType:\"data_array\",editType:\"calc\"}},n(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:i,opacity:a.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:s({},a.contours.x.show,{}),color:a.contours.x.color,width:a.contours.x.width,editType:\"calc\"},lightposition:{x:s({},a.lightposition.x,{dflt:1e5}),y:s({},a.lightposition.y,{dflt:1e5}),z:s({},a.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:s({vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12,editType:\"calc\"},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6,editType:\"calc\"},editType:\"calc\"},a.lighting),hoverinfo:s({},o.hoverinfo,{editType:\"calc\"})})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../surface/attributes\":1119}],983:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.intensity&&n(e,e.intensity,\"\",\"c\")}},{\"../../components/colorscale/calc\":575}],984:[function(t,e,r){\"use strict\";var n=t(\"gl-mesh3d\"),i=t(\"delaunay-triangulate\"),a=t(\"alpha-shape\"),o=t(\"convex-hull\"),s=t(\"../../lib/gl_format_color\").parseColorScale,l=t(\"../../lib/str2rgbarray\"),c=t(\"../../plots/gl3d/zip3\");function u(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var f=u.prototype;function h(t){return t.map(l)}f.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}this.data=t;var u,f=c(n(r.xaxis,t.x,e.dataScale[0],t.xcalendar),n(r.yaxis,t.y,e.dataScale[1],t.ycalendar),n(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k)u=c(t.i,t.j,t.k);else if(0===t.alphahull)u=o(f);else if(t.alphahull>0)u=a(t.alphahull,f);else{var p=[\"x\",\"y\",\"z\"].indexOf(t.delaunayaxis);u=i(f.map(function(t){return[t[(p+1)%3],t[(p+2)%3]]}))}var d={positions:f,cells:u,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:l(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=\"#fff\",d.vertexIntensity=t.intensity,d.vertexIntensityBounds=[t.cmin,t.cmax],d.colormap=s(t.colorscale)):t.vertexcolor?(this.color=t.vertexcolor[0],d.vertexColors=h(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],d.cellColors=h(t.facecolor)):(this.color=t.color,d.meshColor=l(t.color)),this.mesh.update(d)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new u(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{\"../../lib/gl_format_color\":689,\"../../lib/str2rgbarray\":717,\"../../plots/gl3d/zip3\":795,\"alpha-shape\":51,\"convex-hull\":117,\"delaunay-triangulate\":149,\"gl-mesh3d\":267}],985:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function c(t){var e=t.map(function(t){var e=l(t);return e&&i.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var u=c([\"x\",\"y\",\"z\"]),f=c([\"i\",\"j\",\"k\"]);u?(f&&f.forEach(function(t){for(var e=0;e<t.length;++e)t[e]|=0}),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],s),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"contour.show\",\"contour.color\",\"contour.width\",\"colorscale\",\"reversescale\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach(function(t){l(t)}),\"intensity\"in t?(l(\"intensity\"),a(t,e,s,l,{prefix:\"\",cLetter:\"c\"})):(e.showscale=!1,\"facecolor\"in t?l(\"facecolor\"):\"vertexcolor\"in t?l(\"vertexcolor\"):l(\"color\",r)),l(\"text\"),e._length=null):e.visible=!1}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"../../registry\":825,\"./attributes\":982}],986:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.colorbar={min:\"cmin\",max:\"cmax\"},n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"mesh3d\",n.basePlotModule=t(\"../../plots/gl3d\"),n.categories=[\"gl3d\"],n.meta={},e.exports=n},{\"../../plots/gl3d\":784,\"./attributes\":982,\"./calc\":983,\"./convert\":984,\"./defaults\":985}],987:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").extendFlat,i=t(\"../scatter/attributes\"),a=t(\"../../components/drawing/attributes\").dash,o=i.line;function s(t){return{line:{color:n({},o.color,{dflt:t}),width:o.width,dash:a,editType:\"style\"},editType:\"style\"}}e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",editType:\"calc\"},high:{valType:\"data_array\",editType:\"calc\"},low:{valType:\"data_array\",editType:\"calc\"},close:{valType:\"data_array\",editType:\"calc\"},line:{width:n({},o.width,{}),dash:n({},a,{}),editType:\"style\"},increasing:s(\"#3D9970\"),decreasing:s(\"#FF4136\"),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calc\"}}},{\"../../components/drawing/attributes\":591,\"../../lib\":693,\"../scatter/attributes\":1032}],988:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=n._,a=t(\"../../plots/cartesian/axes\"),o=t(\"../../constants/numerical\").BADNUM;function s(t,e,r,n){return{o:t,h:e,l:r,c:n}}function l(t,e,r,n,s){for(var l=n.makeCalcdata(e,\"open\"),c=n.makeCalcdata(e,\"high\"),u=n.makeCalcdata(e,\"low\"),f=n.makeCalcdata(e,\"close\"),h=Array.isArray(e.text),p=!0,d=null,g=[],m=0;m<r.length;m++){var v=r[m],y=l[m],x=c[m],b=u[m],_=f[m];if(v!==o&&y!==o&&x!==o&&b!==o&&_!==o){_===y?null!==d&&_!==d&&(p=_>d):p=_>y,d=_;var w=s(y,x,b,_);w.pos=v,w.yc=(y+_)/2,w.i=m,w.dir=p?\"increasing\":\"decreasing\",h&&(w.tx=e.text[m]),g.push(w)}}return e._extremes[n._id]=a.findExtremes(n,u.concat(c),{padded:!0}),g.length&&(g[0].t={labels:{open:i(t,\"open:\")+\" \",high:i(t,\"high:\")+\" \",low:i(t,\"low:\")+\" \",close:i(t,\"close:\")+\" \"}}),g}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),o=function(t,e,r){var i=r._minDiff;if(!i){var a,o=t._fullData,s=[];for(i=1/0,a=0;a<o.length;a++){var l=o[a];if(\"ohlc\"===l.type&&!0===l.visible&&l.xaxis===e._id){s.push(l);var c=e.makeCalcdata(l,\"x\");l._xcalc=c;var u=n.distinctVals(c).minDiff;u&&isFinite(u)&&(i=Math.min(i,u))}}for(i===1/0&&(i=1),a=0;a<s.length;a++)s[a]._minDiff=i}return i*r.tickwidth}(t,r,e),c=e._minDiff;e._minDiff=null;var u=e._xcalc;e._xcalc=null;var f=l(t,e,u,i,s);return e._extremes[r._id]=a.findExtremes(r,u,{vpad:c/2}),f.length?(n.extendFlat(f[0].t,{wHover:c/2,tickLen:o}),f):[{t:{empty:!0}}]},calcCommon:l}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../../plots/cartesian/axes\":742}],989:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./ohlc_defaults\"),a=t(\"./attributes\");function o(t,e,r,n){r(n+\".line.color\"),r(n+\".line.width\",e.line.width),r(n+\".line.dash\",e.line.dash)}e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,a,r,i)}i(t,e,l,s)?(l(\"line.width\"),l(\"line.dash\"),o(t,e,l,\"increasing\"),o(t,e,l,\"decreasing\"),l(\"text\"),l(\"tickwidth\"),s._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{\"../../lib\":693,\"./attributes\":987,\"./ohlc_defaults\":992}],990:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../components/fx\"),a=t(\"../../components/color\"),o=t(\"../scatter/fill_hover_text\"),s={increasing:\"\\u25b2\",decreasing:\"\\u25bc\"};e.exports=function(t,e,r,l){var c=t.cd,u=t.xa,f=t.ya,h=c[0].trace,p=c[0].t,d=h.type,g=\"ohlc\"===d?\"l\":\"min\",m=\"ohlc\"===d?\"h\":\"max\",v=p.bPos||0,y=e-v,x=p.bdPos||p.tickLen,b=p.wHover,_=Math.min(1,x/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0]))),w=t.maxHoverDistance-_,k=t.maxSpikeDistance-_;function M(t){var e=t.pos-y;return i.inbox(e-b,e+b,w)}function A(t){return i.inbox(t[g]-r,t[m]-r,w)}function T(t){return(M(t)+A(t))/2}var S=i.getDistanceFunction(l,M,A,T);if(i.getClosest(c,S,t),!1===t.index)return[];var E=c[t.index],C=t.index=E.i,L=E.dir,z=h[L],P=z.line.color;function O(t){return p.labels[t]+n.hoverLabelText(f,h[t][C])}a.opacity(P)&&z.line.width?t.color=P:t.color=z.fillcolor,t.x0=u.c2p(E.pos+v-x,!0),t.x1=u.c2p(E.pos+v+x,!0),t.xLabelVal=E.pos,t.spikeDistance=T(E)*k/w,t.xSpike=u.c2p(E.pos,!0);var I=h.hoverinfo,D=I.split(\"+\"),R=\"all\"===I,B=R||-1!==D.indexOf(\"y\"),F=R||-1!==D.indexOf(\"text\"),N=B?[O(\"open\"),O(\"high\"),O(\"low\"),O(\"close\")+\"  \"+s[L]]:[];return F&&o(E,h,N),t.extraText=N.join(\"<br>\"),t.y0=t.y1=f.c2p(E.yc,!0),[t]}},{\"../../components/color\":567,\"../../components/fx\":609,\"../../plots/cartesian/axes\":742,\"../scatter/fill_hover_text\":1040}],991:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\").calc,plot:t(\"./plot\"),style:t(\"./style\"),hoverPoints:t(\"./hover\"),selectPoints:t(\"./select\")}},{\"../../plots/cartesian\":753,\"./attributes\":987,\"./calc\":988,\"./defaults\":989,\"./hover\":990,\"./plot\":993,\"./select\":994,\"./style\":995}],992:[function(t,e,r){\"use strict\";var n=t(\"../../registry\");e.exports=function(t,e,r,i){var a=r(\"x\"),o=r(\"open\"),s=r(\"high\"),l=r(\"low\"),c=r(\"close\");if(n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\"],i),o&&s&&l&&c){var u=Math.min(o.length,s.length,l.length,c.length);return a&&(u=Math.min(u,a.length)),e._length=u,u}}},{\"../../registry\":825}],993:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\");e.exports=function(t,e,r,a){var o=e.xaxis,s=e.yaxis;i.makeTraceGroups(a,r,\"trace ohlc\").each(function(t){var r=n.select(this),a=t[0],l=a.t,c=a.trace;if(e.isRangePlot||(a.node3=r),!0!==c.visible||l.empty)r.remove();else{var u=l.tickLen,f=r.selectAll(\"path\").data(i.identity);f.enter().append(\"path\"),f.exit().remove(),f.attr(\"d\",function(t){var e=o.c2p(t.pos,!0),r=o.c2p(t.pos-u,!0),n=o.c2p(t.pos+u,!0);return\"M\"+r+\",\"+s.c2p(t.o,!0)+\"H\"+e+\"M\"+e+\",\"+s.c2p(t.h,!0)+\"V\"+s.c2p(t.l,!0)+\"M\"+n+\",\"+s.c2p(t.c,!0)+\"H\"+e})}})}},{\"../../lib\":693,d3:147}],994:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r];e.contains([i.c2p(l.pos+s),a.c2p(l.yc)],null,l.i,t)?(o.push({pointNumber:l.i,x:i.c2d(l.pos),y:a.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},{}],995:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../../components/color\");e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\"g.ohlclayer\").selectAll(\"g.trace\");r.style(\"opacity\",function(t){return t[0].trace.opacity}),r.each(function(t){var e=t[0].trace;n.select(this).selectAll(\"path\").each(function(t){var r=e[t.dir].line;n.select(this).style(\"fill\",\"none\").call(a.stroke,r.color).call(i.dashLine,r.dash,r.width).style(\"opacity\",e.selectedpoints&&!t.selected?.3:1)})})}},{\"../../components/color\":567,\"../../components/drawing\":592,d3:147}],996:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../components/colorbar/attributes\"),a=t(\"../../plots/cartesian/layout_attributes\"),o=t(\"../../plots/font_attributes\"),s=t(\"../../plots/domain\").attributes,l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/plot_template\").templatedArray;e.exports={domain:s({name:\"parcoords\",trace:!0,editType:\"calc\"}),labelfont:o({editType:\"calc\"}),tickfont:o({editType:\"calc\"}),rangefont:o({editType:\"calc\"}),dimensions:c(\"dimension\",{label:{valType:\"string\",editType:\"calc\"},tickvals:l({},a.tickvals,{editType:\"calc\"}),ticktext:l({},a.ticktext,{editType:\"calc\"}),tickformat:{valType:\"string\",dflt:\"3s\",editType:\"calc\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},constraintrange:{valType:\"info_array\",freeLength:!0,dimensions:\"1-2\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},multiselect:{valType:\"boolean\",dflt:!0,editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"}),line:l(n(\"line\",{colorscaleDflt:\"Viridis\",autoColorDflt:!1,editTypeOverride:\"calc\"}),{colorbar:i,editType:\"calc\"})}},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plot_api/plot_template\":732,\"../../plots/cartesian/layout_attributes\":754,\"../../plots/domain\":767,\"../../plots/font_attributes\":768}],997:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"d3\"),a=t(\"../../lib/gup\").keyFun,o=t(\"../../lib/gup\").repeat,s=t(\"../../lib\").sorterAsc,l=n.bar.snapRatio;function c(t,e){return t*(1-l)+e*l}var u=n.bar.snapClose;function f(t,e){return t*(1-u)+e*u}function h(t,e,r){if(d(e,r))return e;for(var n=t[0],i=n,a=1;a<t.length;a++){var o=t[a];if(e<f(n,o))return c(n,i);if(e<o||a===t.length-1)return c(o,n);i=n,n=o}}function p(t,e,r){if(d(e,r))return e;for(var n=t[t.length-1],i=n,a=t.length-2;a>=0;a--){var o=t[a];if(e>f(n,o))return c(n,i);if(e>o||a===t.length-1)return c(o,n);i=n,n=o}}function d(t,e){for(var r=0;r<e.length;r++)if(t>=e[r][0]&&t<=e[r][1])return!0;return!1}function g(t){t.attr(\"x\",-n.bar.captureWidth/2).attr(\"width\",n.bar.captureWidth)}function m(t){t.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function v(t){if(!t.brush.filterSpecified)return\"0,\"+t.height;for(var e,r,n,i=y(t.brush.filter.getConsolidated(),t.height),a=[0],o=i.length?i[0][0]:null,s=0;s<i.length;s++)r=(e=i[s])[1]-e[0],a.push(o),a.push(r),(n=s+1)<i.length&&(o=i[n][0]-e[1]);return a.push(t.height),a}function y(t,e){return t.map(function(t){return t.map(function(t){return t*e}).sort(s)})}function x(){i.select(document.body).style(\"cursor\",null)}function b(t){t.attr(\"stroke-dasharray\",v)}function _(t,e){var r=i.select(t).selectAll(\".highlight, .highlight-shadow\");b(e?r.transition().duration(n.bar.snapDuration).each(\"end\",e):r)}function w(t,e){var r,i=t.brush,a=NaN,o={};if(i.filterSpecified){var s=t.height,l=i.filter.getConsolidated(),c=y(l,s),u=NaN,f=NaN,h=NaN;for(r=0;r<=c.length;r++){var p=c[r];if(p&&p[0]<=e&&e<=p[1]){u=r;break}if(f=r?r-1:NaN,p&&p[0]>e){h=r;break}}if(a=u,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-c[f][1]<c[h][0]-e?f:h),!isNaN(a)){var d=c[a],g=function(t,e){var r=n.bar.handleHeight;if(!(e>t[1]+r||e<t[0]-r))return e>=.9*t[1]+.1*t[0]?\"n\":e<=.9*t[0]+.1*t[1]?\"s\":\"ns\"}(d,e);g&&(o.interval=l[a],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var m=t.unitTickvals,v=t.unitToPaddedPx.invert(e);for(r=0;r<m.length;r++){var x=[.25*m[Math.max(r-1,0)]+.75*m[r],.25*m[Math.min(r+1,m.length-1)]+.75*m[r]];if(v>=x[0]&&v<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function k(t){t.on(\"mousemove\",function(t){if(i.event.preventDefault(),!t.parent.inBrushDrag){var e=w(t,t.height-i.mouse(this)[1]-2*n.verticalPadding),r=\"crosshair\";e.clickableOrdinalRange?r=\"pointer\":e.region&&(r=e.region+\"-resize\"),i.select(document.body).style(\"cursor\",r)}}).on(\"mouseleave\",function(t){t.parent.inBrushDrag||x()}).call(i.behavior.drag().on(\"dragstart\",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.unitToPaddedPx.invert(e),a=t.brush,o=w(t,e),s=o.interval,l=a.svgBrush;if(l.wasDragged=!1,l.grabbingBar=\"ns\"===o.region,l.grabbingBar){var c=s.map(t.unitToPaddedPx);l.grabPoint=e-c[0]-n.verticalPadding,l.barLength=c[1]-c[0]}l.clickableOrdinalRange=o.clickableOrdinalRange,l.stayingIntervals=t.multiselect&&a.filterSpecified?a.filter.getConsolidated():[],s&&(l.stayingIntervals=l.stayingIntervals.filter(function(t){return t[0]!==s[0]&&t[1]!==s[1]})),l.startExtent=o.region?s[\"s\"===o.region?1:0]:r,t.parent.inBrushDrag=!0,l.brushStartCallback()}).on(\"drag\",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.brush.svgBrush;r.wasDragged=!0,r.grabbingBar?r.newExtent=[e-r.grabPoint,e+r.barLength-r.grabPoint].map(t.unitToPaddedPx.invert):r.newExtent=[r.startExtent,t.unitToPaddedPx.invert(e)].sort(s);var a=Math.max(0,-r.newExtent[0]),o=Math.max(0,r.newExtent[1]-1);r.newExtent[0]+=a,r.newExtent[1]-=o,r.grabbingBar&&(r.newExtent[1]+=a,r.newExtent[0]-=o),t.brush.filterSpecified=!0,r.extent=r.stayingIntervals.concat([r.newExtent]),r.brushCallback(t),_(this.parentNode)}).on(\"dragend\",function(t){i.event.sourceEvent.stopPropagation();var e=t.brush,r=e.filter,n=e.svgBrush,a=n.grabbingBar;if(n.grabbingBar=!1,n.grabLocation=void 0,t.parent.inBrushDrag=!1,x(),!n.wasDragged)return n.wasDragged=void 0,n.clickableOrdinalRange?e.filterSpecified&&t.multiselect?n.extent.push(n.clickableOrdinalRange):(n.extent=[n.clickableOrdinalRange],e.filterSpecified=!0):a?(n.extent=n.stayingIntervals,0===n.extent.length&&A(e)):A(e),n.brushCallback(t),_(this.parentNode),void n.brushEndCallback(e.filterSpecified?r.getConsolidated():[]);var o=function(){r.set(r.getConsolidated())};if(t.ordinal){var s=t.unitTickvals;s[s.length-1]<s[0]&&s.reverse(),n.newExtent=[h(s,n.newExtent[0],n.stayingIntervals),p(s,n.newExtent[1],n.stayingIntervals)];var l=n.newExtent[1]>n.newExtent[0];n.extent=n.stayingIntervals.concat(l?[n.newExtent]:[]),n.extent.length||A(e),n.brushCallback(t),l?_(this.parentNode,o):(o(),_(this.parentNode))}else o();n.brushEndCallback(e.filterSpecified?r.getConsolidated():[])}))}function M(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[0,1]]}function T(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return n}e.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){r=n.map(function(t){return t.slice().sort(s)}).sort(M),t=T(r),e=r.reduce(function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]},[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map(function(t){return t.slice()})}(e).slice();e.filter.set(r),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t){var e=t.selectAll(\".\"+n.cn.axisBrush).data(o,a);e.enter().append(\"g\").classed(n.cn.axisBrush,!0),function(t){var e=t.selectAll(\".background\").data(o);e.enter().append(\"rect\").classed(\"background\",!0).call(g).call(m).style(\"pointer-events\",\"auto\").attr(\"transform\",\"translate(0 \"+n.verticalPadding+\")\"),e.call(k).attr(\"height\",function(t){return t.height-n.verticalPadding});var r=t.selectAll(\".highlight-shadow\").data(o);r.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width+n.bar.strokeWidth).attr(\"stroke\",n.bar.strokeColor).attr(\"opacity\",n.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),r.attr(\"y1\",function(t){return t.height}).call(b);var i=t.selectAll(\".highlight\").data(o);i.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width-n.bar.strokeWidth).attr(\"stroke\",n.bar.fillColor).attr(\"opacity\",n.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),i.attr(\"y1\",function(t){return t.height}).call(b)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map(function(t){return t.sort(s)}),t=e.multiselect?T(t.sort(M)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map(function(t){var e=[h(r,t[0],[]),p(r,t[1],[])];if(e[1]>e[0])return e}).filter(function(t){return t})).length)return}return t.length>1?t:t[0]}}},{\"../../lib\":693,\"../../lib/gup\":690,\"./constants\":1e3,d3:147}],998:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../plots/get_data\").getModuleCalcData,a=t(\"./plot\"),o=t(\"../../constants/xmlns_namespaces\");r.name=\"parcoords\",r.plot=function(t){var e=i(t.calcdata,\"parcoords\")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"parcoords\"),a=e._has&&e._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(\".svg-container\");r.filter(function(t,e){return e===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each(function(){var t=this.toDataURL(\"image/png\");e.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){n.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)}},{\"../../constants/xmlns_namespaces\":671,\"../../plots/get_data\":778,\"./plot\":1006,d3:147}],999:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/has_colorscale\"),i=t(\"../../components/colorscale/calc\"),a=t(\"../../lib\"),o=t(\"../../lib/gup\").wrap;e.exports=function(t,e){var r=!!e.line.colorscale&&a.isArrayOrTypedArray(e.line.color),s=r?e.line.color:function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._length),l=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return n(e,\"line\")&&i(e,s,\"line\",\"c\"),o({lineColor:s,cscale:l})}},{\"../../components/colorscale/calc\":575,\"../../components/colorscale/has_colorscale\":581,\"../../lib\":693,\"../../lib/gup\":690}],1000:[function(t,e,r){\"use strict\";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:[\"contextLineLayer\",\"focusLineLayer\",\"pickLineLayer\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:\"magenta\",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeColor:\"white\",strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}}},{}],1001:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"../../plots/domain\").defaults,s=t(\"../../plots/array_container_defaults\"),l=t(\"./attributes\"),c=t(\"./axisbrush\"),u=t(\"./constants\").maxDimensionCount,f=t(\"./merge_length\");function h(t,e){function r(r,i){return n.coerce(t,e,l.dimensions,r,i)}var i=r(\"values\"),a=r(\"visible\");if(i&&i.length||(a=e.visible=!1),a){r(\"label\"),r(\"tickvals\"),r(\"ticktext\"),r(\"tickformat\"),r(\"range\"),r(\"multiselect\");var o=r(\"constraintrange\");o&&(e.constraintrange=c.cleanRanges(o,e))}}e.exports=function(t,e,r,c){function p(r,i){return n.coerce(t,e,l,r,i)}var d=t.dimensions;Array.isArray(d)&&d.length>u&&(n.log(\"parcoords traces support up to \"+u+\" dimensions at the moment\"),d.splice(u));var g=s(t,e,{name:\"dimensions\",handleItemDefaults:h}),m=function(t,e,r,o,s){var l=s(\"line.color\",r);if(i(t,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;e.line.color=r}return 1/0}(t,e,r,c,p);o(e,c,p),Array.isArray(g)&&g.length||(e.visible=!1),f(e,g,\"values\",m);var v={family:c.font.family,size:Math.round(c.font.size/1.2),color:c.font.color};n.coerceFont(p,\"labelfont\",v),n.coerceFont(p,\"tickfont\",v),n.coerceFont(p,\"rangefont\",v)}},{\"../../components/colorscale/defaults\":577,\"../../components/colorscale/has_colorscale\":581,\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"../../plots/domain\":767,\"./attributes\":996,\"./axisbrush\":997,\"./constants\":1e3,\"./merge_length\":1004}],1002:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.colorbar={container:\"line\",min:\"cmin\",max:\"cmax\"},n.moduleType=\"trace\",n.name=\"parcoords\",n.basePlotModule=t(\"./base_plot\"),n.categories=[\"gl\",\"regl\",\"noOpacity\"],n.meta={},e.exports=n},{\"./attributes\":996,\"./base_plot\":998,\"./calc\":999,\"./defaults\":1001,\"./plot\":1006}],1003:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 p0, p1, p2, p3,\\n               p4, p5, p6, p7,\\n               p8, p9, pa, pb,\\n               pc, pd, pe;\\n\\nattribute vec4 pf;\\n\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\n\\nuniform vec2 resolution,\\n             viewBoxPosition,\\n             viewBoxSize;\\n\\nuniform sampler2D palette;\\nuniform sampler2D mask;\\nuniform float maskHeight;\\n\\nuniform vec2 colorClamp;\\n\\nvarying vec4 fragColor;\\n\\nvec4 unit_1 = vec4(1, 1, 1, 1);\\n\\nfloat val(mat4 p, mat4 v) {\\n    return dot(matrixCompMult(p, v) * unit_1, unit_1);\\n}\\n\\nfloat axisY(\\n        float x,\\n        mat4 d[4],\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\n    ) {\\n\\n    float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\\n    float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\\n    return y1 * (1.0 - x) + y2 * x;\\n}\\n\\nconst int bitsPerByte = 8;\\n\\nint mod2(int a) {\\n    return a - 2 * (a / 2);\\n}\\n\\nint mod8(int a) {\\n    return a - 8 * (a / 8);\\n}\\n\\nvec4 zero = vec4(0, 0, 0, 0);\\nvec4 unit_0 = vec4(1, 1, 1, 1);\\nvec2 xyProjection = vec2(1, 1);\\n\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\n                clamp(m[1], lo[1], hi[1]),\\n                clamp(m[2], lo[2], hi[2]),\\n                clamp(m[3], lo[3], hi[3]));\\n}\\n\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\n    return mclamp(p, lo, hi) == p;\\n}\\n\\nbool withinBoundingBox(\\n        mat4 d[4],\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\\n    ) {\\n\\n    return mshow(d[0], loA, hiA) &&\\n           mshow(d[1], loB, hiB) &&\\n           mshow(d[2], loC, hiC) &&\\n           mshow(d[3], loD, hiD);\\n}\\n\\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\\n    bool result = true;\\n    int bitInByteStepper;\\n    float valY, valueY, scaleX;\\n    int hit, bitmask, valX;\\n    for(int i = 0; i < 4; i++) {\\n        for(int j = 0; j < 4; j++) {\\n            for(int k = 0; k < 4; k++) {\\n                bitInByteStepper = mod8(j * 4 + k);\\n                valX = i * 2 + j / 2;\\n                valY = d[i][j][k];\\n                valueY = valY * (height - 1.0) + 0.5;\\n                scaleX = (float(valX) + 0.5) / 8.0;\\n                hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\\n                result = result && mod2(hit) == 1;\\n            }\\n        }\\n    }\\n    return result;\\n}\\n\\nvec4 position(\\n        float depth,\\n        vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\\n        mat4 dims[4],\\n        float signum,\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\\n        sampler2D mask, float maskHeight\\n    ) {\\n\\n    float x = 0.5 * signum + 0.5;\\n    float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\\n\\n    float show = float(\\n                            withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\\n                         && withinRasterMask(dims, mask, maskHeight)\\n                      );\\n\\n    vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\n\\n    return vec4(\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\n        depthOrHide,\\n        1.0\\n    );\\n}\\n\\nvoid main() {\\n\\n    float prominence = abs(pf[3]);\\n\\n    mat4 p[4];\\n    p[0] = mat4(p0, p1, p2, p3);\\n    p[1] = mat4(p4, p5, p6, p7);\\n    p[2] = mat4(p8, p9, pa, pb);\\n    p[3] = mat4(pc, pd, pe, abs(pf));\\n\\n    gl_Position = position(\\n        1.0 - prominence,\\n        resolution, viewBoxPosition, viewBoxSize,\\n        p,\\n        sign(pf[3]),\\n        dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\n        loA, hiA, loB, hiB, loC, hiC, loD, hiD,\\n        mask, maskHeight\\n    );\\n\\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\\n}\\n\"]),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 p0, p1, p2, p3,\\n               p4, p5, p6, p7,\\n               p8, p9, pa, pb,\\n               pc, pd, pe;\\n\\nattribute vec4 pf;\\n\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D;\\n\\nuniform vec2 resolution,\\n             viewBoxPosition,\\n             viewBoxSize;\\n\\nuniform sampler2D palette;\\n\\nuniform vec2 colorClamp;\\n\\nvarying vec4 fragColor;\\n\\nvec2 xyProjection = vec2(1, 1);\\n\\nvec4 unit = vec4(1, 1, 1, 1);\\n\\nfloat val(mat4 p, mat4 v) {\\n    return dot(matrixCompMult(p, v) * unit, unit);\\n}\\n\\nfloat axisY(\\n        float x,\\n        mat4 d[4],\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\n    ) {\\n\\n    float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\\n    float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\\n    return y1 * (1.0 - x) + y2 * x;\\n}\\n\\nvec4 position(\\n        float depth,\\n        vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\\n        mat4 dims[4],\\n        float signum,\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\n    ) {\\n\\n    float x = 0.5 * signum + 0.5;\\n    float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\\n\\n    vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\\n\\n    return vec4(\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\n        depth,\\n        1.0\\n    );\\n}\\n\\nvoid main() {\\n\\n    float prominence = abs(pf[3]);\\n\\n    mat4 p[4];\\n    p[0] = mat4(p0, p1, p2, p3);\\n    p[1] = mat4(p4, p5, p6, p7);\\n    p[2] = mat4(p8, p9, pa, pb);\\n    p[3] = mat4(pc, pd, pe, abs(pf));\\n\\n    gl_Position = position(\\n        1.0 - prominence,\\n        resolution, viewBoxPosition, viewBoxSize,\\n        p,\\n        sign(pf[3]),\\n        dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D\\n    );\\n\\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\\n}\\n\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 p0, p1, p2, p3,\\n               p4, p5, p6, p7,\\n               p8, p9, pa, pb,\\n               pc, pd, pe;\\n\\nattribute vec4 pf;\\n\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\n\\nuniform vec2 resolution,\\n             viewBoxPosition,\\n             viewBoxSize;\\n\\nuniform sampler2D mask;\\nuniform float maskHeight;\\n\\nuniform vec2 colorClamp;\\n\\nvarying vec4 fragColor;\\n\\nvec4 unit_1 = vec4(1, 1, 1, 1);\\n\\nfloat val(mat4 p, mat4 v) {\\n    return dot(matrixCompMult(p, v) * unit_1, unit_1);\\n}\\n\\nfloat axisY(\\n        float x,\\n        mat4 d[4],\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\n    ) {\\n\\n    float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\\n    float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\\n    return y1 * (1.0 - x) + y2 * x;\\n}\\n\\nconst int bitsPerByte = 8;\\n\\nint mod2(int a) {\\n    return a - 2 * (a / 2);\\n}\\n\\nint mod8(int a) {\\n    return a - 8 * (a / 8);\\n}\\n\\nvec4 zero = vec4(0, 0, 0, 0);\\nvec4 unit_0 = vec4(1, 1, 1, 1);\\nvec2 xyProjection = vec2(1, 1);\\n\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\n                clamp(m[1], lo[1], hi[1]),\\n                clamp(m[2], lo[2], hi[2]),\\n                clamp(m[3], lo[3], hi[3]));\\n}\\n\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\n    return mclamp(p, lo, hi) == p;\\n}\\n\\nbool withinBoundingBox(\\n        mat4 d[4],\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\\n    ) {\\n\\n    return mshow(d[0], loA, hiA) &&\\n           mshow(d[1], loB, hiB) &&\\n           mshow(d[2], loC, hiC) &&\\n           mshow(d[3], loD, hiD);\\n}\\n\\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\\n    bool result = true;\\n    int bitInByteStepper;\\n    float valY, valueY, scaleX;\\n    int hit, bitmask, valX;\\n    for(int i = 0; i < 4; i++) {\\n        for(int j = 0; j < 4; j++) {\\n            for(int k = 0; k < 4; k++) {\\n                bitInByteStepper = mod8(j * 4 + k);\\n                valX = i * 2 + j / 2;\\n                valY = d[i][j][k];\\n                valueY = valY * (height - 1.0) + 0.5;\\n                scaleX = (float(valX) + 0.5) / 8.0;\\n                hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\\n                result = result && mod2(hit) == 1;\\n            }\\n        }\\n    }\\n    return result;\\n}\\n\\nvec4 position(\\n        float depth,\\n        vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\\n        mat4 dims[4],\\n        float signum,\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\\n        sampler2D mask, float maskHeight\\n    ) {\\n\\n    float x = 0.5 * signum + 0.5;\\n    float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\\n\\n    float show = float(\\n                            withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\\n                         && withinRasterMask(dims, mask, maskHeight)\\n                      );\\n\\n    vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\n\\n    return vec4(\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\n        depthOrHide,\\n        1.0\\n    );\\n}\\n\\nvoid main() {\\n\\n    float prominence = abs(pf[3]);\\n\\n    mat4 p[4];\\n    p[0] = mat4(p0, p1, p2, p3);\\n    p[1] = mat4(p4, p5, p6, p7);\\n    p[2] = mat4(p8, p9, pa, pb);\\n    p[3] = mat4(pc, pd, pe, abs(pf));\\n\\n    gl_Position = position(\\n        1.0 - prominence,\\n        resolution, viewBoxPosition, viewBoxSize,\\n        p,\\n        sign(pf[3]),\\n        dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\n        loA, hiA, loB, hiB, loC, hiC, loD, hiD,\\n        mask, maskHeight\\n    );\\n\\n    fragColor = vec4(pf.rgb, 1.0);\\n}\\n\"]),s=n([\"precision lowp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n    gl_FragColor = fragColor;\\n}\\n\"]),l=t(\"../../lib\"),c=1e-6,u=1e-7,f=2048,h=64,p=2,d=4,g=8,m=h/g,v=[119,119,119],y=new Uint8Array(4),x=new Uint8Array(4),b={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function _(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function w(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:y})}(t),r.drawCompleted=!0),function s(l){var c;c=Math.min(n,i-l*n),a.offset=p*l*n,a.count=p*c,0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],_(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(e(a),l*n+c<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}(0)}function k(t,e){return(t>>>8*e)%256/255}function M(t,e,r){var n,i,a,o=[];for(i=0;i<t;i++)for(a=0;a<p;a++)for(n=0;n<d;n++)o.push(e[i*h+r*d+n]),r*d+n===h-1&&a%2==0&&(o[o.length-1]*=-1);return o}e.exports=function(t,e){var r,n,p,d,y,A=e.context,T=e.pick,S=e.regl,E={currentRafs:{},drawCompleted:!0,clearOnly:!1},C=function(t){for(var e={},r=0;r<16;r++)e[\"p\"+r.toString(16)]=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)});return e}(S),L=S.texture(b);P(e);var z=S({profile:!1,blend:{enable:A,func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:1,dstAlpha:1},equation:{rgb:\"add\",alpha:\"add\"},color:[0,0,0,0]},depth:{enable:!A,mask:!0,func:\"less\",range:[0,1]},cull:{enable:!0,face:\"back\"},scissor:{enable:!0,box:{x:S.prop(\"scissorX\"),y:S.prop(\"scissorY\"),width:S.prop(\"scissorWidth\"),height:S.prop(\"scissorHeight\")}},viewport:{x:S.prop(\"viewportX\"),y:S.prop(\"viewportY\"),width:S.prop(\"viewportWidth\"),height:S.prop(\"viewportHeight\")},dither:!1,vert:T?o:A?a:i,frag:s,primitive:\"lines\",lineWidth:1,attributes:C,uniforms:{resolution:S.prop(\"resolution\"),viewBoxPosition:S.prop(\"viewBoxPosition\"),viewBoxSize:S.prop(\"viewBoxSize\"),dim1A:S.prop(\"dim1A\"),dim2A:S.prop(\"dim2A\"),dim1B:S.prop(\"dim1B\"),dim2B:S.prop(\"dim2B\"),dim1C:S.prop(\"dim1C\"),dim2C:S.prop(\"dim2C\"),dim1D:S.prop(\"dim1D\"),dim2D:S.prop(\"dim2D\"),loA:S.prop(\"loA\"),hiA:S.prop(\"hiA\"),loB:S.prop(\"loB\"),hiB:S.prop(\"hiB\"),loC:S.prop(\"loC\"),hiC:S.prop(\"hiC\"),loD:S.prop(\"loD\"),hiD:S.prop(\"hiD\"),palette:L,mask:S.prop(\"maskTexture\"),maskHeight:S.prop(\"maskHeight\"),colorClamp:S.prop(\"colorClamp\")},offset:S.prop(\"offset\"),count:S.prop(\"count\")});function P(t){r=t.model,n=t.viewModel,p=n.dimensions.slice(),d=p[0]?p[0].values.length:0;var e=r.lines,i=T?e.color.map(function(t,r){return r/e.color.length}):e.color,a=Math.max(1/255,Math.pow(1/i.length,1/3)),o=function(t,e,r){for(var n,i=e.length,a=[],o=0;o<t;o++)for(var s=0;s<h;s++)a.push(s<i?e[s].paddedUnitValues[o]:s===h-1?(n=r[o],Math.max(c,Math.min(1-c,n))):s>=h-4?k(o,h-2-s):.5);return a}(d,p,i);!function(t,e,r){for(var n=0;n<16;n++)t[\"p\"+n.toString(16)](M(e,r,n))}(C,d,o),L=S.texture(l.extendFlat({data:function(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?v:a).concat(r))}return n}(r.unitToColor,A,Math.round(255*(A?a:1)))},b))}var O=[0,1];var I=[];function D(t,e,n,i,a,o,s,c,u,f,h){var p,d,g,m,v=[t,e],y=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(p=0;p<2;p++)for(m=v[p],d=0;d<4;d++)for(g=0;g<16;g++)y[p][d][g]=g+16*d===m?1:0;var x=r.lines.canvasOverdrag,b=r.domain,_=r.canvasWidth,w=r.canvasHeight;return l.extendFlat({key:s,resolution:[_,w],viewBoxPosition:[n+x,i],viewBoxSize:[a,o],i:t,ii:e,dim1A:y[0][0],dim1B:y[0][1],dim1C:y[0][2],dim1D:y[0][3],dim2A:y[1][0],dim2B:y[1][1],dim2C:y[1][2],dim2D:y[1][3],colorClamp:O,scissorX:(c===u?0:n+x)+(r.pad.l-x)+r.layoutWidth*b.x[0],scissorWidth:(c===f?_-n+x:a+.5)+(c===u?n+x:0),scissorY:i+r.pad.b+r.layoutHeight*b.y[0],scissorHeight:o,viewportX:r.pad.l-x+r.layoutWidth*b.x[0],viewportY:r.pad.b+r.layoutHeight*b.y[0],viewportWidth:_,viewportHeight:w},h)}return{setColorDomain:function(t){O[0]=t[0],O[1]=t[1]},render:function(t,e,n){var i,a,o,s=t.length,l=1/0,c=-1/0;for(i=0;i<s;i++)t[i].dim2.canvasX>c&&(c=t[i].dim2.canvasX,o=i),t[i].dim1.canvasX<l&&(l=t[i].dim1.canvasX,a=i);0===s&&_(S,0,0,r.canvasWidth,r.canvasHeight);var h=A?{}:function(){var t,e,r,n=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(t=0;t<2;t++)for(e=0;e<4;e++)for(r=0;r<16;r++){var i,a=r+16*e;i=a<p.length?p[a].brush.filter.getBounds()[t]:t,n[t][e][r]=i+(2*t-1)*u}function o(t,e){var r=f-1;return[Math.max(0,Math.floor(e[0]*r)),Math.min(r,Math.ceil(e[1]*r))]}for(var s=Array.apply(null,new Array(f*m)).map(function(){return 255}),l=0;l<p.length;l++){var c=l%g,h=(l-c)/g,d=Math.pow(2,c),v=p[l],x=v.brush.filter.get();if(!(x.length<2))for(var b=o(0,x[0])[1],_=1;_<x.length;_++){for(var w=o(0,x[_]),k=b+1;k<w[0];k++)s[k*m+h]&=~d;b=Math.max(b,w[1])}}var M={shape:[m,f],format:\"alpha\",type:\"uint8\",mag:\"nearest\",min:\"nearest\",data:s};return y?y(M):y=S.texture(M),{maskTexture:y,maskHeight:f,loA:n[0][0],loB:n[0][1],loC:n[0][2],loD:n[0][3],hiA:n[1][0],hiB:n[1][1],hiC:n[1][2],hiD:n[1][3]}}();for(i=0;i<s;i++){var v=t[i],x=v.dim1,b=x.crossfilterDimensionIndex,k=v.canvasX,M=v.canvasY,T=v.dim2.crossfilterDimensionIndex,C=v.panelSizeX,L=v.panelSizeY,P=k+C;if(e||!I[b]||I[b][0]!==k||I[b][1]!==P){I[b]=[k,P];var O=D(b,T,k,M,C,L,x.crossfilterDimensionIndex,i,a,o,h);E.clearOnly=n,w(S,z,E,e?r.lines.blockLineCount:d,d,O)}}},readPixel:function(t,e){return S.read({x:t,y:e,width:1,height:1,data:x}),x},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return S.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){for(var e in t.style[\"pointer-events\"]=\"none\",L.destroy(),y&&y.destroy(),C)C[e].destroy()},update:P}}},{\"../../lib\":693,glslify:390}],1004:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i,a;for(n||(n=1/0),i=0;i<e.length;i++)(a=e[i]).visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),t._length=n,i=0;i<e.length;i++)(a=e[i]).visible&&(a._length=n);return n}},{}],1005:[function(t,e,r){\"use strict\";var n=t(\"./lines\"),i=t(\"./constants\"),a=t(\"../../lib\"),o=t(\"d3\"),s=t(\"../../components/drawing\"),l=t(\"../../lib/gup\"),c=l.keyFun,u=l.repeat,f=l.unwrap,h=t(\"./axisbrush\");function p(t){return!(\"visible\"in t)||t.visible}function d(t){var e=t.range?t.range[0]:a.aggNums(Math.min,null,t.values,t._length),r=t.range?t.range[1]:a.aggNums(Math.max,null,t.values,t._length);return!isNaN(e)&&isFinite(e)||(e=0),!isNaN(r)&&isFinite(r)||(r=0),e===r&&(0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function g(t){return t.dimensions.some(function(t){return t.brush.filterSpecified})}function m(t,e,r){var n=f(e),s=n.trace,l=n.lineColor,c=n.cscale,u=s.line,h=s.domain,g=s.dimensions,m=t.width,v=s.labelfont,y=s.tickfont,x=s.rangefont,b=a.extendDeepNoArrays({},u,{color:l.map(o.scale.linear().domain(d({values:l,range:[u.cmin,u.cmax],_length:s._length}))),blockLineCount:i.blockLineCount,canvasOverdrag:i.overdrag*i.canvasPixelRatio}),_=Math.floor(m*(h.x[1]-h.x[0])),w=Math.floor(t.height*(h.y[1]-h.y[0])),k=t.margin||{l:80,r:80,t:100,b:80},M=_,A=w;return{key:r,colCount:g.filter(p).length,dimensions:g,tickDistance:i.tickDistance,unitToColor:function(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){return o.rgb(t[1])}),n=\"rgb\".split(\"\").map(function(t){return o.scale.linear().clamp(!0).domain(e).range(r.map((n=t,function(t){return t[n]})));var n});return function(t){return n.map(function(e){return e(t)})}}(c),lines:b,labelFont:v,tickFont:y,rangeFont:x,layoutWidth:m,layoutHeight:t.height,domain:h,translateX:h.x[0]*m,translateY:t.height-h.y[1]*t.height,pad:k,canvasWidth:M*i.canvasPixelRatio+2*b.canvasOverdrag,canvasHeight:A*i.canvasPixelRatio,width:M,height:A,canvasPixelRatio:i.canvasPixelRatio}}function v(t,e,r){var n=r.width,s=r.height,l=r.dimensions,c=r.canvasPixelRatio,u=function(t){return n*t/Math.max(1,r.colCount-1)},f=i.verticalPadding/s,m=function(t,e){return o.scale.linear().range([e,t-e])}(s,i.verticalPadding),v={key:r.key,xScale:u,model:r,inBrushDrag:!1},y={};return v.dimensions=l.filter(p).map(function(n,l){var p=function(t,e){return o.scale.linear().domain(d(t)).range([e,1-e])}(n,f),x=y[n.label];y[n.label]=(x||0)+1;var b=n.label+(x?\"__\"+x:\"\"),_=n.constraintrange,w=_&&_.length;w&&!Array.isArray(_[0])&&(_=[_]);var k=w?_.map(function(t){return t.map(p)}):[[0,1]],M=n.values;M.length>n._length&&(M=M.slice(0,n._length));var A,T=n.tickvals;function S(t,e){return{val:t,text:A[e]}}function E(t,e){return t.val-e.val}if(Array.isArray(T)&&T.length){A=n.ticktext,Array.isArray(A)&&A.length?A.length>T.length?A=A.slice(0,T.length):T.length>A.length&&(T=T.slice(0,A.length)):A=T.map(o.format(n.tickformat));for(var C=1;C<T.length;C++)if(T[C]<T[C-1]){for(var L=T.map(S).sort(E),z=0;z<T.length;z++)T[z]=L[z].val,A[z]=L[z].text;break}}else T=void 0;return{key:b,label:n.label,tickFormat:n.tickformat,tickvals:T,ticktext:A,ordinal:!!T,multiselect:n.multiselect,xIndex:l,crossfilterDimensionIndex:l,visibleIndex:n._index,height:s,values:M,paddedUnitValues:M.map(p),unitTickvals:T&&T.map(p),xScale:u,x:u(l),canvasX:u(l)*c,unitToPaddedPx:m,domainScale:function(t,e,r,n,i){var a,s,l=d(r);return n?o.scale.ordinal().domain(n.map((a=o.format(r.tickformat),s=i,s?function(t,e){var r=s[e];return null==r?a(t):r}:a))).range(n.map(function(r){var n=(r-l[0])/(l[1]-l[0]);return t-e+n*(2*e-t)})):o.scale.linear().domain(l).range([t-e,e])}(s,i.verticalPadding,n,T,A),ordinalScale:function(t){if(t.tickvals){var e=d(t);return o.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}}(n),parent:v,model:r,brush:h.makeBrush(t,w,k,function(){t.linePickActive(!1)},function(){var e=v;e.focusLayer&&e.focusLayer.render(e.panels,!0);var r=g(e);!t.contextShown()&&r?(e.contextLayer&&e.contextLayer.render(e.panels,!0),t.contextShown(!0)):t.contextShown()&&!r&&(e.contextLayer&&e.contextLayer.render(e.panels,!0,!0),t.contextShown(!1))},function(r){var i=v;if(i.focusLayer.render(i.panels,!0),i.pickLayer&&i.pickLayer.render(i.panels,!0),t.linePickActive(!0),e&&e.filterChanged){var o=p.invert,s=r.map(function(t){return t.map(o).sort(a.sorterAsc)}).sort(function(t,e){return t[0]-e[0]});e.filterChanged(i.key,n._index,s)}})}}),v}function y(t){t.classed(i.cn.axisExtentText,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"default\").style(\"user-select\",\"none\")}e.exports=function(t,e,r,l,p,d){var x,b,_=(x=!0,b=!1,{linePickActive:function(t){return arguments.length?x=!!t:x},contextShown:function(t){return arguments.length?b=!!t:b}}),w=l.filter(function(t){return f(t).trace.visible}).map(m.bind(0,p)).map(v.bind(0,_,d));r.each(function(t,e){return a.extendFlat(t,w[e])});var k=r.selectAll(\".gl-canvas\").each(function(t){t.viewModel=w[0],t.model=t.viewModel?t.viewModel.model:null}),M=null;k.filter(function(t){return t.pick}).style(\"pointer-events\",\"auto\").on(\"mousemove\",function(t){if(_.linePickActive()&&t.lineLayer&&d&&d.hover){var e=o.event,r=this.width,n=this.height,i=o.mouse(this),a=i[0],s=i[1];if(a<0||s<0||a>=r||s>=n)return;var l=t.lineLayer.readPixel(a,n-1-s),c=0!==l[3],u=c?l[2]+256*(l[1]+256*l[0]):null,f={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:u};u!==M&&(c?d.hover(f):d.unhover&&d.unhover(f),M=u)}}),k.style(\"opacity\",function(t){return t.pick?.01:1}),e.style(\"background\",\"rgba(255, 255, 255, 0)\");var A=e.selectAll(\".\"+i.cn.parcoords).data(w,c);A.exit().remove(),A.enter().append(\"g\").classed(i.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),A.attr(\"transform\",function(t){return\"translate(\"+t.model.translateX+\",\"+t.model.translateY+\")\"});var T=A.selectAll(\".\"+i.cn.parcoordsControlView).data(u,c);T.enter().append(\"g\").classed(i.cn.parcoordsControlView,!0),T.attr(\"transform\",function(t){return\"translate(\"+t.model.pad.l+\",\"+t.model.pad.t+\")\"});var S=T.selectAll(\".\"+i.cn.yAxis).data(function(t){return t.dimensions},c);function E(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),i=n.length-1,a=0;a<i;a++){var o=r[a]||(r[a]={}),s=n[a],l=n[a+1];o.dim1=s,o.dim2=l,o.canvasX=s.canvasX,o.panelSizeX=l.canvasX-s.canvasX,o.panelSizeY=e.model.canvasHeight,o.y=0,o.canvasY=0}}S.enter().append(\"g\").classed(i.cn.yAxis,!0),T.each(function(t){E(S,t)}),k.each(function(t){t.viewModel&&(t.lineLayer?t.lineLayer.update(t):t.lineLayer=n(this,t),t.viewModel[t.key]=t.lineLayer,t.lineLayer.render(t.viewModel.panels,!t.context))}),S.attr(\"transform\",function(t){return\"translate(\"+t.xScale(t.xIndex)+\", 0)\"}),S.call(o.behavior.drag().origin(function(t){return t}).on(\"drag\",function(t){var e=t.parent;_.linePickActive(!1),t.x=Math.max(-i.overdrag,Math.min(t.model.width+i.overdrag,o.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,S.sort(function(t,e){return t.x-e.x}).each(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio}),E(S,e),S.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(\"transform\",function(t){return\"translate(\"+t.xScale(t.xIndex)+\", 0)\"}),o.select(this).attr(\"transform\",\"translate(\"+t.x+\", 0)\"),S.each(function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!g(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)}).on(\"dragend\",function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,E(S,e),o.select(this).attr(\"transform\",function(t){return\"translate(\"+t.x+\", 0)\"}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!g(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),_.linePickActive(!0),d&&d.axesMoved&&d.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex}))})),S.exit().remove();var C=S.selectAll(\".\"+i.cn.axisOverlays).data(u,c);C.enter().append(\"g\").classed(i.cn.axisOverlays,!0),C.selectAll(\".\"+i.cn.axis).remove();var L=C.selectAll(\".\"+i.cn.axis).data(u,c);L.enter().append(\"g\").classed(i.cn.axis,!0),L.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,n=r.domain();o.select(this).call(o.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?n:null).tickFormat(t.ordinal?function(t){return t}:null).scale(r)),s.font(L.selectAll(\"text\"),t.model.tickFont)}),L.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),L.selectAll(\"text\").style(\"text-shadow\",\"1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff\").style(\"cursor\",\"default\").style(\"user-select\",\"none\");var z=C.selectAll(\".\"+i.cn.axisHeading).data(u,c);z.enter().append(\"g\").classed(i.cn.axisHeading,!0);var P=z.selectAll(\".\"+i.cn.axisTitle).data(u,c);P.enter().append(\"text\").classed(i.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"user-select\",\"none\").style(\"pointer-events\",\"auto\"),P.attr(\"transform\",\"translate(0,\"+-i.axisTitleOffset+\")\").text(function(t){return t.label}).each(function(t){s.font(o.select(this),t.model.labelFont)});var O=C.selectAll(\".\"+i.cn.axisExtent).data(u,c);O.enter().append(\"g\").classed(i.cn.axisExtent,!0);var I=O.selectAll(\".\"+i.cn.axisExtentTop).data(u,c);I.enter().append(\"g\").classed(i.cn.axisExtentTop,!0),I.attr(\"transform\",\"translate(0,\"+-i.axisExtentOffset+\")\");var D=I.selectAll(\".\"+i.cn.axisExtentTopText).data(u,c);function R(t,e){if(t.ordinal)return\"\";var r=t.domainScale.domain();return o.format(t.tickFormat)(r[e?r.length-1:0])}D.enter().append(\"text\").classed(i.cn.axisExtentTopText,!0).call(y),D.text(function(t){return R(t,!0)}).each(function(t){s.font(o.select(this),t.model.rangeFont)});var B=O.selectAll(\".\"+i.cn.axisExtentBottom).data(u,c);B.enter().append(\"g\").classed(i.cn.axisExtentBottom,!0),B.attr(\"transform\",function(t){return\"translate(0,\"+(t.model.height+i.axisExtentOffset)+\")\"});var F=B.selectAll(\".\"+i.cn.axisExtentBottomText).data(u,c);F.enter().append(\"text\").classed(i.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(y),F.text(function(t){return R(t)}).each(function(t){s.font(o.select(this),t.model.rangeFont)}),h.ensureAxisBrush(C)}},{\"../../components/drawing\":592,\"../../lib\":693,\"../../lib/gup\":690,\"./axisbrush\":997,\"./constants\":1e3,\"./lines\":1003,d3:147}],1006:[function(t,e,r){\"use strict\";var n=t(\"./parcoords\"),i=t(\"../../lib/prepare_regl\");e.exports=function(t,e){var r=t._fullLayout,a=r._toppaper,o=r._paperdiv,s=r._glcontainer;if(i(t)){var l={},c={},u=r._size;e.forEach(function(e,r){l[r]=t.data[r].dimensions,c[r]=t.data[r].dimensions.slice()});n(o,a,s,e,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:function(e,r,n){var i=c[e][r],a=n.map(function(t){return t.slice()});a.length?(1===a.length&&(a=a[0]),i.constraintrange=a,a=[a]):(delete i.constraintrange,a=null);var o={};o[\"dimensions[\"+r+\"].constraintrange\"]=a,t.emit(\"plotly_restyle\",[o,[e]])},hover:function(e){t.emit(\"plotly_hover\",e)},unhover:function(e){t.emit(\"plotly_unhover\",e)},axesMoved:function(e,r){function n(t){return!(\"visible\"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(c[e].filter(n));l[e].sort(a),c[e].filter(function(t){return!n(t)}).sort(function(t){return c[e].indexOf(t)}).forEach(function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(c[e].indexOf(t),0,t)}),t.emit(\"plotly_restyle\")}})}}},{\"../../lib/prepare_regl\":707,\"./parcoords\":1005}],1007:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../plots/attributes\"),o=t(\"../../plots/domain\").attributes,s=t(\"../../lib/extend\").extendFlat,l=i({editType:\"calc\",colorEditType:\"style\"});e.exports={labels:{valType:\"data_array\",editType:\"calc\"},label0:{valType:\"number\",dflt:0,editType:\"calc\"},dlabel:{valType:\"number\",dflt:1,editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},marker:{colors:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:n.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},editType:\"calc\"},text:{valType:\"data_array\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"percent\"],extras:[\"none\"],editType:\"calc\"},hoverinfo:s({},a.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"calc\"},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),domain:o({name:\"pie\",trace:!0,editType:\"calc\"}),hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},sort:{valType:\"boolean\",dflt:!0,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"number\",min:-360,max:360,dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"}}},{\"../../components/color/attributes\":566,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../../plots/domain\":767,\"../../plots/font_attributes\":768}],1008:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/get_data\").getModuleCalcData;r.name=\"pie\",r.plot=function(t){var e=n.getModule(\"pie\"),r=i(t.calcdata,e)[0];r.length&&e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"pie\"),a=e._has&&e._has(\"pie\");i&&!a&&n._pielayer.selectAll(\"g.trace\").remove()}},{\"../../plots/get_data\":778,\"../../registry\":825}],1009:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\").isArrayOrTypedArray,a=t(\"tinycolor2\"),o=t(\"../../components/color\"),s=t(\"./helpers\");r.calc=function(t,e){var r,l,c,u,f,h=e.values,p=i(h)&&h.length,d=e.labels,g=e.marker.colors||[],m=[],v=t._fullLayout,y=v._piecolormap,x={},b=0,_=v.hiddenlabels||[];if(e.dlabel)for(d=new Array(h.length),r=0;r<h.length;r++)d[r]=String(e.label0+r*e.dlabel);function w(t,e){return!!t&&(!!(t=a(t)).isValid()&&(t=o.addOpacity(t,t.getAlpha()),y[e]||(y[e]=t),t))}var k=(p?h:d).length;for(r=0;r<k;r++){if(p){if(l=h[r],!n(l))continue;if((l=+l)<0)continue}else l=1;void 0!==(c=d[r])&&\"\"!==c||(c=r);var M=x[c=String(c)];void 0===M?(x[c]=m.length,(u=-1!==_.indexOf(c))||(b+=l),m.push({v:l,label:c,color:w(g[r],c),i:r,pts:[r],hidden:u})):((f=m[M]).v+=l,f.pts.push(r),f.hidden||(b+=l),!1===f.color&&g[r]&&(f.color=w(g[r],c)))}if(e.sort&&m.sort(function(t,e){return e.v-t.v}),m[0]&&(m[0].vTotal=b),e.textinfo&&\"none\"!==e.textinfo){var A,T=-1!==e.textinfo.indexOf(\"label\"),S=-1!==e.textinfo.indexOf(\"text\"),E=-1!==e.textinfo.indexOf(\"value\"),C=-1!==e.textinfo.indexOf(\"percent\"),L=v.separators;for(r=0;r<m.length;r++){if(f=m[r],A=T?[f.label]:[],S){var z=s.getFirstFilled(e.text,f.pts);z&&A.push(z)}E&&A.push(s.formatPieValue(f.v,L)),C&&A.push(s.formatPiePercent(f.v/b,L)),f.text=A.join(\"<br>\")}}return m},r.crossTraceCalc=function(t){var e=t._fullLayout,r=t.calcdata,n=e.piecolorway,i=e._piecolormap;e.extendpiecolors&&(n=function(t){var e,r=JSON.stringify(t),n=l[r];if(!n){for(n=t.slice(),e=0;e<t.length;e++)n.push(a(t[e]).lighten(20).toHexString());for(e=0;e<t.length;e++)n.push(a(t[e]).darken(20).toHexString());l[r]=n}return n}(n));var o,s,c,u,f=0;for(o=0;o<r.length;o++)if(\"pie\"===(c=r[o])[0].trace.type)for(s=0;s<c.length;s++)!1===(u=c[s]).color&&(i[u.label]?u.color=i[u.label]:(i[u.label]=u.color=n[f%n.length],f++))};var l={}},{\"../../components/color\":567,\"../../lib\":693,\"./helpers\":1012,\"fast-isnumeric\":213,tinycolor2:511}],1010:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../plots/domain\").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l,c=n.coerceFont,u=s(\"values\"),f=n.isArrayOrTypedArray(u),h=s(\"labels\");if(Array.isArray(h)?(l=h.length,f&&(l=Math.min(l,u.length))):f&&(l=u.length,s(\"label0\"),s(\"dlabel\")),l){e._length=l,s(\"marker.line.width\")&&s(\"marker.line.color\"),s(\"marker.colors\"),s(\"scalegroup\");var p=s(\"text\"),d=s(\"textinfo\",Array.isArray(p)?\"text+percent\":\"percent\");if(s(\"hovertext\"),d&&\"none\"!==d){var g=s(\"textposition\"),m=Array.isArray(g)||\"auto\"===g,v=m||\"inside\"===g,y=m||\"outside\"===g;if(v||y){var x=c(s,\"textfont\",o.font);v&&c(s,\"insidetextfont\",x),y&&c(s,\"outsidetextfont\",x)}}a(e,o,s),s(\"hole\"),s(\"sort\"),s(\"direction\"),s(\"rotation\"),s(\"pull\")}else e.visible=!1}},{\"../../lib\":693,\"../../plots/domain\":767,\"./attributes\":1007}],1011:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx/helpers\").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),r}},{\"../../components/fx/helpers\":606}],1012:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(\".\")&&(r=r.replace(/[.]?0+$/,\"\")),n.numSeparate(r,e)+\"%\"},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(\".\")&&(r=r.replace(/[.]?0+$/,\"\")),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r<e.length;r++){var n=t[e[r]];if(n||0===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0}},{\"../../lib\":693}],1013:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"./layout_defaults\"),n.layoutAttributes=t(\"./layout_attributes\");var i=t(\"./calc\");n.calc=i.calc,n.crossTraceCalc=i.crossTraceCalc,n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.styleOne=t(\"./style_one\"),n.moduleType=\"trace\",n.name=\"pie\",n.basePlotModule=t(\"./base_plot\"),n.categories=[\"pie\",\"showLegend\"],n.meta={},e.exports=n},{\"./attributes\":1007,\"./base_plot\":1008,\"./calc\":1009,\"./defaults\":1010,\"./layout_attributes\":1014,\"./layout_defaults\":1015,\"./plot\":1016,\"./style\":1017,\"./style_one\":1018}],1014:[function(t,e,r){\"use strict\";e.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{}],1015:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"hiddenlabels\"),r(\"piecolorway\",e.colorway),r(\"extendpiecolors\")}},{\"../../lib\":693,\"./layout_attributes\":1014}],1016:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/fx\"),a=t(\"../../components/color\"),o=t(\"../../components/drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"./helpers\"),u=t(\"./event_data\");function f(t,e){if(t.v===e.vTotal&&!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function h(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}e.exports=function(t,e){var r=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,c,u,f=[];for(i=0;i<t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.pull,Array.isArray(l))for(l=0,a=0;a<s.pull.length;a++)s.pull[a]>l&&(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&&-1===f.indexOf(s.scalegroup)&&f.push(s.scalegroup)}for(a=0;a<f.length;a++){for(u=1/0,c=f[a],i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===c&&(u=Math.min(u,o.r*o.r/o.vTotal));for(i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===c&&(o.r=Math.sqrt(u*o.vTotal))}}(e,r._size);var p=s.makeTraceGroups(r._pielayer,e,\"trace\").each(function(e){var p=n.select(this),d=e[0],g=d.trace;!function(t){var e,r,n,i=t[0],a=i.trace,o=a.rotation*Math.PI/180,s=2*Math.PI/i.vTotal,l=\"px0\",c=\"px1\";if(\"counterclockwise\"===a.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;o+=s*t[e].v,s*=-1,l=\"px1\",c=\"px0\"}function u(t){return[i.r*Math.sin(t),-i.r*Math.cos(t)]}for(n=u(o),e=0;e<t.length;e++)(r=t[e]).hidden||(r[l]=n,o+=s*r.v/2,r.pxmid=u(o),r.midangle=o,o+=s*r.v/2,n=u(o),r[c]=n,r.largeArc=r.v>i.vTotal/2?1:0)}(e),p.attr(\"stroke-linejoin\",\"round\"),p.each(function(){var p=n.select(this).selectAll(\"g.slice\").data(e);p.enter().append(\"g\").classed(\"slice\",!0),p.exit().remove();var m=[[[],[]],[[],[]]],v=!1;p.each(function(e){if(e.hidden)n.select(this).selectAll(\"path,g\").remove();else{e.pointNumber=e.i,e.curveNumber=g.index,m[e.pxmid[1]<0?0:1][e.pxmid[0]<0?0:1].push(e);var a=d.cx,p=d.cy,y=n.select(this),x=y.selectAll(\"path.surface\").data([e]),b=!1,_=!1;if(x.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":\"all\"}),y.select(\"path.textline\").remove(),y.on(\"mouseover\",function(){var o=t._fullLayout,s=t._fullData[g.index];if(!t._dragging&&!1!==o.hovermode){var l=s.hoverinfo;if(Array.isArray(l)&&(l=i.castHoverinfo({hoverinfo:[c.castOption(l,e.pts)],_module:g._module},o,0)),\"all\"===l&&(l=\"label+text+value+percent+name\"),\"none\"!==l&&\"skip\"!==l&&l){var h=f(e,d),m=a+e.pxmid[0]*(1-h),v=p+e.pxmid[1]*(1-h),y=r.separators,x=[];if(-1!==l.indexOf(\"label\")&&x.push(e.label),-1!==l.indexOf(\"text\")){var w=c.castOption(s.hovertext||s.text,e.pts);w&&x.push(w)}-1!==l.indexOf(\"value\")&&x.push(c.formatPieValue(e.v,y)),-1!==l.indexOf(\"percent\")&&x.push(c.formatPiePercent(e.v/d.vTotal,y));var k=g.hoverlabel,M=k.font;i.loneHover({x0:m-h*d.r,x1:m+h*d.r,y:v,text:x.join(\"<br>\"),name:-1!==l.indexOf(\"name\")?s.name:void 0,idealAlign:e.pxmid[0]<0?\"left\":\"right\",color:c.castOption(k.bgcolor,e.pts)||e.color,borderColor:c.castOption(k.bordercolor,e.pts),fontFamily:c.castOption(M.family,e.pts),fontSize:c.castOption(M.size,e.pts),fontColor:c.castOption(M.color,e.pts)},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:t}),b=!0}t.emit(\"plotly_hover\",{points:[u(e,s)],event:n.event}),_=!0}}).on(\"mouseout\",function(r){var a=t._fullLayout,o=t._fullData[g.index];_&&(r.originalEvent=n.event,t.emit(\"plotly_unhover\",{points:[u(e,o)],event:n.event}),_=!1),b&&(i.loneUnhover(a._hoverlayer.node()),b=!1)}).on(\"click\",function(){var r=t._fullLayout,a=t._fullData[g.index];t._dragging||!1===r.hovermode||(t._hoverdata=[u(e,a)],i.click(t,n.event))}),g.pull){var w=+c.castOption(g.pull,e.pts)||0;w>0&&(a+=w*e.pxmid[0],p+=w*e.pxmid[1])}e.cxFinal=a,e.cyFinal=p;var k=g.hole;if(e.v===d.vTotal){var M=\"M\"+(a+e.px0[0])+\",\"+(p+e.px0[1])+C(e.px0,e.pxmid,!0,1)+C(e.pxmid,e.px0,!0,1)+\"Z\";k?x.attr(\"d\",\"M\"+(a+k*e.px0[0])+\",\"+(p+k*e.px0[1])+C(e.px0,e.pxmid,!1,k)+C(e.pxmid,e.px0,!1,k)+\"Z\"+M):x.attr(\"d\",M)}else{var A=C(e.px0,e.px1,!0,1);if(k){var T=1-k;x.attr(\"d\",\"M\"+(a+k*e.px1[0])+\",\"+(p+k*e.px1[1])+C(e.px1,e.px0,!1,k)+\"l\"+T*e.px0[0]+\",\"+T*e.px0[1]+A+\"Z\")}else x.attr(\"d\",\"M\"+a+\",\"+p+\"l\"+e.px0[0]+\",\"+e.px0[1]+A+\"Z\")}var S=c.castOption(g.textposition,e.pts),E=y.selectAll(\"g.slicetext\").data(e.text&&\"none\"!==S?[0]:[]);E.enter().append(\"g\").classed(\"slicetext\",!0),E.exit().remove(),E.each(function(){var r=s.ensureSingle(n.select(this),\"text\",\"\",function(t){t.attr(\"data-notex\",1)});r.text(e.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(o.font,\"outside\"===S?g.outsidetextfont:g.insidetextfont).call(l.convertToTspans,t);var i,c=o.bBox(r.node());\"outside\"===S?i=h(c,e):(i=function(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),i=t.width/t.height,a=Math.PI*Math.min(e.v/r.vTotal,.5),o=1-r.trace.hole,s=f(e,r),l={scale:s*r.r*2/n,rCenter:1-s,rotate:0};if(l.scale>=1)return l;var c=i+1/(2*Math.tan(a)),u=r.r*Math.min(1/(Math.sqrt(c*c+.5)+c),o/(Math.sqrt(i*i+o/2)+i)),h={scale:2*u/t.height,rCenter:Math.cos(u/r.r)-u*i/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},p=1/i,d=p+1/(2*Math.tan(a)),g=r.r*Math.min(1/(Math.sqrt(d*d+.5)+d),o/(Math.sqrt(p*p+o/2)+p)),m={scale:2*g/t.width,rCenter:Math.cos(g/r.r)-g/i/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=m.scale>h.scale?m:h;return l.scale<1&&v.scale>l.scale?v:l}(c,e,d),\"auto\"===S&&i.scale<1&&(r.call(o.font,g.outsidetextfont),g.outsidetextfont.family===g.insidetextfont.family&&g.outsidetextfont.size===g.insidetextfont.size||(c=o.bBox(r.node())),i=h(c,e)));var u=a+e.pxmid[0]*i.rCenter+(i.x||0),m=p+e.pxmid[1]*i.rCenter+(i.y||0);i.outside&&(e.yLabelMin=m-c.height/2,e.yLabelMid=m,e.yLabelMax=m+c.height/2,e.labelExtraX=0,e.labelExtraY=0,v=!0),r.attr(\"transform\",\"translate(\"+u+\",\"+m+\")\"+(i.scale<1?\"scale(\"+i.scale+\")\":\"\")+(i.rotate?\"rotate(\"+i.rotate+\")\":\"\")+\"translate(\"+-(c.left+c.right)/2+\",\"+-(c.top+c.bottom)/2+\")\")})}function C(t,r,n,i){return\"a\"+i*d.r+\",\"+i*d.r+\" 0 \"+e.largeArc+(n?\" 1 \":\" 0 \")+i*(r[0]-t[0])+\",\"+i*(r[1]-t[1])}}),v&&function(t,e){var r,n,i,a,o,s,l,u,f,h,p,d,g;function m(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var i,u,f,p,d,g,m=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,x=t.cyFinal+o(t.px0[1],t.px1[1]),b=m-v;if(b*l>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(u=0;u<h.length;u++)(f=h[u])===t||(c.castOption(e.pull,t.pts)||0)>=(c.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*l>0?(p=f.cyFinal+o(f.px0[1],f.px1[1]),(b=p-v-t.labelExtraY)*l>0&&(t.labelExtraY+=b)):(y+t.labelExtraY-x)*l>0&&(i=3*s*Math.abs(u-h.indexOf(t)),d=f.cxFinal+a(f.px0[0],f.px1[0]),(g=d+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=g)))}for(n=0;n<2;n++)for(i=n?m:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(u),d=[],p=0;p<u.length;p++)void 0!==u[p].yLabelMid&&d.push(u[p]);for(g=!1,p=0;n&&p<f.length;p++)if(void 0!==f[p].yLabelMid){g=f[p];break}for(p=0;p<d.length;p++){var x=p&&d[p-1];g&&!p&&(x=g),y(d[p],x)}}}(m,g),p.each(function(t){if(t.labelExtraX||t.labelExtraY){var e=n.select(this),r=e.select(\"g.slicetext text\");r.attr(\"transform\",\"translate(\"+t.labelExtraX+\",\"+t.labelExtraY+\")\"+r.attr(\"transform\"));var i=t.cxFinal+t.pxmid[0],o=\"M\"+i+\",\"+(t.cyFinal+t.pxmid[1]),s=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var l=t.labelExtraX*t.pxmid[1]/t.pxmid[0],c=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(l)>Math.abs(c)?o+=\"l\"+c*t.pxmid[0]/t.pxmid[1]+\",\"+c+\"H\"+(i+t.labelExtraX+s):o+=\"l\"+t.labelExtraX+\",\"+l+\"v\"+(c-l)+\"h\"+s}else o+=\"V\"+(t.yLabelMid+t.labelExtraY)+\"h\"+s;e.append(\"path\").classed(\"textline\",!0).call(a.stroke,g.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,g.outsidetextfont.size/8),d:o,fill:\"none\"})}})})});setTimeout(function(){p.selectAll(\"tspan\").each(function(){var t=n.select(this);t.attr(\"dy\")&&t.attr(\"dy\",t.attr(\"dy\"))})},0)}},{\"../../components/color\":567,\"../../components/drawing\":592,\"../../components/fx\":609,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"./event_data\":1011,\"./helpers\":1012,d3:147}],1017:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"./style_one\");e.exports=function(t){t._fullLayout._pielayer.selectAll(\".trace\").each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(\"path.surface\").each(function(t){n.select(this).call(i,t,e)})})}},{\"./style_one\":1018,d3:147}],1018:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"./helpers\").castOption;e.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style({\"stroke-width\":s}).call(n.fill,e.color).call(n.stroke,o)}},{\"../../components/color\":567,\"./helpers\":1012}],1019:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\");e.exports={x:n.x,y:n.y,xy:{valType:\"data_array\",editType:\"calc\"},indices:{valType:\"data_array\",editType:\"calc\"},xbounds:{valType:\"data_array\",editType:\"calc\"},ybounds:{valType:\"data_array\",editType:\"calc\"},text:n.text,marker:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,arrayOk:!1,editType:\"calc\"},blend:{valType:\"boolean\",dflt:null,editType:\"calc\"},sizemin:{valType:\"number\",min:.1,max:2,dflt:.5,editType:\"calc\"},sizemax:{valType:\"number\",min:.1,dflt:20,editType:\"calc\"},border:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},arearatio:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"}}},{\"../scatter/attributes\":1032}],1020:[function(t,e,r){\"use strict\";var n=t(\"gl-pointcloud2d\"),i=t(\"../../lib/str2rgbarray\"),a=t(\"../../plots/cartesian/autorange\").findExtremes,o=t(\"../scatter/get_trace_color\");function s(t,e){this.scene=t,this.uid=e,this.type=\"pointcloud\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\"rgb(0, 0, 0)\",this.name=\"\",this.hoverinfo=\"all\",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;l<e;l++)o=n[2*l],s=n[2*l+1],o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;l<e;l++)r[l]=l}else for(e=c.length,n=new Float32Array(2*e),r=new Int32Array(e),l=0;l<e;l++)o=c[l],s=u[l],r[l]=l,n[2*l]=o,n[2*l+1]=s,o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var g=i(t.marker.color),m=i(t.marker.border.color),v=t.opacity*t.marker.opacity;g[3]*=v,this.pointcloudOptions.color=g;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,m[3]*=v,this.pointcloudOptions.borderColor=m;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,k=b/2||.5;t._extremes[_._id]=a(_,[d[0],d[2]],{ppad:k}),t._extremes[w._id]=a(w,[d[1],d[3]],{ppad:k})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{\"../../lib/str2rgbarray\":717,\"../../plots/cartesian/autorange\":741,\"../scatter/get_trace_color\":1042,\"gl-pointcloud2d\":278}],1021:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(\"x\"),a(\"y\"),a(\"xbounds\"),a(\"ybounds\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a(\"text\"),a(\"marker.color\",r),a(\"marker.opacity\"),a(\"marker.blend\"),a(\"marker.sizemin\"),a(\"marker.sizemax\"),a(\"marker.border.color\",r),a(\"marker.border.arearatio\"),e._length=null}},{\"../../lib\":693,\"./attributes\":1019}],1022:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"../scatter3d/calc\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"pointcloud\",n.basePlotModule=t(\"../../plots/gl2d\"),n.categories=[\"gl\",\"gl2d\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/gl2d\":781,\"../scatter3d/calc\":1060,\"./attributes\":1019,\"./convert\":1020,\"./defaults\":1021}],1023:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/color/attributes\"),o=t(\"../../components/fx/attributes\"),s=t(\"../../plots/domain\").attributes,l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/edit_types\").overrideAll;e.exports=c({hoverinfo:l({},i.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hoverlabel:o.hoverlabel,domain:s({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\"},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:n({}),node:{label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:.5,arrayOk:!0}},pad:{valType:\"number\",arrayOk:!1,min:0,dflt:20},thickness:{valType:\"number\",arrayOk:!1,min:1,dflt:20}},link:{label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0}},source:{valType:\"data_array\",dflt:[]},target:{valType:\"data_array\",dflt:[]},value:{valType:\"data_array\",dflt:[]}}},\"calc\",\"nested\")},{\"../../components/color/attributes\":566,\"../../components/fx/attributes\":601,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/attributes\":739,\"../../plots/domain\":767,\"../../plots/font_attributes\":768}],1024:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,i=t(\"../../plots/get_data\").getModuleCalcData,a=t(\"./plot\"),o=t(\"../../components/fx/layout_attributes\");r.name=\"sankey\",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},\"plot\",\"nested\"),r.plot=function(t){var e=i(t.calcdata,\"sankey\")[0];a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"sankey\"),a=e._has&&e._has(\"sankey\");i&&!a&&n._paperdiv.selectAll(\".sankey\").remove()}},{\"../../components/fx/layout_attributes\":610,\"../../plot_api/edit_types\":725,\"../../plots/get_data\":778,\"./plot\":1029}],1025:[function(t,e,r){\"use strict\";var n=t(\"strongly-connected-components\"),i=t(\"../../lib\"),a=t(\"../../lib/gup\").wrap;e.exports=function(t,e){return function(t,e,r){for(var a=t.length,o=i.init2dArray(a,0),s=0;s<Math.min(e.length,r.length);s++)if(i.isIndex(e[s],a)&&i.isIndex(r[s],a)){if(e[s]===r[s])return!0;o[e[s]].push(r[s])}return n(o).components.some(function(t){return t.length>1})}(e.node.label,e.link.source,e.link.target)&&(i.error(\"Circularity is present in the Sankey data. Removing all nodes and links.\"),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),a({link:e.link,node:e.node})}},{\"../../lib\":693,\"../../lib/gup\":690,\"strongly-connected-components\":503}],1026:[function(t,e,r){\"use strict\";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\"cubic-in-out\",cn:{sankey:\"sankey\",sankeyLinks:\"sankey-links\",sankeyLink:\"sankey-link\",sankeyNodeSet:\"sankey-node-set\",sankeyNode:\"sankey-node\",nodeRect:\"node-rect\",nodeCapture:\"node-capture\",nodeCentered:\"node-entered\",nodeLabelGuide:\"node-label-guide\",nodeLabel:\"node-label\",nodeLabelTextPath:\"node-label-text-path\"}}},{}],1027:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../components/color\"),o=t(\"tinycolor2\"),s=t(\"../../plots/domain\").defaults;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}c(\"node.label\"),c(\"node.pad\"),c(\"node.thickness\"),c(\"node.line.color\"),c(\"node.line.width\");var u=l.colorway;c(\"node.color\",e.node.label.map(function(t,e){return a.addOpacity(function(t){return u[t%u.length]}(e),.8)})),c(\"link.label\"),c(\"link.source\"),c(\"link.target\"),c(\"link.value\"),c(\"link.line.color\"),c(\"link.line.width\"),c(\"link.color\",e.link.value.map(function(){return o(l.paper_bgcolor).getLuminance()<.333?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\"})),s(e,l,c),c(\"orientation\"),c(\"valueformat\"),c(\"valuesuffix\"),c(\"arrangement\"),n.coerceFont(c,\"textfont\",n.extendFlat({},l.font)),e._length=null}},{\"../../components/color\":567,\"../../lib\":693,\"../../plots/domain\":767,\"./attributes\":1023,tinycolor2:511}],1028:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.moduleType=\"trace\",n.name=\"sankey\",n.basePlotModule=t(\"./base_plot\"),n.categories=[\"noOpacity\"],n.meta={},e.exports=n},{\"./attributes\":1023,\"./base_plot\":1024,\"./calc\":1025,\"./defaults\":1027,\"./plot\":1029}],1029:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"./render\"),a=t(\"../../components/fx\"),o=t(\"../../components/color\"),s=t(\"../../lib\"),l=t(\"./constants\").cn,c=s._;function u(t){return\"\"!==t}function f(t,e){return t.filter(function(t){return t.key===e.traceId})}function h(t,e){n.select(t).select(\"path\").style(\"fill-opacity\",e),n.select(t).select(\"rect\").style(\"fill-opacity\",e)}function p(t){n.select(t).select(\"text.name\").style(\"fill\",\"black\")}function d(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function m(t,e,r){e&&r&&f(r,e).selectAll(\".\"+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function v(t,e,r){e&&r&&f(r,e).selectAll(\".\"+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",.4),i&&f(e,t).selectAll(\".\"+l.sankeyLink).filter(function(t){return t.link.label===i}).style(\"fill-opacity\",.4),r&&f(e,t).selectAll(\".\"+l.sankeyNode).filter(g(t)).call(m)}function x(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),i&&f(e,t).selectAll(\".\"+l.sankeyLink).filter(function(t){return t.link.label===i}).style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),r&&f(e,t).selectAll(l.sankeyNode).filter(g(t)).call(v)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){var r=t._fullLayout,s=r._paper,f=r._size,d=c(t,\"source:\")+\" \",g=c(t,\"target:\")+\" \",_=c(t,\"incoming flow count:\")+\" \",w=c(t,\"outgoing flow count:\")+\" \";i(s,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{linkEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(y.bind(0,r,i,!0)),t.emit(\"plotly_hover\",{event:n.event,points:[r.link]}))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var s=i.link.trace,l=t._fullLayout._paperdiv.node().getBoundingClientRect(),c=e.getBoundingClientRect(),f=c.left+c.width/2,m=c.top+c.height/2,v=a.loneHover({x:f-l.left,y:m-l.top,name:n.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||\"\",d+i.link.source.label,g+i.link.target.label].filter(u).join(\"<br>\"),color:b(s,\"bgcolor\")||o.addOpacity(i.tinyColorHue,1),borderColor:b(s,\"bordercolor\"),fontFamily:b(s,\"font.family\"),fontSize:b(s,\"font.size\"),fontColor:b(s,\"font.color\"),idealAlign:n.event.x<f?\"right\":\"left\"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(v,.65),p(v)}},unhover:function(e,i,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(x.bind(0,i,o,!0)),t.emit(\"plotly_unhover\",{event:n.event,points:[i.link]}),a.loneUnhover(r._hoverlayer.node()))},select:function(e,r){var i=r.link;i.originalEvent=n.event,t._hoverdata=[i],a.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,r,i),t.emit(\"plotly_hover\",{event:n.event,points:[r.node]}))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var o=i.node.trace,s=n.select(e).select(\".\"+l.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),f=s.node().getBoundingClientRect(),d=f.left-2-c.left,g=f.right+2-c.left,m=f.top+f.height/4-c.top,v=a.loneHover({x0:d,x1:g,y:m,name:n.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,_+i.node.targetLinks.length,w+i.node.sourceLinks.length].filter(u).join(\"<br>\"),color:b(o,\"bgcolor\")||i.tinyColorHue,borderColor:b(o,\"bordercolor\"),fontFamily:b(o,\"font.family\"),fontSize:b(o,\"font.size\"),fontColor:b(o,\"font.color\"),idealAlign:\"left\"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(v,.85),p(v)}},unhover:function(e,i,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,i,o),t.emit(\"plotly_unhover\",{event:n.event,points:[i.node]}),a.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(v,r,i),a.click(t,{target:!0})}}})}},{\"../../components/color\":567,\"../../components/fx\":609,\"../../lib\":693,\"./constants\":1026,\"./render\":1030,d3:147}],1030:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"d3\"),a=t(\"tinycolor2\"),o=t(\"../../components/color\"),s=t(\"../../components/drawing\"),l=t(\"@plotly/d3-sankey\").sankey,c=t(\"d3-force\"),u=t(\"../../lib\"),f=u.isArrayOrTypedArray,h=u.isIndex,p=t(\"../../lib/gup\"),d=p.keyFun,g=p.repeat,m=p.unwrap;function v(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function y(t){return function(e){return e.node.originalX===t.node.originalX}}function x(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y+t[e].dy/2}function b(t){t.attr(\"transform\",function(t){return\"translate(\"+t.node.x.toFixed(3)+\", \"+(t.node.y-t.node.dy/2).toFixed(3)+\")\"})}function _(t){var e=t.sankey.nodes();!function(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y-t[e].dy/2}(e);var r=t.sankey.link()(t.link);return x(e),r}function w(t){t.call(b)}function k(t,e){t.call(w),e.attr(\"d\",_)}function M(t){t.attr(\"width\",function(t){return t.visibleWidth}).attr(\"height\",function(t){return t.visibleHeight})}function A(t){return t.link.dy>1||t.linkLineWidth>0}function T(t){return\"translate(\"+t.translateX+\",\"+t.translateY+\")\"+(t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function S(t){return\"translate(\"+(t.horizontal?0:t.labelY)+\" \"+(t.horizontal?t.labelY:0)+\")\"}function E(t){return i.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+n.nodeTextOffsetHorizontal:n.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-n.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-n.nodeTextOffsetHorizontal,0]])}function C(t){return t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\"}function L(t){return t.horizontal?\"scale(1 1)\":\"scale(-1 1)\"}function z(t){return t.darkBackground&&!t.horizontal?\"rgb(255,255,255)\":\"rgb(0,0,0)\"}function P(t){return t.horizontal&&t.left?\"100%\":\"0%\"}function O(t,e,r){t.on(\".basic\",null).on(\"mouseover.basic\",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(\"mousemove.basic\",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(\"mouseout.basic\",function(t){t.interactionState.dragInProgress||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on(\"click.basic\",function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||r.select(this,t,e)})}function I(t,e,r){var a=i.behavior.drag().origin(function(t){return t.node}).on(\"dragstart\",function(i){if(\"fixed\"!==i.arrangement&&(u.raiseToTop(this),i.interactionState.dragInProgress=i.node,v(i.node),i.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),\"snap\"===i.arrangement)){var a=i.traceId+\"|\"+Math.floor(i.node.originalX);i.forceLayouts[a]?i.forceLayouts[a].alpha(1):function(t,e,r){var i=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=c.forceSimulation(i).alphaDecay(0).force(\"collide\",c.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(n.forceIterations)).force(\"constrain\",function(t,e,r,i){return function(){for(var t=0,a=0;a<r.length;a++){var o=r[a];o===i.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/n.forceTicksPerFrame,o.y=Math.min(i.size-o.dy/2,Math.max(o.dy/2,o.y))),t=Math.max(t,Math.abs(o.vx),Math.abs(o.vy))}!i.interactionState.dragInProgress&&t<.1&&i.forceLayouts[e].alpha()>0&&i.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,a,i),function(t,e,r,i){window.requestAnimationFrame(function a(){for(var o=0;o<n.forceTicksPerFrame;o++)r.forceLayouts[i].tick();r.sankey.relayout(),k(t.filter(y(r)),e),r.forceLayouts[i].alpha()>0&&window.requestAnimationFrame(a)})}(t,e,i,a)}}).on(\"drag\",function(r){if(\"fixed\"!==r.arrangement){var n=i.event.x,a=i.event.y;\"snap\"===r.arrangement?(r.node.x=n,r.node.y=a):(\"freeform\"===r.arrangement&&(r.node.x=n),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,a))),v(r.node),\"snap\"!==r.arrangement&&(r.sankey.relayout(),k(t.filter(y(r)),e))}}).on(\"dragend\",function(t){t.interactionState.dragInProgress=!1});t.on(\".drag\",null).call(a)}e.exports=function(t,e,r,i){var c=t.selectAll(\".\"+n.cn.sankey).data(e.filter(function(t){return m(t).trace.visible}).map(function(t,e,r){var i,a=m(e).trace,o=a.domain,s=a.node,c=a.link,u=a.arrangement,p=\"h\"===a.orientation,d=a.node.pad,g=a.node.thickness,v=a.node.line.color,y=a.node.line.width,b=a.link.line.color,_=a.link.line.width,w=a.valueformat,k=a.valuesuffix,M=a.textfont,A=t.width*(o.x[1]-o.x[0]),T=t.height*(o.y[1]-o.y[0]),S=[],E=f(c.color),C={},L=s.label.length;for(i=0;i<c.value.length;i++){var z=c.value[i],P=c.source[i],O=c.target[i];z>0&&h(P,L)&&h(O,L)&&(O=+O,C[P=+P]=C[O]=!0,S.push({pointNumber:i,label:c.label[i],color:E?c.color[i]:c.color,source:P,target:O,value:+z}))}var I=f(s.color),D=[],R=!1,B={};for(i=0;i<L;i++)if(C[i]){var F=s.label[i];B[i]=D.length,D.push({pointNumber:i,label:F,color:I?s.color[i]:s.color})}else R=!0;if(R)for(i=0;i<S.length;i++)S[i].source=B[S[i].source],S[i].target=B[S[i].target];for(var N,j=l().size(p?[A,T]:[T,A]).nodeWidth(g).nodePadding(d).nodes(D).links(S).layout(n.sankeyIterations),V=j.nodes(),U=0;U<V.length;U++)(N=V[U]).width=A,N.height=T;return x(D),{key:r,trace:a,guid:Math.floor(1e12*(1+Math.random())),horizontal:p,width:A,height:T,nodePad:d,nodeLineColor:v,nodeLineWidth:y,linkLineColor:b,linkLineWidth:_,valueFormat:w,valueSuffix:k,textFont:M,translateX:o.x[0]*t.width+t.margin.l,translateY:t.height-o.y[1]*t.height+t.margin.t,dragParallel:p?T:A,dragPerpendicular:p?A:T,nodes:D,links:S,arrangement:u,sankey:j,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,r)),d);c.exit().remove(),c.enter().append(\"g\").classed(n.cn.sankey,!0).style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"shape-rendering\",\"geometricPrecision\").style(\"pointer-events\",\"auto\").attr(\"transform\",T),c.transition().ease(n.ease).duration(n.duration).attr(\"transform\",T);var u=c.selectAll(\".\"+n.cn.sankeyLinks).data(g,d);u.enter().append(\"g\").classed(n.cn.sankeyLinks,!0).style(\"fill\",\"none\");var p=u.selectAll(\".\"+n.cn.sankeyLink).data(function(t){return t.sankey.links().filter(function(t){return t.value}).map(function(t,e,r){var n=a(r.color),i=r.source.label+\"|\"+r.target.label,s=t[i];t[i]=(s||0)+1;var l=i+\"__\"+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:l,traceId:e.key,link:r,tinyColorHue:o.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}.bind(null,{},t))},d);p.enter().append(\"path\").classed(n.cn.sankeyLink,!0).attr(\"d\",_).call(O,c,i.linkEvents),p.style(\"stroke\",function(t){return A(t)?o.tinyRGB(a(t.linkLineColor)):t.tinyColorHue}).style(\"stroke-opacity\",function(t){return A(t)?o.opacity(t.linkLineColor):t.tinyColorAlpha}).style(\"stroke-width\",function(t){return A(t)?t.linkLineWidth:1}).style(\"fill\",function(t){return t.tinyColorHue}).style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),p.transition().ease(n.ease).duration(n.duration).attr(\"d\",_),p.exit().transition().ease(n.ease).duration(n.duration).style(\"opacity\",0).remove();var v=c.selectAll(\".\"+n.cn.sankeyNodeSet).data(g,d);v.enter().append(\"g\").classed(n.cn.sankeyNodeSet,!0),v.style(\"cursor\",function(t){switch(t.arrangement){case\"fixed\":return\"default\";case\"perpendicular\":return\"ns-resize\";default:return\"move\"}});var y=v.selectAll(\".\"+n.cn.sankeyNode).data(function(t){var e=t.sankey.nodes();return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&&r.push(t[e].x);for(r.sort(function(t,e){return t-e}),e=0;e<t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.filter(function(t){return t.value}).map(function(t,e,r){var i=a(r.color),s=n.nodePadAcross,l=e.nodePad/2,c=r.dx,u=Math.max(.5,r.dy),f=r.label,h=t[f];t[f]=(h||0)+1;var p=f+\"__\"+t[f];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:p,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(c),visibleHeight:u,zoneX:-s,zoneY:-l,zoneWidth:c+2*s,zoneHeight:u+2*l,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:i.getBrightness()<=128,tinyColorHue:o.tinyRGB(i),tinyColorAlpha:i.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,p].join(\" \"),interactionState:e.interactionState}}.bind(null,{},t))},d);y.enter().append(\"g\").classed(n.cn.sankeyNode,!0).call(b).call(O,c,i.nodeEvents),y.call(I,p,i),y.transition().ease(n.ease).duration(n.duration).call(b),y.exit().transition().ease(n.ease).duration(n.duration).style(\"opacity\",0).remove();var w=y.selectAll(\".\"+n.cn.nodeRect).data(g);w.enter().append(\"rect\").classed(n.cn.nodeRect,!0).call(M),w.style(\"stroke-width\",function(t){return t.nodeLineWidth}).style(\"stroke\",function(t){return o.tinyRGB(a(t.nodeLineColor))}).style(\"stroke-opacity\",function(t){return o.opacity(t.nodeLineColor)}).style(\"fill\",function(t){return t.tinyColorHue}).style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),w.transition().ease(n.ease).duration(n.duration).call(M);var k=y.selectAll(\".\"+n.cn.nodeCapture).data(g);k.enter().append(\"rect\").classed(n.cn.nodeCapture,!0).style(\"fill-opacity\",0),k.attr(\"x\",function(t){return t.zoneX}).attr(\"y\",function(t){return t.zoneY}).attr(\"width\",function(t){return t.zoneWidth}).attr(\"height\",function(t){return t.zoneHeight});var D=y.selectAll(\".\"+n.cn.nodeCentered).data(g);D.enter().append(\"g\").classed(n.cn.nodeCentered,!0).attr(\"transform\",S),D.transition().ease(n.ease).duration(n.duration).attr(\"transform\",S);var R=D.selectAll(\".\"+n.cn.nodeLabelGuide).data(g);R.enter().append(\"path\").classed(n.cn.nodeLabelGuide,!0).attr(\"id\",function(t){return t.uniqueNodeLabelPathId}).attr(\"d\",E).attr(\"transform\",C),R.transition().ease(n.ease).duration(n.duration).attr(\"d\",E).attr(\"transform\",C);var B=D.selectAll(\".\"+n.cn.nodeLabel).data(g);B.enter().append(\"text\").classed(n.cn.nodeLabel,!0).attr(\"transform\",L).style(\"user-select\",\"none\").style(\"cursor\",\"default\").style(\"fill\",\"black\"),B.style(\"text-shadow\",function(t){return t.horizontal?\"-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff\":\"none\"}).each(function(t){s.font(B,t.textFont)}),B.transition().ease(n.ease).duration(n.duration).attr(\"transform\",L);var F=B.selectAll(\".\"+n.cn.nodeLabelTextPath).data(g);F.enter().append(\"textPath\").classed(n.cn.nodeLabelTextPath,!0).attr(\"alignment-baseline\",\"middle\").attr(\"xlink:href\",function(t){return\"#\"+t.uniqueNodeLabelPathId}).attr(\"startOffset\",P).style(\"fill\",z),F.text(function(t){return t.horizontal||t.node.dy>5?t.node.label:\"\"}).attr(\"text-anchor\",function(t){return t.horizontal&&t.left?\"end\":\"start\"}),F.transition().ease(n.ease).duration(n.duration).attr(\"startOffset\",P).style(\"fill\",z)}},{\"../../components/color\":567,\"../../components/drawing\":592,\"../../lib\":693,\"../../lib/gup\":690,\"./constants\":1026,\"@plotly/d3-sankey\":45,d3:147,\"d3-force\":143,tinycolor2:511}],1031:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,\"tx\"),n.mergeArray(e.hovertext,t,\"htx\"),n.mergeArray(e.customdata,t,\"data\"),n.mergeArray(e.textposition,t,\"tp\"),e.textfont&&(n.mergeArray(e.textfont.size,t,\"ts\"),n.mergeArray(e.textfont.color,t,\"tc\"),n.mergeArray(e.textfont.family,t,\"tf\"));var i=e.marker;if(i){n.mergeArray(i.size,t,\"ms\"),n.mergeArray(i.opacity,t,\"mo\"),n.mergeArray(i.symbol,t,\"mx\"),n.mergeArray(i.color,t,\"mc\");var a=i.line;i.line&&(n.mergeArray(a.color,t,\"mlc\"),n.mergeArray(a.width,t,\"mlw\"));var o=i.gradient;o&&\"none\"!==o.type&&(n.mergeArray(o.type,t,\"mgt\"),n.mergeArray(o.color,t,\"mgc\"))}}},{\"../../lib\":693}],1032:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../components/colorbar/attributes\"),a=t(\"../../plots/font_attributes\"),o=t(\"../../components/drawing/attributes\").dash,s=t(\"../../components/drawing\"),l=(t(\"./constants\"),t(\"../../lib/extend\").extendFlat);e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",dflt:1,editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dy:{valType:\"number\",dflt:1,editType:\"calc\"},stackgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc\"},groupnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},stackgaps:{valType:\"enumerated\",values:[\"infer zero\",\"interpolate\"],dflt:\"infer zero\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"],editType:\"calc\"},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"],editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1,editType:\"plot\"},dash:l({},o,{editType:\"style\"}),simplify:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cliponaxis:{valType:\"boolean\",dflt:!0,editType:\"plot\"},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],editType:\"calc\"},fillcolor:{valType:\"color\",editType:\"style\"},marker:l({symbol:{valType:\"enumerated\",values:s.symbolList,dflt:\"circle\",arrayOk:!0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0,editType:\"style\"},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0,editType:\"calc\"},maxdisplayed:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},sizeref:{valType:\"number\",dflt:1,editType:\"calc\"},sizemin:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\",editType:\"calc\"},colorbar:i,line:l({width:{valType:\"number\",min:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},n(\"marker.line\")),gradient:{type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],arrayOk:!0,dflt:\"none\",editType:\"calc\"},color:{valType:\"color\",arrayOk:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},n(\"marker\")),selected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},unselected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"middle center\",arrayOk:!0,editType:\"calc\"},textfont:a({editType:\"calc\",colorEditType:\"style\",arrayOk:!0}),r:{valType:\"data_array\",editType:\"calc\"},t:{valType:\"data_array\",editType:\"calc\"}}},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../components/drawing\":592,\"../../components/drawing/attributes\":591,\"../../lib/extend\":682,\"../../plots/font_attributes\":768,\"./constants\":1037}],1033:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../constants/numerical\").BADNUM,s=t(\"./subtypes\"),l=t(\"./colorscale_calc\"),c=t(\"./arrays_to_calcdata\"),u=t(\"./calc_selection\");function f(t,e,r,n,i,o,l){var c=e._length,u=t._fullLayout,f=r._id,h=n._id,p=u._firstScatter[d(e)]===e.uid,m=(g(e,u,r,n)||{}).orientation,v=e.fill;r._minDtick=0,n._minDtick=0;var y={padded:!0},x={padded:!0};l&&(y.ppad=x.ppad=l);var b=c<2||i[0]!==i[c-1]||o[0]!==o[c-1];b&&(\"tozerox\"===v||\"tonextx\"===v&&(p||\"h\"===m))?y.tozero=!0:(e.error_y||{}).visible||\"tonexty\"!==v&&\"tozeroy\"!==v&&(s.hasMarkers(e)||s.hasText(e))||(y.padded=!1,y.ppad=0),b&&(\"tozeroy\"===v||\"tonexty\"===v&&(p||\"v\"===m))?x.tozero=!0:\"tonextx\"!==v&&\"tozerox\"!==v||(x.padded=!1),f&&(e._extremes[f]=a.findExtremes(r,i,y)),h&&(e._extremes[h]=a.findExtremes(n,o,x))}function h(t,e){if(s.hasMarkers(t)){var r,n=t.marker,o=1.6*(t.marker.sizeref||1);if(r=\"area\"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/o),3)}:function(t){return Math.max((t||0)/o,3)},i.isArrayOrTypedArray(n.size)){var l={type:\"linear\"};a.setConvert(l);for(var c=l.makeCalcdata(t.marker,\"size\"),u=new Array(e),f=0;f<e;f++)u[f]=r(c[f]);return u}return r(n.size)}}function p(t,e){var r=d(e),n=t._firstScatter;n[r]||(n[r]=e.uid)}function d(t){var e=t.stackgroup;return t.xaxis+t.yaxis+t.type+(e?\"-\"+e:\"\")}function g(t,e,r,n){var i=t.stackgroup;if(i){var a=e._scatterStackOpts[r._id+n._id][i],o=\"v\"===a.orientation?n:r;return\"linear\"===o.type||\"log\"===o.type?a:void 0}}e.exports={calc:function(t,e){var r,s,d,m,v,y,x=t._fullLayout,b=a.getFromId(t,e.xaxis||\"x\"),_=a.getFromId(t,e.yaxis||\"y\"),w=b.makeCalcdata(e,\"x\"),k=_.makeCalcdata(e,\"y\"),M=e._length,A=new Array(M),T=e.ids,S=g(e,x,b,_),E=!1;p(x,e);var C,L=\"x\",z=\"y\";for(S?(S.traceIndices.push(e.index),(r=\"v\"===S.orientation)?(z=\"s\",C=\"x\"):(L=\"s\",C=\"y\"),v=\"interpolate\"===S.stackgaps):f(t,e,b,_,w,k,h(e,M)),s=0;s<M;s++){var P=A[s]={},O=n(w[s]),I=n(k[s]);O&&I?(P[L]=w[s],P[z]=k[s]):S&&(r?O:I)?(P[C]=r?w[s]:k[s],P.gap=!0,v?(P.s=o,E=!0):P.s=0):P[L]=P[z]=o,T&&(P.id=String(T[s]))}if(c(A,e),l(e),u(A,e),S){for(s=0;s<A.length;)A[s][C]===o?A.splice(s,1):s++;if(i.sort(A,function(t,e){return t[C]-e[C]||t.i-e.i}),E){for(s=0;s<A.length-1&&A[s].gap;)s++;for((y=A[s].s)||(y=A[s].s=0),d=0;d<s;d++)A[d].s=y;for(m=A.length-1;m>s&&A[m].gap;)m--;for(y=A[m].s,d=A.length-1;d>m;d--)A[d].s=y;for(;s<m;)if(A[++s].gap){for(d=s+1;A[d].gap;)d++;for(var D=A[s-1][C],R=A[s-1].s,B=(A[d].s-R)/(A[d][C]-D);s<d;)A[s].s=R+(A[s][C]-D)*B,s++}}}return A},calcMarkerSize:h,calcAxisExpansion:f,setFirstScatter:p,getStackOpts:g}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"./arrays_to_calcdata\":1031,\"./calc_selection\":1034,\"./colorscale_calc\":1036,\"./subtypes\":1056,\"fast-isnumeric\":213}],1034:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){n.isArrayOrTypedArray(e.selectedpoints)&&n.tagSelected(t,e)}},{\"../../lib\":693}],1035:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0;e<t.length;e++){var r=t[e];if(\"scatter\"===r.type){var n=r.fill;if(\"none\"!==n&&\"toself\"!==n&&(r.opacity=void 0,\"tonexty\"===n||\"tonextx\"===n))for(var i=e-1;i>=0;i--){var a=t[i];if(\"scatter\"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],1036:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/has_colorscale\"),i=t(\"../../components/colorscale/calc\"),a=t(\"./subtypes\");e.exports=function(t){a.hasLines(t)&&n(t,\"line\")&&i(t,t.line.color,\"line\",\"c\"),a.hasMarkers(t)&&(n(t,\"marker\")&&i(t,t.marker.color,\"marker\",\"c\"),n(t,\"marker.line\")&&i(t,t.marker.line.color,\"marker.line\",\"c\"))}},{\"../../components/colorscale/calc\":575,\"../../components/colorscale/has_colorscale\":581,\"./subtypes\":1056}],1037:[function(t,e,r){\"use strict\";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20}},{}],1038:[function(t,e,r){\"use strict\";var n=t(\"./calc\");function i(t,e,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,t.splice(e,0,s),e&&r===t[e-1][o]){var l=t[e-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=function(t,e,r,n){var i=t[e-1],a=t[e+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}(t,e,r,o));e||(t[0].t=t[1].t,t[0].trace=t[1].trace,delete t[1].t,delete t[1].trace)}e.exports=function(t,e){var r=e.xaxis,a=e.yaxis,o=r._id+a._id,s=t._fullLayout._scatterStackOpts[o];if(s){var l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,k=t.calcdata;for(var M in s){var A=(v=s[M]).traceIndices;if(A.length){for(y=\"interpolate\"===v.stackgaps,x=v.groupnorm,\"v\"===v.orientation?(b=\"x\",_=\"y\"):(b=\"y\",_=\"x\"),w=new Array(A.length),l=0;l<w.length;l++)w[l]=!1;p=k[A[0]];var T=new Array(p.length);for(l=0;l<p.length;l++)T[l]=p[l][b];for(l=1;l<A.length;l++){for(h=k[A[l]],c=u=0;c<h.length;c++){for(d=h[c][b];d>T[u]&&u<T.length;u++)i(h,c,T[u],l,w,y,b),c++;if(d!==T[u]){for(f=0;f<l;f++)i(k[A[f]],u,d,f,w,y,b);T.splice(u,0,d)}u++}for(;u<T.length;u++)i(h,c,T[u],l,w,y,b),c++}var S=T.length;for(c=0;c<p.length;c++){for(g=p[c][_]=p[c].s,l=1;l<A.length;l++)(h=k[A[l]])[0].trace._rawLength=h[0].trace._length,h[0].trace._length=S,g+=h[c].s,h[c][_]=g;if(x)for(m=(\"fraction\"===x?g:g/100)||1,l=0;l<A.length;l++){var E=k[A[l]][c];E[_]/=m,E.sNorm=E.s/m}}for(l=0;l<A.length;l++){var C=(h=k[A[l]])[0].trace,L=n.calcMarkerSize(C,C._rawLength),z=Array.isArray(L);if(L&&w[l]||z){var P=L;for(L=new Array(S),c=0;c<S;c++)L[c]=h[c].gap?0:z?P[h[c].i]:P}var O=new Array(S),I=new Array(S);for(c=0;c<S;c++)O[c]=h[c].x,I[c]=h[c].y;n.calcAxisExpansion(t,C,r,a,O,I,L),h[0].t.orientation=v.orientation}}}}}},{\"./calc\":1033}],1039:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"./attributes\"),o=t(\"./constants\"),s=t(\"./subtypes\"),l=t(\"./xy_defaults\"),c=t(\"./stack_defaults\"),u=t(\"./marker_defaults\"),f=t(\"./line_defaults\"),h=t(\"./line_shape_defaults\"),p=t(\"./text_defaults\"),d=t(\"./fillcolor_defaults\");e.exports=function(t,e,r,g){function m(r,i){return n.coerce(t,e,a,r,i)}var v=l(t,e,g,m);if(v||(e.visible=!1),e.visible){var y=c(t,e,g,m),x=!y&&v<o.PTS_LINESONLY?\"lines+markers\":\"lines\";m(\"text\"),m(\"hovertext\"),m(\"mode\",x),s.hasLines(e)&&(f(t,e,r,g,m),h(t,e,m),m(\"connectgaps\"),m(\"line.simplify\")),s.hasMarkers(e)&&u(t,e,r,g,m,{gradient:!0}),s.hasText(e)&&p(t,e,g,m);var b=[];(s.hasMarkers(e)||s.hasText(e))&&(m(\"cliponaxis\"),m(\"marker.maxdisplayed\"),b.push(\"points\")),m(\"fill\",y?y.fillDflt:\"none\"),\"none\"!==e.fill&&(d(t,e,r,m),s.hasLines(e)||h(t,e,m)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||b.push(\"fills\"),m(\"hoveron\",b.join(\"+\")||\"points\");var _=i.getComponentMethod(\"errorbars\",\"supplyDefaults\");_(t,e,r,{axis:\"y\"}),_(t,e,r,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(e,m)}}},{\"../../lib\":693,\"../../registry\":825,\"./attributes\":1032,\"./constants\":1037,\"./fillcolor_defaults\":1041,\"./line_defaults\":1045,\"./line_shape_defaults\":1047,\"./marker_defaults\":1051,\"./stack_defaults\":1054,\"./subtypes\":1056,\"./text_defaults\":1057,\"./xy_defaults\":1058}],1040:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");function i(t){return t||0===t}e.exports=function(t,e,r){var a=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},o=n.extractOption(t,e,\"htx\",\"hovertext\");if(i(o))return a(o);var s=n.extractOption(t,e,\"tx\",\"text\");return i(s)?a(s):void 0}},{\"../../lib\":693}],1041:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,a){var o=!1;if(e.marker){var s=e.marker.color,l=(e.marker.line||{}).color;s&&!i(s)?o=s:l&&!i(l)&&(o=l)}a(\"fillcolor\",n.addOpacity((e.line||{}).color||o||r,.5))}},{\"../../components/color\":567,\"../../lib\":693}],1042:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"./subtypes\");e.exports=function(t,e){var r,a;if(\"lines\"===t.mode)return(r=t.line.color)&&n.opacity(r)?r:t.fillcolor;if(\"none\"===t.mode)return t.fill?t.fillcolor:\"\";var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:\"\")?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color)&&n.opacity(r)&&i.hasLines(t)&&t.line.width?r:t.fillcolor}},{\"../../components/color\":567,\"./subtypes\":1056}],1043:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/fx\"),a=t(\"../../registry\"),o=t(\"./get_trace_color\"),s=t(\"../../components/color\"),l=t(\"./fill_hover_text\");e.exports=function(t,e,r,c){var u=t.cd,f=u[0].trace,h=t.xa,p=t.ya,d=h.c2p(e),g=p.c2p(r),m=[d,g],v=f.hoveron||\"\",y=-1!==f.mode.indexOf(\"markers\")?3:.5;if(-1!==v.indexOf(\"points\")){var x=function(t){var e=Math.max(y,t.mrc||0),r=h.c2p(t.x)-d,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-y/e)},b=i.getDistanceFunction(c,function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(h.c2p(t.x)-d);return n<e?r*n/e:n-e+r},function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(p.c2p(t.y)-g);return n<e?r*n/e:n-e+r},x);if(i.getClosest(u,b,t),!1!==t.index){var _=u[t.index],w=h.c2p(_.x,!0),k=p.c2p(_.y,!0),M=_.mrc||1;t.index=_.i;var A=u[0].t.orientation,T=A&&(_.sNorm||_.s),S=\"h\"===A?T:_.x,E=\"v\"===A?T:_.y;return n.extendFlat(t,{color:o(f,_),x0:w-M,x1:w+M,xLabelVal:S,y0:k-M,y1:k+M,yLabelVal:E,spikeDistance:x(_)}),l(_,f,t),a.getComponentMethod(\"errorbars\",\"hoverInfo\")(_,f,t),[t]}}if(-1!==v.indexOf(\"fills\")&&f._polygons){var C,L,z,P,O,I,D,R,B,F=f._polygons,N=[],j=!1,V=1/0,U=-1/0,q=1/0,H=-1/0;for(C=0;C<F.length;C++)(z=F[C]).contains(m)&&(j=!j,N.push(z),q=Math.min(q,z.ymin),H=Math.max(H,z.ymax));if(j){var G=((q=Math.max(q,0))+(H=Math.min(H,p._length)))/2;for(C=0;C<N.length;C++)for(P=N[C].pts,L=1;L<P.length;L++)(R=P[L-1][1])>G!=(B=P[L][1])>=G&&(I=P[L-1][0],D=P[L][0],B-R&&(O=I+(D-I)*(G-R)/(B-R),V=Math.min(V,O),U=Math.max(U,O)));V=Math.max(V,0),U=Math.min(U,h._length);var W=s.defaultLine;return s.opacity(f.fillcolor)?W=f.fillcolor:s.opacity((f.line||{}).color)&&(W=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:V,x1:U,y0:G,y1:G,color:W}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{\"../../components/color\":567,\"../../components/fx\":609,\"../../lib\":693,\"../../registry\":825,\"./fill_hover_text\":1040,\"./get_trace_color\":1042}],1044:[function(t,e,r){\"use strict\";var n={},i=t(\"./subtypes\");n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.cleanData=t(\"./clean_data\"),n.calc=t(\"./calc\").calc,n.crossTraceCalc=t(\"./cross_trace_calc\"),n.arraysToCalcdata=t(\"./arrays_to_calcdata\"),n.plot=t(\"./plot\"),n.colorbar=t(\"./marker_colorbar\"),n.style=t(\"./style\").style,n.styleOnSelect=t(\"./style\").styleOnSelect,n.hoverPoints=t(\"./hover\"),n.selectPoints=t(\"./select\"),n.animatable=!0,n.moduleType=\"trace\",n.name=\"scatter\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"./arrays_to_calcdata\":1031,\"./attributes\":1032,\"./calc\":1033,\"./clean_data\":1035,\"./cross_trace_calc\":1038,\"./defaults\":1039,\"./hover\":1043,\"./marker_colorbar\":1050,\"./plot\":1052,\"./select\":1053,\"./style\":1055,\"./subtypes\":1056}],1045:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray,i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s(\"line.color\",r),i(t,\"line\"))?a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\",noScale:!0}):s(\"line.color\",!n(c)&&c||r);s(\"line.width\"),(l||{}).noDash||s(\"line.dash\")}},{\"../../components/colorscale/defaults\":577,\"../../components/colorscale/has_colorscale\":581,\"../../lib\":693}],1046:[function(t,e,r){\"use strict\";var n=t(\"../../constants/numerical\"),i=n.BADNUM,a=n.LOG_CLIP,o=a+.5,s=a-.5,l=t(\"../../lib\"),c=l.segmentsIntersect,u=l.constrain,f=t(\"./constants\");e.exports=function(t,e){var r,n,a,h,p,d,g,m,v,y,x,b,_,w,k,M,A,T,S=e.xaxis,E=e.yaxis,C=\"log\"===S.type,L=\"log\"===E.type,z=S._length,P=E._length,O=e.connectGaps,I=e.baseTolerance,D=e.shape,R=\"linear\"===D,B=[],F=f.minTolerance,N=new Array(t.length),j=0;function V(e){var r=t[e];if(!r)return!1;var n=S.c2p(r.x),a=E.c2p(r.y);if(n===i){if(C&&(n=S.c2p(r.x,!0)),n===i)return!1;L&&a===i&&(n*=Math.abs(S._m*P*(S._m>0?o:s)/(E._m*z*(E._m>0?o:s)))),n*=1e3}if(a===i){if(L&&(a=E.c2p(r.y,!0)),a===i)return!1;a*=1e3}return[n,a]}function U(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,c=i*o+a*s;if(c>0&&c<l){var u=o*a-s*i;if(u*u<l)return!0}}function q(t,e){var r=t[0]/z,n=t[1]/P,i=Math.max(0,-r,r-1,-n,n-1);return i&&void 0!==A&&U(r,n,A,T)&&(i=0),i&&e&&U(r,n,e[0]/z,e[1]/P)&&(i=0),(1+f.toleranceGrowth*i)*I}function H(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}var G,W,Y,X,Z,$,J,K=f.maxScreensAway,Q=-z*K,tt=z*(1+K),et=-P*K,rt=P*(1+K),nt=[[Q,et,tt,et],[tt,et,tt,rt],[tt,rt,Q,rt],[Q,rt,Q,et]];function it(t){if(t[0]<Q||t[0]>tt||t[1]<et||t[1]>rt)return[u(t[0],Q,tt),u(t[1],et,rt)]}function at(t,e){return t[0]===e[0]&&(t[0]===Q||t[0]===tt)||(t[1]===e[1]&&(t[1]===et||t[1]===rt)||void 0)}function ot(t,e,r){return function(n,i){var a=it(n),o=it(i),s=[];if(a&&o&&at(a,o))return s;a&&s.push(a),o&&s.push(o);var c=2*l.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);c&&((a&&o?c>0==a[t]>o[t]?a:o:a||o)[t]+=c);return s}}function st(t){var e=t[0],r=t[1],n=e===N[j-1][0],i=r===N[j-1][1];if(!n||!i)if(j>1){var a=e===N[j-2][0],o=r===N[j-2][1];n&&(e===Q||e===tt)&&a?o?j--:N[j-1]=t:i&&(r===et||r===rt)&&o?a?j--:N[j-1]=t:N[j++]=t}else N[j++]=t}function lt(t){N[j-1][0]!==t[0]&&N[j-1][1]!==t[1]&&st([Y,X]),st(t),Z=null,Y=X=0}function ct(t){if(A=t[0]/z,T=t[1]/P,G=t[0]<Q?Q:t[0]>tt?tt:0,W=t[1]<et?et:t[1]>rt?rt:0,G||W){if(j)if(Z){var e=J(Z,t);e.length>1&&(lt(e[0]),N[j++]=e[1])}else $=J(N[j-1],t)[0],N[j++]=$;else N[j++]=[G||t[0],W||t[1]];var r=N[j-1];G&&W&&(r[0]!==G||r[1]!==W)?(Z&&(Y!==G&&X!==W?st(Y&&X?(n=Z,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?Q:tt,rt]:[o>0?tt:Q,et]):[Y||G,X||W]):Y&&X&&st([Y,X])),st([G,W])):Y-G&&X-W&&st([G||Y,W||X]),Z=t,Y=G,X=W}else Z&&lt(J(Z,t)[0]),N[j++]=t;var n,i,a,o}for(\"linear\"===D||\"spline\"===D?J=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=nt[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&H(o,t)<H(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:\"hv\"===D||\"vh\"===D?J=function(t,e){var r=[],n=it(t),i=it(e);return n&&i&&at(n,i)?r:(n&&r.push(n),i&&r.push(i),r)}:\"hvh\"===D?J=ot(0,Q,tt):\"vhv\"===D&&(J=ot(1,et,rt)),r=0;r<t.length;r++)if(n=V(r)){for(j=0,Z=null,ct(n),r++;r<t.length;r++){if(!(h=V(r))){if(O)continue;break}if(R&&e.simplify){var ut=V(r+1);if(!((y=H(h,n))<q(h,ut)*F)){for(m=[(h[0]-n[0])/y,(h[1]-n[1])/y],p=n,x=y,b=w=k=0,g=!1,a=h,r++;r<t.length;r++){if(d=ut,ut=V(r+1),!d){if(O)continue;break}if(M=(v=[d[0]-n[0],d[1]-n[1]])[0]*m[1]-v[1]*m[0],w=Math.min(w,M),(k=Math.max(k,M))-w>q(d,ut))break;a=d,(_=v[0]*m[0]+v[1]*m[1])>x?(x=_,h=d,g=!1):_<b&&(b=_,p=d,g=!0)}if(g?(ct(h),a!==p&&ct(p)):(p!==n&&ct(p),a!==h&&ct(h)),ct(a),r>=t.length||!d)break;ct(d),n=d}}else ct(h)}Z&&st([Y||Z[0],X||Z[1]]),B.push(N.slice(0,j))}return B}},{\"../../constants/numerical\":670,\"../../lib\":693,\"./constants\":1037}],1047:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){\"spline\"===r(\"line.shape\")&&r(\"line.smoothing\")}},{}],1048:[function(t,e,r){\"use strict\";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var i,a,o,s,l,c={},u=!1,f=-1,h=0,p=-1;for(a=0;a<r.length;a++)(o=(i=r[a][0].trace).stackgroup||\"\")?o in c?l=c[o]:(l=c[o]=h,h++):i.fill in n&&p>=0?l=p:(l=p=h,h++),l<f&&(u=!0),i._groupIndex=f=l;var d=r.slice();u&&d.sort(function(t,e){var r=t[0].trace,n=e[0].trace;return r._groupIndex-n._groupIndex||r.index-n.index});var g={};for(a=0;a<d.length;a++)o=(i=d[a][0].trace).stackgroup||\"\",!0===i.visible?(i._nexttrace=null,i.fill in n&&(s=g[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),g[o]=i):i._prevtrace=i._nexttrace=null;return d}},{}],1049:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a=\"area\"===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=a(t/2);return n(e)&&e>0?Math.max(e,i):0}}},{\"fast-isnumeric\":213}],1050:[function(t,e,r){\"use strict\";e.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}},{}],1051:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./subtypes\");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;(c=c||{},f&&(r=f),l(\"marker.symbol\"),l(\"marker.opacity\",u?.7:1),l(\"marker.size\"),l(\"marker.color\",r),i(t,\"marker\")&&a(t,e,s,l,{prefix:\"marker.\",cLetter:\"c\"}),c.noSelect||(l(\"selected.marker.color\"),l(\"unselected.marker.color\"),l(\"selected.marker.size\"),l(\"unselected.marker.size\")),c.noLine||(l(\"marker.line.color\",f&&!Array.isArray(f)&&e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,\"marker.line\")&&a(t,e,s,l,{prefix:\"marker.line.\",cLetter:\"c\"}),l(\"marker.line.width\",u?1:0)),u&&(l(\"marker.sizeref\"),l(\"marker.sizemin\"),l(\"marker.sizemode\")),c.gradient)&&(\"none\"!==l(\"marker.gradient.type\")&&l(\"marker.gradient.color\"))}},{\"../../components/color\":567,\"../../components/colorscale/defaults\":577,\"../../components/colorscale/has_colorscale\":581,\"./subtypes\":1056}],1052:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=a.ensureSingle,s=a.identity,l=t(\"../../components/drawing\"),c=t(\"./subtypes\"),u=t(\"./line_points\"),f=t(\"./link_traces\"),h=t(\"../../lib/polygon\").tester;function p(t,e,r,f,p,d,g){var m;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,u=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(!c.hasMarkers(h))return;var p=h.marker.maxdisplayed;if(0===p)return;var d=i.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=f[0]&&t.y<=f[1]}),g=Math.ceil(d.length/p),m=0;o.forEach(function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&m++});var v=Math.round(m*g/3+Math.floor(m/3)*g/7.1);i.forEach(function(t){delete t.vis}),d.forEach(function(t,e){0===Math.round((e+v)%g)&&(t.vis=!0)})}(0,e,r,f,p);var v=!!g&&g.duration>0;function y(t){return v?t.transition():t}var x=r.xaxis,b=r.yaxis,_=f[0].trace,w=_.line,k=n.select(d),M=o(k,\"g\",\"errorbars\"),A=o(k,\"g\",\"lines\"),T=o(k,\"g\",\"points\"),S=o(k,\"g\",\"text\");if(i.getComponentMethod(\"errorbars\",\"plot\")(M,r,g),!0===_.visible){var E,C;y(k).style(\"opacity\",_.opacity);var L=_.fill.charAt(_.fill.length-1);\"x\"!==L&&\"y\"!==L&&(L=\"\"),r.isRangePlot||(f[0].node3=k);var z=\"\",P=[],O=_._prevtrace;O&&(z=O._prevRevpath||\"\",C=O._nextFill,P=O._polygons);var I,D,R,B,F,N,j,V,U,q=\"\",H=\"\",G=[],W=a.noop;if(E=_._ownFill,c.hasLines(_)||\"none\"!==_.fill){for(C&&C.datum(f),-1!==[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(w.shape)?(R=l.steps(w.shape),B=l.steps(w.shape.split(\"\").reverse().join(\"\"))):R=B=\"spline\"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return\"M\"+t.join(\"L\")},F=function(t){return B(t.reverse())},G=u(f,{xaxis:x,yaxis:b,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify}),U=_._polygons=new Array(G.length),m=0;m<G.length;m++)_._polygons[m]=h(G[m]);G.length&&(N=G[0][0],V=(j=G[G.length-1])[j.length-1]),W=function(t){return function(e){if(I=R(e),D=F(e),q?L?(q+=\"L\"+I.substr(1),H=D+\"L\"+H.substr(1)):(q+=\"Z\"+I,H=D+\"Z\"+H):(q=I,H=D),c.hasLines(_)&&e.length>1){var r=n.select(this);if(r.datum(f),t)y(r.style(\"opacity\",0).attr(\"d\",I).call(l.lineGroupStyle)).style(\"opacity\",1);else{var i=y(r);i.attr(\"d\",I),l.singleLineStyle(f,i)}}}}}var Y=A.selectAll(\".js-line\").data(G);y(Y.exit()).style(\"opacity\",0).remove(),Y.each(W(!1)),Y.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",\"non-scaling-stroke\").call(l.lineGroupStyle).each(W(!0)),l.setClipUrl(Y,r.layerClipId),G.length?(E?(E.datum(f),N&&V&&(L?(\"y\"===L?N[1]=V[1]=b.c2p(0,!0):\"x\"===L&&(N[0]=V[0]=x.c2p(0,!0)),y(E).attr(\"d\",\"M\"+V+\"L\"+N+\"L\"+q.substr(1)).call(l.singleFillStyle)):y(E).attr(\"d\",q+\"Z\").call(l.singleFillStyle))):C&&(\"tonext\"===_.fill.substr(0,6)&&q&&z?(\"tonext\"===_.fill?y(C).attr(\"d\",q+\"Z\"+z+\"Z\").call(l.singleFillStyle):y(C).attr(\"d\",q+\"L\"+z.substr(1)+\"Z\").call(l.singleFillStyle),_._polygons=_._polygons.concat(P)):(Z(C),_._polygons=null)),_._prevRevpath=H,_._prevPolygons=U):(E?Z(E):C&&Z(C),_._polygons=_._prevRevpath=_._prevPolygons=null),T.datum(f),S.datum(f),function(e,i,a){var o,u=a[0].trace,f=c.hasMarkers(u),h=c.hasText(u),p=tt(u),d=et,g=et;if(f||h){var m=s,_=u.stackgroup,w=_&&\"infer zero\"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?m=w?J:$:_&&!w&&(m=K),f&&(d=m),h&&(g=m)}var k,M=(o=e.selectAll(\"path.point\").data(d,p)).enter().append(\"path\").classed(\"point\",!0);v&&M.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style(\"opacity\",0).transition().style(\"opacity\",1),o.order(),f&&(k=l.makePointStyleFns(u)),o.each(function(e){var i=n.select(this),a=y(i);l.translatePoint(e,a,x,b)?(l.singlePointStyle(e,a,u,k,t),r.layerClipId&&l.hideOutsideRangePoint(e,a,x,b,u.xcalendar,u.ycalendar),u.customdata&&i.classed(\"plotly-customdata\",null!==e.data&&void 0!==e.data)):a.remove()}),v?o.exit().transition().style(\"opacity\",0).remove():o.exit().remove(),(o=i.selectAll(\"g\").data(g,p)).enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),o.order(),o.each(function(t){var e=n.select(this),i=y(e.select(\"text\"));l.translatePoint(t,i,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()}),o.selectAll(\"text\").call(l.textPointStyle,u,t).each(function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll(\"tspan.line\").each(function(){y(n.select(this)).attr({x:e,y:r})})}),o.exit().remove()}(T,S,f);var X=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(T,X),l.setClipUrl(S,X)}function Z(t){y(t).attr(\"d\",\"M0,0Z\")}function $(t){return t.filter(function(t){return!t.gap&&t.vis})}function J(t){return t.filter(function(t){return t.vis})}function K(t){return t.filter(function(t){return!t.gap})}function Q(t){return t.id}function tt(t){if(t.ids)return Q}function et(){return!1}}e.exports=function(t,e,r,i,a,c){var u,h,d=!a,g=!!a&&a.duration>0,m=f(t,e,r);((u=i.selectAll(\"g.trace\").data(m,function(t){return t[0].trace.uid})).enter().append(\"g\").attr(\"class\",function(t){return\"trace scatter trace\"+t[0].trace.uid}).style(\"stroke-miterlimit\",2),u.order(),function(t,e,r){e.each(function(t){var e=o(n.select(this),\"g\",\"fills\");l.setClipUrl(e,r.layerClipId);var i=t[0].trace,a=[];i.fill&&(\"tozero\"===i.fill.substr(0,6)||\"toself\"===i.fill||\"to\"===i.fill.substr(0,2)&&!i._prevtrace)&&(a=[\"_ownFill\"]),i._nexttrace&&a.push(\"_nextFill\");var c=e.selectAll(\"g\").data(a,s);c.enter().append(\"g\"),c.exit().each(function(t){i[t]=null}).remove(),c.order().each(function(t){i[t]=o(n.select(this),\"path\",\"js-fill\")})})}(0,u,e),g)?(c&&(h=c()),n.transition().duration(a.duration).ease(a.easing).each(\"end\",function(){h&&h()}).each(\"interrupt\",function(){h&&h()}).each(function(){i.selectAll(\"g.trace\").each(function(r,n){p(t,n,e,r,m,this,a)})})):u.each(function(r,n){p(t,n,e,r,m,this,a)});d&&u.exit().remove(),i.selectAll(\"path:not([d])\").remove()}},{\"../../components/drawing\":592,\"../../lib\":693,\"../../lib/polygon\":706,\"../../registry\":825,\"./line_points\":1046,\"./link_traces\":1048,\"./subtypes\":1056,d3:147}],1053:[function(t,e,r){\"use strict\";var n=t(\"./subtypes\");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)i=s[r],a=l.c2p(i.x),o=c.c2p(i.y),null!==i.i&&e.contains([a,o],!1,r,t)?(u.push({pointNumber:i.i,x:l.c2d(i.x),y:c.c2d(i.y)}),i.selected=1):i.selected=0;return u}},{\"./subtypes\":1056}],1054:[function(t,e,r){\"use strict\";var n=[\"orientation\",\"groupnorm\",\"stackgaps\"];e.exports=function(t,e,r,i){var a=r._scatterStackOpts,o=i(\"stackgroup\");if(o){var s=e.xaxis+e.yaxis,l=a[s];l||(l=a[s]={});var c=l[o],u=!1;c?c.traces.push(e):(c=l[o]={traceIndices:[],traces:[e]},u=!0);for(var f={orientation:e.x&&!e.y?\"h\":\"v\"},h=0;h<n.length;h++){var p=n[h],d=p+\"Found\";if(!c[d]){var g=void 0!==t[p],m=\"orientation\"===p;if((g||u)&&(c[p]=i(p,f[p]),m&&(c.fillDflt=\"h\"===c[p]?\"tonextx\":\"tonexty\"),g&&(c[d]=!0,!u&&(delete c.traces[0][p],m))))for(var v=0;v<c.traces.length-1;v++){var y=c.traces[v];y._input.fill!==y.fill&&(y.fill=c.fillDflt)}}}return c}}},{}],1055:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../../registry\");function o(t,e,r){i.pointStyle(t.selectAll(\"path.point\"),e,r)}function s(t,e,r){i.textPointStyle(t.selectAll(\"text\"),e,r)}e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\"g.trace.scatter\");r.style(\"opacity\",function(t){return t[0].trace.opacity}),r.selectAll(\"g.points\").each(function(e){o(n.select(this),e.trace||e[0].trace,t)}),r.selectAll(\"g.text\").each(function(e){s(n.select(this),e.trace||e[0].trace,t)}),r.selectAll(\"g.trace path.js-line\").call(i.lineGroupStyle),r.selectAll(\"g.trace path.js-fill\").call(i.fillGroupStyle),a.getComponentMethod(\"errorbars\",\"style\")(r)},stylePoints:o,styleText:s,styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll(\"path.point\"),n),i.selectedTextStyle(r.selectAll(\"text\"),n)):(o(r,n,t),s(r,n,t))}}},{\"../../components/drawing\":592,\"../../registry\":825,d3:147}],1056:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports={hasLines:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"lines\")},hasMarkers:function(t){return t.visible&&(t.mode&&-1!==t.mode.indexOf(\"markers\")||\"splom\"===t.type)},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"text\")},isBubble:function(t){return n.isPlainObject(t.marker)&&n.isArrayOrTypedArray(t.marker.size)}}},{\"../../lib\":693}],1057:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r,i,a){a=a||{},i(\"textposition\"),n.coerceFont(i,\"textfont\",r.font),a.noSelect||(i(\"selected.textfont.color\"),i(\"unselected.textfont.color\"))}},{\"../../lib\":693}],1058:[function(t,e,r){\"use strict\";var n=t(\"../../registry\");e.exports=function(t,e,r,i){var a,o=i(\"x\"),s=i(\"y\");if(n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],r),o)s?a=Math.min(o.length,s.length):(a=o.length,i(\"y0\"),i(\"dy\"));else{if(!s)return 0;a=e.y.length,i(\"x0\"),i(\"dx\")}return e._length=a,a}},{\"../../registry\":825}],1059:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/attributes\"),o=t(\"../../constants/gl3d_dashes\"),s=t(\"../../constants/gl3d_markers\"),l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/edit_types\").overrideAll,u=n.line,f=n.marker,h=f.line,p=l({width:u.width,dash:{valType:\"enumerated\",values:Object.keys(o),dflt:\"solid\"}},i(\"line\"));delete p.showscale,delete p.colorbar;var d=e.exports=c({x:n.x,y:n.y,z:{valType:\"data_array\"},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),mode:l({},n.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},y:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},z:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:p,marker:l({symbol:{valType:\"enumerated\",values:Object.keys(s),dflt:\"circle\",arrayOk:!0},size:l({},f.size,{dflt:8}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:l({},f.opacity,{arrayOk:!1}),colorbar:f.colorbar,line:l({width:l({},h.width,{arrayOk:!1})},i(\"marker.line\"))},i(\"marker\")),textposition:l({},n.textposition,{dflt:\"top center\",arrayOk:!1}),textfont:{color:n.textfont.color,size:n.textfont.size,family:l({},n.textfont.family,{arrayOk:!1})},hoverinfo:l({},a.hoverinfo)},\"calc\",\"nested\");d.x.editType=d.y.editType=d.z.editType=\"calc+clearAxisTypes\"},{\"../../components/colorscale/attributes\":574,\"../../constants/gl3d_dashes\":667,\"../../constants/gl3d_markers\":668,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/attributes\":739,\"../scatter/attributes\":1032}],1060:[function(t,e,r){\"use strict\";var n=t(\"../scatter/arrays_to_calcdata\"),i=t(\"../scatter/colorscale_calc\");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(e),r}},{\"../scatter/arrays_to_calcdata\":1031,\"../scatter/colorscale_calc\":1036}],1061:[function(t,e,r){\"use strict\";var n=t(\"../../registry\");function i(t,e,r,i){if(!e||!e.visible)return null;for(var a=n.getComponentMethod(\"errorbars\",\"makeComputeError\")(e),o=new Array(t.length),s=0;s<t.length;s++){var l=a(+t[s],s);if(\"log\"===i.type){var c=i.c2l(t[s]),u=t[s]-l[0],f=t[s]+l[1];if(o[s]=[(i.c2l(u,!0)-c)*r,(i.c2l(f,!0)-c)*r],u>0){var h=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(n);if(0===a)return null;for(var o=new Array(a),s=0;s<a;s++){for(var l=[[0,0,0],[0,0,0]],c=0;c<3;c++)if(n[c])for(var u=0;u<2;u++)l[u][c]=n[c][s][u];o[s]=l}return o}},{\"../../registry\":825}],1062:[function(t,e,r){\"use strict\";var n=t(\"gl-line3d\"),i=t(\"gl-scatter3d\"),a=t(\"gl-error3d\"),o=t(\"gl-mesh3d\"),s=t(\"delaunay-triangulate\"),l=t(\"../../lib\"),c=t(\"../../lib/str2rgbarray\"),u=t(\"../../lib/gl_format_color\").formatColor,f=t(\"../scatter/make_bubble_size_func\"),h=t(\"../../constants/gl3d_dashes\"),p=t(\"../../constants/gl3d_markers\"),d=t(\"./calc_errors\");function g(t,e){this.scene=t,this.uid=e,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var m=g.prototype;function v(t,e){return e(4*t)}function y(t){return p[t]}function x(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,l.identity);return a}function b(t,e){var r,n,i,a,o,s,h,p,g=[],m=t.fullSceneLayout,b=t.dataScale,_=m.xaxis,w=m.yaxis,k=m.zaxis,M=e.marker,A=e.line,T=e.x||[],S=e.y||[],E=e.z||[],C=T.length,L=e.xcalendar,z=e.ycalendar,P=e.zcalendar;for(n=0;n<C;n++)i=_.d2l(T[n],0,L)*b[0],a=w.d2l(S[n],0,z)*b[1],o=k.d2l(E[n],0,P)*b[2],g[n]=[i,a,o];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(C),n=0;n<C;n++)s[n]=e.text;if(r={position:g,mode:e.mode,text:s},\"line\"in e&&(r.lineColor=u(A,1,C),r.lineWidth=A.width,r.lineDashes=A.dash),\"marker\"in e){var O=f(e);r.scatterColor=u(M,1,C),r.scatterSize=x(M.size,C,v,20,O),r.scatterMarker=x(M.symbol,C,y,\"\\u25cf\"),r.scatterLineWidth=M.line.width,r.scatterLineColor=u(M.line,1,C),r.scatterAngle=0}\"textposition\"in e&&(r.textOffset=(h=e.textposition,p=[0,0],Array.isArray(h)?[0,-1]:(h.indexOf(\"bottom\")>=0&&(p[1]+=1),h.indexOf(\"top\")>=0&&(p[1]-=1),h.indexOf(\"left\")>=0&&(p[0]-=1),h.indexOf(\"right\")>=0&&(p[0]+=1),p)),r.textColor=u(e.textfont,1,C),r.textSize=x(e.textfont.size,C,l.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var I=[\"x\",\"y\",\"z\"];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n<3;++n){var D=e.projection[I[n]];(r.project[n]=D.show)&&(r.projectOpacity[n]=D.opacity,r.projectScale[n]=D.scale)}r.errorBounds=d(e,b,m);var R=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&!1!==t[2].visible&&(a=t[2]),a&&a.visible&&(e[i]=a.width/2,r[i]=c(a.color),n[i]=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=R.color,r.errorLineWidth=R.lineWidth,r.errorCapSize=R.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=c(e.surfacecolor),r}function _(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&&(t=e),\"rgb(\"+t.slice(0,3).map(function(t){return Math.round(255*t)})+\")\"}return null}m.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){var e=t.index=t.data.index;return t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),t.textLabel=\"\",this.textLabels&&(Array.isArray(this.textLabels)?(this.textLabels[e]||0===this.textLabels[e])&&(t.textLabel=this.textLabels[e]):t.textLabel=this.textLabels),t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},m.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,f=h.solid;this.data=t;var p=b(this.scene,t);\"mode\"in p&&(this.mode=p.mode),\"lineDashes\"in p&&p.lineDashes in h&&(f=h[p.lineDashes]),this.color=_(p.scatterColor)||_(p.lineColor),this.dataPoints=p.position,e={gl:u,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:f[0],dashScale:f[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(\"lines\")?this.linePlot?this.linePlot.update(e):(this.linePlot=n(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var d=t.opacity;if(t.marker&&t.marker.opacity&&(d*=t.marker.opacity),r={gl:u,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:d,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf(\"markers\")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=i(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),c={gl:u,position:p.position,glyph:p.text,color:p.textColor,size:p.textSize,angle:p.textAngle,alignment:p.textOffset,font:p.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf(\"text\")?this.textMarkers?this.textMarkers.update(c):(this.textMarkers=i(c),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),l={gl:u,position:p.position,color:p.errorColor,error:p.errorBounds,lineWidth:p.errorLineWidth,capSize:p.errorCapSize,opacity:t.opacity},this.errorBars?p.errorBounds?this.errorBars.update(l):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&&(this.errorBars=a(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n<t.length;++n){var c=t[n];!isNaN(c[i])&&isFinite(c[i])&&!isNaN(c[a])&&isFinite(c[a])&&(o.push([c[i],c[a]]),l.push(n))}var u=s(o);for(n=0;n<u.length;++n)for(var f=u[n],h=0;h<f.length;++h)f[h]=l[f[h]];return{positions:t,cells:u,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);g.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(g):(g.gl=u,this.delaunayMesh=o(g),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},m.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new g(t,e.uid);return r.update(e),r}},{\"../../constants/gl3d_dashes\":667,\"../../constants/gl3d_markers\":668,\"../../lib\":693,\"../../lib/gl_format_color\":689,\"../../lib/str2rgbarray\":717,\"../scatter/make_bubble_size_func\":1049,\"./calc_errors\":1061,\"delaunay-triangulate\":149,\"gl-error3d\":236,\"gl-line3d\":244,\"gl-mesh3d\":267,\"gl-scatter3d\":282}],1063:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/text_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,u){function f(r,n){return i.coerce(t,e,c,r,n)}if(function(t,e,r,i){var a=0,o=r(\"x\"),s=r(\"y\"),l=r(\"z\");n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],i),o&&s&&l&&(a=Math.min(o.length,s.length,l.length),e._length=e._xlength=e._ylength=e._zlength=a);return a}(t,e,f,u)){f(\"text\"),f(\"hovertext\"),f(\"mode\"),a.hasLines(e)&&(f(\"connectgaps\"),s(t,e,r,u,f)),a.hasMarkers(e)&&o(t,e,r,u,f,{noSelect:!0}),a.hasText(e)&&l(t,e,u,f,{noSelect:!0});var h=(e.line||{}).color,p=(e.marker||{}).color;f(\"surfaceaxis\")>=0&&f(\"surfacecolor\",h||p);for(var d=[\"x\",\"y\",\"z\"],g=0;g<3;++g){var m=\"projection.\"+d[g];f(m+\".show\")&&(f(m+\".opacity\"),f(m+\".scale\"))}var v=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(t,e,r,{axis:\"z\"}),v(t,e,r,{axis:\"y\",inherit:\"z\"}),v(t,e,r,{axis:\"x\",inherit:\"z\"})}else e.visible=!1}},{\"../../lib\":693,\"../../registry\":825,\"../scatter/line_defaults\":1045,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"./attributes\":1059}],1064:[function(t,e,r){\"use strict\";var n={};n.plot=t(\"./convert\"),n.attributes=t(\"./attributes\"),n.markerSymbols=t(\"../../constants/gl3d_markers\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/marker_colorbar\"),n.calc=t(\"./calc\"),n.moduleType=\"trace\",n.name=\"scatter3d\",n.basePlotModule=t(\"../../plots/gl3d\"),n.categories=[\"gl3d\",\"symbols\",\"showLegend\"],n.meta={},e.exports=n},{\"../../constants/gl3d_markers\":668,\"../../plots/gl3d\":784,\"../scatter/marker_colorbar\":1050,\"./attributes\":1059,\"./calc\":1060,\"./convert\":1062,\"./defaults\":1063}],1065:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=n.marker,c=n.line,u=l.line;e.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:s({},n.mode,{dflt:\"markers\"}),text:s({},n.text,{}),line:{color:c.color,width:c.width,dash:c.dash,shape:s({},c.shape,{values:[\"linear\",\"spline\"]}),smoothing:c.smoothing,editType:\"calc\"},connectgaps:n.connectgaps,fill:s({},n.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:n.fillcolor,marker:s({symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({width:u.width,editType:\"calc\"},a(\"marker.line\")),gradient:l.gradient,editType:\"calc\"},a(\"marker\"),{colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:n.hoveron}},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../scatter/attributes\":1032}],1066:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../scatter/colorscale_calc\"),a=t(\"../scatter/arrays_to_calcdata\"),o=t(\"../scatter/calc_selection\"),s=t(\"../scatter/calc\").calcMarkerSize,l=t(\"../carpet/lookup_carpetid\");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,f,h=e._length,p=new Array(h),d=!1;for(c=0;c<h;c++)if(u=e.a[c],f=e.b[c],n(u)&&n(f)){var g=r.ab2xy(+u,+f,!0),m=r.isVisible(+u,+f);m||(d=!0),p[c]={x:g[0],y:g[1],a:u,b:f,vis:m}}else p[c]={x:!1,y:!1};return e._needsCull=d,p[0].carpet=r,p[0].trace=e,s(e,h),i(e),a(p,e),o(p,e),p}}},{\"../carpet/lookup_carpetid\":891,\"../scatter/arrays_to_calcdata\":1031,\"../scatter/calc\":1033,\"../scatter/calc_selection\":1034,\"../scatter/colorscale_calc\":1036,\"fast-isnumeric\":213}],1067:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/constants\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/line_shape_defaults\"),c=t(\"../scatter/text_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),f=t(\"./attributes\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}p(\"carpet\"),e.xaxis=\"x\",e.yaxis=\"y\";var d=p(\"a\"),g=p(\"b\"),m=Math.min(d.length,g.length);if(m){e._length=m,p(\"text\"),p(\"mode\",m<i.PTS_LINESONLY?\"lines+markers\":\"lines\"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p(\"connectgaps\")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&c(t,e,h,p);var v=[];(a.hasMarkers(e)||a.hasText(e))&&(p(\"marker.maxdisplayed\"),v.push(\"points\")),p(\"fill\"),\"none\"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||v.push(\"fills\"),p(\"hoveron\",v.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\"../../lib\":693,\"../scatter/constants\":1037,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/line_shape_defaults\":1047,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"./attributes\":1065}],1068:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t}},{}],1069:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\");e.exports=function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var o=a[0];if(void 0===o.index){var s=1-o.y0/t.ya._length,l=t.xa._length,c=l*s/2,u=l-c;return o.x0=Math.max(Math.min(o.x0,u),c),o.x1=Math.max(Math.min(o.x1,u),c),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,p=h._carpet,d=(f.hi||h.hoverinfo).split(\"+\"),g=[];-1!==d.indexOf(\"all\")&&(d=[\"a\",\"b\"]),-1!==d.indexOf(\"a\")&&w(p.aaxis,f.a),-1!==d.indexOf(\"b\")&&w(p.baxis,f.b);var m=p.ab2ij([f.a,f.b]),v=Math.floor(m[0]),y=m[0]-v,x=Math.floor(m[1]),b=m[1]-x,_=p.evalxy([],v,x,y,b);return g.push(\"y: \"+_[1].toFixed(3)),o.extraText=g.join(\"<br>\"),a}function w(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\"\"):t._hovertitle,g.push(r+\": \"+e.toFixed(3)+t.labelsuffix)}}},{\"../scatter/hover\":1043}],1070:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/marker_colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"../scatter/style\").style,n.styleOnSelect=t(\"../scatter/style\").styleOnSelect,n.hoverPoints=t(\"./hover\"),n.selectPoints=t(\"../scatter/select\"),n.eventData=t(\"./event_data\"),n.moduleType=\"trace\",n.name=\"scattercarpet\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"../scatter/marker_colorbar\":1050,\"../scatter/select\":1053,\"../scatter/style\":1055,\"./attributes\":1065,\"./calc\":1066,\"./defaults\":1067,\"./event_data\":1068,\"./hover\":1069,\"./plot\":1071}],1071:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../components/drawing\");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,f={xaxis:i.getFromId(t,u.xaxis||\"x\"),yaxis:i.getFromId(t,u.yaxis||\"y\"),plot:e.plot};for(n(t,f,r,o),s=0;s<r.length;s++)l=r[s][0].trace,c=o.selectAll(\"g.trace\"+l.uid+\" .js-line\"),a.setClipUrl(c,u._clipPathId)}},{\"../../components/drawing\":592,\"../../plots/cartesian/axes\":742,\"../scatter/plot\":1052}],1072:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/drawing/attributes\").dash,s=t(\"../../lib/extend\").extendFlat,l=t(\"../../plot_api/edit_types\").overrideAll,c=n.marker,u=n.line,f=c.line;e.exports=l({lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\"],dflt:\"ISO-3\"},mode:s({},n.mode,{dflt:\"markers\"}),text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),textfont:n.textfont,textposition:n.textposition,line:{color:u.color,width:u.width,dash:o},connectgaps:n.connectgaps,marker:s({symbol:c.symbol,opacity:c.opacity,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,colorbar:c.colorbar,line:s({width:f.width},a(\"marker.line\")),gradient:c.gradient},a(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:n.fillcolor,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]})},\"calc\",\"nested\")},{\"../../components/colorscale/attributes\":574,\"../../components/drawing/attributes\":591,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/attributes\":739,\"../scatter/attributes\":1032}],1073:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../scatter/colorscale_calc\"),o=t(\"../scatter/arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\"),l=t(\"../../lib\")._;e.exports=function(t,e){for(var r=Array.isArray(e.locations),c=r?e.locations.length:e._length,u=new Array(c),f=0;f<c;f++){var h=u[f]={};if(r){var p=e.locations[f];h.loc=\"string\"==typeof p?p:null}else{var d=e.lon[f],g=e.lat[f];n(d)&&n(g)?h.lonlat=[+d,+g]:h.lonlat=[i,i]}}return o(u,e),a(e),s(u,e),c&&(u[0].t={labels:{lat:l(t,\"lat:\")+\" \",lon:l(t,\"lon:\")+\" \"}}),u}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../scatter/arrays_to_calcdata\":1031,\"../scatter/calc_selection\":1034,\"../scatter/colorscale_calc\":1036,\"fast-isnumeric\":213}],1074:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../scatter/marker_defaults\"),o=t(\"../scatter/line_defaults\"),s=t(\"../scatter/text_defaults\"),l=t(\"../scatter/fillcolor_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}!function(t,e,r){var n,i,a=0,o=r(\"locations\");if(o)return r(\"locationmode\"),a=o.length;return n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length),e._length=a,a}(0,e,f)?e.visible=!1:(f(\"text\"),f(\"hovertext\"),f(\"mode\"),i.hasLines(e)&&(o(t,e,r,u,f),f(\"connectgaps\")),i.hasMarkers(e)&&a(t,e,r,u,f,{gradient:!0}),i.hasText(e)&&s(t,e,u,f),f(\"fill\"),\"none\"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f))}},{\"../../lib\":693,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"./attributes\":1072}],1075:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],1076:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../constants/numerical\").BADNUM,o=t(\"../scatter/get_trace_color\"),s=t(\"../scatter/fill_hover_text\"),l=t(\"./attributes\");e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=p.projection.isLonLatOverEdges,g=p.project;if(n.getClosest(c,function(t){var n=t.lonlat;if(n[0]===a)return 1/0;if(d(n))return 1/0;var i=g(n),o=g([e,r]),s=Math.abs(i[0]-o[0]),l=Math.abs(i[1]-o[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-c,1-3/c)},t),!1!==t.index){var m=c[t.index],v=m.lonlat,y=[f.c2p(v),h.c2p(v)],x=m.mrc||1;return t.x0=y[0]-x,t.x1=y[0]+x,t.y0=y[1]-x,t.y1=y[1]+x,t.loc=m.loc,t.lon=v[0],t.lat=v[1],t.color=o(u,m),t.extraText=function(t,e,r,n){var a=e.hi||t.hoverinfo,o=\"all\"===a?l.hoverinfo.flags:a.split(\"+\"),c=-1!==o.indexOf(\"location\")&&Array.isArray(t.locations),u=-1!==o.indexOf(\"lon\"),f=-1!==o.indexOf(\"lat\"),h=-1!==o.indexOf(\"text\"),p=[];function d(t){return i.tickText(r,r.c2l(t),\"hover\").text+\"\\xb0\"}c?p.push(e.loc):u&&f?p.push(\"(\"+d(e.lonlat[0])+\", \"+d(e.lonlat[1])+\")\"):u?p.push(n.lon+d(e.lonlat[0])):f&&p.push(n.lat+d(e.lonlat[1]));h&&s(e,t,p);return p.join(\"<br>\")}(u,m,p.mockAxis,c[0].t.labels),[t]}}},{\"../../components/fx\":609,\"../../constants/numerical\":670,\"../../plots/cartesian/axes\":742,\"../scatter/fill_hover_text\":1040,\"../scatter/get_trace_color\":1042,\"./attributes\":1072}],1077:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/marker_colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.styleOnSelect=t(\"../scatter/style\").styleOnSelect,n.hoverPoints=t(\"./hover\"),n.eventData=t(\"./event_data\"),n.selectPoints=t(\"./select\"),n.moduleType=\"trace\",n.name=\"scattergeo\",n.basePlotModule=t(\"../../plots/geo\"),n.categories=[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],n.meta={},e.exports=n},{\"../../plots/geo\":772,\"../scatter/marker_colorbar\":1050,\"../scatter/style\":1055,\"./attributes\":1072,\"./calc\":1073,\"./defaults\":1074,\"./event_data\":1075,\"./hover\":1076,\"./plot\":1078,\"./select\":1079,\"./style\":1080}],1078:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").BADNUM,o=t(\"../../lib/topojson_utils\").getTopojsonFeatures,s=t(\"../../lib/geo_location_utils\").locationToFeature,l=t(\"../../lib/geojson_utils\"),c=t(\"../scatter/subtypes\"),u=t(\"./style\");function f(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),i=r.locationmode,l=0;l<t.length;l++){var c=t[l],u=s(i,c.loc,n);c.lonlat=u?u.properties.ct:[a,a]}}e.exports=function(t,e,r){for(var o=0;o<r.length;o++)f(r[o],e.topojson);function s(t,e){t.lonlat[0]===a&&n.select(e).remove()}var h=e.layers.frontplot.select(\".scatterlayer\"),p=i.makeTraceGroups(h,r,\"trace scattergeo\");p.selectAll(\"*\").remove(),p.each(function(e){var r=e[0].node3=n.select(this),a=e[0].trace;if(c.hasLines(a)||\"none\"!==a.fill){var o=l.calcTraceToLineCoords(e),f=\"none\"!==a.fill?l.makePolygon(o):l.makeLine(o);r.selectAll(\"path.js-line\").data([{geojson:f,trace:a}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}c.hasMarkers(a)&&r.selectAll(\"path.point\").data(i.identity).enter().append(\"path\").classed(\"point\",!0).each(function(t){s(t,this)}),c.hasText(a)&&r.selectAll(\"g\").data(i.identity).enter().append(\"g\").append(\"text\").each(function(t){s(t,this)}),u(t,e)})}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../../lib/geo_location_utils\":685,\"../../lib/geojson_utils\":686,\"../../lib/topojson_utils\":721,\"../scatter/subtypes\":1056,\"./style\":1080,d3:147}],1079:[function(t,e,r){\"use strict\";var n=t(\"../scatter/subtypes\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e){var r,a,o,s,l,c=t.cd,u=t.xaxis,f=t.yaxis,h=[],p=c[0].trace;if(!n.hasMarkers(p)&&!n.hasText(p))return[];if(!1===e)for(l=0;l<c.length;l++)c[l].selected=0;else for(l=0;l<c.length;l++)(a=(r=c[l]).lonlat)[0]!==i&&(o=u.c2p(a),s=f.c2p(a),e.contains([o,s],null,l,t)?(h.push({pointNumber:l,lon:a[0],lat:a[1]}),r.selected=1):r.selected=0);return h}},{\"../../constants/numerical\":670,\"../scatter/subtypes\":1056}],1080:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../../components/color\"),o=t(\"../scatter/style\"),s=o.stylePoints,l=o.styleText;e.exports=function(t,e){e&&function(t,e){var r=e[0].trace,o=e[0].node3;o.style(\"opacity\",e[0].trace.opacity),s(o,r,t),l(o,r,t),o.selectAll(\"path.js-line\").style(\"fill\",\"none\").each(function(t){var e=n.select(this),r=t.trace,o=r.line||{};e.call(a.stroke,o.color).call(i.dashLine,o.dash||\"\",o.width||0),\"none\"!==r.fill&&e.call(a.fill,r.fillcolor)})}(t,e)}},{\"../../components/color\":567,\"../../components/drawing\":592,\"../scatter/style\":1055,d3:147}],1081:[function(t,e,r){\"use strict\";var n=t(\"../../plots/attributes\"),i=t(\"../scatter/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/edit_types\").overrideAll,l=t(\"./constants\").DASHES,c=i.line,u=i.marker,f=u.line,h=e.exports=s({x:i.x,x0:i.x0,dx:i.dx,y:i.y,y0:i.y0,dy:i.dy,text:o({},i.text,{}),hovertext:i.hovertext,textposition:i.textposition,textfont:i.textfont,mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},line:{color:c.color,width:c.width,dash:{valType:\"enumerated\",values:Object.keys(l),dflt:\"solid\"}},marker:o({},a(\"marker\"),{symbol:u.symbol,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:o({},a(\"marker.line\"),{width:f.width})}),connectgaps:i.connectgaps,fill:o({},i.fill,{dflt:\"none\"}),fillcolor:i.fillcolor,selected:{marker:i.selected.marker,textfont:i.selected.textfont},unselected:{marker:i.unselected.marker,textfont:i.unselected.textfont},opacity:n.opacity},\"calc\",\"nested\");h.x.editType=h.y.editType=h.x0.editType=h.y0.editType=\"calc+clearAxisTypes\"},{\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/attributes\":739,\"../scatter/attributes\":1032,\"./constants\":1082}],1082:[function(t,e,r){\"use strict\";e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},{}],1083:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"svg-path-sdf\"),a=t(\"color-normalize\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../components/drawing\"),c=t(\"../../plots/cartesian/axis_ids\"),u=t(\"../../lib/gl_format_color\").formatColor,f=t(\"../scatter/subtypes\"),h=t(\"../scatter/make_bubble_size_func\"),p=t(\"./constants\"),d=t(\"../../constants/interactions\").DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1};function m(t){var e,r=t._length,i=t.textfont,a=t.textposition,o=Array.isArray(a)?a:[a],s=i.color,l=i.size,c=i.family,u={};for(u.text=t.text,u.opacity=t.opacity,u.font={},u.align=[],u.baseline=[],e=0;e<o.length;e++){var f=o[e].split(/\\s+/);switch(f[1]){case\"left\":u.align.push(\"right\");break;case\"right\":u.align.push(\"left\");break;default:u.align.push(f[1])}switch(f[0]){case\"top\":u.baseline.push(\"bottom\");break;case\"bottom\":u.baseline.push(\"top\");break;default:u.baseline.push(f[0])}}if(Array.isArray(s))for(u.color=new Array(r),e=0;e<r;e++)u.color[e]=s[e];else u.color=s;if(Array.isArray(l)||Array.isArray(c))for(u.font=new Array(r),e=0;e<r;e++){var h=u.font[e]={};h.size=Array.isArray(l)?n(l[e])?l[e]:0:l,h.family=Array.isArray(c)?c[e]:c}else u.font={size:l,family:c};return u}function v(t){var e,r,n=t._length,i=t.marker,o={},l=Array.isArray(i.symbol),c=s.isArrayOrTypedArray(i.color),f=s.isArrayOrTypedArray(i.line.color),d=s.isArrayOrTypedArray(i.opacity),g=s.isArrayOrTypedArray(i.size),m=s.isArrayOrTypedArray(i.line.width);if(l||(r=p.OPEN_RE.test(i.symbol)),l||c||f||d){o.colors=new Array(n),o.borderColors=new Array(n);var v=u(i,i.opacity,n),y=u(i.line,i.opacity,n);if(!Array.isArray(y[0])){var x=y;for(y=Array(n),e=0;e<n;e++)y[e]=x}if(!Array.isArray(v[0])){var b=v;for(v=Array(n),e=0;e<n;e++)v[e]=b}for(o.colors=v,o.borderColors=y,e=0;e<n;e++){if(l){var _=i.symbol[e];r=p.OPEN_RE.test(_)}r&&(y[e]=v[e].slice(),v[e]=v[e].slice(),v[e][3]=0)}o.opacity=t.opacity}else r?(o.color=a(i.color,\"uint8\"),o.color[3]=0,o.borderColor=a(i.color,\"uint8\")):(o.color=a(i.color,\"uint8\"),o.borderColor=a(i.line.color,\"uint8\")),o.opacity=t.opacity*i.opacity;if(l)for(o.markers=new Array(n),e=0;e<n;e++)o.markers[e]=T(i.symbol[e]);else o.marker=T(i.symbol);var w,k=h(t);if(g||m){var M,A=o.sizes=new Array(n),S=o.borderSizes=new Array(n),E=0;if(g){for(e=0;e<n;e++)A[e]=k(i.size[e]),E+=A[e];M=E/n}else for(w=k(i.size),e=0;e<n;e++)A[e]=w;if(m)for(e=0;e<n;e++)S[e]=i.line.width[e]/2;else for(w=i.line.width/2,e=0;e<n;e++)S[e]=w;o.sizeAvg=M}else o.size=k(i&&i.size||10),o.borderSizes=k(i.line.width);return o}function y(t,e){var r=t.marker,n={};return e?(e.marker&&e.marker.symbol?n=v(s.extendFlat({},r,e.marker)):e.marker&&(e.marker.size&&(n.size=e.marker.size/2),e.marker.color&&(n.colors=e.marker.color),void 0!==e.marker.opacity&&(n.opacity=e.marker.opacity)),n):n}function x(t,e){var r={};if(!e)return r;if(e.textfont){var n={opacity:1,text:t.text,textposition:t.textposition,textfont:s.extendFlat({},t.textfont)};e.textfont&&s.extendFlat(n.textfont,e.textfont),r=m(n)}return r}function b(t,e){var r={capSize:2*e.width,lineWidth:e.thickness,color:e.color};return e.copy_ystyle&&(r=t.error_y),r}var _=p.SYMBOL_SDF_SIZE,w=p.SYMBOL_SIZE,k=p.SYMBOL_STROKE,M={},A=l.symbolFuncs[0](.05*w);function T(t){if(\"circle\"===t)return null;var e,r,n=l.symbolNumber(t),a=l.symbolFuncs[n%100],o=!!l.symbolNoDot[n%100],s=!!l.symbolNoFill[n%100],c=p.DOT_RE.test(t);return M[t]?M[t]:(e=c&&!o?a(1.1*w)+A:a(w),r=i(e,{w:_,h:_,viewBox:[-w,-w,w,w],stroke:s?k:-k}),M[t]=r,r||null)}e.exports={style:function(t,e){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0};if(!0!==e.visible)return n;if(f.hasText(e)&&(n.text=m(e),n.textSel=x(e,e.selected),n.textUnsel=x(e,e.unselected)),f.hasMarkers(e)&&(n.marker=v(e),n.markerSel=y(e,e.selected),n.markerUnsel=y(e,e.unselected),!e.unselected&&Array.isArray(e.marker.opacity))){var i=e.marker.opacity;for(n.markerUnsel.opacity=new Array(i.length),r=0;r<i.length;r++)n.markerUnsel.opacity[r]=d*i[r]}if(f.hasLines(e)){n.line={overlay:!0,thickness:e.line.width,color:e.line.color,opacity:e.opacity};var a=(p.DASHES[e.line.dash]||[1]).slice();for(r=0;r<a.length;++r)a[r]*=e.line.width;n.line.dashes=a}return e.error_x&&e.error_x.visible&&(n.errorX=b(e,e.error_x)),e.error_y&&e.error_y.visible&&(n.errorY=b(e,e.error_y)),e.fill&&\"none\"!==e.fill&&(n.fill={closed:!0,fill:e.fillcolor,thickness:0}),n},markerStyle:v,markerSelection:y,linePositions:function(t,e,r){var n,i,a=r.length/2;if(f.hasLines(e)&&a)if(\"hv\"===e.line.shape){for(n=[],i=0;i<a-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?(n.push(NaN),n.push(NaN),n.push(NaN),n.push(NaN)):(n.push(r[2*i]),n.push(r[2*i+1]),n.push(r[2*i+2]),n.push(r[2*i+1]));n.push(r[r.length-2]),n.push(r[r.length-1])}else if(\"vh\"===e.line.shape){for(n=[],i=0;i<a-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?(n.push(NaN),n.push(NaN),n.push(NaN),n.push(NaN)):(n.push(r[2*i]),n.push(r[2*i+1]),n.push(r[2*i]),n.push(r[2*i+3]));n.push(r[r.length-2]),n.push(r[r.length-1])}else n=r;var o=!1;for(i=0;i<n.length;i++)if(isNaN(n[i])){o=!0;break}var s=o||n.length>p.TOO_MANY_POINTS?\"rect\":f.hasMarkers(e)?\"rect\":\"round\";if(o&&e.connectgaps){var l=n[0],c=n[1];for(i=0;i<n.length;i+=2)isNaN(n[i])||isNaN(n[i+1])?(n[i]=l,n[i+1]=c):(l=n[i],c=n[i+1])}return{join:s,positions:n}},errorBarPositions:function(t,e,r,i,a){var s=o.getComponentMethod(\"errorbars\",\"makeComputeError\"),l=c.getFromId(t,e.xaxis),u=c.getFromId(t,e.yaxis),f=r.length/2,h={};function p(t,i){var a=i._id.charAt(0),o=e[\"error_\"+a];if(o&&o.visible&&(\"linear\"===i.type||\"log\"===i.type)){for(var l=s(o),c={x:0,y:1}[a],u={x:[0,1,2,3],y:[2,3,0,1]}[a],p=new Float64Array(4*f),d=1/0,g=-1/0,m=0,v=0;m<f;m++,v+=4){var y=t[m];if(n(y)){var x=r[2*m+c],b=l(y,m),_=b[0],w=b[1];if(n(_)&&n(w)){var k=y-_,M=y+w;p[v+u[0]]=x-i.c2l(k),p[v+u[1]]=i.c2l(M)-x,p[v+u[2]]=0,p[v+u[3]]=0,d=Math.min(d,y-_),g=Math.max(g,y+w)}}}h[a]={positions:r,errors:p,_bnds:[d,g]}}}return p(i,l),p(a,u),h},textPosition:function(t,e,r,n){var i,a=e._length,o={};if(f.hasMarkers(e)){var s=r.font,l=r.align,c=r.baseline;for(o.offset=new Array(a),i=0;i<a;i++){var u=n.sizes?n.sizes[i]:n.size,h=Array.isArray(s)?s[i].size:s.size,p=Array.isArray(l)?l.length>1?l[i]:l[0]:l,d=Array.isArray(c)?c.length>1?c[i]:c[0]:c,m=g[p],v=g[d],y=u?u/.8+1:0,x=-v*y-.5*v;o.offset[i]=[m*y/h,x/h]}}return o}}},{\"../../components/drawing\":592,\"../../constants/interactions\":669,\"../../lib\":693,\"../../lib/gl_format_color\":689,\"../../plots/cartesian/axis_ids\":745,\"../../registry\":825,\"../scatter/make_bubble_size_func\":1049,\"../scatter/subtypes\":1056,\"./constants\":1082,\"color-normalize\":107,\"fast-isnumeric\":213,\"svg-path-sdf\":509}],1084:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"./attributes\"),o=t(\"../scatter/constants\"),s=t(\"../scatter/subtypes\"),l=t(\"../scatter/xy_defaults\"),c=t(\"../scatter/marker_defaults\"),u=t(\"../scatter/line_defaults\"),f=t(\"../scatter/fillcolor_defaults\"),h=t(\"../scatter/text_defaults\");e.exports=function(t,e,r,p){function d(r,i){return n.coerce(t,e,a,r,i)}var g=!!t.marker&&/-open/.test(t.marker.symbol),m=s.isBubble(t),v=l(t,e,p,d);if(v){var y=v<o.PTS_LINESONLY?\"lines+markers\":\"lines\";d(\"text\"),d(\"hovertext\"),d(\"mode\",y),s.hasLines(e)&&(d(\"connectgaps\"),u(t,e,r,p,d)),s.hasMarkers(e)&&(c(t,e,r,p,d),d(\"marker.line.width\",g||m?1:0)),s.hasText(e)&&h(t,e,p,d),d(\"fill\"),\"none\"!==e.fill&&f(t,e,r,d);var x=i.getComponentMethod(\"errorbars\",\"supplyDefaults\");x(t,e,r,{axis:\"y\"}),x(t,e,r,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{\"../../lib\":693,\"../../registry\":825,\"../scatter/constants\":1037,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"../scatter/xy_defaults\":1058,\"./attributes\":1081}],1085:[function(t,e,r){\"use strict\";var n=t(\"regl-scatter2d\"),i=t(\"regl-line2d\"),a=t(\"regl-error2d\"),o=t(\"point-cluster\"),s=t(\"array-range\"),l=t(\"gl-text\"),c=t(\"../../registry\"),u=t(\"../../lib\"),f=t(\"../../lib/prepare_regl\"),h=t(\"../../plots/cartesian/axis_ids\"),p=t(\"../../plots/cartesian/autorange\").findExtremes,d=t(\"../../components/color\"),g=t(\"../scatter/subtypes\"),m=t(\"../scatter/calc\"),v=m.calcMarkerSize,y=m.calcAxisExpansion,x=m.setFirstScatter,b=t(\"../scatter/colorscale_calc\"),_=t(\"../scatter/link_traces\"),w=t(\"../scatter/get_trace_color\"),k=t(\"../scatter/fill_hover_text\"),M=t(\"./convert\"),A=t(\"../../constants/numerical\").BADNUM,T=t(\"./constants\").TOO_MANY_POINTS,S=t(\"../../constants/interactions\").DESELECTDIM;function E(t,e,r){var n=t._extremes[e._id],i=p(e,r._bnds,{padded:!0});n.min=n.min.concat(i.min),n.max=n.max.concat(i.max)}function C(t,e,r,n,i,a){var o=M.style(t,r);if(o.marker&&(o.marker.positions=n),o.line&&n.length>1&&u.extendFlat(o.line,M.linePositions(t,r,n)),o.errorX||o.errorY){var s=M.errorBarPositions(t,r,n,i,a);o.errorX&&u.extendFlat(o.errorX,s.x),o.errorY&&u.extendFlat(o.errorY,s.y)}return o.text&&(u.extendFlat(o.text,{positions:n},M.textPosition(t,r,o.text,o.marker)),u.extendFlat(o.textSel,{positions:n},M.textPosition(t,r,o.text,o.markerSel)),u.extendFlat(o.textUnsel,{positions:n},M.textPosition(t,r,o.text,o.markerUnsel))),o}function L(t,e){var r=e._scene,n={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[]},i={selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:null};return e._scene||((r=e._scene={}).init=function(){u.extendFlat(r,i,n)},r.init(),r.update=function(t){var e=u.repeat(t,r.count);if(r.fill2d&&r.fill2d.update(e),r.scatter2d&&r.scatter2d.update(e),r.line2d&&r.line2d.update(e),r.error2d&&r.error2d.update(e.concat(e)),r.select2d&&r.select2d.update(e),r.glText)for(var n=0;n<r.count;n++)r.glText[n].update(t);r.draw()},r.draw=function(){var t;for(t=0;t<r.count;t++)r.fill2d&&r.fillOptions[t]&&r.fill2d.draw(t);for(t=0;t<r.count;t++)r.line2d&&r.lineOptions[t]&&r.line2d.draw(t),r.error2d&&r.errorXOptions[t]&&r.error2d.draw(t),r.error2d&&r.errorYOptions[t]&&r.error2d.draw(t+r.count),!r.scatter2d||!r.markerOptions[t]||r.selectBatch&&r.selectBatch[t]||r.scatter2d.draw(t);for(r.scatter2d&&r.select2d&&r.selectBatch&&(r.select2d.draw(r.selectBatch),r.scatter2d.draw(r.unselectBatch)),t=0;t<r.count;t++)r.glText[t]&&r.textOptions[t]&&r.glText[t].render();r.dirty=!1},r.clear=function(){var n=z(t._fullLayout,e.xaxis,e.yaxis);r.select2d&&P(r.select2d,n);var i=r.scatter2d||r.line2d||(r.glText||[])[0]||r.fill2d||r.error2d;i&&P(i,n)},r.destroy=function(){r.fill2d&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy(),r.line2d&&r.line2d.destroy(),r.select2d&&r.select2d.destroy(),r.glText&&r.glText.forEach(function(t){t.destroy()}),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.markerSelectedOptions=null,r.markerUnselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.textOptions=null,r.textSelectedOptions=null,r.textUnselectedOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||u.extendFlat(r,n),r}function z(t,e,r){var n=t._size,i=t.width,a=t.height;return[n.l+e.domain[0]*n.w,n.b+r.domain[0]*n.h,i-n.r-(1-e.domain[1])*n.w,a-n.t-(1-r.domain[1])*n.h]}function P(t,e){var r=t.regl._gl;r.enable(r.SCISSOR_TEST),r.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT)}function O(t,e,r,n){var i=t.xa,a=t.ya,o=t.distance,s=t.dxy,l=t.index,f={pointNumber:l,x:e[l],y:r[l]};f.tx=Array.isArray(n.text)?n.text[l]:n.text,f.htx=Array.isArray(n.hovertext)?n.hovertext[l]:n.hovertext,f.data=Array.isArray(n.customdata)?n.customdata[l]:n.customdata,f.tp=Array.isArray(n.textposition)?n.textposition[l]:n.textposition;var h=n.textfont;h&&(f.ts=Array.isArray(h.size)?h.size[l]:h.size,f.tc=Array.isArray(h.color)?h.color[l]:h.color,f.tf=Array.isArray(h.family)?h.family[l]:h.family);var p=n.marker;p&&(f.ms=u.isArrayOrTypedArray(p.size)?p.size[l]:p.size,f.mo=u.isArrayOrTypedArray(p.opacity)?p.opacity[l]:p.opacity,f.mx=Array.isArray(p.symbol)?p.symbol[l]:p.symbol,f.mc=u.isArrayOrTypedArray(p.color)?p.color[l]:p.color);var d=p&&p.line;d&&(f.mlc=Array.isArray(d.color)?d.color[l]:d.color,f.mlw=u.isArrayOrTypedArray(d.width)?d.width[l]:d.width);var g=p&&p.gradient;g&&\"none\"!==g.type&&(f.mgt=Array.isArray(g.type)?g.type[l]:g.type,f.mgc=Array.isArray(g.color)?g.color[l]:g.color);var m=i.c2p(f.x,!0),v=a.c2p(f.y,!0),y=f.mrc||1,x=n.hoverlabel;x&&(f.hbg=Array.isArray(x.bgcolor)?x.bgcolor[l]:x.bgcolor,f.hbc=Array.isArray(x.bordercolor)?x.bordercolor[l]:x.bordercolor,f.hts=Array.isArray(x.font.size)?x.font.size[l]:x.font.size,f.htc=Array.isArray(x.font.color)?x.font.color[l]:x.font.color,f.htf=Array.isArray(x.font.family)?x.font.family[l]:x.font.family,f.hnl=Array.isArray(x.namelength)?x.namelength[l]:x.namelength);var b=n.hoverinfo;b&&(f.hi=Array.isArray(b)?b[l]:b);var _={};return _[t.index]=f,u.extendFlat(t,{color:w(n,f),x0:m-y,x1:m+y,xLabelVal:f.x,y0:v-y,y1:v+y,yLabelVal:f.y,cd:_,distance:o,spikeDistance:s}),f.htx?t.text=f.htx:f.tx?t.text=f.tx:n.text&&(t.text=n.text),k(f,n,t),c.getComponentMethod(\"errorbars\",\"hoverInfo\")(f,n,t),t}function I(t){var e,r,n=t[0].t,i=n._scene,a=n.index,o=i.selectBatch[a],s=i.unselectBatch[a],l=i.textOptions[a],c=i.textSelectedOptions[a]||{},f=i.textUnselectedOptions[a]||{},h=u.extendFlat({},l);if(o&&s){var p=c.color,g=f.color,m=l.color,v=Array.isArray(m);for(h.color=new Array(n.count),e=0;e<o.length;e++)r=o[e],h.color[r]=p||(v?m[r]:m);for(e=0;e<s.length;e++){r=s[e];var y=v?m[r]:m;h.color[r]=g||(p?y:d.addOpacity(y,S))}}i.glText[a].update(h)}e.exports={moduleType:\"trace\",name:\"scattergl\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),cleanData:t(\"../scatter/clean_data\"),colorbar:t(\"../scatter/marker_colorbar\"),calc:function(t,e){var r,n,i,a=t._fullLayout,s=h.getFromId(t,e.xaxis),l=h.getFromId(t,e.yaxis),c=a._plots[e.xaxis+e.yaxis],u=e._length,f=2*u,p={},d=s.makeCalcdata(e,\"x\"),g=l.makeCalcdata(e,\"y\"),m=new Array(f);for(r=0;r<u;r++)n=d[r],i=g[r],m[2*r]=n===A?NaN:n,m[2*r+1]=i===A?NaN:i;if(\"log\"===s.type)for(r=0;r<f;r+=2)m[r]=s.c2l(m[r]);if(\"log\"===l.type)for(r=1;r<f;r+=2)m[r]=l.c2l(m[r]);if(\"log\"!==s.type&&\"log\"!==l.type)p.tree=o(m);else{var _=p.ids=new Array(u);for(r=0;r<u;r++)_[r]=r}b(e);var w,k=C(t,0,e,m,d,g),M=L(t,c);return x(a,e),u<T?w=v(e,u):k.marker&&(w=2*(k.marker.sizeAvg||Math.max(k.marker.size,3))),y(t,e,s,l,d,g,w),k.errorX&&E(e,s,k.errorX),k.errorY&&E(e,l,k.errorY),k.fill&&!M.fill2d&&(M.fill2d=!0),k.marker&&!M.scatter2d&&(M.scatter2d=!0),k.line&&!M.line2d&&(M.line2d=!0),!k.errorX&&!k.errorY||M.error2d||(M.error2d=!0),k.text&&!M.glText&&(M.glText=!0),k.marker&&u>=T&&(k.marker.cluster=p.tree),M.lineOptions.push(k.line),M.errorXOptions.push(k.errorX),M.errorYOptions.push(k.errorY),M.fillOptions.push(k.fill),M.markerOptions.push(k.marker),M.markerSelectedOptions.push(k.markerSel),M.markerUnselectedOptions.push(k.markerUnsel),M.textOptions.push(k.text),M.textSelectedOptions.push(k.textSel),M.textUnselectedOptions.push(k.textUnsel),p._scene=M,p.index=M.count,p.x=d,p.y=g,p.positions=m,p.count=u,M.count++,[{x:!1,y:!1,t:p,trace:e}]},plot:function(t,e,r){if(r.length){var o,s,c=t._fullLayout,h=e._scene,p=e.xaxis,d=e.yaxis;if(h)if(f(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"])){var g=c._glcanvas.data()[0].regl;if(_(t,e,r),h.dirty){if(!0===h.error2d&&(h.error2d=a(g)),!0===h.line2d&&(h.line2d=i(g)),!0===h.scatter2d&&(h.scatter2d=n(g)),!0===h.fill2d&&(h.fill2d=i(g)),!0===h.glText)for(h.glText=new Array(h.count),o=0;o<h.count;o++)h.glText[o]=new l(g);if(h.glText)for(o=0;o<h.count;o++)h.glText[o].update(h.textOptions[o]);if(h.line2d&&h.line2d.update(h.lineOptions),h.error2d){var m=(h.errorXOptions||[]).concat(h.errorYOptions||[]);h.error2d.update(m)}h.scatter2d&&h.scatter2d.update(h.markerOptions),h.fill2d&&(h.fillOptions=h.fillOptions.map(function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,c=h.lineOptions[e],u=[],f=c&&c.positions||l.positions;if(\"tozeroy\"===s.fill)(u=(u=[f[0],0]).concat(f)).push(f[f.length-2]),u.push(0);else if(\"tozerox\"===s.fill)(u=(u=[0,f[1]]).concat(f)).push(0),u.push(f[f.length-1]);else if(\"toself\"===s.fill||\"tonext\"===s.fill){for(u=[],i=0,a=0;a<f.length;a+=2)(isNaN(f[a])||isNaN(f[a+1]))&&((u=u.concat(f.slice(i,a))).push(f[i],f[i+1]),i=a+2);u=u.concat(f.slice(i)),i&&u.push(f[i],f[i+1])}else{var p=s._nexttrace;if(p){var d=h.lineOptions[e+1];if(d){var g=d.positions;if(\"tonexty\"===s.fill){for(u=f.slice(),e=Math.floor(g.length/2);e--;){var m=g[2*e],v=g[2*e+1];isNaN(m)||isNaN(v)||(u.push(m),u.push(v))}t.fill=p.fillcolor}}}}if(s._prevtrace&&\"tonext\"===s._prevtrace.fill){var y=h.lineOptions[e-1].positions,x=u.length/2,b=[i=x];for(a=0;a<y.length;a+=2)(isNaN(y[a])||isNaN(y[a+1]))&&(b.push(a/2+x+1),i=a+2);u=u.concat(y),t.hole=b}return t.opacity=s.opacity,t.positions=u,t}}),h.fill2d.update(h.fillOptions))}h.selectBatch=null,h.unselectBatch=null;var v=c.dragmode,y=\"lasso\"===v||\"select\"===v,x=c.clickmode.indexOf(\"select\")>-1;for(o=0;o<r.length;o++){var b=r[o][0],w=b.trace,k=b.t,M=k.index,A=k.x,T=k.y;if(w.selectedpoints||y||x){if(y||(y=!0),h.selectBatch||(h.selectBatch=[],h.unselectBatch=[]),w.selectedpoints){var S=h.selectBatch[M]=u.selIndices2selPoints(w),E={};for(s=0;s<S.length;s++)E[S[s]]=1;var C=[];for(s=0;s<k.count;s++)E[s]||C.push(s);h.unselectBatch[M]=C}var L=k.xpx=new Array(k.count),P=k.ypx=new Array(k.count);for(s=0;s<k.count;s++)L[s]=p.c2p(A[s]),P[s]=d.c2p(T[s])}else k.xpx=k.ypx=null}y?(h.select2d||(h.select2d=n(c._glcanvas.data()[1].regl)),h.scatter2d&&h.selectBatch&&h.selectBatch.length&&h.scatter2d.update(h.markerUnselectedOptions.map(function(t,e){return h.selectBatch[e]?t:null})),h.select2d&&(h.select2d.update(h.markerOptions),h.select2d.update(h.markerSelectedOptions)),h.glText&&r.forEach(function(t){t&&t[0]&&t[0].trace&&I(t)})):h.scatter2d&&h.scatter2d.update(h.markerOptions);var O={viewport:z(c,p,d),range:[(p._rl||p.range)[0],(d._rl||d.range)[0],(p._rl||p.range)[1],(d._rl||d.range)[1]]},D=u.repeat(O,h.count);h.fill2d&&h.fill2d.update(D),h.line2d&&h.line2d.update(D),h.error2d&&h.error2d.update(D.concat(D)),h.scatter2d&&h.scatter2d.update(D),h.select2d&&h.select2d.update(D),h.glText&&h.glText.forEach(function(t){t.update(O)}),h.draw()}else h.init()}},hoverPoints:function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p=t.cd,d=p[0].t,g=p[0].trace,m=t.xa,v=t.ya,y=d.x,x=d.y,b=m.c2p(e),_=v.c2p(r),w=t.distance;if(d.tree){var k=m.p2c(b-w),M=m.p2c(b+w),A=v.p2c(_-w),T=v.p2c(_+w);i=\"x\"===n?d.tree.range(Math.min(k,M),Math.min(v._rl[0],v._rl[1]),Math.max(k,M),Math.max(v._rl[0],v._rl[1])):d.tree.range(Math.min(k,M),Math.min(A,T),Math.max(k,M),Math.max(A,T))}else{if(!d.ids)return[t];i=d.ids}var S=w;if(\"x\"===n)for(l=0;l<i.length;l++)o=y[i[l]],(c=Math.abs(m.c2p(o)-b))<S&&(S=c,u=v.c2p(x[i[l]])-_,h=Math.sqrt(c*c+u*u),a=i[l]);else for(l=0;l<i.length;l++)o=y[i[l]],s=x[i[l]],c=m.c2p(o)-b,u=v.c2p(s)-_,(f=Math.sqrt(c*c+u*u))<S&&(S=h=f,a=i[l]);return t.index=a,t.distance=S,t.dxy=h,void 0===a?[t]:(O(t,y,x,g),[t])},style:function(t,e){if(e){var r=e[0][0].t._scene;t._fullLayout._has(\"splom\")||r.clear(),r.draw()}},selectPoints:function(t,e){var r=t.cd,n=[],i=r[0].trace,a=r[0].t,o=a.x,l=a.y,c=a._scene;if(!c)return n;var u=g.hasText(i),f=g.hasMarkers(i),h=!f&&!u;if(!0!==i.visible||h)return n;var p,d=null,m=null;if(!1===e||e.degenerate)m=s(a.count);else for(d=[],m=[],p=0;p<a.count;p++)e.contains([a.xpx[p],a.ypx[p]],!1,p,t)?(d.push(p),n.push({pointNumber:p,x:o[p],y:l[p]})):m.push(p);if(c.selectBatch||(c.selectBatch=[],c.unselectBatch=[]),!c.selectBatch[a.index]){for(p=0;p<c.count;p++)c.selectBatch[p]=[],c.unselectBatch[p]=[];f&&c.scatter2d.update(c.markerUnselectedOptions)}return c.selectBatch[a.index]=d,c.unselectBatch[a.index]=m,u&&I(r),n},sceneOptions:C,sceneUpdate:L,calcHover:O,meta:{}}},{\"../../components/color\":567,\"../../constants/interactions\":669,\"../../constants/numerical\":670,\"../../lib\":693,\"../../lib/prepare_regl\":707,\"../../plots/cartesian\":753,\"../../plots/cartesian/autorange\":741,\"../../plots/cartesian/axis_ids\":745,\"../../registry\":825,\"../scatter/calc\":1033,\"../scatter/clean_data\":1035,\"../scatter/colorscale_calc\":1036,\"../scatter/fill_hover_text\":1040,\"../scatter/get_trace_color\":1042,\"../scatter/link_traces\":1048,\"../scatter/marker_colorbar\":1050,\"../scatter/subtypes\":1056,\"./attributes\":1081,\"./constants\":1082,\"./convert\":1083,\"./defaults\":1084,\"array-range\":54,\"gl-text\":302,\"point-cluster\":449,\"regl-error2d\":470,\"regl-line2d\":471,\"regl-scatter2d\":472}],1086:[function(t,e,r){\"use strict\";var n=t(\"../scattergeo/attributes\"),i=t(\"../scatter/attributes\"),a=t(\"../../plots/mapbox/layout_attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../components/colorbar/attributes\"),l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/edit_types\").overrideAll,u=n.line,f=n.marker;e.exports=c({lon:n.lon,lat:n.lat,mode:l({},i.mode,{dflt:\"markers\"}),text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),line:{color:u.color,width:u.width},connectgaps:i.connectgaps,marker:{symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,color:f.color,colorscale:f.colorscale,cauto:f.cauto,cmax:f.cmax,cmin:f.cmin,autocolorscale:f.autocolorscale,reversescale:f.reversescale,showscale:f.showscale,colorbar:s},fill:n.fill,fillcolor:i.fillcolor,textfont:a.layers.symbol.textfont,textposition:a.layers.symbol.textposition,selected:{marker:i.selected.marker},unselected:{marker:i.unselected.marker},hoverinfo:l({},o.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]})},\"calc\",\"nested\")},{\"../../components/colorbar/attributes\":568,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/attributes\":739,\"../../plots/mapbox/layout_attributes\":801,\"../scatter/attributes\":1032,\"../scattergeo/attributes\":1072}],1087:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").BADNUM,o=t(\"../../lib/geojson_utils\"),s=t(\"../../components/colorscale\"),l=t(\"../../components/drawing\"),c=t(\"../scatter/make_bubble_size_func\"),u=t(\"../scatter/subtypes\"),f=t(\"../../plots/mapbox/convert_text_opts\");function h(){return{geojson:o.makeBlank(),layout:{visibility:\"none\"},paint:{}}}function p(t){return i.isArrayOrTypedArray(t)?function(t){return t}:t?function(){return t}:d}function d(){return\"\"}function g(t){return t[0]===a}e.exports=function(t){var e,r=t[0].trace,a=!0===r.visible,m=\"none\"!==r.fill,v=u.hasLines(r),y=u.hasMarkers(r),x=u.hasText(r),b=y&&\"circle\"===r.marker.symbol,_=y&&\"circle\"!==r.marker.symbol,w=h(),k=h(),M=h(),A=h(),T={fill:w,line:k,circle:M,symbol:A};if(!a)return T;if((m||v)&&(e=o.calcTraceToLineCoords(t)),m&&(w.geojson=o.makePolygon(e),w.layout.visibility=\"visible\",i.extendFlat(w.paint,{\"fill-color\":r.fillcolor})),v&&(k.geojson=o.makeLine(e),k.layout.visibility=\"visible\",i.extendFlat(k.paint,{\"line-width\":r.line.width,\"line-color\":r.line.color,\"line-opacity\":r.opacity})),b){var S=function(t){var e,r,a,o,u=t[0].trace,f=u.marker,h=u.selectedpoints,p=i.isArrayOrTypedArray(f.color),d=i.isArrayOrTypedArray(f.size),m=i.isArrayOrTypedArray(f.opacity);function v(t){return u.opacity*t}p&&(r=s.hasColorscale(u,\"marker\")?s.makeColorScaleFunc(s.extractScale(f.colorscale,f.cmin,f.cmax)):i.identity);d&&(a=c(u));m&&(o=function(t){var e=n(t)?+i.constrain(t,0,1):0;return v(e)});var y,x=[];for(e=0;e<t.length;e++){var b=t[e],_=b.lonlat;if(!g(_)){var w={};r&&(w.mcc=b.mcc=r(b.mc)),a&&(w.mrc=b.mrc=a(b.ms)),o&&(w.mo=o(b.mo)),h&&(w.selected=b.selected||0),x.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:_},properties:w})}}if(h)for(y=l.makeSelectedPointStyleFns(u),e=0;e<x.length;e++){var k=x[e].properties;y.selectedOpacityFn&&(k.mo=v(y.selectedOpacityFn(k))),y.selectedColorFn&&(k.mcc=y.selectedColorFn(k)),y.selectedSizeFn&&(k.mrc=y.selectedSizeFn(k))}return{geojson:{type:\"FeatureCollection\",features:x},mcc:p||y&&y.selectedColorFn?{type:\"identity\",property:\"mcc\"}:f.color,mrc:d||y&&y.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:(M=f.size,M/2),mo:m||y&&y.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:v(f.opacity)};var M}(t);M.geojson=S.geojson,M.layout.visibility=\"visible\",i.extendFlat(M.paint,{\"circle-color\":S.mcc,\"circle-radius\":S.mrc,\"circle-opacity\":S.mo})}if((_||x)&&(A.geojson=function(t){for(var e=t[0].trace,r=(e.marker||{}).symbol,n=e.text,i=\"circle\"!==r?p(r):d,a=u.hasText(e)?p(n):d,o=[],s=0;s<t.length;s++){var l=t[s];g(l.lonlat)||o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:l.lonlat},properties:{symbol:i(l.mx),text:a(l.tx)}})}return{type:\"FeatureCollection\",features:o}}(t),i.extendFlat(A.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),_&&(i.extendFlat(A.layout,{\"icon-size\":r.marker.size/10}),i.extendFlat(A.paint,{\"icon-opacity\":r.opacity*r.marker.opacity,\"icon-color\":r.marker.color})),x)){var E=(r.marker||{}).size,C=f(r.textposition,E);i.extendFlat(A.layout,{\"text-size\":r.textfont.size,\"text-anchor\":C.anchor,\"text-offset\":C.offset}),i.extendFlat(A.paint,{\"text-color\":r.textfont.color,\"text-opacity\":r.opacity})}return T}},{\"../../components/colorscale\":582,\"../../components/drawing\":592,\"../../constants/numerical\":670,\"../../lib\":693,\"../../lib/geojson_utils\":686,\"../../plots/mapbox/convert_text_opts\":798,\"../scatter/make_bubble_size_func\":1049,\"../scatter/subtypes\":1056,\"fast-isnumeric\":213}],1088:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../scatter/marker_defaults\"),o=t(\"../scatter/line_defaults\"),s=t(\"../scatter/text_defaults\"),l=t(\"../scatter/fillcolor_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}if(function(t,e,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return e._length=a,a}(0,e,f)){if(f(\"text\"),f(\"hovertext\"),f(\"mode\"),i.hasLines(e)&&(o(t,e,r,u,f,{noDash:!0}),f(\"connectgaps\")),i.hasMarkers(e)){a(t,e,r,u,f,{noLine:!0});var h=e.marker;\"circle\"!==h.symbol&&(n.isArrayOrTypedArray(h.size)&&(h.size=h.size[0]),n.isArrayOrTypedArray(h.color)&&(h.color=h.color[0]))}i.hasText(e)&&s(t,e,u,f,{noSelect:!0}),f(\"fill\"),\"none\"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{\"../../lib\":693,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"./attributes\":1086}],1089:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1090:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../lib\"),a=t(\"../scatter/get_trace_color\"),o=t(\"../scatter/fill_hover_text\"),s=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,f=t.ya,h=t.subplot,p=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(l,function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=h.project([n,a]),l=o.x-u.c2p([d,a]),c=o.y-f.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)},t),!1!==t.index){var g=l[t.index],m=g.lonlat,v=[i.modHalf(m[0],360)+p,m[1]],y=u.c2p(v),x=f.c2p(v),b=g.mrc||1;return t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b,t.color=a(c,g),t.extraText=function(t,e,r){var n=(e.hi||t.hoverinfo).split(\"+\"),i=-1!==n.indexOf(\"all\"),a=-1!==n.indexOf(\"lon\"),s=-1!==n.indexOf(\"lat\"),l=e.lonlat,c=[];function u(t){return t+\"\\xb0\"}i||a&&s?c.push(\"(\"+u(l[0])+\", \"+u(l[1])+\")\"):a?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==n.indexOf(\"text\"))&&o(e,t,c);return c.join(\"<br>\")}(c,g,l[0].t.labels),[t]}}},{\"../../components/fx\":609,\"../../constants/numerical\":670,\"../../lib\":693,\"../scatter/fill_hover_text\":1040,\"../scatter/get_trace_color\":1042}],1091:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/marker_colorbar\"),n.calc=t(\"../scattergeo/calc\"),n.plot=t(\"./plot\"),n.hoverPoints=t(\"./hover\"),n.eventData=t(\"./event_data\"),n.selectPoints=t(\"./select\"),n.style=function(t,e){e&&e[0].trace._glTrace.update(e)},n.moduleType=\"trace\",n.name=\"scattermapbox\",n.basePlotModule=t(\"../../plots/mapbox\"),n.categories=[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatterlike\"],n.meta={},e.exports=n},{\"../../plots/mapbox\":799,\"../scatter/marker_colorbar\":1050,\"../scattergeo/calc\":1073,\"./attributes\":1086,\"./defaults\":1088,\"./event_data\":1089,\"./hover\":1090,\"./plot\":1092,\"./select\":1093}],1092:[function(t,e,r){\"use strict\";var n=t(\"./convert\");function i(t,e){this.subplot=t,this.uid=e,this.sourceIds={fill:e+\"-source-fill\",line:e+\"-source-line\",circle:e+\"-source-circle\",symbol:e+\"-source-symbol\"},this.layerIds={fill:e+\"-layer-fill\",line:e+\"-layer-line\",circle:e+\"-layer-circle\",symbol:e+\"-layer-symbol\"},this.order=[\"fill\",\"line\",\"circle\",\"symbol\"]}var a=i.prototype;a.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:\"geojson\",data:e.geojson})},a.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},a.addLayer=function(t,e){this.subplot.map.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint})},a.update=function(t){for(var e=this.subplot,r=n(t),i=0;i<this.order.length;i++){var a=this.order[i],o=r[a];e.setOptions(this.layerIds[a],\"setLayoutProperty\",o.layout),\"visible\"===o.layout.visibility&&(this.setSourceData(a,o),e.setOptions(this.layerIds[a],\"setPaintProperty\",o.paint))}t[0].trace._glTrace=this},a.dispose=function(){for(var t=this.subplot.map,e=0;e<this.order.length;e++){var r=this.order[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=new i(t,e[0].trace.uid),a=n(e),o=0;o<r.order.length;o++){var s=r.order[o],l=a[s];r.addSource(s,l),r.addLayer(s,l)}return e[0].trace._glTrace=r,r}},{\"./convert\":1087}],1093:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e){var r,o=t.cd,s=t.xaxis,l=t.yaxis,c=[],u=o[0].trace;if(!i.hasMarkers(u))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++){var f=o[r],h=f.lonlat;if(h[0]!==a){var p=[n.modHalf(h[0],360),h[1]],d=[s.c2p(p),l.c2p(p)];e.contains(d,null,r,t)?(c.push({pointNumber:r,lon:h[0],lat:h[1]}),f.selected=1):f.selected=0}}return c}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../scatter/subtypes\":1056}],1094:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat,i=t(\"../scatter/attributes\"),a=t(\"../../plots/attributes\"),o=i.line;e.exports={mode:i.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},r0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dr:{valType:\"number\",dflt:1,editType:\"calc\"},theta0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dtheta:{valType:\"number\",editType:\"calc\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:i.text,hovertext:i.hovertext,line:{color:o.color,width:o.width,dash:o.dash,shape:n({},o.shape,{values:[\"linear\",\"spline\"]}),smoothing:o.smoothing,editType:\"calc\"},connectgaps:i.connectgaps,marker:i.marker,cliponaxis:n({},i.cliponaxis,{dflt:!1}),textposition:i.textposition,textfont:i.textfont,fill:n({},i.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:i.fillcolor,hoverinfo:n({},a.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:i.hoveron,selected:i.selected,unselected:i.unselected}},{\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../scatter/attributes\":1032}],1095:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../../plots/cartesian/axes\"),o=t(\"../scatter/colorscale_calc\"),s=t(\"../scatter/arrays_to_calcdata\"),l=t(\"../scatter/calc_selection\"),c=t(\"../scatter/calc\").calcMarkerSize;e.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,f=r[u].radialaxis,h=r[u].angularaxis,p=f.makeCalcdata(e,\"r\"),d=h.makeCalcdata(e,\"theta\"),g=e._length,m=new Array(g),v=0;v<g;v++){var y=p[v],x=d[v],b=m[v]={};n(y)&&n(x)?(b.r=y,b.theta=x):b.r=i}var _=c(e,g);return e._extremes.x=a.findExtremes(f,p,{ppad:_}),o(e),s(m,e),l(m,e),m}},{\"../../constants/numerical\":670,\"../../plots/cartesian/axes\":742,\"../scatter/arrays_to_calcdata\":1031,\"../scatter/calc\":1033,\"../scatter/calc_selection\":1034,\"../scatter/colorscale_calc\":1036,\"fast-isnumeric\":213}],1096:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../scatter/marker_defaults\"),o=t(\"../scatter/line_defaults\"),s=t(\"../scatter/line_shape_defaults\"),l=t(\"../scatter/text_defaults\"),c=t(\"../scatter/fillcolor_defaults\"),u=t(\"../scatter/constants\").PTS_LINESONLY,f=t(\"./attributes\");function h(t,e,r,n){var i,a=n(\"r\"),o=n(\"theta\");if(a)o?i=Math.min(a.length,o.length):(i=a.length,n(\"theta0\"),n(\"dtheta\"));else{if(!o)return 0;i=e.theta.length,n(\"r0\"),n(\"dr\")}return e._length=i,i}e.exports={handleRThetaDefaults:h,supplyDefaults:function(t,e,r,p){function d(r,i){return n.coerce(t,e,f,r,i)}var g=h(0,e,0,d);if(g){d(\"thetaunit\"),d(\"mode\",g<u?\"lines+markers\":\"lines\"),d(\"text\"),d(\"hovertext\"),i.hasLines(e)&&(o(t,e,r,p,d),s(t,e,d),d(\"connectgaps\")),i.hasMarkers(e)&&a(t,e,r,p,d,{gradient:!0}),i.hasText(e)&&l(t,e,p,d);var m=[];(i.hasMarkers(e)||i.hasText(e))&&(d(\"cliponaxis\"),d(\"marker.maxdisplayed\"),m.push(\"points\")),d(\"fill\"),\"none\"!==e.fill&&(c(t,e,r,d),i.hasLines(e)||s(t,e,d)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||m.push(\"fills\"),d(\"hoveron\",m.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}}},{\"../../lib\":693,\"../scatter/constants\":1037,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/line_shape_defaults\":1047,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"./attributes\":1094}],1097:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\");function o(t,e,r,n){var o=r.radialAxis,s=r.angularAxis,l=(t.hi||e.hoverinfo).split(\"+\"),c=[];function u(t,e){c.push(t._hovertitle+\": \"+i.tickText(t,e,\"hover\").text)}if(o._hovertitle=\"r\",s._hovertitle=\"\\u03b8\",-1!==l.indexOf(\"all\")&&(l=[\"r\",\"theta\",\"text\"]),-1!==l.indexOf(\"r\")&&u(o,o.c2l(t.r)),-1!==l.indexOf(\"theta\")){var f=t.theta;u(s,\"degrees\"===s.thetaunit?a.rad2deg(f):f)}-1!==l.indexOf(\"text\")&&n.text&&(c.push(n.text),delete n.text),n.extraText=c.join(\"<br>\")}e.exports={hoverPoints:function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var s=a[0];if(void 0===s.index)return a;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,o(c,u,l,s),a}},makeHoverPointText:o}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../scatter/hover\":1043}],1098:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:t(\"../../plots/polar\"),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,colorbar:t(\"../scatter/marker_colorbar\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"../scatter/select\"),meta:{}}},{\"../../plots/polar\":808,\"../scatter/marker_colorbar\":1050,\"../scatter/select\":1053,\"../scatter/style\":1055,\"./attributes\":1094,\"./calc\":1095,\"./defaults\":1096,\"./hover\":1097,\"./plot\":1099}],1099:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r){for(var a=e.layers.frontplot.select(\"g.scatterlayer\"),o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},s=e.radialAxis,l=e.angularAxis,c=0;c<r.length;c++)for(var u=r[c],f=0;f<u.length;f++){var h=u[f],p=h.r;if(p===i)h.x=h.y=i;else{var d=s.c2g(p),g=l.c2g(h.theta);h.x=d*Math.cos(g),h.y=d*Math.sin(g)}}n(t,o,r,a)}},{\"../../constants/numerical\":670,\"../scatter/plot\":1052}],1100:[function(t,e,r){\"use strict\";var n=t(\"../scatterpolar/attributes\"),i=t(\"../scattergl/attributes\");e.exports={mode:n.mode,r:n.r,theta:n.theta,r0:n.r0,dr:n.dr,theta0:n.theta0,dtheta:n.dtheta,thetaunit:n.thetaunit,text:n.text,hovertext:n.hovertext,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,textposition:i.textposition,textfont:i.textfont,hoverinfo:n.hoverinfo,selected:n.selected,unselected:n.unselected}},{\"../scattergl/attributes\":1081,\"../scatterpolar/attributes\":1094}],1101:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../scatterpolar/defaults\").handleRThetaDefaults,o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/text_defaults\"),c=t(\"../scatter/fillcolor_defaults\"),u=t(\"../scatter/constants\").PTS_LINESONLY,f=t(\"./attributes\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d=a(t,e,h,p);d?(p(\"thetaunit\"),p(\"mode\",d<u?\"lines+markers\":\"lines\"),p(\"text\"),p(\"hovertext\"),i.hasLines(e)&&(s(t,e,r,h,p),p(\"connectgaps\")),i.hasMarkers(e)&&o(t,e,r,h,p),i.hasText(e)&&l(t,e,h,p),p(\"fill\"),\"none\"!==e.fill&&c(t,e,r,p),n.coerceSelectionMarkerOpacity(e,p)):e.visible=!1}},{\"../../lib\":693,\"../scatter/constants\":1037,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"../scatterpolar/defaults\":1096,\"./attributes\":1100}],1102:[function(t,e,r){\"use strict\";var n=t(\"point-cluster\"),i=t(\"fast-isnumeric\"),a=t(\"../scattergl\"),o=t(\"../scatter/colorscale_calc\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../scatterpolar/hover\").makeHoverPointText,c=t(\"../scatter/subtypes\"),u=t(\"../scattergl/constants\").TOO_MANY_POINTS;e.exports={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:t(\"../../plots/polar\"),categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),calc:function(t,e){var r=t._fullLayout,n=e.subplot,i=r[n].radialaxis,a=r[n].angularaxis,l=i.makeCalcdata(e,\"r\"),c=a.makeCalcdata(e,\"theta\"),u={};return e._length<l.length&&(l=l.slice(0,e._length)),e._length<c.length&&(c=c.slice(0,e._length)),o(e),u.r=l,u.theta=c,e._extremes.x=s.findExtremes(i,l,{tozero:!0}),[{x:!1,y:!1,t:u,trace:e}]},plot:function(t,e,r){var o=e.radialAxis,s=e.angularAxis,l=a.sceneUpdate(t,e);return r.forEach(function(f,h){if(f&&f[0]&&f[0].trace){var p,d=f[0],g=d.trace,m=d.t,v=m.r,y=m.theta,x=v.slice(),b=y.slice();for(p=0;p<v.length;p++)e.isPtInside({r:v[p],theta:y[p]})||(x[p]=NaN,b[p]=NaN);var _=v.length,w=new Array(2*_),k=Array(_),M=Array(_);for(p=0;p<_;p++){var A,T,S=x[p];if(i(S)){var E=o.c2g(S),C=s.c2g(b[p],g.thetaunit);A=E*Math.cos(C),T=E*Math.sin(C)}else A=T=NaN;k[p]=w[2*p]=A,M[p]=w[2*p+1]=T}var L=a.sceneOptions(t,e,g,w);L.fill&&!l.fill2d&&(l.fill2d=!0),L.marker&&!l.scatter2d&&(l.scatter2d=!0),L.line&&!l.line2d&&(l.line2d=!0),!L.errorX&&!L.errorY||l.error2d||(l.error2d=!0),L.text&&!l.glText&&(l.glText=!0),m.tree=n(w),L.marker&&_>=u&&(L.marker.cluster=m.tree),c.hasMarkers(g)&&(L.markerSel.positions=L.markerUnsel.positions=L.marker.positions),l.lineOptions.push(L.line),l.errorXOptions.push(L.errorX),l.errorYOptions.push(L.errorY),l.fillOptions.push(L.fill),l.markerOptions.push(L.marker),l.markerSelectedOptions.push(L.markerSel),l.markerUnselectedOptions.push(L.markerUnsel),l.textOptions.push(L.text),l.textSelectedOptions.push(L.textSel),l.textUnselectedOptions.push(L.textUnsel),l.count=r.length,m._scene=l,m.index=h,m.x=k,m.y=M,m.rawx=k,m.rawy=M,m.r=v,m.theta=y,m.positions=w,m.count=_}}),a.plot(t,e,r)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,o=i.r,s=i.theta,c=a.hoverPoints(t,e,r,n);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=u.cd[u.index],p=u.trace;if(h.r=o[u.index],h.theta=s[u.index],f.isPtInside(h))return u.xLabelVal=void 0,u.yLabelVal=void 0,l(h,p,f,u),c}},style:a.style,selectPoints:a.selectPoints,meta:{}}},{\"../../plots/cartesian/axes\":742,\"../../plots/polar\":808,\"../scatter/colorscale_calc\":1036,\"../scatter/marker_colorbar\":1050,\"../scatter/subtypes\":1056,\"../scattergl\":1085,\"../scattergl/constants\":1082,\"../scatterpolar/hover\":1097,\"./attributes\":1100,\"./defaults\":1101,\"fast-isnumeric\":213,\"point-cluster\":449}],1103:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../components/drawing/attributes\").dash,l=t(\"../../lib/extend\").extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},c:{valType:\"data_array\",editType:\"calc\"},sum:{valType:\"number\",dflt:0,min:0,editType:\"calc\"},mode:l({},n.mode,{dflt:\"markers\"}),text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:s,shape:l({},u.shape,{values:[\"linear\",\"spline\"]}),smoothing:u.smoothing,editType:\"calc\"},connectgaps:n.connectgaps,cliponaxis:n.cliponaxis,fill:l({},n.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:f.width,editType:\"calc\"},a(\"marker.line\")),gradient:c.gradient,editType:\"calc\"},a(\"marker\"),{colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:n.hoveron}},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../components/drawing/attributes\":591,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../scatter/attributes\":1032}],1104:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../scatter/colorscale_calc\"),a=t(\"../scatter/arrays_to_calcdata\"),o=t(\"../scatter/calc_selection\"),s=t(\"../scatter/calc\").calcMarkerSize,l=[\"a\",\"b\",\"c\"],c={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};e.exports=function(t,e){var r,u,f,h,p,d,g=t._fullLayout[e.subplot].sum,m=e.sum||g,v={a:e.a,b:e.b,c:e.c};for(r=0;r<l.length;r++)if(!v[f=l[r]]){for(p=v[c[f][0]],d=v[c[f][1]],h=new Array(p.length),u=0;u<p.length;u++)h[u]=m-p[u]-d[u];v[f]=h}var y,x,b,_,w,k,M=e._length,A=new Array(M);for(r=0;r<M;r++)y=v.a[r],x=v.b[r],b=v.c[r],n(y)&&n(x)&&n(b)?(1!==(_=g/((y=+y)+(x=+x)+(b=+b)))&&(y*=_,x*=_,b*=_),k=y,w=b-x,A[r]={x:w,y:k,a:y,b:x,c:b}):A[r]={x:!1,y:!1};return s(e,M),i(e),a(A,e),o(A,e),A}},{\"../scatter/arrays_to_calcdata\":1031,\"../scatter/calc\":1033,\"../scatter/calc_selection\":1034,\"../scatter/colorscale_calc\":1036,\"fast-isnumeric\":213}],1105:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/constants\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/line_shape_defaults\"),c=t(\"../scatter/text_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),f=t(\"./attributes\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d,g=p(\"a\"),m=p(\"b\"),v=p(\"c\");if(g?(d=g.length,m?(d=Math.min(d,m.length),v&&(d=Math.min(d,v.length))):d=v?Math.min(d,v.length):0):m&&v&&(d=Math.min(m.length,v.length)),d){e._length=d,p(\"sum\"),p(\"text\"),p(\"hovertext\"),p(\"mode\",d<i.PTS_LINESONLY?\"lines+markers\":\"lines\"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p(\"connectgaps\")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&c(t,e,h,p);var y=[];(a.hasMarkers(e)||a.hasText(e))&&(p(\"cliponaxis\"),p(\"marker.maxdisplayed\"),y.push(\"points\")),p(\"fill\"),\"none\"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||y.push(\"fills\"),p(\"hoveron\",y.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\"../../lib\":693,\"../scatter/constants\":1037,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/line_shape_defaults\":1047,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"./attributes\":1103}],1106:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[i]){var a=n[i];t.a=a.a,t.b=a.b,t.c=a.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t}},{}],1107:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\"),i=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index){var l=1-s.y0/t.ya._length,c=t.xa._length,u=c*l/2,f=c-u;return s.x0=Math.max(Math.min(s.x0,f),u),s.x1=Math.max(Math.min(s.x1,f),u),o}var h=s.cd[s.index];s.a=h.a,s.b=h.b,s.c=h.c,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=s.subplot,g=(h.hi||p.hoverinfo).split(\"+\"),m=[];return-1!==g.indexOf(\"all\")&&(g=[\"a\",\"b\",\"c\"]),-1!==g.indexOf(\"a\")&&v(d.aaxis,h.a),-1!==g.indexOf(\"b\")&&v(d.baxis,h.b),-1!==g.indexOf(\"c\")&&v(d.caxis,h.c),s.extraText=m.join(\"<br>\"),o}function v(t,e){m.push(t._hovertitle+\": \"+i.tickText(t,e,\"hover\").text)}}},{\"../../plots/cartesian/axes\":742,\"../scatter/hover\":1043}],1108:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/marker_colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"../scatter/style\").style,n.styleOnSelect=t(\"../scatter/style\").styleOnSelect,n.hoverPoints=t(\"./hover\"),n.selectPoints=t(\"../scatter/select\"),n.eventData=t(\"./event_data\"),n.moduleType=\"trace\",n.name=\"scatterternary\",n.basePlotModule=t(\"../../plots/ternary\"),n.categories=[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],n.meta={},e.exports=n},{\"../../plots/ternary\":821,\"../scatter/marker_colorbar\":1050,\"../scatter/select\":1053,\"../scatter/style\":1055,\"./attributes\":1103,\"./calc\":1104,\"./defaults\":1105,\"./event_data\":1106,\"./hover\":1107,\"./plot\":1109}],1109:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\");e.exports=function(t,e,r){var i=e.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select(\"g.scatterlayer\");n(t,a,r,o)}},{\"../scatter/plot\":1052}],1110:[function(t,e,r){\"use strict\";var n=t(\"../scattergl/attributes\"),i=t(\"../../plots/cartesian/constants\").idRegex,a=t(\"../../plot_api/plot_template\").templatedArray;function o(t){return{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"subplotid\",regex:i[t],editType:\"plot\"}}}e.exports={dimensions:a(\"dimension\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},label:{valType:\"string\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},axis:{type:{valType:\"enumerated\",values:[\"linear\",\"log\",\"date\",\"category\"],editType:\"calc+clearAxisTypes\"},editType:\"calc+clearAxisTypes\"},editType:\"calc+clearAxisTypes\"}),text:n.text,marker:n.marker,xaxes:o(\"x\"),yaxes:o(\"y\"),diagonal:{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},showupperhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},showlowerhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},selected:{marker:n.selected.marker,editType:\"calc\"},unselected:{marker:n.unselected.marker,editType:\"calc\"},opacity:n.opacity}},{\"../../plot_api/plot_template\":732,\"../../plots/cartesian/constants\":747,\"../scattergl/attributes\":1081}],1111:[function(t,e,r){\"use strict\";var n=t(\"regl-line2d\"),i=t(\"../../registry\"),a=t(\"../../lib/prepare_regl\"),o=t(\"../../plots/get_data\").getModuleCalcData,s=t(\"../../plots/cartesian\"),l=t(\"../../plots/cartesian/axis_ids\").getFromId,c=t(\"../../plots/cartesian/axes\").shouldShowZeroLine,u=\"splom\";function f(t,e,r,n){for(var i=n.matrixOptions.data.length,a=r.visibleDims,o=new Array(i),s=0;s<a.length;s++){var c=a[s],u=o[s]=new Array(4),f=l(t,e._diag[c][0]);f&&(u[0]=f.r2l(f.range[0]),u[2]=f.r2l(f.range[1]));var h=l(t,e._diag[c][1]);h&&(u[1]=h.r2l(h.range[0]),u[3]=h.r2l(h.range[1]))}n.selectBatch?(n.matrix.update({ranges:o},{ranges:o}),n.matrix.draw(n.unselectBatch,n.selectBatch)):(n.matrix.update({ranges:o}),n.matrix.draw())}function h(t){var e=t._fullLayout,r=e._glcanvas.data()[0].regl,i=e._splomGrid;i||(i=e._splomGrid=n(r)),i.update(function(t){var e,r=t._fullLayout,n=r._size,i=[0,0,r.width,r.height],a={};function o(t,e,r,n,o,s){var l=e[t+\"color\"],c=e[t+\"width\"],u=String(l+c);u in a?a[u].data.push(NaN,NaN,r,n,o,s):a[u]={data:[r,n,o,s],join:\"rect\",thickness:c,color:l,viewport:i,range:i,overlay:!1}}for(e in r._splomSubplots){var s,l,u=r._plots[e],f=u.xaxis,h=u.yaxis,p=f._vals,d=h._vals,g=n.b+h.domain[0]*n.h,m=-h._m,v=-m*h.r2l(h.range[0],h.calendar);if(f.showgrid)for(e=0;e<p.length;e++)s=f._offset+f.l2p(p[e].x),o(\"grid\",f,s,g,s,g+h._length);if(h.showgrid)for(e=0;e<d.length;e++)l=g+v+m*d[e].x,o(\"grid\",h,f._offset,l,f._offset+f._length,l);c(t,f,h)&&(s=f._offset+f.l2p(0),o(\"zeroline\",f,s,g,s,g+h._length)),c(t,h,f)&&(l=g+v+0,o(\"zeroline\",h,f._offset,l,f._offset+f._length,l))}var y=[];for(e in a)y.push(a[e]);return y}(t)),i.draw()}e.exports={name:u,attr:s.attr,attrRegex:s.attrRegex,layoutAttributes:s.layoutAttributes,supplyLayoutDefaults:s.supplyLayoutDefaults,drawFramework:s.drawFramework,plot:function(t){var e=t._fullLayout,r=i.getModule(u),n=o(t.calcdata,r)[0];a(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"])&&(e._hasOnlyLargeSploms&&h(t),r.plot(t,{},n))},drag:function(t){var e=t.calcdata;t._fullLayout._hasOnlyLargeSploms&&h(t);for(var r=0;r<e.length;r++){var n=e[r][0],i=n.trace,a=n.t,o=a._scene;\"splom\"===i.type&&o&&o.matrix&&f(t,i,a,o)}},clean:function(t,e,r,n,i){var a,o,l,c=n._modules||[],u=e._modules||[];for(l=0;l<c.length;l++)if(\"splom\"===c[l].name){a=!0;break}for(l=0;l<u.length;l++)if(\"splom\"===u[l].name){o=!0;break}if(a&&!o)for(l=0;l<i.length;l++){var f=i[l][0],h=f.trace,p=f.t._scene;\"splom\"===h.type&&p&&p.matrix&&p.matrix.destroy&&(p.matrix.destroy(),f.t._scene=null)}n._splomGrid&&!e._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null),s.clean(t,e,r,n)},updateFx:function(t){s.updateFx(t);var e=t._fullLayout.dragmode;if(\"zoom\"===e||\"pan\"===e)for(var r=t.calcdata,n=0;n<r.length;n++){var i=r[n][0];if(\"splom\"===i.trace.type){var a=i.t._scene;null===a.selectBatch&&a.matrix.update(a.matrixOptions,null)}}},toSVG:s.toSVG}},{\"../../lib/prepare_regl\":707,\"../../plots/cartesian\":753,\"../../plots/cartesian/axes\":742,\"../../plots/cartesian/axis_ids\":745,\"../../plots/get_data\":778,\"../../registry\":825,\"regl-line2d\":471}],1112:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/array_container_defaults\"),a=t(\"./attributes\"),o=t(\"../scatter/subtypes\"),s=t(\"../scatter/marker_defaults\"),l=t(\"../parcoords/merge_length\"),c=/-open/;function u(t,e){function r(r,i){return n.coerce(t,e,a.dimensions,r,i)}r(\"label\");var i=r(\"values\");i&&i.length?r(\"visible\"):e.visible=!1,r(\"axis.type\")}function f(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t+(n?n+1:\"\");return r}function h(t,e,r){if(e){var n=e.charAt(0),i=t._splomAxes[n];if(!(e in i)){var a=i[e]={};r&&(a.label=r.label||\"\",r.visible&&r.axis&&(a.type=r.axis.type))}}}function p(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t,e,r,d){function g(r,i){return n.coerce(t,e,a,r,i)}var m=i(t,e,{name:\"dimensions\",handleItemDefaults:u}),v=g(\"diagonal.visible\"),y=g(\"showupperhalf\"),x=g(\"showlowerhalf\");if(l(e,m,\"values\")&&(v||y||x)){g(\"text\"),s(t,e,r,d,g);var b=c.test(e.marker.symbol),_=o.isBubble(e);g(\"marker.line.width\",b||_?1:0),function(t,e,r,n){var i,a,o=e.dimensions,s=o.length,l=e.showupperhalf,c=e.showlowerhalf,u=e.diagonal.visible,d=u||l&&c?s:s-1,g=n(\"xaxes\",f(\"x\",d)),m=n(\"yaxes\",f(\"y\",d));e._xaxes=p(g),e._yaxes=p(m);var v=Math.min(d,g.length,m.length);for(i=0;i<v;i++)for(a=0;a<v;a++){var y=g[i]+m[a];i>a&&l?r._splomSubplots[y]=1:i<a&&c?r._splomSubplots[y]=1:i!==a||!u&&c&&l||(r._splomSubplots[y]=1)}var x=e._diag=new Array(s),b=u||c?0:-1,_=u||l?0:-1;for(i=0;i<s;i++){var w=o[i],k=g[i+b],M=m[i+_];h(r,k,w),h(r,M,w),x[i]=[k,M]}c||(r._splomGridDflt.xside=\"bottom\",r._splomGridDflt.yside=\"left\")}(0,e,d,g),n.coerceSelectionMarkerOpacity(e,g)}else e.visible=!1}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"../parcoords/merge_length\":1004,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"./attributes\":1110}],1113:[function(t,e,r){\"use strict\";var n=t(\"regl-splom\"),i=t(\"array-range\"),a=t(\"../../registry\"),o=t(\"../../components/grid\"),s=t(\"../../lib\"),l=t(\"../../plots/cartesian/axis_ids\"),c=t(\"../scatter/subtypes\"),u=t(\"../scatter/calc\").calcMarkerSize,f=t(\"../scatter/calc\").calcAxisExpansion,h=t(\"../scatter/colorscale_calc\"),p=t(\"../scattergl/convert\").markerSelection,d=t(\"../scattergl/convert\").markerStyle,g=t(\"../scattergl\").calcHover,m=t(\"../../constants/numerical\").BADNUM,v=t(\"../scattergl/constants\").TOO_MANY_POINTS;function y(t,e){var r,i,a,o,s,c=t._fullLayout,u=c._size,f=e.trace,h=e.t,p=h._scene,d=p.matrixOptions,g=d.cdata,m=c._glcanvas.data()[0].regl,v=c.dragmode;if(0!==g.length){d.lower=f.showupperhalf,d.upper=f.showlowerhalf,d.diagonal=f.diagonal.visible;var y=h.visibleDims,x=g.length,b={};for(b.ranges=new Array(x),b.domains=new Array(x),s=0;s<y.length;s++){a=y[s];var _=b.ranges[s]=new Array(4),w=b.domains[s]=new Array(4);(r=l.getFromId(t,f._diag[a][0]))&&(_[0]=r._rl[0],_[2]=r._rl[1],w[0]=r.domain[0],w[2]=r.domain[1]),(i=l.getFromId(t,f._diag[a][1]))&&(_[1]=i._rl[0],_[3]=i._rl[1],w[1]=i.domain[0],w[3]=i.domain[1])}b.viewport=[u.l,u.b,u.w+u.l,u.h+u.b],!0===p.matrix&&(p.matrix=n(m));var k=c.clickmode.indexOf(\"select\")>-1,M=\"lasso\"===v||\"select\"===v||!!f.selectedpoints||k;if(p.selectBatch=null,p.unselectBatch=null,M){var A=f._length;if(p.selectBatch||(p.selectBatch=[],p.unselectBatch=[]),f.selectedpoints){p.selectBatch=f.selectedpoints;var T=f.selectedpoints,S={};for(a=0;a<T.length;a++)S[T[a]]=!0;var E=[];for(a=0;a<A;a++)S[a]||E.push(a);p.unselectBatch=E}var C=h.xpx=new Array(x),L=h.ypx=new Array(x);for(s=0;s<y.length;s++){if(a=y[s],r=l.getFromId(t,f._diag[a][0]))for(C[s]=new Array(A),o=0;o<A;o++)C[s][o]=r.c2p(g[s][o]);if(i=l.getFromId(t,f._diag[a][1]))for(L[s]=new Array(A),o=0;o<A;o++)L[s][o]=i.c2p(g[s][o])}p.selectBatch?(p.matrix.update(d,d),p.matrix.update(p.unselectedOptions,p.selectedOptions),p.matrix.update(b,b)):p.matrix.update(b,null)}else p.matrix.update(d,null),p.matrix.update(b,null),h.xpx=h.ypx=null;p.draw()}}function x(t,e,r){for(var n=r._id,i={x:0,y:1}[n.charAt(0)],a=e.visibleDims,o=0;o<a.length;o++){var s=a[o];if(t._diag[s][i]===n)return o}return!1}e.exports={moduleType:\"trace\",name:\"splom\",basePlotModule:t(\"./base_plot\"),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),calc:function(t,e){var r,n,i,a,o,c=e.dimensions,g=e._length,y={},x={},b=x.cdata=[],_=x.data=[],w=y.visibleDims=[];function k(t,r){for(var n=t.makeCalcdata({v:r.values,vcalendar:e.calendar},\"v\"),i=0;i<n.length;i++)n[i]=n[i]===m?NaN:n[i];b.push(n),_.push(\"log\"===t.type?s.simpleMap(n,t.c2l):n)}for(r=0;r<c.length;r++)if((i=c[r]).visible){if(a=l.getFromId(t,e._diag[r][0]),o=l.getFromId(t,e._diag[r][1]),a&&o&&a.type!==o.type){s.log(\"Skipping splom dimension \"+r+\" with conflicting axis types\");continue}a?(k(a,i),o&&\"category\"===o.type&&(o._categories=a._categories.slice())):k(o,i),w.push(r)}h(e),s.extendFlat(x,d(e));var M=b.length*g>v;for(n=0;n<w.length;n++){var A;i=c[r=w[n]],a=l.getFromId(t,e._diag[r][0])||{},o=l.getFromId(t,e._diag[r][1])||{},A=M?2*(x.sizeAvg||Math.max(x.size,3)):u(e,g),f(t,e,a,o,b[n],b[n],A)}var T=y._scene=function(t,e){var r=e._scene,n={dirty:!0};return r||((r=e._scene=s.extendFlat({},n,{selectBatch:null,unselectBatch:null,matrix:!1,select:null})).draw=function(){r.matrix&&r.selectBatch?r.matrix.draw(r.unselectBatch,r.selectBatch):r.matrix&&r.matrix.draw(),r.dirty=!1},r.destroy=function(){r.matrix&&r.matrix.destroy(),r.matrixOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||s.extendFlat(r,n),r}(0,y);return T.matrix||(T.matrix=!0),T.matrixOptions=x,T.selectedOptions=p(e,e.selected),T.unselectedOptions=p(e,e.unselected),[{x:!1,y:!1,t:y,trace:e}]},plot:function(t,e,r){if(r.length)for(var n=0;n<r.length;n++)y(t,r[n][0])},hoverPoints:function(t,e,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=a._scene.matrixOptions.cdata,s=t.xa,l=t.ya,c=s.c2p(e),u=l.c2p(r),f=t.distance,h=x(i,a,s),p=x(i,a,l);if(!1===h||!1===p)return[t];for(var d,m,v=o[h],y=o[p],b=f,_=0;_<v.length;_++){var w=v[_],k=y[_],M=s.c2p(w)-c,A=l.c2p(k)-u,T=Math.sqrt(M*M+A*A);T<b&&(b=m=T,d=_)}return t.index=d,t.distance=b,t.dxy=m,void 0===d?[t]:(g(t,v,y,i),[t])},selectPoints:function(t,e){var r,n=t.cd,a=n[0].trace,o=n[0].t,s=o._scene,l=s.matrixOptions.cdata,u=t.xaxis,f=t.yaxis,h=[];if(!s)return h;var p=!c.hasMarkers(a)&&!c.hasText(a);if(!0!==a.visible||p)return h;var d=x(a,o,u),g=x(a,o,f);if(!1===d||!1===g)return h;var m=o.xpx[d],v=o.ypx[g],y=l[d],b=l[g],_=null,w=null;if(!1===e||e.degenerate)w=i(o.count);else for(_=[],w=[],r=0;r<y.length;r++)e.contains([m[r],v[r]],null,r,t)?(_.push(r),h.push({pointNumber:r,x:y[r],y:b[r]})):w.push(r);if(s.selectBatch||(s.selectBatch=[],s.unselectBatch=[]),!s.selectBatch){for(r=0;r<s.count;r++)s.selectBatch=[],s.unselectBatch=[];s.matrix.update(s.unselectedOptions,s.selectedOptions)}return s.selectBatch=_,s.unselectBatch=w,h},style:function(t,e){if(e){var r=t._fullLayout;e[0][0].t._scene.matrix.regl.clear({color:!0,depth:!0}),r._splomGrid&&r._splomGrid.draw();for(var n=0;n<e.length;n++)e[n][0].t._scene.draw();if(r._has(\"cartesian\"))for(var i in r._plots){var a=r._plots[i];a._scene&&a._scene.draw()}}},meta:{}},a.register(o)},{\"../../components/grid\":613,\"../../constants/numerical\":670,\"../../lib\":693,\"../../plots/cartesian/axis_ids\":745,\"../../registry\":825,\"../scatter/calc\":1033,\"../scatter/colorscale_calc\":1036,\"../scatter/marker_colorbar\":1050,\"../scatter/subtypes\":1056,\"../scattergl\":1085,\"../scattergl/constants\":1082,\"../scattergl/convert\":1083,\"./attributes\":1110,\"./base_plot\":1111,\"./defaults\":1112,\"array-range\":54,\"regl-splom\":474}],1114:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../components/colorbar/attributes\"),a=t(\"../mesh3d/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},starts:{x:{valType:\"data_array\",editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},maxdisplayed:{valType:\"integer\",min:0,dflt:1e3,editType:\"calc\"},sizeref:{valType:\"number\",editType:\"calc\",min:0,dflt:1},text:{valType:\"string\",dflt:\"\",editType:\"calc\"}};s(l,n(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:i});[\"opacity\",\"lightposition\",\"lighting\"].forEach(function(t){l[t]=a[t]}),l.hoverinfo=s({},o.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"divergence\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),e.exports=l},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../mesh3d/attributes\":982}],1115:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){var r,i,a,o,s=e.u,l=e.v,c=e.w,u=e.x,f=e.y,h=e.z,p=Math.min(u.length,f.length,h.length,s.length,l.length,c.length),d=0;e.starts&&(i=e.starts.x||[],a=e.starts.y||[],o=e.starts.z||[],d=Math.min(i.length,a.length,o.length));var g=0,m=1/0;for(r=0;r<p;r++){var v=s[r],y=l[r],x=c[r],b=Math.sqrt(v*v+y*y+x*x);g=Math.max(g,b),m=Math.min(m,b)}n(e,[m,g],\"\",\"c\");var _=-1/0,w=1/0,k=-1/0,M=1/0,A=-1/0,T=1/0;for(r=0;r<p;r++){var S=u[r];_=Math.max(_,S),w=Math.min(w,S);var E=f[r];k=Math.max(k,E),M=Math.min(M,E);var C=h[r];A=Math.max(A,C),T=Math.min(T,C)}for(r=0;r<d;r++){var L=i[r];_=Math.max(_,L),w=Math.min(w,L);var z=a[r];k=Math.max(k,z),M=Math.min(M,z);var P=o[r];A=Math.max(A,P),T=Math.min(T,P)}e._len=p,e._slen=d,e._normMax=g,e._xbnds=[w,_],e._ybnds=[M,k],e._zbnds=[T,A]}},{\"../../components/colorscale/calc\":575}],1116:[function(t,e,r){\"use strict\";var n=t(\"gl-streamtube3d\"),i=n.createTubeMesh,a=t(\"../../lib\"),o=t(\"../../lib/gl_format_color\").parseColorScale,s=t(\"../../plots/gl3d/zip3\"),l={xaxis:0,yaxis:1,zaxis:2};function c(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var u=c.prototype;function f(t){return a.distinctVals(t).vals}function h(t){var e=t.length;return e>2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,u={};function d(t,e){var n=r[e],o=i[l[e]];return a.simpleMap(t,function(t){return n.d2l(t)*o})}u.vectors=s(d(e.u,\"xaxis\"),d(e.v,\"yaxis\"),d(e.w,\"zaxis\"),c);var g=f(e.x.slice(0,c)),m=f(e.y.slice(0,c)),v=f(e.z.slice(0,c));if(g.length*m.length*v.length>c)return{positions:[],cells:[]};var y=d(g,\"xaxis\"),x=d(m,\"yaxis\"),b=d(v,\"zaxis\");if(u.meshgrid=[y,x,b],e.starts){var _=e._slen;u.startingPositions=s(d(e.starts.x.slice(0,_),\"xaxis\"),d(e.starts.y.slice(0,_),\"yaxis\"),d(e.starts.z.slice(0,_),\"zaxis\"))}else{for(var w=x[0],k=h(y),M=h(b),A=new Array(k.length*M.length),T=0,S=0;S<k.length;S++)for(var E=0;E<M.length;E++)A[T++]=[k[S],w,M[E]];u.startingPositions=A}u.colormap=o(e.colorscale),u.tubeSize=e.sizeref,u.maxLength=e.maxdisplayed;var C=d(e._xbnds,\"xaxis\"),L=d(e._ybnds,\"yaxis\"),z=d(e._zbnds,\"zaxis\"),P=p(y),O=p(x),I=p(b),D=[[C[0]-P[0],L[0]-O[0],z[0]-I[0]],[C[1]+P[1],L[1]+O[1],z[1]+I[1]]],R=n(u,D);R.vertexIntensityBounds=[e.cmin/e._normMax,e.cmax/e._normMax];var B=e.lightposition;return R.lightPosition=[B.x,B.y,B.z],R.ambient=e.lighting.ambient,R.diffuse=e.lighting.diffuse,R.specular=e.lighting.specular,R.roughness=e.lighting.roughness,R.fresnel=e.lighting.fresnel,R.opacity=e.opacity,e._pad=R.tubeScale*e.sizeref*2,R}u.handlePick=function(t){var e=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(t,n){var i=e[n],a=r[l[n]];return i.l2c(t)/a}if(t.object===this.mesh){var i=t.data.position,a=t.data.velocity;return t.traceCoordinate=[n(i[0],\"xaxis\"),n(i[1],\"yaxis\"),n(i[2],\"zaxis\"),n(a[0],\"xaxis\"),n(a[1],\"yaxis\"),n(a[2],\"zaxis\"),t.data.intensity*this.data._normMax,t.data.divergence],t.textLabel=this.data.text,!0}},u.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),a=i(r,n),o=new c(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},{\"../../lib\":693,\"../../lib/gl_format_color\":689,\"../../plots/gl3d/zip3\":795,\"gl-streamtube3d\":299}],1117:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"u\"),c=s(\"v\"),u=s(\"w\"),f=s(\"x\"),h=s(\"y\"),p=s(\"z\");l&&l.length&&c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length&&p&&p.length?(s(\"starts.x\"),s(\"starts.y\"),s(\"starts.z\"),s(\"maxdisplayed\"),s(\"sizeref\"),s(\"lighting.ambient\"),s(\"lighting.diffuse\"),s(\"lighting.specular\"),s(\"lighting.roughness\"),s(\"lighting.fresnel\"),s(\"lightposition.x\"),s(\"lightposition.y\"),s(\"lightposition.z\"),i(t,e,o,s,{prefix:\"\",cLetter:\"c\"}),s(\"text\"),e._length=null):e.visible=!1}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"./attributes\":1114}],1118:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"streamtube\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:{min:\"cmin\",max:\"cmax\"},calc:t(\"./calc\"),plot:t(\"./convert\"),eventData:function(t,e){return t.tubex=t.x,t.tubey=t.y,t.tubez=t.z,t.tubeu=e.traceCoordinate[3],t.tubev=e.traceCoordinate[4],t.tubew=e.traceCoordinate[5],t.norm=e.traceCoordinate[6],t.divergence=e.traceCoordinate[7],delete t.x,delete t.y,delete t.z,t},meta:{}}},{\"../../plots/gl3d\":784,\"./attributes\":1114,\"./calc\":1115,\"./convert\":1116,\"./defaults\":1117}],1119:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=t(\"../../plot_api/edit_types\").overrideAll;function c(t){return{show:{valType:\"boolean\",dflt:!1},project:{x:{valType:\"boolean\",dflt:!1},y:{valType:\"boolean\",dflt:!1},z:{valType:\"boolean\",dflt:!1}},color:{valType:\"color\",dflt:n.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:n.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var u=e.exports=l(s({z:{valType:\"data_array\"},x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0},surfacecolor:{valType:\"data_array\"}},i(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{colorbar:a,contours:{x:c(),y:c(),z:c()},hidesurface:{valType:\"boolean\",dflt:!1},lightposition:{x:{valType:\"number\",min:-1e5,max:1e5,dflt:10},y:{valType:\"number\",min:-1e5,max:1e5,dflt:1e4},z:{valType:\"number\",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:\"number\",min:0,max:1,dflt:.8},diffuse:{valType:\"number\",min:0,max:1,dflt:.8},specular:{valType:\"number\",min:0,max:2,dflt:.05},roughness:{valType:\"number\",min:0,max:1,dflt:.5},fresnel:{valType:\"number\",min:0,max:5,dflt:.2}},opacity:{valType:\"number\",min:0,max:1,dflt:1},_deprecated:{zauto:s({},i.zauto,{}),zmin:s({},i.zmin,{}),zmax:s({},i.zmax,{})},hoverinfo:s({},o.hoverinfo)}),\"calc\",\"nested\");u.x.editType=u.y.editType=u.z.editType=\"calc+clearAxisTypes\"},{\"../../components/color\":567,\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/attributes\":739}],1120:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.surfacecolor?n(e,e.surfacecolor,\"\",\"c\"):n(e,e.z,\"\",\"c\")}},{\"../../components/colorscale/calc\":575}],1121:[function(t,e,r){\"use strict\";var n=t(\"gl-surface3d\"),i=t(\"ndarray\"),a=t(\"ndarray-homography\"),o=t(\"ndarray-fill\"),s=t(\"ndarray-ops\"),l=t(\"../../lib\").isArrayOrTypedArray,c=t(\"../../lib/gl_format_color\").parseColorScale,u=t(\"../../lib/str2rgbarray\"),f=128;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}var p=h.prototype;function d(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=i(new Float32Array(r[0]*r[1]),r);return s.assign(n.lo(1,1).hi(e[0],e[1]),t),s.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),s.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),s.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),s.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}p.handlePick=function(t){if(t.object===this.surface){var e=t.index=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];l(this.data.x)?l(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]]:r[0]=e[0],l(this.data.y)?l(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]]:r[1]=e[1],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return Array.isArray(i)&&i[e[1]]&&void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=i||\"\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},p.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r<3;++r)this.showContour[r]&&(e=!0,t[r]=this.scene.contourLevels[r]);e&&this.surface.update({levels:t})},p.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,s=this.surface,h=t.opacity,p=c(t.colorscale,h),g=t.z,m=t.x,v=t.y,y=n.xaxis,x=n.yaxis,b=n.zaxis,_=r.dataScale,w=g[0].length,k=t._ylength,M=[i(new Float32Array(w*k),[w,k]),i(new Float32Array(w*k),[w,k]),i(new Float32Array(w*k),[w,k])],A=M[0],T=M[1],S=r.contourLevels;this.data=t;var E=t.xcalendar,C=t.ycalendar,L=t.zcalendar;o(M[2],function(t,e){return b.d2l(g[e][t],0,L)*_[2]}),l(m)?l(m[0])?o(A,function(t,e){return y.d2l(m[e][t],0,E)*_[0]}):o(A,function(t){return y.d2l(m[t],0,E)*_[0]}):o(A,function(t){return y.d2l(t,0,E)*_[0]}),l(m)?l(v[0])?o(T,function(t,e){return x.d2l(v[e][t],0,C)*_[1]}):o(T,function(t,e){return x.d2l(v[e],0,C)*_[1]}):o(T,function(t,e){return x.d2l(e,0,E)*_[1]});var z={colormap:p,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!t.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacity:t.opacity};if(z.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var P=i(new Float32Array(w*k),[w,k]);o(P,function(e,r){return t.surfacecolor[r][e]}),M.push(P)}else z.intensityBounds[0]*=_[2],z.intensityBounds[1]*=_[2];this.dataScale=function(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e<f){for(var r=f/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],o=n[0]*n[1],s=0;s<t.length;++s){var l=d(t[s]),c=i(new Float32Array(o),n);a(c,l,[r,0,0,0,r,0,0,0,1]),t[s]=c}return r}return 1}(M),t.surfacecolor&&(z.intensity=M.pop());var O=[!0,!0,!0],I=[\"x\",\"y\",\"z\"];for(e=0;e<3;++e){var D=t.contours[I[e]];O[e]=D.highlight,z.showContour[e]=D.show||D.highlight,z.showContour[e]&&(z.contourProject[e]=[D.project.x,D.project.y,D.project.z],D.show?(this.showContour[e]=!0,z.levels[e]=S[e],s.highlightColor[e]=z.contourColor[e]=u(D.color),D.usecolormap?s.highlightTint[e]=z.contourTint[e]=0:s.highlightTint[e]=z.contourTint[e]=1,z.contourWidth[e]=D.width):this.showContour[e]=!1,D.highlight&&(z.dynamicColor[e]=u(D.highlightcolor),z.dynamicWidth[e]=D.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]})(p)&&(z.vertexColor=!0),z.coords=M,s.update(z),s.visible=t.visible,s.enableDynamic=O,s.enableHighlight=O,s.snapToData=!0,\"lighting\"in t&&(s.ambientLight=t.lighting.ambient,s.diffuseLight=t.lighting.diffuse,s.specularLight=t.lighting.specular,s.roughness=t.lighting.roughness,s.fresnel=t.lighting.fresnel),\"lightposition\"in t&&(s.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),h&&h<1&&(s.supportsTransparency=!0)},p.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new h(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{\"../../lib\":693,\"../../lib/gl_format_color\":689,\"../../lib/str2rgbarray\":717,\"gl-surface3d\":301,ndarray:430,\"ndarray-fill\":420,\"ndarray-homography\":422,\"ndarray-ops\":424}],1122:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./attributes\");function s(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}e.exports=function(t,e,r,l){var c,u;function f(r,n){return i.coerce(t,e,o,r,n)}var h=f(\"z\");if(h){var p=f(\"x\");f(\"y\"),e._xlength=Array.isArray(p)&&i.isArrayOrTypedArray(p[0])?h.length:h[0].length,e._ylength=h.length,n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],l),f(\"text\"),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"opacity\"].forEach(function(t){f(t)});var d=f(\"surfacecolor\");f(\"colorscale\");var g=[\"x\",\"y\",\"z\"];for(c=0;c<3;++c){var m=\"contours.\"+g[c],v=f(m+\".show\"),y=f(m+\".highlight\");if(v||y)for(u=0;u<3;++u)f(m+\".project.\"+g[u]);v&&(f(m+\".color\"),f(m+\".width\"),f(m+\".usecolormap\")),y&&(f(m+\".highlightcolor\"),f(m+\".highlightwidth\"))}d||(s(t,\"zmin\",\"cmin\"),s(t,\"zmax\",\"cmax\"),s(t,\"zauto\",\"cauto\")),a(t,e,l,f,{prefix:\"\",cLetter:\"c\"}),e._length=null}else e.visible=!1}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"../../registry\":825,\"./attributes\":1119}],1123:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar={min:\"cmin\",max:\"cmax\"},n.calc=t(\"./calc\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"surface\",n.basePlotModule=t(\"../../plots/gl3d\"),n.categories=[\"gl3d\",\"2dMap\",\"noOpacity\"],n.meta={},e.exports=n},{\"../../plots/gl3d\":784,\"./attributes\":1119,\"./calc\":1120,\"./convert\":1121,\"./defaults\":1122}],1124:[function(t,e,r){\"use strict\";var n=t(\"../../components/annotations/attributes\"),i=t(\"../../lib/extend\").extendFlat,a=t(\"../../plot_api/edit_types\").overrideAll,o=t(\"../../plots/font_attributes\"),s=t(\"../../plots/domain\").attributes;e.exports=a({domain:s({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[]},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:i({},o({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[]},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:i({},o({arrayOk:!0}))}},\"calc\",\"from-root\")},{\"../../components/annotations/attributes\":550,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/domain\":767,\"../../plots/font_attributes\":768}],1125:[function(t,e,r){\"use strict\";var n=t(\"../../plots/get_data\").getModuleCalcData,i=t(\"./plot\");r.name=\"table\",r.plot=function(t){var e=n(t.calcdata,\"table\")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"table\"),a=e._has&&e._has(\"table\");i&&!a&&n._paperdiv.selectAll(\".table\").remove()}},{\"../../plots/get_data\":778,\"./plot\":1132}],1126:[function(t,e,r){\"use strict\";var n=t(\"../../lib/gup\").wrap;e.exports=function(){return n({})}},{\"../../lib/gup\":690}],1127:[function(t,e,r){\"use strict\";e.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"<br>\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}},{}],1128:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../lib/extend\").extendFlat,a=t(\"fast-isnumeric\");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,o(t[r]));return e}return t}function s(t,e){return t+e}function l(t){var e,r=t.slice(),n=1/0,i=0;for(e=0;e<r.length;e++)Array.isArray(r[e])||(r[e]=[r[e]]),n=Math.min(n,r[e].length),i=Math.max(i,r[e].length);if(n!==i)for(e=0;e<r.length;e++){var a=i-r[e].length;a&&(r[e]=r[e].concat(c(a)))}return r}function c(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=\"\";return e}function u(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e},0)}function f(t,e){return Object.keys(t).map(function(r){return i({},t[r],{auxiliaryBlocks:e})})}function h(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c<t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((a+=r)>=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[\"\"],d=l(d));var g=d.concat(p(r).map(function(){return c((d[0]||[\"\"]).length)})),m=e.domain,v=Math.floor(t._fullLayout._size.w*(m.x[1]-m.x[0])),y=Math.floor(t._fullLayout._size.h*(m.y[1]-m.y[0])),x=e.header.values.length?g[0].map(function(){return e.header.height}):[n.emptyHeaderHeight],b=r.length?r[0].map(function(){return e.cells.height}):[],_=x.reduce(s,0),w=h(b,y-_+n.uplift),k=f(h(x,_),[]),M=f(w,k),A={},T=e._fullInput.columnorder.concat(p(r.map(function(t,e){return e}))),S=g.map(function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1}),E=S.reduce(s,0);S=S.map(function(t){return t/E*v});var C=Math.max(o(e.header.line.width),o(e.cells.line.width)),L={key:e.index,translateX:m.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-m.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:C,height:y,columnOrder:T,groupHeight:y,rowBlocks:M,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map(function(t){return t[0]}),gdColumnsOriginalOrder:g.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map(function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+\"__\"+A[t],label:t,specIndex:e,xIndex:T[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}})};return L.columns.forEach(function(t){t.calcdata=L,t.x=u(t)}),L}},{\"../../lib/extend\":682,\"./constants\":1127,\"fast-isnumeric\":213}],1129:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:\"header\",type:\"header\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:\"cells1\",type:\"cells\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:\"cells2\",type:\"cells\",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+(\"string\"==typeof r&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\"),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})}},{\"../../lib/extend\":682}],1130:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../plots/domain\").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s(\"columnwidth\"),s(\"header.values\"),s(\"header.format\"),s(\"header.align\"),s(\"header.prefix\"),s(\"header.suffix\"),s(\"header.height\"),s(\"header.line.width\"),s(\"header.line.color\"),s(\"header.fill.color\"),n.coerceFont(s,\"header.font\",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(t,e){return t-e}),o=i.map(function(t){return a.indexOf(t)}),s=o.length;s<n;s++)o.push(s);e(\"columnorder\",o)}(e,s),s(\"cells.values\"),s(\"cells.format\"),s(\"cells.align\"),s(\"cells.prefix\"),s(\"cells.suffix\"),s(\"cells.height\"),s(\"cells.line.width\"),s(\"cells.line.color\"),s(\"cells.fill.color\"),n.coerceFont(s,\"cells.font\",n.extendFlat({},o.font)),e._length=null}},{\"../../lib\":693,\"../../plots/domain\":767,\"./attributes\":1124}],1131:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.moduleType=\"trace\",n.name=\"table\",n.basePlotModule=t(\"./base_plot\"),n.categories=[\"noOpacity\"],n.meta={},e.exports=n},{\"./attributes\":1124,\"./base_plot\":1125,\"./calc\":1126,\"./defaults\":1130,\"./plot\":1132}],1132:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"d3\"),a=t(\"../../lib/gup\"),o=t(\"../../components/drawing\"),s=t(\"../../lib/svg_text_utils\"),l=t(\"../../lib\").raiseToTop,c=t(\"../../lib\").cancelTransition,u=t(\"./data_preparation_helper\"),f=t(\"./data_split_helpers\"),h=t(\"../../components/color\");function p(t){return Math.ceil(t.calcdata.maxLineWidth/2)}function d(t,e){return\"clip\"+t._fullLayout._uid+\"_scrollAreaBottomClip_\"+e.key}function g(t,e){return\"clip\"+t._fullLayout._uid+\"_columnBoundaryClippath_\"+e.calcdata.key+\"_\"+e.specIndex}function m(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function v(t,e,r){var o=t.selectAll(\".\"+n.cn.scrollbarKit).data(a.repeat,a.keyFun);o.enter().append(\"g\").classed(n.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),o.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return O(e,e.length-1)+(e.length?I(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-A(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,n.goldenRatio*n.scrollbarWidth),e.barWiggleRoom=e.currentlyVisibleHeight-e.barLength,e.wiggleRoom=Math.max(0,e.totalHeight-e.scrollableAreaHeight),e.topY=0===e.barWiggleRoom?0:t.scrollY/e.wiggleRoom*e.barWiggleRoom,e.bottomY=e.topY+e.barLength,e.dragMultiplier=e.wiggleRoom/e.barWiggleRoom}).attr(\"transform\",function(t){return\"translate(\"+(t.width+n.scrollbarWidth/2+n.scrollbarOffset)+\" \"+A(t)+\")\"});var s=o.selectAll(\".\"+n.cn.scrollbar).data(a.repeat,a.keyFun);s.enter().append(\"g\").classed(n.cn.scrollbar,!0);var l=s.selectAll(\".\"+n.cn.scrollbarSlider).data(a.repeat,a.keyFun);l.enter().append(\"g\").classed(n.cn.scrollbarSlider,!0),l.attr(\"transform\",function(t){return\"translate(0 \"+(t.scrollbarState.topY||0)+\")\"});var c=l.selectAll(\".\"+n.cn.scrollbarGlyph).data(a.repeat,a.keyFun);c.enter().append(\"line\").classed(n.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",n.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",n.scrollbarWidth/2),c.attr(\"y2\",function(t){return t.scrollbarState.barLength-n.scrollbarWidth/2}).attr(\"stroke-opacity\",function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4}),c.transition().delay(0).duration(0),c.transition().delay(n.scrollbarHideDelay).duration(n.scrollbarHideDuration).attr(\"stroke-opacity\",0);var u=s.selectAll(\".\"+n.cn.scrollbarCaptureZone).data(a.repeat,a.keyFun);u.enter().append(\"line\").classed(n.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",n.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",function(r){var n=i.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=n-a.top,l=i.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||S(e,t,null,l(s-o.barLength/2))(r)}).call(i.behavior.drag().origin(function(t){return i.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on(\"drag\",S(e,t)).on(\"dragend\",function(){})),u.attr(\"y2\",function(t){return t.scrollbarState.scrollableAreaHeight})}function y(t,e,r,s){var l=function(t){var e=t.selectAll(\".\"+n.cn.columnCell).data(f.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append(\"g\").classed(n.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll(\".\"+n.cn.columnCells).data(a.repeat,a.keyFun);return e.enter().append(\"g\").classed(n.cn.columnCells,!0),e.exit().remove(),e}(r));!function(t){t.each(function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,i={size:_(r.size,n,e),color:_(r.color,n,e),family:_(r.family,n,e)};t.rowNumber=t.key,t.align=_(t.calcdata.cells.align,n,e),t.cellBorderWidth=_(t.calcdata.cells.line.width,n,e),t.font=i})}(l),function(t){t.attr(\"width\",function(t){return t.column.columnWidth}).attr(\"stroke-width\",function(t){return t.cellBorderWidth}).each(function(t){var e=i.select(this);h.stroke(e,_(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),h.fill(e,_(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll(\".\"+n.cn.cellRect).data(a.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\"rect\").classed(n.cn.cellRect,!0),e}(l));var c=function(t){var e=t.selectAll(\".\"+n.cn.cellText).data(a.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\"text\").classed(n.cn.cellText,!0).style(\"cursor\",function(){return\"auto\"}).on(\"mousedown\",function(){i.event.stopPropagation()}),e}(function(t){var e=t.selectAll(\".\"+n.cn.cellTextHolder).data(a.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\"g\").classed(n.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),e}(l));!function(t){t.each(function(t){o.font(i.select(this),t.font)})}(c),x(c,e,s,t),P(l)}function x(t,e,r,a){t.text(function(t){var e=t.column.specIndex,r=t.rowNumber,a=t.value,o=\"string\"==typeof a,s=o&&a.match(/<br>/i),l=!o||s;t.mayHaveMarkup=o&&a.match(/[<&>]/);var c,u=\"string\"==typeof(c=a)&&c.match(n.latexCheck);t.latex=u;var f,h,p=u?\"\":_(t.calcdata.cells.prefix,e,r)||\"\",d=u?\"\":_(t.calcdata.cells.suffix,e,r)||\"\",g=u?null:_(t.calcdata.cells.format,e,r)||null,m=p+(g?i.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(f=b(m)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===f?b(m):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(\" \"===n.wrapSplitCharacter?m.replace(/<a href=/gi,\"<a_href=\"):m).split(n.wrapSplitCharacter),y=\" \"===n.wrapSplitCharacter?v.map(function(t){return t.replace(/<a_href=/gi,\"<a href=\")}):v;t.fragments=y.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:n.wrapSpacer,width:null}),h=y.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete t.fragments,h=m;return h}).attr(\"dy\",function(t){return t.needsConvertToTspans?0:\"0.75em\"}).each(function(t){var o=i.select(this),l=t.wrappingNeeded?C:L;t.needsConvertToTspans?s.convertToTspans(o,a,l(r,this,e,a,t)):i.select(this.parentNode).attr(\"transform\",function(t){return\"translate(\"+z(t)+\" \"+n.cellPad+\")\"}).attr(\"text-anchor\",function(t){return{left:\"start\",center:\"middle\",right:\"end\"}[t.align]})})}function b(t){return-1!==t.indexOf(n.wrapSplitCharacter)}function _(t,e,r){if(Array.isArray(t)){var n=t[Math.min(e,t.length-1)];return Array.isArray(n)?n[Math.min(r,n.length-1)]:n}return t}function w(t,e,r){t.transition().ease(n.releaseTransitionEase).duration(n.releaseTransitionDuration).attr(\"transform\",\"translate(\"+e.x+\" \"+r+\")\")}function k(t){return\"cells\"===t.type}function M(t){return\"header\"===t.type}function A(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+I(e,1/0)},0)}function T(t,e,r){var n=m(e)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=O(i,i.length),s=n.calcdata.groupHeight-A(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),c=function(t,e,r){for(var n=[],i=0,a=0;a<t.length;a++){for(var o=t[a],s=o.rows,l=0,c=0;c<s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l,e<i+l&&e+r>i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each(function(t,e){t.page=c[e],t.scrollY=l}),e.attr(\"transform\",function(t){return\"translate(0 \"+(O(t.rowBlocks,t.page)-t.scrollY)+\")\"}),t&&(E(t,r,e,c,n.prevPages,n,0),E(t,r,e,c,n.prevPages,n,1),v(r,t))}}function S(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter(function(t){return s.key===t.key}),c=r||s.scrollbarState.dragMultiplier;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var u=l.selectAll(\".\"+n.cn.yColumn).selectAll(\".\"+n.cn.columnBlock).filter(k);T(t,u,l)}}function E(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&&n[e]!==i[e]});y(t,e,a,r),i[o]=n[o]}))}function C(t,e,r){return function(){var a=i.select(e.parentNode);a.each(function(t){var e=t.fragments;a.selectAll(\"tspan.line\").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,i,o=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value=\"\";s.length;)c+(i=(r=s.shift()).width+o)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0}),a.selectAll(\"tspan.line\").remove(),x(a.select(\".\"+n.cn.cellText),r,t),i.select(e.parentNode.parentNode).call(P)}}function L(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,f=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,h=Math.max(f,u);h-l.rows[c].rowHeight&&(l.rows[c].rowHeight=h,t.selectAll(\".\"+n.cn.columnCell).call(P),T(null,t.filter(k),0),v(r,a,!0)),s.attr(\"transform\",function(){var t=this.parentNode.getBoundingClientRect(),e=i.select(this.parentNode).select(\".\"+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),a=e.top-t.top+(r?r.matrix.f:n.cellPad);return\"translate(\"+z(o,i.select(this.parentNode).select(\".\"+n.cn.cellTextHolder).node().getBoundingClientRect().width)+\" \"+a+\")\"}),o.settledY=!0}}}function z(t,e){switch(t.align){case\"left\":return n.cellPad;case\"right\":return t.column.columnWidth-(e||0)-n.cellPad;case\"center\":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function P(t){t.attr(\"transform\",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+I(e,1/0)},0);return\"translate(0 \"+(I(R(t),t.key)+e)+\")\"}).selectAll(\".\"+n.cn.cellRect).attr(\"height\",function(t){return(e=R(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r})}function O(t,e){for(var r=0,n=e-1;n>=0;n--)r+=D(t[n]);return r}function I(t,e){for(var r=0,n=0;n<t.rows.length&&t.rows[n].rowIndex<e;n++)r+=t.rows[n].rowHeight;return r}function D(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n<t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}function R(t){return t.rowBlocks[t.page]}e.exports=function(t,e){var r=t._fullLayout._paper.selectAll(\".\"+n.cn.table).data(e.map(function(e){var r=a.unwrap(e).trace;return u(t,r)}),a.keyFun);r.exit().remove(),r.enter().append(\"g\").classed(n.cn.table,!0).attr(\"overflow\",\"visible\").style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"all\"),r.attr(\"width\",function(t){return t.width+t.size.l+t.size.r}).attr(\"height\",function(t){return t.height+t.size.t+t.size.b}).attr(\"transform\",function(t){return\"translate(\"+t.translateX+\",\"+t.translateY+\")\"});var s=r.selectAll(\".\"+n.cn.tableControlView).data(a.repeat,a.keyFun);s.enter().append(\"g\").classed(n.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\").on(\"mousemove\",function(e){s.filter(function(t){return e===t}).call(v,t)}).on(\"mousewheel\",function(e){e.scrollbarState.wheeling||(e.scrollbarState.wheeling=!0,i.event.stopPropagation(),i.event.preventDefault(),S(t,s,null,e.scrollY+i.event.deltaY)(e),e.scrollbarState.wheeling=!1)}).call(v,t,!0),s.attr(\"transform\",function(t){return\"translate(\"+t.size.l+\" \"+t.size.t+\")\"});var h=s.selectAll(\".\"+n.cn.scrollBackground).data(a.repeat,a.keyFun);h.enter().append(\"rect\").classed(n.cn.scrollBackground,!0).attr(\"fill\",\"none\"),h.attr(\"width\",function(t){return t.width}).attr(\"height\",function(t){return t.height}),s.each(function(e){o.setClipUrl(i.select(this),d(t,e))});var x=s.selectAll(\".\"+n.cn.yColumn).data(function(t){return t.columns},a.keyFun);x.enter().append(\"g\").classed(n.cn.yColumn,!0),x.exit().remove(),x.attr(\"transform\",function(t){return\"translate(\"+t.x+\" 0)\"}).call(i.behavior.drag().origin(function(e){return w(i.select(this),e,-n.uplift),l(this),e.calcdata.columnDragInProgress=!0,v(s.filter(function(t){return e.calcdata.key===t.key}),t),e}).on(\"drag\",function(t){var e=i.select(this),r=function(e){return(t===e?i.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-n.overdrag,Math.min(t.calcdata.width+n.overdrag-t.columnWidth,i.event.x)),m(x).filter(function(e){return e.calcdata.key===t.calcdata.key}).sort(function(t,e){return r(t)-r(e)}).forEach(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e)}),x.filter(function(e){return t!==e}).transition().ease(n.transitionEase).duration(n.transitionDuration).attr(\"transform\",function(t){return\"translate(\"+t.x+\" 0)\"}),e.call(c).attr(\"transform\",\"translate(\"+t.x+\" -\"+n.uplift+\" )\")}).on(\"dragend\",function(e){var r=i.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,w(r,e,0),function(t,e,r){var n=e.gdColumnsOriginalOrder;e.gdColumns.sort(function(t,e){return r[n.indexOf(t)]-r[n.indexOf(e)]}),e.columnorder=r,t.emit(\"plotly_restyle\")}(t,n,n.columns.map(function(t){return t.xIndex}))})),x.each(function(e){o.setClipUrl(i.select(this),g(t,e))});var b=x.selectAll(\".\"+n.cn.columnBlock).data(f.splitToPanels,a.keyFun);b.enter().append(\"g\").classed(n.cn.columnBlock,!0).attr(\"id\",function(t){return t.key}),b.style(\"cursor\",function(t){return t.dragHandle?\"ew-resize\":t.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"});var _=b.filter(M),A=b.filter(k);A.call(i.behavior.drag().origin(function(t){return i.event.stopPropagation(),t}).on(\"drag\",S(t,s,-1)).on(\"dragend\",function(){})),y(t,s,_,b),y(t,s,A,b);var E=s.selectAll(\".\"+n.cn.scrollAreaClip).data(a.repeat,a.keyFun);E.enter().append(\"clipPath\").classed(n.cn.scrollAreaClip,!0).attr(\"id\",function(e){return d(t,e)});var C=E.selectAll(\".\"+n.cn.scrollAreaClipRect).data(a.repeat,a.keyFun);C.enter().append(\"rect\").classed(n.cn.scrollAreaClipRect,!0).attr(\"x\",-n.overdrag).attr(\"y\",-n.uplift).attr(\"fill\",\"none\"),C.attr(\"width\",function(t){return t.width+2*n.overdrag}).attr(\"height\",function(t){return t.height+n.uplift}),x.selectAll(\".\"+n.cn.columnBoundary).data(a.repeat,a.keyFun).enter().append(\"g\").classed(n.cn.columnBoundary,!0);var L=x.selectAll(\".\"+n.cn.columnBoundaryClippath).data(a.repeat,a.keyFun);L.enter().append(\"clipPath\").classed(n.cn.columnBoundaryClippath,!0),L.attr(\"id\",function(e){return g(t,e)});var z=L.selectAll(\".\"+n.cn.columnBoundaryRect).data(a.repeat,a.keyFun);z.enter().append(\"rect\").classed(n.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),z.attr(\"width\",function(t){return t.columnWidth+2*p(t)}).attr(\"height\",function(t){return t.calcdata.height+2*p(t)+n.uplift}).attr(\"x\",function(t){return-p(t)}).attr(\"y\",function(t){return-p(t)}),T(null,A,s)}},{\"../../components/color\":567,\"../../components/drawing\":592,\"../../lib\":693,\"../../lib/gup\":690,\"../../lib/svg_text_utils\":718,\"./constants\":1127,\"./data_preparation_helper\":1128,\"./data_split_helpers\":1129,d3:147}],1133:[function(t,e,r){\"use strict\";var n=t(\"../box/attributes\"),i=t(\"../../lib/extend\").extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:n.name,orientation:i({},n.orientation,{}),bandwidth:{valType:\"number\",min:0,editType:\"calc\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},scalemode:{valType:\"enumerated\",values:[\"width\",\"count\"],dflt:\"width\",editType:\"calc\"},spanmode:{valType:\"enumerated\",values:[\"soft\",\"hard\",\"manual\"],dflt:\"soft\",editType:\"calc\"},span:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:n.fillcolor,points:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),marker:n.marker,text:n.text,box:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},width:{valType:\"number\",min:0,max:1,dflt:.25,editType:\"plot\"},fillcolor:{valType:\"color\",editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},editType:\"plot\"},meanline:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"plot\"},side:{valType:\"enumerated\",values:[\"both\",\"positive\",\"negative\"],dflt:\"both\",editType:\"plot\"},selected:n.selected,unselected:n.unselected,hoveron:{valType:\"flaglist\",flags:[\"violins\",\"points\",\"kde\"],dflt:\"violins+points+kde\",extras:[\"all\"],editType:\"style\"}}},{\"../../lib/extend\":682,\"../box/attributes\":856}],1134:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../box/calc\"),o=t(\"./helpers\"),s=t(\"../../constants/numerical\").BADNUM;function l(t,e,r){var i=e.max-e.min;if(!i)return 1;if(t.bandwidth)return Math.max(t.bandwidth,i/1e4);var a=r.length,o=n.stdev(r,a-1,e.mean);return Math.max(function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t,-.2)}(a,o,e.q3-e.q1),i/100)}function c(t,e,r,n){var a,o=t.spanmode,l=t.span||[],c=[e.min,e.max],u=[e.min-2*n,e.max+2*n];function f(n){var i=l[n],a=r.d2c(i,0,t[e.valLetter+\"calendar\"]);return a===s?u[n]:a}var h={type:\"linear\",range:a=\"soft\"===o?u:\"hard\"===o?c:[f(0),f(1)]};return i.setConvert(h),h.cleanRange(),a}e.exports=function(t,e){var r=a(t,e);if(r[0].t.empty)return r;var s=t._fullLayout,u=i.getFromId(t,e[\"h\"===e.orientation?\"xaxis\":\"yaxis\"]),f=s._violinScaleGroupStats,h=e.scalegroup,p=f[h];p||(p=f[h]={maxWidth:0,maxCount:0});for(var d=1/0,g=-1/0,m=0;m<r.length;m++){var v=r[m],y=v.pts.map(o.extractVal),x=v.bandwidth=l(e,v,y),b=v.span=c(e,v,u,x),_=b[1]-b[0],w=Math.ceil(_/(x/3)),k=_/w;if(!isFinite(k)||!isFinite(w))return n.error(\"Something went wrong with computing the violin span\"),r[0].t.empty=!0,r;var M=o.makeKDE(v,e,y);v.density=new Array(w);for(var A=0,T=b[0];T<b[1]+k/2;A++,T+=k){var S=M(T);p.maxWidth=Math.max(p.maxWidth,S),v.density[A]={v:S,t:T}}p.maxCount=Math.max(p.maxCount,y.length),d=Math.min(d,b[0]),g=Math.max(g,b[1])}var E=i.findExtremes(u,[d,g],{padded:!0});return e._extremes[u._id]=E,r[0].t.labels.kde=n._(t,\"kde:\"),r}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../box/calc\":857,\"./helpers\":1137}],1135:[function(t,e,r){\"use strict\";var n=t(\"../box/cross_trace_calc\").setPositionOffset,i=[\"v\",\"h\"];e.exports=function(t,e){for(var r=t.calcdata,a=e.xaxis,o=e.yaxis,s=0;s<i.length;s++){for(var l=i[s],c=\"h\"===l?o:a,u=[],f=0,h=0,p=0;p<r.length;p++){var d=r[p],g=d[0].t,m=d[0].trace;!0!==m.visible||\"violin\"!==m.type||g.empty||m.orientation!==l||m.xaxis!==a._id||m.yaxis!==o._id||(u.push(p),!1!==m.points&&(f=Math.max(f,m.jitter-m.pointpos-1),h=Math.max(h,m.jitter+m.pointpos-1)))}n(\"violin\",t,u,c,[f,h])}}},{\"../box/cross_trace_calc\":858}],1136:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../box/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}function c(r,i){return n.coerce2(t,e,o,r,i)}if(a.handleSampleDefaults(t,e,l,s),!1!==e.visible){l(\"bandwidth\"),l(\"scalegroup\",e.name),l(\"scalemode\"),l(\"side\");var u,f=l(\"span\");Array.isArray(f)&&(u=\"manual\"),l(\"spanmode\",u);var h=l(\"line.color\",(t.marker||{}).color||r),p=l(\"line.width\"),d=l(\"fillcolor\",i.addOpacity(e.line.color,.5));a.handlePointsDefaults(t,e,l,{prefix:\"\"});var g=c(\"box.width\"),m=c(\"box.fillcolor\",d),v=c(\"box.line.color\",h),y=c(\"box.line.width\",p);l(\"box.visible\",Boolean(g||m||v||y))||(e.box={visible:!1});var x=c(\"meanline.color\",h),b=c(\"meanline.width\",p);l(\"meanline.visible\",Boolean(x||b))||(e.meanline={visible:!1})}}},{\"../../components/color\":567,\"../../lib\":693,\"../box/defaults\":859,\"./attributes\":1133}],1137:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};r.makeKDE=function(t,e,r){var n=r.length,a=i,o=t.bandwidth,s=1/(n*o);return function(t){for(var e=0,i=0;i<n;i++)e+=a((t-r[i])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var i,a;\"h\"===e.orientation?(i=\"y\",a=\"x\"):(i=\"x\",a=\"y\");var o=n.findPointOnPath(t.path,r,a,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[i];return[l,\"both\"===e.side?2*s-l:s]},r.getKdeValue=function(t,e,n){var i=t.pts.map(r.extractVal);return r.makeKDE(t,e,i)(n)/t.posDensityScale},r.extractVal=function(t){return t.v}},{\"../../lib\":693}],1138:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../box/hover\"),o=t(\"./helpers\");e.exports=function(t,e,r,s,l){var c,u,f=t.cd,h=f[0].trace,p=h.hoveron,d=-1!==p.indexOf(\"violins\"),g=-1!==p.indexOf(\"kde\"),m=[];if(d||g){var v=a.hoverOnBoxes(t,e,r,s);if(d&&(m=m.concat(v)),g&&v.length>0){var y,x,b,_,w,k=t.xa,M=t.ya;\"h\"===h.orientation?(w=e,y=\"y\",b=M,x=\"x\",_=k):(w=r,y=\"x\",b=k,x=\"y\",_=M);var A=f[t.index];if(w>=A.span[0]&&w<=A.span[1]){var T=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(A,h,w),C=o.getPositionOnKdePath(A,h,S),L=b._offset,z=b._length;T[y+\"0\"]=C[0],T[y+\"1\"]=C[1],T[x+\"0\"]=T[x+\"1\"]=S,T[x+\"Label\"]=x+\": \"+i.hoverLabelText(_,w)+\", \"+f[0].t.labels.kde+\" \"+E.toFixed(3),T.spikeDistance=v[0].spikeDistance;var P=y+\"Spike\";T[P]=v[0][P],v[0].spikeDistance=void 0,v[0][P]=void 0,m.push(T),(u={stroke:t.color})[y+\"1\"]=n.constrain(L+C[0],L,L+z),u[y+\"2\"]=n.constrain(L+C[1],L,L+z),u[x+\"1\"]=u[x+\"2\"]=_._offset+S}}}-1!==p.indexOf(\"points\")&&(c=a.hoverOnPoints(t,e,r));var O=l.selectAll(\".violinline-\"+h.uid).data(u?[0]:[]);return O.enter().append(\"line\").classed(\"violinline-\"+h.uid,!0).attr(\"stroke-width\",1.5),O.exit().remove(),O.attr(u),\"closest\"===s?c?[c]:m:c?(m.push(c),m):m}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../box/hover\":861,\"./helpers\":1137}],1139:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\"),plot:t(\"./plot\"),style:t(\"./style\"),styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../box/select\"),moduleType:\"trace\",name:\"violin\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"violinLayout\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":753,\"../box/select\":866,\"../scatter/style\":1055,\"./attributes\":1133,\"./calc\":1134,\"./cross_trace_calc\":1135,\"./defaults\":1136,\"./hover\":1138,\"./layout_attributes\":1140,\"./layout_defaults\":1141,\"./plot\":1142,\"./style\":1143}],1140:[function(t,e,r){\"use strict\";var n=t(\"../box/layout_attributes\"),i=t(\"../../lib\").extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{\"../../lib\":693,\"../box/layout_attributes\":863}],1141:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\"),a=t(\"../box/layout_defaults\");e.exports=function(t,e,r){a._supply(t,e,r,function(r,a){return n.coerce(t,e,i,r,a)},\"violin\")}},{\"../../lib\":693,\"../box/layout_defaults\":864,\"./layout_attributes\":1140}],1142:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../box/plot\"),s=t(\"../scatter/line_points\"),l=t(\"./helpers\");e.exports=function(t,e,r,c){var u=t._fullLayout,f=e.xaxis,h=e.yaxis;function p(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0});return a.smoothopen(e[0],1)}i.makeTraceGroups(c,r,\"trace violins\").each(function(t){var r=n.select(this),a=t[0],s=a.t,c=a.trace;e.isRangePlot||(a.node3=r);var d=u._numViolins,g=\"group\"===u.violinmode&&d>1,m=1-u.violingap,v=s.bdPos=s.dPos*m*(1-u.violingroupgap)/(g?d:1),y=s.bPos=g?2*s.dPos*((s.num+.5)/d-.5)*m:0;if(s.wHover=s.dPos*(g?m/d:1),!0!==c.visible||s.empty)r.remove();else{var x=e[s.valLetter+\"axis\"],b=e[s.posLetter+\"axis\"],_=\"both\"===c.side,w=_||\"positive\"===c.side,k=_||\"negative\"===c.side,M=u._violinScaleGroupStats[c.scalegroup],A=r.selectAll(\"path.violin\").data(i.identity);A.enter().append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"class\",\"violin\"),A.exit().remove(),A.each(function(t){var e,r,i,a,o,l,u,f,h=n.select(this),d=t.density,g=d.length,m=t.pos+y,A=b.c2p(m);switch(c.scalemode){case\"width\":e=M.maxWidth/v;break;case\"count\":e=M.maxWidth/v*(M.maxCount/t.pts.length)}if(w){for(u=new Array(g),o=0;o<g;o++)(f=u[o]={})[s.posLetter]=m+d[o].v/e,f[s.valLetter]=d[o].t;r=p(u)}if(k){for(u=new Array(g),l=0,o=g-1;l<g;l++,o--)(f=u[l]={})[s.posLetter]=m-d[o].v/e,f[s.valLetter]=d[o].t;i=p(u)}if(_)a=r+\"L\"+i.substr(1)+\"Z\";else{var T=[A,x.c2p(d[0].t)],S=[A,x.c2p(d[g-1].t)];\"h\"===c.orientation&&(T.reverse(),S.reverse()),a=w?\"M\"+T+\"L\"+r.substr(1)+\"L\"+S:\"M\"+S+\"L\"+i.substr(1)+\"L\"+T}h.attr(\"d\",a),t.posCenterPx=A,t.posDensityScale=e*v,t.path=h.node(),t.pathLength=t.path.getTotalLength()/(_?2:1)});var T,S,E,C=c.box,L=C.width,z=(C.line||{}).width;_?(T=v*L,S=0):w?(T=[0,v*L/2],S=-z):(T=[v*L/2,0],S=z),o.plotBoxAndWhiskers(r,{pos:b,val:x},c,{bPos:y,bdPos:T,bPosPxOffset:S}),o.plotBoxMean(r,{pos:b,val:x},c,{bPos:y,bdPos:T,bPosPxOffset:S}),!c.box.visible&&c.meanline.visible&&(E=i.identity);var P=r.selectAll(\"path.meanline\").data(E||[]);P.enter().append(\"path\").attr(\"class\",\"meanline\").style(\"fill\",\"none\").style(\"vector-effect\",\"non-scaling-stroke\"),P.exit().remove(),P.each(function(t){var e=x.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,c,e);n.select(this).attr(\"d\",\"h\"===c.orientation?\"M\"+e+\",\"+r[0]+\"V\"+r[1]:\"M\"+r[0]+\",\"+e+\"H\"+r[1])}),o.plotPoints(r,{x:f,y:h},c,s)}})}},{\"../../components/drawing\":592,\"../../lib\":693,\"../box/plot\":865,\"../scatter/line_points\":1046,\"./helpers\":1137,d3:147}],1143:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/color\"),a=t(\"../scatter/style\").stylePoints;e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\"g.trace.violins\");r.style(\"opacity\",function(t){return t[0].trace.opacity}),r.each(function(e){var r=e[0].trace,o=n.select(this),s=r.box||{},l=s.line||{},c=r.meanline||{},u=c.width;o.selectAll(\"path.violin\").style(\"stroke-width\",r.line.width+\"px\").call(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll(\"path.box\").style(\"stroke-width\",l.width+\"px\").call(i.stroke,l.color).call(i.fill,s.fillcolor);var f={\"stroke-width\":u+\"px\",\"stroke-dasharray\":2*u+\"px,\"+u+\"px\"};o.selectAll(\"path.mean\").style(f).call(i.stroke,c.color),o.selectAll(\"path.meanline\").style(f).call(i.stroke,c.color),a(o,r,t)})}},{\"../../components/color\":567,\"../scatter/style\":1055,d3:147}],1144:[function(t,e,r){\"use strict\";var n=t(\"../plots/cartesian/axes\"),i=t(\"../lib\"),a=t(\"../plot_api/plot_schema\"),o=t(\"./helpers\").pointsAccessorFunction,s=t(\"../constants/numerical\").BADNUM;r.moduleType=\"transform\",r.name=\"aggregate\";var l=r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},aggregations:{_isLinkedToArray:\"aggregation\",target:{valType:\"string\",editType:\"calc\"},func:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"median\",\"mode\",\"rms\",\"stddev\",\"min\",\"max\",\"first\",\"last\",\"change\",\"range\"],dflt:\"first\",editType:\"calc\"},funcmode:{valType:\"enumerated\",values:[\"sample\",\"population\"],dflt:\"sample\",editType:\"calc\"},enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},c=l.aggregations;function u(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,i=e.c2d;switch(r){case\"count\":return f;case\"first\":return h;case\"last\":return p;case\"sum\":return function(t,e){for(var r=0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&(r+=o)}return i(r)};case\"avg\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l,a++)}return a?i(r/a):s};case\"min\":return function(t,e){for(var r=1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&(r=Math.min(r,o))}return r===1/0?s:i(r)};case\"max\":return function(t,e){for(var r=-1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&(r=Math.max(r,o))}return r===-1/0?s:i(r)};case\"range\":return function(t,e){for(var r=1/0,a=-1/0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r=Math.min(r,l),a=Math.max(a,l))}return a===-1/0||r===1/0?s:i(a-r)};case\"change\":return function(t,e){var r=n(t[e[0]]),a=n(t[e[e.length-1]]);return r===s||a===s?s:i(a-r)};case\"median\":return function(t,e){for(var r=[],a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&r.push(o)}if(!r.length)return s;r.sort();var l=(r.length-1)/2;return i((r[Math.floor(l)]+r[Math.ceil(l)])/2)};case\"mode\":return function(t,e){for(var r={},a=0,o=s,l=0;l<e.length;l++){var c=n(t[e[l]]);if(c!==s){var u=r[c]=(r[c]||0)+1;u>a&&(a=u,o=c)}}return a?i(o):s};case\"rms\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l*l,a++)}return a?i(Math.sqrt(r/a)):s};case\"stddev\":return function(e,r){var i,a=0,o=0,l=1,c=s;for(i=0;i<r.length&&c===s;i++)c=n(e[r[i]]);if(c===s)return s;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==s){var f=u-c;a+=f,o+=f*f,l++}}var h=\"sample\"===t.funcmode?l-1:l;return h?Math.sqrt((o-a*a/l)/h):0}}}(a,n.getDataConversions(t,e,o,c)),d=new Array(r.length),g=0;g<r.length;g++)d[g]=u(c,r[g]);l.set(d),\"count\"===a.func&&i.pushUnique(e._arrayAttrs,o)}}function f(t,e){return e.length}function h(t,e){return t[e[0]]}function p(t,e){return t[e[e.length-1]]}r.supplyDefaults=function(t,e){var r,n={};function o(e,r){return i.coerce(t,n,l,e,r)}if(!o(\"enabled\"))return n;var s=a.findArrayAttributes(e),u={};for(r=0;r<s.length;r++)u[s[r]]=1;var f=o(\"groups\");if(!Array.isArray(f)){if(!u[f])return void(n.enabled=!1);u[f]=0}var h,p=t.aggregations||[],d=n.aggregations=new Array(p.length);function g(t,e){return i.coerce(p[r],h,c,t,e)}for(r=0;r<p.length;r++){h={_index:r};var m=g(\"target\"),v=g(\"func\");g(\"enabled\")&&m&&(u[m]||\"count\"===v&&void 0===u[m])?(\"stddev\"===v&&g(\"funcmode\"),u[m]=0,d[r]=h):d[r]={enabled:!1,_index:r}}for(r=0;r<s.length;r++)u[s[r]]&&d.push({target:s[r],func:c.func.dflt,enabled:!0,_index:-1});return n},r.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,a=i.getTargetArray(e,{target:n});if(a){var s,l,c,f,h={},p={},d=[],g=o(e.transforms,r),m=a.length;for(e._length&&(m=Math.min(m,e._length)),s=0;s<m;s++)void 0===(c=h[l=a[s]])?(h[l]=d.length,f=[s],d.push(f),p[h[l]]=g(s)):(d[c].push(s),p[h[l]]=(p[h[l]]||[]).concat(g(s)));r._indexToPoints=p;var v=r.aggregations;for(s=0;s<v.length;s++)u(t,e,d,v[s]);\"string\"==typeof n&&u(t,e,d,{target:n,func:\"first\",enabled:!0}),e._length=d.length}}}},{\"../constants/numerical\":670,\"../lib\":693,\"../plot_api/plot_schema\":731,\"../plots/cartesian/axes\":742,\"./helpers\":1147}],1145:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../registry\"),a=t(\"../plots/cartesian/axes\"),o=t(\"./helpers\").pointsAccessorFunction,s=t(\"../constants/filter_ops\"),l=s.COMPARISON_OPS,c=s.INTERVAL_OPS,u=s.SET_OPS;r.moduleType=\"transform\",r.name=\"filter\",r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},operation:{valType:\"enumerated\",values:[].concat(l).concat(c).concat(u),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},preservegaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},editType:\"calc\"},r.supplyDefaults=function(t){var e={};function a(i,a){return n.coerce(t,e,r.attributes,i,a)}if(a(\"enabled\")){a(\"preservegaps\"),a(\"operation\"),a(\"value\"),a(\"target\");var o=i.getComponentMethod(\"calendars\",\"handleDefaults\");o(t,e,\"valuecalendar\",null),o(t,e,\"targetcalendar\",null)}return e},r.calcTransform=function(t,e,r){if(r.enabled){var i=n.getTargetArray(e,r);if(i){var s=r.target,f=i.length;e._length&&(f=Math.min(f,e._length));var h=r.targetcalendar,p=e._arrayAttrs,d=r.preservegaps;if(\"string\"==typeof s){var g=n.nestedProperty(e,s+\"calendar\").get();g&&(h=g)}var m,v,y=function(t,e,r){var n=t.operation,i=t.value,a=Array.isArray(i);function o(t){return-1!==t.indexOf(n)}var s,f=function(r){return e(r,0,t.valuecalendar)},h=function(t){return e(t,0,r)};o(l)?s=f(a?i[0]:i):o(c)?s=a?[f(i[0]),f(i[1])]:[f(i),f(i)]:o(u)&&(s=a?i.map(f):[f(i)]);switch(n){case\"=\":return function(t){return h(t)===s};case\"!=\":return function(t){return h(t)!==s};case\"<\":return function(t){return h(t)<s};case\"<=\":return function(t){return h(t)<=s};case\">\":return function(t){return h(t)>s};case\">=\":return function(t){return h(t)>=s};case\"[]\":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case\"()\":return function(t){var e=h(t);return e>s[0]&&e<s[1]};case\"[)\":return function(t){var e=h(t);return e>=s[0]&&e<s[1]};case\"(]\":return function(t){var e=h(t);return e>s[0]&&e<=s[1]};case\"][\":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case\")(\":return function(t){var e=h(t);return e<s[0]||e>s[1]};case\"](\":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case\")[\":return function(t){var e=h(t);return e<s[0]||e>=s[1]};case\"{}\":return function(t){return-1!==s.indexOf(h(t))};case\"}{\":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},v=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},v=function(t,e){var r=x[t.astr][e];t.get().push(r)}),M(m);for(var w=o(e.transforms,r),k=0;k<f;k++){y(i[k])?(M(v,k),b[_++]=w(k)):d&&_++}r._indexToPoints=b,e._length=_}}function M(t,r){for(var i=0;i<p.length;i++){t(n.nestedProperty(e,p[i]),r)}}}},{\"../constants/filter_ops\":666,\"../lib\":693,\"../plots/cartesian/axes\":742,\"../registry\":825,\"./helpers\":1147}],1146:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plot_api/plot_schema\"),a=t(\"../plots/plots\"),o=t(\"./helpers\").pointsAccessorFunction;function s(t,e){var r,s,c,u,f,h,p,d,g,m,v=e.transform,y=e.transformIndex,x=t.transforms[y].groups,b=o(t.transforms,v);if(!Array.isArray(x)||0===x.length)return[t];var _=n.filterUnique(x),w=new Array(_.length),k=x.length,M=i.findArrayAttributes(t),A=v.styles||[],T={};for(r=0;r<A.length;r++)T[A[r].target]=A[r].value;v.styles&&(m=n.keyedContainer(v,\"styles\",\"target\",\"value.name\"));var S={},E={};for(r=0;r<_.length;r++){S[h=_[r]]=r,E[h]=0,(p=w[r]=n.extendDeepNoArrays({},t))._group=h,p.updateStyle=l(h,y),p.transforms[y]._indexToPoints={};var C=null;for(m&&(C=m.get(h)),p.name=C||\"\"===C?C:n.templateString(v.nameformat,{trace:t.name,group:h}),d=p.transforms,p.transforms=[],s=0;s<d.length;s++)p.transforms[s]=n.extendDeepNoArrays({},d[s]);for(s=0;s<M.length;s++)n.nestedProperty(p,M[s]).set([])}for(c=0;c<M.length;c++){for(u=M[c],s=0,g=[];s<_.length;s++)g[s]=n.nestedProperty(w[s],u).get();for(f=n.nestedProperty(t,u).get(),s=0;s<k;s++)g[S[x[s]]].push(f[s])}for(s=0;s<k;s++){(p=w[S[x[s]]]).transforms[y]._indexToPoints[E[x[s]]]=b(s),E[x[s]]++}for(r=0;r<_.length;r++)h=_[r],p=w[r],a.clearExpandedTraceDefaultColors(p),p=n.extendDeepNoArrays(p,T[h]||{});return w}function l(t,e){return function(r,i,a){n.keyedContainer(r,\"transforms[\"+e+\"].styles\",\"target\",\"value.\"+i).set(String(t),a)}}r.moduleType=\"transform\",r.name=\"groupby\",r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"data_array\",dflt:[],editType:\"calc\"},nameformat:{valType:\"string\",editType:\"calc\"},styles:{_isLinkedToArray:\"style\",target:{valType:\"string\",editType:\"calc\"},value:{valType:\"any\",dflt:{},editType:\"calc\",_compareAsJSON:!0},editType:\"calc\"},editType:\"calc\"},r.supplyDefaults=function(t,e,i){var a,o={};function s(e,i){return n.coerce(t,o,r.attributes,e,i)}if(!s(\"enabled\"))return o;s(\"groups\"),s(\"nameformat\",i._dataLength>1?\"%{group} (%{trace})\":\"%{group}\");var l=t.styles,c=o.styles=[];if(l)for(a=0;a<l.length;a++){var u=c[a]={};n.coerce(l[a],c[a],r.attributes.styles,\"target\");var f=n.coerce(l[a],c[a],r.attributes.styles,\"value\");n.isPlainObject(f)?u.value=n.extendDeep({},f):f&&delete u.value}return o},r.transform=function(t,e){var r,n,i,a=[];for(n=0;n<t.length;n++)for(r=s(t[n],e),i=0;i<r.length;i++)a.push(r[i]);return a}},{\"../lib\":693,\"../plot_api/plot_schema\":731,\"../plots/plots\":805,\"./helpers\":1147}],1147:[function(t,e,r){\"use strict\";r.pointsAccessorFunction=function(t,e){for(var r,n,i=0;i<t.length&&(r=t[i])!==e;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1148:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plots/cartesian/axes\"),a=t(\"./helpers\").pointsAccessorFunction;r.moduleType=\"transform\",r.name=\"sort\",r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},order:{valType:\"enumerated\",values:[\"ascending\",\"descending\"],dflt:\"ascending\",editType:\"calc\"},editType:\"calc\"},r.supplyDefaults=function(t){var e={};function i(i,a){return n.coerce(t,e,r.attributes,i,a)}return i(\"enabled\")&&(i(\"target\"),i(\"order\")),e},r.calcTransform=function(t,e,r){if(r.enabled){var o=n.getTargetArray(e,r);if(o){var s=r.target,l=o.length;e._length&&(l=Math.min(l,e._length));var c,u,f=e._arrayAttrs,h=function(t,e,r,n){var i,a=new Array(n),o=new Array(n);for(i=0;i<n;i++)a[i]={v:e[i],i:i};for(a.sort(function(t,e){switch(t.order){case\"ascending\":return function(t,r){return e(t.v)-e(r.v)};case\"descending\":return function(t,r){return e(r.v)-e(t.v)}}}(t,r)),i=0;i<n;i++)o[i]=a[i].i;return o}(r,o,i.getDataToCoordFunc(t,e,s,o),l),p=a(e.transforms,r),d={};for(c=0;c<f.length;c++){var g=n.nestedProperty(e,f[c]),m=g.get(),v=new Array(l);for(u=0;u<l;u++)v[u]=m[h[u]];g.set(v)}for(u=0;u<l;u++)d[u]=p(h[u]);r._indexToPoints=d,e._length=l}}}},{\"../lib\":693,\"../plots/cartesian/axes\":742,\"./helpers\":1147}]},{},[22])(22)});});require(['plotly'], function(Plotly) {window.Plotly = Plotly;});}</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<script type='text/javascript'>if(!window.Plotly){define('plotly', function(require, exports, module) {/**\n",
       "* plotly.js v1.41.3\n",
       "* Copyright 2012-2018, Plotly, Inc.\n",
       "* All rights reserved.\n",
       "* Licensed under the MIT license\n",
       "*/\n",
       "!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).Plotly=t()}}(function(){return function(){return function t(e,r,n){function i(o,s){if(!r[o]){if(!e[o]){var l=\"function\"==typeof require&&require;if(!s&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error(\"Cannot find module '\"+o+\"'\");throw c.code=\"MODULE_NOT_FOUND\",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){return i(e[o][1][t]||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var a=\"function\"==typeof require&&require,o=0;o<n.length;o++)i(n[o]);return i}}()({1:[function(t,e,r){\"use strict\";var n=t(\"../src/lib\"),i={\"X,X div\":\"direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;\",\"X input,X button\":\"font-family:'Open Sans', verdana, arial, sans-serif;\",\"X input:focus,X button:focus\":\"outline:none;\",\"X a\":\"text-decoration:none;\",\"X a:hover\":\"text-decoration:none;\",\"X .crisp\":\"shape-rendering:crispEdges;\",\"X .user-select-none\":\"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\"X svg\":\"overflow:hidden;\",\"X svg a\":\"fill:#447adb;\",\"X svg a:hover\":\"fill:#3c6dc5;\",\"X .main-svg\":\"position:absolute;top:0;left:0;pointer-events:none;\",\"X .main-svg .draglayer\":\"pointer-events:all;\",\"X .cursor-default\":\"cursor:default;\",\"X .cursor-pointer\":\"cursor:pointer;\",\"X .cursor-crosshair\":\"cursor:crosshair;\",\"X .cursor-move\":\"cursor:move;\",\"X .cursor-col-resize\":\"cursor:col-resize;\",\"X .cursor-row-resize\":\"cursor:row-resize;\",\"X .cursor-ns-resize\":\"cursor:ns-resize;\",\"X .cursor-ew-resize\":\"cursor:ew-resize;\",\"X .cursor-sw-resize\":\"cursor:sw-resize;\",\"X .cursor-s-resize\":\"cursor:s-resize;\",\"X .cursor-se-resize\":\"cursor:se-resize;\",\"X .cursor-w-resize\":\"cursor:w-resize;\",\"X .cursor-e-resize\":\"cursor:e-resize;\",\"X .cursor-nw-resize\":\"cursor:nw-resize;\",\"X .cursor-n-resize\":\"cursor:n-resize;\",\"X .cursor-ne-resize\":\"cursor:ne-resize;\",\"X .cursor-grab\":\"cursor:-webkit-grab;cursor:grab;\",\"X .modebar\":\"position:absolute;top:2px;right:2px;z-index:1001;background:rgba(255,255,255,0.7);\",\"X .modebar--hover\":\"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;\",\"X:hover .modebar--hover\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;margin-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-group:first-child\":\"margin-left:0px;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar-btn path\":\"fill:rgba(0,31,95,0.3);\",\"X .modebar-btn.active path,X .modebar-btn:hover path\":\"fill:rgba(0,22,72,0.5);\",\"X .modebar-btn.modebar-btn--logo\":\"padding:3px 1px;\",\"X .modebar-btn.modebar-btn--logo path\":\"fill:#447adb !important;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":\"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;\",\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\"X .select-outline\":\"fill:none;stroke-width:1;shape-rendering:crispEdges;\",\"X .select-outline-1\":\"stroke:white;\",\"X .select-outline-2\":\"stroke:black;stroke-dasharray:2px 2px;\",Y:\"font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;\",\"Y p\":\"margin:0;\",\"Y .notifier-note\":\"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\"Y .notifier-close\":\"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\"Y .notifier-close:hover\":\"color:#444;text-decoration:none;cursor:pointer;\"};for(var a in i){var o=a.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\");n.addStyleRule(o,i[a])}},{\"../src/lib\":693}],2:[function(t,e,r){\"use strict\";e.exports={undo:{width:857.1,height:1e3,path:\"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",transform:\"matrix(1 0 0 -1 0 850)\"},home:{width:928.6,height:1e3,path:\"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"camera-retro\":{width:1e3,height:1e3,path:\"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoombox:{width:1e3,height:1e3,path:\"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",transform:\"matrix(1 0 0 -1 0 850)\"},pan:{width:1e3,height:1e3,path:\"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_plus:{width:1e3,height:1e3,path:\"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_minus:{width:1e3,height:1e3,path:\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},autoscale:{width:1e3,height:1e3,path:\"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_basic:{width:1500,height:1e3,path:\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_compare:{width:1125,height:1e3,path:\"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",transform:\"matrix(1 0 0 -1 0 850)\"},plotlylogo:{width:1542,height:1e3,path:\"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"z-axis\":{width:1e3,height:1e3,path:\"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"3d_rotate\":{width:1e3,height:1e3,path:\"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",transform:\"matrix(1 0 0 -1 0 850)\"},camera:{width:1e3,height:1e3,path:\"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",transform:\"matrix(1 0 0 -1 0 850)\"},movie:{width:1e3,height:1e3,path:\"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",transform:\"matrix(1 0 0 -1 0 850)\"},question:{width:857.1,height:1e3,path:\"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",transform:\"matrix(1 0 0 -1 0 850)\"},disk:{width:857.1,height:1e3,path:\"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",transform:\"matrix(1 0 0 -1 0 850)\"},lasso:{width:1031,height:1e3,path:\"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",transform:\"matrix(1 0 0 -1 0 850)\"},selectbox:{width:1e3,height:1e3,path:\"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},spikeline:{width:1e3,height:1e3,path:\"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",transform:\"matrix(1.5 0 0 -1.5 0 850)\"}}},{}],3:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/aggregate\")},{\"../src/transforms/aggregate\":1144}],4:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/bar\")},{\"../src/traces/bar\":840}],5:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/barpolar\")},{\"../src/traces/barpolar\":852}],6:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/box\")},{\"../src/traces/box\":862}],7:[function(t,e,r){\"use strict\";e.exports=t(\"../src/components/calendars\")},{\"../src/components/calendars\":565}],8:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/candlestick\")},{\"../src/traces/candlestick\":871}],9:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/carpet\")},{\"../src/traces/carpet\":890}],10:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/choropleth\")},{\"../src/traces/choropleth\":904}],11:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/cone\")},{\"../src/traces/cone\":912}],12:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contour\")},{\"../src/traces/contour\":927}],13:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/contourcarpet\")},{\"../src/traces/contourcarpet\":938}],14:[function(t,e,r){\"use strict\";e.exports=t(\"../src/core\")},{\"../src/core\":672}],15:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/filter\")},{\"../src/transforms/filter\":1145}],16:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/groupby\")},{\"../src/transforms/groupby\":1146}],17:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmap\")},{\"../src/traces/heatmap\":950}],18:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/heatmapgl\")},{\"../src/traces/heatmapgl\":960}],19:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram\")},{\"../src/traces/histogram\":971}],20:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2d\")},{\"../src/traces/histogram2d\":977}],21:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/histogram2dcontour\")},{\"../src/traces/histogram2dcontour\":981}],22:[function(t,e,r){\"use strict\";var n=t(\"./core\");n.register([t(\"./bar\"),t(\"./box\"),t(\"./heatmap\"),t(\"./histogram\"),t(\"./histogram2d\"),t(\"./histogram2dcontour\"),t(\"./pie\"),t(\"./contour\"),t(\"./scatterternary\"),t(\"./violin\"),t(\"./scatter3d\"),t(\"./surface\"),t(\"./mesh3d\"),t(\"./cone\"),t(\"./streamtube\"),t(\"./scattergeo\"),t(\"./choropleth\"),t(\"./scattergl\"),t(\"./splom\"),t(\"./pointcloud\"),t(\"./heatmapgl\"),t(\"./parcoords\"),t(\"./scattermapbox\"),t(\"./sankey\"),t(\"./table\"),t(\"./carpet\"),t(\"./scattercarpet\"),t(\"./contourcarpet\"),t(\"./ohlc\"),t(\"./candlestick\"),t(\"./scatterpolar\"),t(\"./scatterpolargl\"),t(\"./barpolar\")]),n.register([t(\"./aggregate\"),t(\"./filter\"),t(\"./groupby\"),t(\"./sort\")]),n.register([t(\"./calendars\")]),e.exports=n},{\"./aggregate\":3,\"./bar\":4,\"./barpolar\":5,\"./box\":6,\"./calendars\":7,\"./candlestick\":8,\"./carpet\":9,\"./choropleth\":10,\"./cone\":11,\"./contour\":12,\"./contourcarpet\":13,\"./core\":14,\"./filter\":15,\"./groupby\":16,\"./heatmap\":17,\"./heatmapgl\":18,\"./histogram\":19,\"./histogram2d\":20,\"./histogram2dcontour\":21,\"./mesh3d\":23,\"./ohlc\":24,\"./parcoords\":25,\"./pie\":26,\"./pointcloud\":27,\"./sankey\":28,\"./scatter3d\":29,\"./scattercarpet\":30,\"./scattergeo\":31,\"./scattergl\":32,\"./scattermapbox\":33,\"./scatterpolar\":34,\"./scatterpolargl\":35,\"./scatterternary\":36,\"./sort\":37,\"./splom\":38,\"./streamtube\":39,\"./surface\":40,\"./table\":41,\"./violin\":42}],23:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/mesh3d\")},{\"../src/traces/mesh3d\":986}],24:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/ohlc\")},{\"../src/traces/ohlc\":991}],25:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/parcoords\")},{\"../src/traces/parcoords\":1002}],26:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pie\")},{\"../src/traces/pie\":1013}],27:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/pointcloud\")},{\"../src/traces/pointcloud\":1022}],28:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/sankey\")},{\"../src/traces/sankey\":1028}],29:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatter3d\")},{\"../src/traces/scatter3d\":1064}],30:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattercarpet\")},{\"../src/traces/scattercarpet\":1070}],31:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergeo\")},{\"../src/traces/scattergeo\":1077}],32:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattergl\")},{\"../src/traces/scattergl\":1085}],33:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scattermapbox\")},{\"../src/traces/scattermapbox\":1091}],34:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolar\")},{\"../src/traces/scatterpolar\":1098}],35:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterpolargl\")},{\"../src/traces/scatterpolargl\":1102}],36:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/scatterternary\")},{\"../src/traces/scatterternary\":1108}],37:[function(t,e,r){\"use strict\";e.exports=t(\"../src/transforms/sort\")},{\"../src/transforms/sort\":1148}],38:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/splom\")},{\"../src/traces/splom\":1113}],39:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/streamtube\")},{\"../src/traces/streamtube\":1118}],40:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/surface\")},{\"../src/traces/surface\":1123}],41:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/table\")},{\"../src/traces/table\":1131}],42:[function(t,e,r){\"use strict\";e.exports=t(\"../src/traces/violin\")},{\"../src/traces/violin\":1139}],43:[function(t,e,r){\"use strict\";e.exports=function(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];\"distanceLimits\"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]);\"zoomMin\"in e&&(r[0]=e.zoomMin);\"zoomMax\"in e&&(r[1]=e.zoomMax);var c=i({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:r}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,p=t.clientHeight,d={view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,tick:function(){var e=n(),r=this.delay;c.idle(e-r),c.flush(e-(100+2*r));var i=e-2*r;c.recalcMatrix(i);for(var a=!0,o=c.computedMatrix,s=0;s<16;++s)a=a&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=Math.exp(c.computedRadius[0]),!0)},lookAt:function(t,e,r){c.lookAt(c.lastT(),t,e,r)},rotate:function(t,e,r){c.rotate(c.lastT(),t,e,r)},pan:function(t,e,r){c.pan(c.lastT(),t,e,r)},translate:function(t,e,r){c.translate(c.lastT(),t,e,r)}};Object.defineProperties(d,{matrix:{get:function(){return c.computedMatrix},set:function(t){return c.setMatrix(c.lastT(),t),c.computedMatrix},enumerable:!0},mode:{get:function(){return c.getMode()},set:function(t){return c.setMode(t),c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return f},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\"contextmenu\",function(t){return t.preventDefault(),!1});var g=0,m=0,v={shift:!1,control:!1,alt:!1,meta:!1};function y(e,r,i,a){var o=1/t.clientHeight,s=o*(r-g),l=o*(i-m),u=d.flipX?1:-1,h=d.flipY?1:-1,p=Math.PI*d.rotateSpeed,y=n();if(1&e)a.shift?c.rotate(y,0,0,-s*p):c.rotate(y,u*p*s,-h*p*l,0);else if(2&e)c.pan(y,-d.translateSpeed*s*f,d.translateSpeed*l*f,0);else if(4&e){var x=d.zoomSpeed*l/window.innerHeight*(y-c.lastT())*50;c.pan(y,0,0,f*(Math.exp(x)-1))}g=r,m=i,v=a}return a(t,y),t.addEventListener(\"touchstart\",function(e){var r=s(e.changedTouches[0],t);y(0,r[0],r[1],v),y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\"touchmove\",function(e){var r=s(e.changedTouches[0],t);y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\"touchend\",function(e){s(e.changedTouches[0],t),y(0,g,m,v),e.preventDefault()},!!l&&{passive:!1}),o(t,function(t,e,r){var i=d.flipX?1:-1,a=d.flipY?1:-1,o=n();if(Math.abs(t)>Math.abs(e))c.rotate(o,0,0,-t*i*Math.PI*d.rotateSpeed/window.innerWidth);else{var s=d.zoomSpeed*a*e/window.innerHeight*(o-c.lastT())/100;c.pan(o,0,0,f*(Math.exp(s)-1))}},!0),d};var n=t(\"right-now\"),i=t(\"3d-view\"),a=t(\"mouse-change\"),o=t(\"mouse-wheel\"),s=t(\"mouse-event-offset\"),l=t(\"has-passive-events\")},{\"3d-view\":44,\"has-passive-events\":392,\"mouse-change\":415,\"mouse-event-offset\":416,\"mouse-wheel\":418,\"right-now\":477}],44:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||\"turntable\",u=n(),f=i(),h=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:u,orbit:f,matrix:h},c)};var n=t(\"turntable-camera-controller\"),i=t(\"orbit-camera-controller\"),a=t(\"matrix-camera-controller\");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map(function(e){return t[e]}),this._mode=e,this._active=t[e],this._active||(this._mode=\"turntable\",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[[\"flush\",1],[\"idle\",1],[\"lookAt\",4],[\"rotate\",4],[\"pan\",4],[\"translate\",4],[\"setMatrix\",2],[\"setDistanceLimits\",2],[\"setDistance\",2]].forEach(function(t){for(var e=t[0],r=[],n=0;n<t[1];++n)r.push(\"a\"+n);var i=\"var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i].\"+t[0]+\"(\"+r.join()+\")}\";s[e]=Function.apply(null,r.concat(i))}),s.recalcMatrix=function(t){this._active.recalcMatrix(t)},s.getDistance=function(t){return this._active.getDistance(t)},s.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},s.lastT=function(){return this._active.lastT()},s.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,r.computedMatrix),this._active=n,this._mode=t,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},s.getMode=function(){return this._mode}},{\"matrix-camera-controller\":413,\"orbit-camera-controller\":436,\"turntable-camera-controller\":516}],45:[function(t,e,r){var n,i;n=this,i=function(t,e,r,n){\"use strict\";t.sankey=function(){var t={},i=24,a=8,o=[1,1],s=[],l=[];function c(){function t(t,e){return t.source.y-e.source.y||t.originalIndex-e.originalIndex}function e(t,e){return t.target.y-e.target.y||t.originalIndex-e.originalIndex}s.forEach(function(r){r.sourceLinks.sort(e),r.targetLinks.sort(t)}),s.forEach(function(t){var e=0,r=0;t.sourceLinks.forEach(function(t){t.sy=e,e+=t.dy}),t.targetLinks.forEach(function(t){t.ty=r,r+=t.dy})})}function u(t){return t.y+t.dy/2}function f(t){return t.value}return t.nodeWidth=function(e){return arguments.length?(i=+e,t):i},t.nodePadding=function(e){return arguments.length?(a=+e,t):a},t.nodes=function(e){return arguments.length?(s=e,t):s},t.links=function(e){return arguments.length?(l=e,t):l},t.size=function(e){return arguments.length?(o=e,t):o},t.layout=function(n){return s.forEach(function(t){t.sourceLinks=[],t.targetLinks=[]}),l.forEach(function(t,e){var r=t.source,n=t.target;\"number\"==typeof r&&(r=t.source=s[t.source]),\"number\"==typeof n&&(n=t.target=s[t.target]),t.originalIndex=e,r.sourceLinks.push(t),n.targetLinks.push(t)}),s.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,f),e.sum(t.targetLinks,f))}),function(){for(var t,e,r=s,n=0;r.length;)t=[],r.forEach(function(e){e.x=n,e.dx=i,e.sourceLinks.forEach(function(e){t.indexOf(e.target)<0&&t.push(e.target)})}),r=t,++n;(function(t){s.forEach(function(e){e.sourceLinks.length||(e.x=t-1)})})(n),e=(o[0]-i)/(n-1),s.forEach(function(t){t.x*=e})}(),function(t){var n,i=r.nest().key(function(t){return t.x}).sortKeys(e.ascending).entries(s).map(function(t){return t.values});n=e.min(i,function(t){return(o[1]-(t.length-1)*a)/e.sum(t,f)}),i.forEach(function(t){t.forEach(function(t,e){t.y=e,t.dy=t.value*n})}),l.forEach(function(t){t.dy=t.value*n}),d();for(var c=1;t>0;--t)p(c*=.99),d(),h(c),d();function h(t){function r(t){return u(t.source)*t.value}i.forEach(function(n){n.forEach(function(n){if(n.targetLinks.length){var i=e.sum(n.targetLinks,r)/e.sum(n.targetLinks,f);n.y+=(i-u(n))*t}})})}function p(t){function r(t){return u(t.target)*t.value}i.slice().reverse().forEach(function(n){n.forEach(function(n){if(n.sourceLinks.length){var i=e.sum(n.sourceLinks,r)/e.sum(n.sourceLinks,f);n.y+=(i-u(n))*t}})})}function d(){i.forEach(function(t){var e,r,n,i=0,s=t.length;for(t.sort(g),n=0;n<s;++n)e=t[n],(r=i-e.y)>0&&(e.y+=r),i=e.y+e.dy+a;if((r=i-a-o[1])>0)for(i=e.y-=r,n=s-2;n>=0;--n)e=t[n],(r=e.y+e.dy+a-i)>0&&(e.y-=r),i=e.y})}function g(t,e){return t.y-e.y}}(n),c(),t},t.relayout=function(){return c(),t},t.link=function(){var t=.5;function e(e){var r=e.source.x+e.source.dx,i=e.target.x,a=n.interpolateNumber(r,i),o=a(t),s=a(1-t),l=e.source.y+e.sy,c=l+e.dy,u=e.target.y+e.ty,f=u+e.dy;return\"M\"+r+\",\"+l+\"C\"+o+\",\"+l+\" \"+s+\",\"+u+\" \"+i+\",\"+u+\"L\"+i+\",\"+f+\"C\"+s+\",\"+f+\" \"+o+\",\"+c+\" \"+r+\",\"+c+\"Z\"}return e.curvature=function(r){return arguments.length?(t=+r,e):t},e},t},Object.defineProperty(t,\"__esModule\",{value:!0})},\"object\"==typeof r&&\"undefined\"!=typeof e?i(r,t(\"d3-array\"),t(\"d3-collection\"),t(\"d3-interpolate\")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{\"d3-array\":139,\"d3-collection\":140,\"d3-interpolate\":144}],46:[function(t,e,r){\"use strict\";var n=\"undefined\"==typeof WeakMap?t(\"weak-map\"):WeakMap,i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=i(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=a(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{\"gl-buffer\":229,\"gl-vao\":308,\"weak-map\":526}],47:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,i=0;return t.map(function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case\"a\":t[6]+=n,t[7]+=i;break;case\"v\":t[1]+=i;break;case\"h\":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=i}switch(o){case\"Z\":n=e,i=r;break;case\"H\":n=t[1];break;case\"V\":i=t[1];break;case\"M\":n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t})}},{}],48:[function(t,e,r){var n=t(\"pad-left\");e.exports=function(t,e,r){e=\"number\"==typeof e?e:1,r=r||\": \";var i=t.split(/\\r?\\n/),a=String(i.length+e-1).length;return i.map(function(t,i){var o=i+e,s=String(o).length,l=n(o,a-s);return l+r+t}).join(\"\\n\")}},{\"pad-left\":437}],49:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],a=[0],o=1;o<e;++o)if(n.push(t[o]),i(n,r)){if(a.push(o),a.length===r+1)return a}else n.pop();return a};var n=t(\"robust-orientation\");function i(t,e){for(var r=new Array(e+1),i=0;i<t.length;++i)r[i]=t[i];for(i=0;i<=t.length;++i){for(var a=t.length;a<=e;++a){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(a+1-i,s);r[a]=o}if(n.apply(void 0,r))return!0}return!1}},{\"robust-orientation\":483}],50:[function(t,e,r){\"use strict\";e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),a=0;a<r.length;++a)n[a]=e[r[a]];return i(n)*t<1})};var n=t(\"delaunay-triangulate\"),i=t(\"circumradius\")},{circumradius:101,\"delaunay-triangulate\":149}],51:[function(t,e,r){e.exports=function(t,e){return i(n(t,e))};var n=t(\"alpha-complex\"),i=t(\"simplicial-complex-boundary\")},{\"alpha-complex\":50,\"simplicial-complex-boundary\":490}],52:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(!t||null==t.length)throw Error(\"Argument should be an array\");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r}},{}],53:[function(t,e,r){\"use strict\";var n=t(\"array-bounds\");e.exports=function(t,e,r){if(!t||null==t.length)throw Error(\"Argument should be an array\");null==e&&(e=1);null==r&&(r=n(t,e));for(var i=0;i<e;i++){var a=r[e+i],o=r[i],s=i,l=t.length;if(a===1/0&&o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===o?0:1;else{var c=a-o;for(s=i;s<l;s+=e)t[s]=0===c?.5:(t[s]-o)/c}}return t}},{\"array-bounds\":52}],54:[function(t,e,r){e.exports=function(t,e){var r=\"number\"==typeof t,n=\"number\"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var i=(e|=0)-(t|=0);if(i<0)throw new Error(\"array length must be positive\");for(var a=new Array(i),o=0,s=t;o<i;o++,s++)a[o]=s;return a}},{}],55:[function(t,e,r){(function(r){\"use strict\";function n(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function i(t){return r.Buffer&&\"function\"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var a=t(\"util/\"),o=Object.prototype.hasOwnProperty,s=Array.prototype.slice,l=\"foo\"===function(){}.name;function c(t){return Object.prototype.toString.call(t)}function u(t){return!i(t)&&(\"function\"==typeof r.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var f=e.exports=v,h=/\\s*function\\s+([^\\(\\s]*)\\s*/;function p(t){if(a.isFunction(t)){if(l)return t.name;var e=t.toString().match(h);return e&&e[1]}}function d(t,e){return\"string\"==typeof t?t.length<e?t:t.slice(0,e):t}function g(t){if(l||!a.isFunction(t))return a.inspect(t);var e=p(t);return\"[Function\"+(e?\": \"+e:\"\")+\"]\"}function m(t,e,r,n,i){throw new f.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:i})}function v(t,e){t||m(t,!0,e,\"==\",f.ok)}function y(t,e,r,o){if(t===e)return!0;if(i(t)&&i(e))return 0===n(t,e);if(a.isDate(t)&&a.isDate(e))return t.getTime()===e.getTime();if(a.isRegExp(t)&&a.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&\"object\"==typeof t||null!==e&&\"object\"==typeof e){if(u(t)&&u(e)&&c(t)===c(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===n(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var l=(o=o||{actual:[],expected:[]}).actual.indexOf(t);return-1!==l&&l===o.expected.indexOf(e)||(o.actual.push(t),o.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(a.isPrimitive(t)||a.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=x(t),o=x(e);if(i&&!o||!i&&o)return!1;if(i)return t=s.call(t),e=s.call(e),y(t,e,r);var l,c,u=w(t),f=w(e);if(u.length!==f.length)return!1;for(u.sort(),f.sort(),c=u.length-1;c>=0;c--)if(u[c]!==f[c])return!1;for(c=u.length-1;c>=0;c--)if(l=u[c],!y(t[l],e[l],r,n))return!1;return!0}(t,e,r,o))}return r?t===e:t==e}function x(t){return\"[object Arguments]\"==Object.prototype.toString.call(t)}function b(t,e){if(!t||!e)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function _(t,e,r,n){var i;if(\"function\"!=typeof e)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof r&&(n=r,r=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?\" (\"+r.name+\").\":\".\")+(n?\" \"+n:\".\"),t&&!i&&m(i,r,\"Missing expected exception\"+n);var o=\"string\"==typeof n,s=!t&&i&&!r;if((!t&&a.isError(i)&&o&&b(i,r)||s)&&m(i,r,\"Got unwanted exception\"+n),t&&i&&r&&!b(i,r)||!t&&i)throw i}f.AssertionError=function(t){var e;this.name=\"AssertionError\",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=d(g((e=this).actual),128)+\" \"+e.operator+\" \"+d(g(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,a=p(r),o=i.indexOf(\"\\n\"+a);if(o>=0){var s=i.indexOf(\"\\n\",o+1);i=i.substring(s+1)}this.stack=i}}},a.inherits(f.AssertionError,Error),f.fail=m,f.ok=v,f.equal=function(t,e,r){t!=e&&m(t,e,r,\"==\",f.equal)},f.notEqual=function(t,e,r){t==e&&m(t,e,r,\"!=\",f.notEqual)},f.deepEqual=function(t,e,r){y(t,e,!1)||m(t,e,r,\"deepEqual\",f.deepEqual)},f.deepStrictEqual=function(t,e,r){y(t,e,!0)||m(t,e,r,\"deepStrictEqual\",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){y(t,e,!1)&&m(t,e,r,\"notDeepEqual\",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){y(e,r,!0)&&m(e,r,n,\"notDeepStrictEqual\",t)},f.strictEqual=function(t,e,r){t!==e&&m(t,e,r,\"===\",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,\"!==\",f.notStrictEqual)},f.throws=function(t,e,r){_(!0,t,e,r)},f.doesNotThrow=function(t,e,r){_(!1,t,e,r)},f.ifError=function(t){if(t)throw t};var w=Object.keys||function(t){var e=[];for(var r in t)o.call(t,r)&&e.push(r);return e}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"util/\":58}],56:[function(t,e,r){\"function\"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],57:[function(t,e,r){e.exports=function(t){return t&&\"object\"==typeof t&&\"function\"==typeof t.copy&&\"function\"==typeof t.fill&&\"function\"==typeof t.readUInt8}},{}],58:[function(t,e,r){(function(e,n){var i=/%[sdj%]/g;r.format=function(t){if(!v(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(s(arguments[r]));return e.join(\" \")}r=1;for(var n=arguments,a=n.length,o=String(t).replace(i,function(t){if(\"%%\"===t)return\"%\";if(r>=a)return t;switch(t){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(t){return\"[Circular]\"}default:return t}}),l=n[r];r<a;l=n[++r])g(l)||!b(l)?o+=\" \"+l:o+=\" \"+s(l);return o},r.deprecate=function(t,i){if(y(n.process))return function(){return r.deprecate(t,i).apply(this,arguments)};if(!0===e.noDeprecation)return t;var a=!1;return function(){if(!a){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),a=!0}return t.apply(this,arguments)}};var a,o={};function s(t,e){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?\"\\x1b[\"+s.colors[r][0]+\"m\"+t+\"\\x1b[\"+s.colors[r][1]+\"m\":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(n,t);return v(i)||(i=u(t,i,n)),i}var a=function(t,e){if(y(e))return t.stylize(\"undefined\",\"undefined\");if(v(e)){var r=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(r,\"string\")}if(m(e))return t.stylize(\"\"+e,\"number\");if(d(e))return t.stylize(\"\"+e,\"boolean\");if(g(e))return t.stylize(\"null\",\"null\")}(t,e);if(a)return a;var o=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf(\"message\")>=0||o.indexOf(\"description\")>=0))return f(e);if(0===o.length){if(k(e)){var l=e.name?\": \"+e.name:\"\";return t.stylize(\"[Function\"+l+\"]\",\"special\")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),\"regexp\");if(_(e))return t.stylize(Date.prototype.toString.call(e),\"date\");if(w(e))return f(e)}var c,b=\"\",M=!1,A=[\"{\",\"}\"];(p(e)&&(M=!0,A=[\"[\",\"]\"]),k(e))&&(b=\" [Function\"+(e.name?\": \"+e.name:\"\")+\"]\");return x(e)&&(b=\" \"+RegExp.prototype.toString.call(e)),_(e)&&(b=\" \"+Date.prototype.toUTCString.call(e)),w(e)&&(b=\" \"+f(e)),0!==o.length||M&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),\"regexp\"):t.stylize(\"[Object]\",\"special\"):(t.seen.push(e),c=M?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)S(e,String(o))?a.push(h(t,e,r,n,String(o),!0)):a.push(\"\");return i.forEach(function(i){i.match(/^\\d+$/)||a.push(h(t,e,r,n,i,!0))}),a}(t,e,n,s,o):o.map(function(r){return h(t,e,n,s,r,M)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,e.indexOf(\"\\n\")>=0&&0,t+e.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60)return r[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n  \")+\" \"+r[1];return r[0]+e+\" \"+t.join(\", \")+\" \"+r[1]}(c,b,A)):A[0]+b+A[1]}function f(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function h(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):l.set&&(s=t.stylize(\"[Setter]\",\"special\")),S(n,i)||(o=\"[\"+i+\"]\"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf(\"\\n\")>-1&&(s=a?s.split(\"\\n\").map(function(t){return\"  \"+t}).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map(function(t){return\"   \"+t}).join(\"\\n\")):s=t.stylize(\"[Circular]\",\"special\")),y(o)){if(a&&i.match(/^\\d+$/))return s;(o=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=t.stylize(o,\"string\"))}return o+\": \"+s}function p(t){return Array.isArray(t)}function d(t){return\"boolean\"==typeof t}function g(t){return null===t}function m(t){return\"number\"==typeof t}function v(t){return\"string\"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&\"[object RegExp]\"===M(t)}function b(t){return\"object\"==typeof t&&null!==t}function _(t){return b(t)&&\"[object Date]\"===M(t)}function w(t){return b(t)&&(\"[object Error]\"===M(t)||t instanceof Error)}function k(t){return\"function\"==typeof t}function M(t){return Object.prototype.toString.call(t)}function A(t){return t<10?\"0\"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(a)&&(a=e.env.NODE_DEBUG||\"\"),t=t.toUpperCase(),!o[t])if(new RegExp(\"\\\\b\"+t+\"\\\\b\",\"i\").test(a)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error(\"%s %d: %s\",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=m,r.isString=v,r.isSymbol=function(t){return\"symbol\"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=k,r.isPrimitive=function(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||\"undefined\"==typeof t},r.isBuffer=t(\"./support/isBuffer\");var T=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log(\"%s - %s\",(t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(\":\"),[t.getDate(),T[t.getMonth()],e].join(\" \")),r.format.apply(r,arguments))},r.inherits=t(\"inherits\"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./support/isBuffer\":57,_process:462,inherits:56}],59:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],60:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];a[o]=s}a[r]=new Array(r+1);for(var o=0;o<=r;++o)a[r][o]=1;for(var c=new Array(r+1),o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(a,c),f=i(u[r+1]);0===f&&(f=1);for(var h=new Array(r+1),o=0;o<=r;++o)h[o]=i(u[o])/f;return h};var n=t(\"robust-linear-solve\");function i(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{\"robust-linear-solve\":482}],61:[function(t,e,r){\"use strict\";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){for(var e,r=c(t),n=r[0],o=r[1],s=new a(function(t,e,r){return 3*(e+r)/4-r}(0,n,o)),l=0,u=o>0?n-4:n,f=0;f<u;f+=4)e=i[t.charCodeAt(f)]<<18|i[t.charCodeAt(f+1)]<<12|i[t.charCodeAt(f+2)]<<6|i[t.charCodeAt(f+3)],s[l++]=e>>16&255,s[l++]=e>>8&255,s[l++]=255&e;2===o&&(e=i[t.charCodeAt(f)]<<2|i[t.charCodeAt(f+1)]>>4,s[l++]=255&e);1===o&&(e=i[t.charCodeAt(f)]<<10|i[t.charCodeAt(f+1)]<<4|i[t.charCodeAt(f+2)]>>2,s[l++]=e>>8&255,s[l++]=255&e);return s},r.fromByteArray=function(t){for(var e,r=t.length,i=r%3,a=[],o=0,s=r-i;o<s;o+=16383)a.push(u(t,o,o+16383>s?s:o+16383));1===i?(e=t[r-1],a.push(n[e>>2]+n[e<<4&63]+\"==\")):2===i&&(e=(t[r-2]<<8)+t[r-1],a.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+\"=\"));return a.join(\"\")};for(var n=[],i=[],a=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",s=0,l=o.length;s<l;++s)n[s]=o[s],i[o.charCodeAt(s)]=s;function c(t){var e=t.length;if(e%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=t.indexOf(\"=\");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var i,a,o=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(a=i)>>18&63]+n[a>>12&63]+n[a>>6&63]+n[63&a]);return o.join(\"\")}i[\"-\".charCodeAt(0)]=62,i[\"_\".charCodeAt(0)]=63},{}],62:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{\"./lib/rationalize\":72}],63:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],64:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{\"./lib/rationalize\":72}],65:[function(t,e,r){\"use strict\";var n=t(\"./is-rat\"),i=t(\"./lib/is-bn\"),a=t(\"./lib/num-to-bn\"),o=t(\"./lib/str-to-bn\"),s=t(\"./lib/rationalize\"),l=t(\"./div\");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c=0;var u,f;if(i(e))u=e.clone();else if(\"string\"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=a(e)}}if(n(r))u.mul(r[1]),f=r[0].clone();else if(i(r))f=r.clone();else if(\"string\"==typeof r)f=o(r);else if(r)if(r===Math.floor(r))f=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;f=a(r)}else f=a(1);c>0?u=u.ushln(c):c<0&&(f=f.ushln(-c));return s(u,f)}},{\"./div\":64,\"./is-rat\":66,\"./lib/is-bn\":70,\"./lib/num-to-bn\":71,\"./lib/rationalize\":72,\"./lib/str-to-bn\":73}],66:[function(t,e,r){\"use strict\";var n=t(\"./lib/is-bn\");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{\"./lib/is-bn\":70}],67:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return t.cmp(new n(0))}},{\"bn.js\":81}],68:[function(t,e,r){\"use strict\";var n=t(\"./bn-sign\");e.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a<e;a++){var o=r[a];i+=o*Math.pow(67108864,a)}return n(t)*i}},{\"./bn-sign\":67}],69:[function(t,e,r){\"use strict\";var n=t(\"double-bits\"),i=t(\"bit-twiddle\").countTrailingZeros;e.exports=function(t){var e=i(n.lo(t));if(e<32)return e;var r=i(n.hi(t));if(r>20)return 52;return r+32}},{\"bit-twiddle\":79,\"double-bits\":151}],70:[function(t,e,r){\"use strict\";t(\"bn.js\");e.exports=function(t){return t&&\"object\"==typeof t&&Boolean(t.words)}},{\"bn.js\":81}],71:[function(t,e,r){\"use strict\";var n=t(\"bn.js\"),i=t(\"double-bits\");e.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{\"bn.js\":81,\"double-bits\":151}],72:[function(t,e,r){\"use strict\";var n=t(\"./num-to-bn\"),i=t(\"./bn-sign\");e.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{\"./bn-sign\":67,\"./num-to-bn\":71}],73:[function(t,e,r){\"use strict\";var n=t(\"bn.js\");e.exports=function(t){return new n(t)}},{\"bn.js\":81}],74:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{\"./lib/rationalize\":72}],75:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-sign\");e.exports=function(t){return n(t[0])*n(t[1])}},{\"./lib/bn-sign\":67}],76:[function(t,e,r){\"use strict\";var n=t(\"./lib/rationalize\");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{\"./lib/rationalize\":72}],77:[function(t,e,r){\"use strict\";var n=t(\"./lib/bn-to-num\"),i=t(\"./lib/ctz\");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4,f=n(l.ushln(u).divRound(r));return c*(s+f*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53,f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):(f*=Math.pow(2,-1023),c*f*Math.pow(2,1023-h))}},{\"./lib/bn-to-num\":68,\"./lib/ctz\":69}],78:[function(t,e,r){\"use strict\";function n(t,e,r,n,i,a){var o=[\"function \",t,\"(a,l,h,\",n.join(\",\"),\"){\",a?\"\":\"var i=\",r?\"l-1\":\"h+1\",\";while(l<=h){var m=(l+h)>>>1,x=a\",i?\".get(m)\":\"[m]\"];return a?e.indexOf(\"c\")<0?o.push(\";if(x===y){return m}else if(x<=y){\"):o.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\"):o.push(\";if(\",e,\"){i=m;\"),r?o.push(\"l=m+1}else{h=m-1}\"):o.push(\"h=m-1}else{l=m+1}\"),o.push(\"}\"),a?o.push(\"return -1};\"):o.push(\"return i};\"),o.join(\"\")}function i(t,e,r,i){return new Function([n(\"A\",\"x\"+t+\"y\",e,[\"y\"],!1,i),n(\"B\",\"x\"+t+\"y\",e,[\"y\"],!0,i),n(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!1,i),n(\"Q\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],!0,i),\"function dispatchBsearch\",r,\"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch\",r].join(\"\"))()}e.exports={ge:i(\">=\",!1,\"GE\"),gt:i(\">\",!1,\"GT\"),lt:i(\"<\",!0,\"LT\"),le:i(\"<=\",!0,\"LE\"),eq:i(\"-\",!0,\"EQ\",!0)}},{}],79:[function(t,e,r){\"use strict\";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var i=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(i),r.reverse=function(t){return i[255&t]<<24|i[t>>>8&255]<<16|i[t>>>16&255]<<8|i[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],80:[function(t,e,r){\"use strict\";var n=t(\"clamp\");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,f,h,p,d,g,m=null==e.cutoff?.25:e.cutoff,v=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error(\"For raw data width and height should be provided by options\");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext(\"2d\"),r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t.canvas,f=t,r=h.width,o=h.height,p=f.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d<g;d++)l[d]=c[d*u+y]/255;else if(1!==u)throw Error(\"Raw data can have only 1 value per pixel\");var x=Array(r*o),b=Array(r*o),_=Array(s),w=Array(s),k=Array(s+1),M=Array(s);for(d=0,g=r*o;d<g;d++){var A=l[d];x[d]=1===A?0:0===A?i:Math.pow(Math.max(0,.5-A),2),b[d]=1===A?i:0===A?0:Math.pow(Math.max(0,A-.5),2)}a(x,r,o,_,w,M,k),a(b,r,o,_,w,M,k);var T=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,g=r*o;d<g;d++)T[d]=n(1-((x[d]-b[d])/v+m),0,1);return T};var i=1e20;function a(t,e,r,n,i,a,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,i,a,s,r),c=0;c<r;c++)t[c*e+l]=i[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,i,a,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(i[l])}}function o(t,e,r,n,a){r[0]=0,n[0]=-i,n[1]=+i;for(var o=1,s=0;o<a;o++){for(var l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+i}for(o=0,s=0;o<a;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:102}],81:[function(t,e,r){!function(e,r){\"use strict\";function n(t,e){if(!t)throw new Error(e||\"Assertion failed\")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&(\"le\"!==e&&\"be\"!==e||(r=e,e=10),this._init(t||0,e||10,r||\"be\"))}var o;\"object\"==typeof e?e.exports=a:r.BN=a,a.BN=a,a.wordSize=26;try{o=t(\"buffer\").Buffer}catch(t){}function s(t,e,r){for(var n=0,i=Math.min(t.length,r),a=e;a<i;a++){var o=t.charCodeAt(a)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&\"object\"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if(\"number\"==typeof t)return this._initNumber(t,e,r);if(\"object\"==typeof t)return this._initArray(t,e,r);\"hex\"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;\"-\"===(t=t.toString().replace(/\\s+/g,\"\"))[0]&&i++,16===e?this._parseHex(t,i):this._parseBase(t,e,i),\"-\"===t[0]&&(this.negative=1),this.strip(),\"le\"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),\"le\"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n(\"number\"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if(\"be\"===r)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if(\"le\"===r)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,i,a=0;for(r=t.length-6,n=0;r>=e;r-=6)i=s(t,r,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,n++);r+6!==e&&(i=s(t,e,r+6),this.words[n]|=i<<a&67108863,this.words[n+1]|=i>>>26-a&4194303),this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,c=0,u=r;u<s;u+=n)c=l(t,u,u+n,e),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var f=1;for(c=l(t,u,t.length,e),u=0;u<o;u++)f*=e;this.imuln(f),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},a.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},a.prototype.clone=function(){var t=new a(null);return this.copy(t),t},a.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?\"<BN-R: \":\"<BN: \")+this.toString(16)+\">\"};var c=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c<n;c++){for(var u=l>>>26,f=67108863&l,h=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=h;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[c]=0|f,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||\"hex\"===t){r=\"\";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);r=0!==(a=s>>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}if(t===(0|t)&&t>=2&&t<=36){var h=u[t],p=f[t];r=\"\";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[h-g.length]+g+r}for(this.isZero()&&(r=\"0\"+r);r.length%e!=0;)r=\"0\"+r;return 0!==this.negative&&(r=\"-\"+r),r}n(!1,\"Base should be between 2 and 36\")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,\"Number can only safely store up to 53 bits\"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(\"undefined\"!=typeof o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,\"byte array longer than desired length\"),n(a>0,\"Requested array length <= 0\"),this.strip();var o,s,l=\"le\"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s<a;s++)c[s]=0}else{for(s=0;s<a-i;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[a-s-1]=o}return c},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},a.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},a.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},a.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},a.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},a.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},a.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},a.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n(\"number\"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n(\"number\"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o<n.length;o++)a=(e=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&e;for(;0!==a&&o<r.length;o++)a=(e=(0|r.words[o])+a)>>26,this.words[o]=67108863&e;if(0===a&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],f=8191&u,h=u>>>13,p=0|o[1],d=8191&p,g=p>>>13,m=0|o[2],v=8191&m,y=m>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],k=8191&w,M=w>>>13,A=0|o[5],T=8191&A,S=A>>>13,E=0|o[6],C=8191&E,L=E>>>13,z=0|o[7],P=8191&z,O=z>>>13,I=0|o[8],D=8191&I,R=I>>>13,B=0|o[9],F=8191&B,N=B>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],$=8191&Z,J=Z>>>13,K=0|s[4],Q=8191&K,tt=K>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ft=8191&ut,ht=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var mt=(c+(n=Math.imul(f,V))|0)+((8191&(i=(i=Math.imul(f,U))+Math.imul(h,V)|0))<<13)|0;c=((a=Math.imul(h,U))+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(d,V),i=(i=Math.imul(d,U))+Math.imul(g,V)|0,a=Math.imul(g,U);var vt=(c+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;c=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(v,V),i=(i=Math.imul(v,U))+Math.imul(y,V)|0,a=Math.imul(y,U),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(g,H)|0,a=a+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;c=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),i=(i=Math.imul(b,U))+Math.imul(_,V)|0,a=Math.imul(_,U),n=n+Math.imul(v,H)|0,i=(i=i+Math.imul(v,G)|0)+Math.imul(y,H)|0,a=a+Math.imul(y,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(f,$)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(h,$)|0))<<13)|0;c=((a=a+Math.imul(h,J)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),i=(i=Math.imul(k,U))+Math.imul(M,V)|0,a=Math.imul(M,U),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(v,Y)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,X)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(g,$)|0,a=a+Math.imul(g,J)|0;var bt=(c+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;c=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(T,V),i=(i=Math.imul(T,U))+Math.imul(S,V)|0,a=Math.imul(S,U),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,G)|0)+Math.imul(M,H)|0,a=a+Math.imul(M,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(v,$)|0,i=(i=i+Math.imul(v,J)|0)+Math.imul(y,$)|0,a=a+Math.imul(y,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(g,Q)|0,a=a+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;c=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(C,V),i=(i=Math.imul(C,U))+Math.imul(L,V)|0,a=Math.imul(L,U),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(k,Y)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(M,Y)|0,a=a+Math.imul(M,X)|0,n=n+Math.imul(b,$)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(_,$)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(v,Q)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(y,Q)|0,a=a+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,a=a+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;c=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,V),i=(i=Math.imul(P,U))+Math.imul(O,V)|0,a=Math.imul(O,U),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(k,$)|0,i=(i=i+Math.imul(k,J)|0)+Math.imul(M,$)|0,a=a+Math.imul(M,J)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(v,rt)|0,i=(i=i+Math.imul(v,nt)|0)+Math.imul(y,rt)|0,a=a+Math.imul(y,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(g,at)|0,a=a+Math.imul(g,ot)|0;var kt=(c+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ct)|0)+Math.imul(h,lt)|0))<<13)|0;c=((a=a+Math.imul(h,ct)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(D,V),i=(i=Math.imul(D,U))+Math.imul(R,V)|0,a=Math.imul(R,U),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(O,H)|0,a=a+Math.imul(O,G)|0,n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,X)|0)+Math.imul(L,Y)|0,a=a+Math.imul(L,X)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(k,Q)|0,i=(i=i+Math.imul(k,tt)|0)+Math.imul(M,Q)|0,a=a+Math.imul(M,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(v,at)|0,i=(i=i+Math.imul(v,ot)|0)+Math.imul(y,at)|0,a=a+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,a=a+Math.imul(g,ct)|0;var Mt=(c+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;c=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(F,V),i=(i=Math.imul(F,U))+Math.imul(N,V)|0,a=Math.imul(N,U),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,Y)|0,i=(i=i+Math.imul(P,X)|0)+Math.imul(O,Y)|0,a=a+Math.imul(O,X)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,i=(i=i+Math.imul(k,nt)|0)+Math.imul(M,rt)|0,a=a+Math.imul(M,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(v,lt)|0,i=(i=i+Math.imul(v,ct)|0)+Math.imul(y,lt)|0,a=a+Math.imul(y,ct)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(g,ft)|0,a=a+Math.imul(g,ht)|0;var At=(c+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,gt)|0)+Math.imul(h,dt)|0))<<13)|0;c=((a=a+Math.imul(h,gt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(F,H),i=(i=Math.imul(F,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(D,Y)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(O,$)|0,a=a+Math.imul(O,J)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(L,Q)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(k,at)|0,i=(i=i+Math.imul(k,ot)|0)+Math.imul(M,at)|0,a=a+Math.imul(M,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ct)|0,n=n+Math.imul(v,ft)|0,i=(i=i+Math.imul(v,ht)|0)+Math.imul(y,ft)|0,a=a+Math.imul(y,ht)|0;var Tt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((a=a+Math.imul(g,gt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(F,Y),i=(i=Math.imul(F,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(O,Q)|0,a=a+Math.imul(O,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,i=(i=i+Math.imul(k,ct)|0)+Math.imul(M,lt)|0,a=a+Math.imul(M,ct)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(c+(n=n+Math.imul(v,dt)|0)|0)+((8191&(i=(i=i+Math.imul(v,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((a=a+Math.imul(y,gt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(F,$),i=(i=Math.imul(F,J))+Math.imul(N,$)|0,a=Math.imul(N,J),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(O,rt)|0,a=a+Math.imul(O,nt)|0,n=n+Math.imul(C,at)|0,i=(i=i+Math.imul(C,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(k,ft)|0,i=(i=i+Math.imul(k,ht)|0)+Math.imul(M,ft)|0,a=a+Math.imul(M,ht)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((a=a+Math.imul(_,gt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(F,Q),i=(i=Math.imul(F,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(O,at)|0,a=a+Math.imul(O,ot)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ct)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Ct=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(i=(i=i+Math.imul(k,gt)|0)+Math.imul(M,dt)|0))<<13)|0;c=((a=a+Math.imul(M,gt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(F,rt),i=(i=Math.imul(F,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ct)|0)+Math.imul(O,lt)|0,a=a+Math.imul(O,ct)|0,n=n+Math.imul(C,ft)|0,i=(i=i+Math.imul(C,ht)|0)+Math.imul(L,ft)|0,a=a+Math.imul(L,ht)|0;var Lt=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,gt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(F,at),i=(i=Math.imul(F,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(P,ft)|0,i=(i=i+Math.imul(P,ht)|0)+Math.imul(O,ft)|0,a=a+Math.imul(O,ht)|0;var zt=(c+(n=n+Math.imul(C,dt)|0)|0)+((8191&(i=(i=i+Math.imul(C,gt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((a=a+Math.imul(L,gt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,n=Math.imul(F,lt),i=(i=Math.imul(F,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Pt=(c+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,gt)|0)+Math.imul(O,dt)|0))<<13)|0;c=((a=a+Math.imul(O,gt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(F,ft),i=(i=Math.imul(F,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var Ot=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(i=(i=i+Math.imul(D,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,gt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863;var It=(c+(n=Math.imul(F,dt))|0)+((8191&(i=(i=Math.imul(F,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,gt))+(i>>>13)|0)+(It>>>26)|0,It&=67108863,l[0]=mt,l[1]=vt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=kt,l[8]=Mt,l[9]=At,l[10]=Tt,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=zt,l[16]=Pt,l[17]=Ot,l[18]=It,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=h),a.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?h(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),c=Math.max(0,a-t.length+1);c<=l;c++){var u=a-c,f=(0|t.words[u])*(0|e.words[c]),h=67108863&f;s=67108863&(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h>>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},g.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<i;u+=s)for(var f=l,h=c,p=0;p<o;p++){var d=r[u+p],g=n[u+p],m=r[u+p+o],v=n[u+p+o],y=f*m-h*v;v=f*v+h*m,m=y,r[u+p]=d+m,n[u+p]=g+v,r[u+p+o]=d-m,n[u+p+o]=g-v,p!==s&&(y=l*f-c*h,h=l*h+c*f,f=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},g.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)r[o]=0;n(0===a),n(0==(-8192&a))},g.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},g.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),f=new Array(n),h=r.words;h.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,a,s,l,n,i),this.transform(c,a,u,f,n,i);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*f[p];l[p]=s[p]*f[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,h,a,n,i),this.conjugate(h,a,n),this.normalize13b(h,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},a.prototype.mul=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},a.prototype.mulf=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),d(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n(\"number\"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(t){n(\"number\"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,l=(0|this.words[e])-s<<r;this.words[e]=l|o,o=s>>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},a.prototype.iushrn=function(t,e,r){var i;n(\"number\"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=r;if(i-=o,i=Math.max(0,i),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=i);c--){var f=0|this.words[c];this.words[c]=u<<26-a|f>>>a,u=f&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r)&&!!(this.words[r]&i)},a.prototype.imaskn=function(t){n(\"number\"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,\"imaskn works only with positive numbers\"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.prototype.iaddn=function(t){return n(\"number\"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},a.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n(\"number\"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},a.prototype.addn=function(t){return this.clone().iaddn(t)},a.prototype.subn=function(t){return this.clone().isubn(t)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(t,e,r){var i,a,o=t.length+r;this._expand(o);var s=0;for(i=0;i<t.length;i++){a=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)s=(a=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!==(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if(\"mod\"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(i,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var f=l-1;f>=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),\"div\"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),\"mod\"!==e&&(i=s.div.neg()),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),\"mod\"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),\"div\"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?\"div\"===e?{div:this.divn(t.words[0]),mod:null}:\"mod\"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,\"div\",!1).div},a.prototype.mod=function(t){return this.divmod(t,\"mod\",!1).mod},a.prototype.umod=function(t){return this.divmod(t,\"mod\",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n(\"number\"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,\"Number is too big\");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},a.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},a.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new w(t)},a.prototype.toRed=function(t){return n(!this.red,\"Already a number in reduction context\"),n(0===this.negative,\"red works only with positives\"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,\"Already a number in reduction context\"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,\"redAdd works only with red numbers\"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,\"redSub works only with red numbers\"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,\"redISub works only with red numbers\"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,\"redShl works only with red numbers\"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,t)};var m={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){v.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}function x(){v.call(this,\"p224\",\"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\")}function b(){v.call(this,\"p192\",\"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\")}function _(){v.call(this,\"25519\",\"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\")}function w(t){if(\"string\"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),\"modulus must be greater than 1\"),this.m=t,this.prime=null}function k(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):r.strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(y,v),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n<r;n++)e.words[n]=t.words[n];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var i=t.words[9];for(e.words[e.length++]=4194303&i,n=10;n<t.length;n++){var a=0|t.words[n];t.words[n-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,t.words[n-10]=i,0===i&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(x,v),i(b,v),i(_,v),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(m[t])return m[t];var e;if(\"k256\"===t)e=new y;else if(\"p224\"===t)e=new x;else if(\"p192\"===t)e=new b;else{if(\"p25519\"!==t)throw new Error(\"Unknown prime \"+t);e=new _}return m[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,\"red works only with positives\"),n(t.red,\"red works only with red numbers\")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),\"red works only with positives\"),n(t.red&&t.red===e.red,\"red works only with red numbers\")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var f=this.pow(u,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var g=p,m=0;0!==g.cmp(s);m++)g=g.redSqr();n(m<d);var v=this.pow(f,new a(1).iushln(d-m-1));h=h.redMul(v),f=v.redSqr(),p=p.redMul(f),d=m}return h},w.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},w.prototype.pow=function(t,e){if(e.isZero())return new a(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var f=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,w),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(\"undefined\"==typeof e||e,this)},{buffer:90}],82:[function(t,e,r){\"use strict\";e.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),f=0;for(n=0;n<c;++n)n!==r&&(u[f++]=l[n]);if(1&r){var h=u[1];u[1]=u[0],u[0]=h}}}return o}},{}],83:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){switch(arguments.length){case 1:return n=[],c(i=t,i,u,!0),n;case 2:return\"function\"==typeof e?c(t,t,e,!0):function(t,e){return n=[],c(t,e,u,!1),n}(t,e);case 3:return c(t,e,r,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}var i};var n,i=t(\"typedarray-pool\"),a=t(\"./lib/sweep\"),o=t(\"./lib/intersect\");function s(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function l(t,e,r,n){for(var i=0,a=0,o=0,l=t.length;o<l;++o){var c=t[o];if(!s(e,c)){for(var u=0;u<2*e;++u)r[i++]=c[u];n[a++]=o}}return a}function c(t,e,r,n){var s=t.length,c=e.length;if(!(s<=0||c<=0)){var u=t[0].length>>>1;if(!(u<=0)){var f,h=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,h,p))>0){if(1===u&&n)a.init(s),f=a.sweepComplete(u,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*u*c),g=i.mallocInt32(c);(c=l(e,u,d,g))>0&&(a.init(s+c),f=1===u?a.sweepBipartite(u,r,0,s,h,p,0,c,d,g):o(u,r,n,s,h,p,c,d,g),i.free(d),i.free(g))}i.free(h),i.free(p)}return f}}}function u(t,e){n.push([t,e])}},{\"./lib/intersect\":85,\"./lib/sweep\":89,\"typedarray-pool\":519}],84:[function(t,e,r){\"use strict\";var n=\"d\",i=\"ax\",a=\"vv\",o=\"fp\",s=\"es\",l=\"rs\",c=\"re\",u=\"rb\",f=\"ri\",h=\"rp\",p=\"bs\",d=\"be\",g=\"bb\",m=\"bi\",v=\"bp\",y=\"rv\",x=\"Q\",b=[n,i,a,l,c,u,f,p,d,g,m];function _(t){var e=\"bruteForce\"+(t?\"Full\":\"Partial\"),r=[],_=b.slice();t||_.splice(3,0,o);var w=[\"function \"+e+\"(\"+_.join()+\"){\"];function k(e,o){var _=function(t,e,r){var o=\"bruteForce\"+(t?\"Red\":\"Blue\")+(e?\"Flip\":\"\")+(r?\"Full\":\"\"),_=[\"function \",o,\"(\",b.join(),\"){\",\"var \",s,\"=2*\",n,\";\"],w=\"for(var i=\"+l+\",\"+h+\"=\"+s+\"*\"+l+\";i<\"+c+\";++i,\"+h+\"+=\"+s+\"){var x0=\"+u+\"[\"+i+\"+\"+h+\"],x1=\"+u+\"[\"+i+\"+\"+h+\"+\"+n+\"],xi=\"+f+\"[i];\",k=\"for(var j=\"+p+\",\"+v+\"=\"+s+\"*\"+p+\";j<\"+d+\";++j,\"+v+\"+=\"+s+\"){var y0=\"+g+\"[\"+i+\"+\"+v+\"],\"+(r?\"y1=\"+g+\"[\"+i+\"+\"+v+\"+\"+n+\"],\":\"\")+\"yi=\"+m+\"[j];\";return t?_.push(w,x,\":\",k):_.push(k,x,\":\",w),r?_.push(\"if(y1<x0||x1<y0)continue;\"):e?_.push(\"if(y0<=x0||x1<y0)continue;\"):_.push(\"if(y0<x0||x1<y0)continue;\"),_.push(\"for(var k=\"+i+\"+1;k<\"+n+\";++k){var r0=\"+u+\"[k+\"+h+\"],r1=\"+u+\"[k+\"+n+\"+\"+h+\"],b0=\"+g+\"[k+\"+v+\"],b1=\"+g+\"[k+\"+n+\"+\"+v+\"];if(r1<b0||b1<r0)continue \"+x+\";}var \"+y+\"=\"+a+\"(\"),e?_.push(\"yi,xi\"):_.push(\"xi,yi\"),_.push(\");if(\"+y+\"!==void 0)return \"+y+\";}}}\"),{name:o,code:_.join(\"\")}}(e,o,t);r.push(_.code),w.push(\"return \"+_.name+\"(\"+b.join()+\");\")}w.push(\"if(\"+c+\"-\"+l+\">\"+d+\"-\"+p+\"){\"),t?(k(!0,!1),w.push(\"}else{\"),k(!1,!1)):(w.push(\"if(\"+o+\"){\"),k(!0,!0),w.push(\"}else{\"),k(!0,!1),w.push(\"}}else{if(\"+o+\"){\"),k(!1,!0),w.push(\"}else{\"),k(!1,!1),w.push(\"}\")),w.push(\"}}return \"+e);var M=r.join(\"\")+w.join(\"\");return new Function(M)()}r.partial=_(!1),r.full=_(!0)},{}],85:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a,u,S,E,C,L){!function(t,e){var r=8*i.log2(e+1)*(t+1)|0,a=i.nextPow2(b*r);w.length<a&&(n.free(w),w=n.mallocInt32(a));var o=i.nextPow2(_*r);k<o&&(n.free(k),k=n.mallocDouble(o))}(t,a+E);var z,P=0,O=2*t;M(P++,0,0,a,0,E,r?16:0,-1/0,1/0),r||M(P++,0,0,E,0,a,1,-1/0,1/0);for(;P>0;){var I=(P-=1)*b,D=w[I],R=w[I+1],B=w[I+2],F=w[I+3],N=w[I+4],j=w[I+5],V=P*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),W=u,Y=S,X=C,Z=L;if(H&&(W=C,Y=L,X=u,Z=S),!(2&j&&(B=m(t,D,R,B,W,Y,q),R>=B)||4&j&&(R=v(t,D,R,B,W,Y,U))>=B)){var $=B-R,J=N-F;if(G){if(t*$*($+J)<p){if(void 0!==(z=l.scanComplete(t,D,e,R,B,W,Y,F,N,X,Z)))return z;continue}}else{if(t*Math.min($,J)<f){if(void 0!==(z=o(t,D,e,H,R,B,W,Y,F,N,X,Z)))return z;continue}if(t*$*J<h){if(void 0!==(z=l.scanBipartite(t,D,e,H,R,B,W,Y,F,N,X,Z)))return z;continue}}var K=d(t,D,R,B,W,Y,U,q);if(R<K)if(t*(K-R)<f){if(void 0!==(z=s(t,D+1,e,R,K,W,Y,F,N,X,Z)))return z}else if(D===t-2){if(void 0!==(z=H?l.sweepBipartite(t,e,F,N,X,Z,R,K,W,Y):l.sweepBipartite(t,e,R,K,W,Y,F,N,X,Z)))return z}else M(P++,D+1,R,K,F,N,H,-1/0,1/0),M(P++,D+1,F,N,R,K,1^H,-1/0,1/0);if(K<B){var Q=c(t,D,F,N,X,Z),tt=X[O*Q+D],et=g(t,D,Q,N,X,Z,tt);if(et<N&&M(P++,D,K,B,et,N,(4|H)+(G?16:0),tt,q),F<Q&&M(P++,D,K,B,F,Q,(2|H)+(G?16:0),U,tt),Q+1===et){if(void 0!==(z=G?T(t,D,e,K,B,W,Y,Q,X,Z[Q]):A(t,D,e,H,K,B,W,Y,Q,X,Z[Q])))return z}else if(Q<et){var rt;if(G){if(rt=y(t,D,K,B,W,Y,tt),K<rt){var nt=g(t,D,K,rt,W,Y,tt);if(D===t-2){if(K<nt&&void 0!==(z=l.sweepComplete(t,e,K,nt,W,Y,Q,et,X,Z)))return z;if(nt<rt&&void 0!==(z=l.sweepBipartite(t,e,nt,rt,W,Y,Q,et,X,Z)))return z}else K<nt&&M(P++,D+1,K,nt,Q,et,16,-1/0,1/0),nt<rt&&(M(P++,D+1,nt,rt,Q,et,0,-1/0,1/0),M(P++,D+1,Q,et,nt,rt,1,-1/0,1/0))}}else rt=H?x(t,D,K,B,W,Y,tt):y(t,D,K,B,W,Y,tt),K<rt&&(D===t-2?z=H?l.sweepBipartite(t,e,Q,et,X,Z,K,rt,W,Y):l.sweepBipartite(t,e,K,rt,W,Y,Q,et,X,Z):(M(P++,D+1,K,rt,Q,et,H,-1/0,1/0),M(P++,D+1,Q,et,K,rt,1^H,-1/0,1/0)))}}}}};var n=t(\"typedarray-pool\"),i=t(\"bit-twiddle\"),a=t(\"./brute\"),o=a.partial,s=a.full,l=t(\"./sweep\"),c=t(\"./median\"),u=t(\"./partition\"),f=128,h=1<<22,p=1<<22,d=u(\"!(lo>=p0)&&!(p1>=hi)\",[\"p0\",\"p1\"]),g=u(\"lo===p0\",[\"p0\"]),m=u(\"lo<p0\",[\"p0\"]),v=u(\"hi<=p0\",[\"p0\"]),y=u(\"lo<=p0&&p0<=hi\",[\"p0\"]),x=u(\"lo<p0&&p0<=hi\",[\"p0\"]),b=6,_=2,w=n.mallocInt32(1024),k=n.mallocDouble(1024);function M(t,e,r,n,i,a,o,s,l){var c=b*t;w[c]=e,w[c+1]=r,w[c+2]=n,w[c+3]=i,w[c+4]=a,w[c+5]=o;var u=_*t;k[u]=s,k[u+1]=l}function A(t,e,r,n,i,a,o,s,l,c,u){var f=2*t,h=l*f,p=c[h+e];t:for(var d=i,g=i*f;d<a;++d,g+=f){var m=o[g+e],v=o[g+e+t];if(!(p<m||v<p)&&(!n||p!==m)){for(var y,x=s[d],b=e+1;b<t;++b){m=o[g+b],v=o[g+b+t];var _=c[h+b],w=c[h+b+t];if(v<_||w<m)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function T(t,e,r,n,i,a,o,s,l,c){var u=2*t,f=s*u,h=l[f+e];t:for(var p=n,d=n*u;p<i;++p,d+=u){var g=o[p];if(g!==c){var m=a[d+e],v=a[d+e+t];if(!(h<m||v<h)){for(var y=e+1;y<t;++y){m=a[d+y],v=a[d+y+t];var x=l[f+y],b=l[f+y+t];if(v<x||b<m)continue t}var _=r(g,c);if(void 0!==_)return _}}}}},{\"./brute\":84,\"./median\":86,\"./partition\":87,\"./sweep\":89,\"bit-twiddle\":79,\"typedarray-pool\":519}],86:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,o,s,l){if(o<=r+1)return r;var c=r,u=o,f=o+r>>>1,h=2*t,p=f,d=s[h*f+e];for(;c<u;){if(u-c<i){a(t,e,c,u,s,l),d=s[h*f+e];break}var g=u-c,m=Math.random()*g+c|0,v=s[h*m+e],y=Math.random()*g+c|0,x=s[h*y+e],b=Math.random()*g+c|0,_=s[h*b+e];v<=x?_>=x?(p=y,d=x):v>=_?(p=m,d=v):(p=b,d=_):x>=_?(p=y,d=x):_>=v?(p=m,d=v):(p=b,d=_);for(var w=h*(u-1),k=h*p,M=0;M<h;++M,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var T=l[u-1];l[u-1]=l[p],l[p]=T,p=n(t,e,c,u-1,s,l,d);for(var w=h*(u-1),k=h*p,M=0;M<h;++M,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var T=l[u-1];if(l[u-1]=l[p],l[p]=T,f<p){for(u=p-1;c<u&&s[h*(u-1)+e]===d;)u-=1;u+=1}else{if(!(p<f))break;for(c=p+1;c<u&&s[h*c+e]===d;)c+=1}}return n(t,e,r,f,s,l,s[h*f+e])};var n=t(\"./partition\")(\"lo<p0\",[\"p0\"]),i=8;function a(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=i[s],u=l,f=o*(l-1);u>r&&i[f+e]>c;--u,f-=o){for(var h=f,p=f+o,d=0;d<o;++d,++h,++p){var g=i[h];i[h]=i[p],i[p]=g}var m=a[u];a[u]=a[u-1],a[u-1]=m}}},{\"./partition\":87}],87:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=\"abcdef\".split(\"\").concat(e),i=[];t.indexOf(\"lo\")>=0&&i.push(\"lo=e[k+n]\");t.indexOf(\"hi\")>=0&&i.push(\"hi=e[k+o]\");return r.push(n.replace(\"_\",i.join()).replace(\"$\",t)),Function.apply(void 0,r)};var n=\"for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m\"},{}],88:[function(t,e,r){\"use strict\";e.exports=function(t,e){e<=4*n?i(0,e-1,t):function t(e,r,f){var h=(r-e+1)/6|0,p=e+h,d=r-h,g=e+r>>1,m=g-h,v=g+h,y=p,x=m,b=g,_=v,w=d,k=e+1,M=r-1,A=0;c(y,x,f)&&(A=y,y=x,x=A);c(_,w,f)&&(A=_,_=w,w=A);c(y,b,f)&&(A=y,y=b,b=A);c(x,b,f)&&(A=x,x=b,b=A);c(y,_,f)&&(A=y,y=_,_=A);c(b,_,f)&&(A=b,b=_,_=A);c(x,w,f)&&(A=x,x=w,w=A);c(x,b,f)&&(A=x,x=b,b=A);c(_,w,f)&&(A=_,_=w,w=A);var T=f[2*x];var S=f[2*x+1];var E=f[2*_];var C=f[2*_+1];var L=2*y;var z=2*b;var P=2*w;var O=2*p;var I=2*g;var D=2*d;for(var R=0;R<2;++R){var B=f[L+R],F=f[z+R],N=f[P+R];f[O+R]=B,f[I+R]=F,f[D+R]=N}o(m,e,f);o(v,r,f);for(var j=k;j<=M;++j)if(u(j,T,S,f))j!==k&&a(j,k,f),++k;else if(!u(j,E,C,f))for(;;){if(u(M,E,C,f)){u(M,T,S,f)?(s(j,k,M,f),++k,--M):(a(j,M,f),--M);break}if(--M<j)break}l(e,k-1,T,S,f);l(r,M+1,E,C,f);k-2-e<=n?i(e,k-2,f):t(e,k-2,f);r-(M+2)<=n?i(M+2,r,f):t(M+2,r,f);M-k<=n?i(k,M,f):t(k,M,f)}(0,e-1,t)};var n=32;function i(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(c<a)break;if(c===a&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=a,r[l+1]=o}}function a(t,e,r){e*=2;var n=r[t*=2],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function o(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){e*=2,r*=2;var i=n[t*=2],a=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=i,n[r+1]=a}function l(t,e,r,n,i){e*=2,i[t*=2]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function c(t,e,r){e*=2;var n=r[t*=2],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function u(t,e,r,n){var i=n[t*=2];return i<e||i===e&&n[t+1]<r}},{}],89:[function(t,e,r){\"use strict\";e.exports={init:function(t){var e=i.nextPow2(t);s.length<e&&(n.free(s),s=n.mallocInt32(e));l.length<e&&(n.free(l),l=n.mallocInt32(e));c.length<e&&(n.free(c),c=n.mallocInt32(e));u.length<e&&(n.free(u),u=n.mallocInt32(e));f.length<e&&(n.free(f),f=n.mallocInt32(e));h.length<e&&(n.free(h),h=n.mallocInt32(e));var r=8*e;p.length<r&&(n.free(p),p=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,i,f,h,m,v,y){for(var x=0,b=2*t,_=t-1,w=b-1,k=r;k<n;++k){var M=f[k],A=b*k;p[x++]=i[A+_],p[x++]=-(M+1),p[x++]=i[A+w],p[x++]=M}for(var k=h;k<m;++k){var M=y[k]+o,T=b*k;p[x++]=v[T+_],p[x++]=-M,p[x++]=v[T+w],p[x++]=M}var S=x>>>1;a(p,S);for(var E=0,C=0,k=0;k<S;++k){var L=0|p[2*k+1];if(L>=o)d(c,u,C--,L=L-o|0);else if(L>=0)d(s,l,E--,L);else if(L<=-o){L=-L-o|0;for(var z=0;z<E;++z){var P=e(s[z],L);if(void 0!==P)return P}g(c,u,C++,L)}else{L=-L-1|0;for(var z=0;z<C;++z){var P=e(L,c[z]);if(void 0!==P)return P}g(s,l,E++,L)}}},sweepComplete:function(t,e,r,n,i,o,m,v,y,x){for(var b=0,_=2*t,w=t-1,k=_-1,M=r;M<n;++M){var A=o[M]+1<<1,T=_*M;p[b++]=i[T+w],p[b++]=-A,p[b++]=i[T+k],p[b++]=A}for(var M=m;M<v;++M){var A=x[M]+1<<1,S=_*M;p[b++]=y[S+w],p[b++]=1|-A,p[b++]=y[S+k],p[b++]=1|A}var E=b>>>1;a(p,E);for(var C=0,L=0,z=0,M=0;M<E;++M){var P=0|p[2*M+1],O=1&P;if(M<E-1&&P>>1==p[2*M+3]>>1&&(O=2,M+=1),P<0){for(var I=-(P>>1)-1,D=0;D<z;++D){var R=e(f[D],I);if(void 0!==R)return R}if(0!==O)for(var D=0;D<C;++D){var R=e(s[D],I);if(void 0!==R)return R}if(1!==O)for(var D=0;D<L;++D){var R=e(c[D],I);if(void 0!==R)return R}0===O?g(s,l,C++,I):1===O?g(c,u,L++,I):2===O&&g(f,h,z++,I)}else{var I=(P>>1)-1;0===O?d(s,l,C--,I):1===O?d(c,u,L--,I):2===O&&d(f,h,z--,I)}}},scanBipartite:function(t,e,r,n,i,c,u,f,h,m,v,y){var x=0,b=2*t,_=e,w=e+t,k=1,M=1;n?M=o:k=o;for(var A=i;A<c;++A){var T=A+k,S=b*A;p[x++]=u[S+_],p[x++]=-T,p[x++]=u[S+w],p[x++]=T}for(var A=h;A<m;++A){var T=A+M,E=b*A;p[x++]=v[E+_],p[x++]=-T}var C=x>>>1;a(p,C);for(var L=0,A=0;A<C;++A){var z=0|p[2*A+1];if(z<0){var T=-z,P=!1;if(T>=o?(P=!n,T-=o):(P=!!n,T-=1),P)g(s,l,L++,T);else{var O=y[T],I=b*T,D=v[I+e+1],R=v[I+e+1+t];t:for(var B=0;B<L;++B){var F=s[B],N=b*F;if(!(R<u[N+e+1]||u[N+e+1+t]<D)){for(var j=e+2;j<t;++j)if(v[I+j+t]<u[N+j]||u[N+j+t]<v[I+j])continue t;var V,U=f[F];if(void 0!==(V=n?r(O,U):r(U,O)))return V}}}}else d(s,l,L--,z-k)}},scanComplete:function(t,e,r,n,i,l,c,u,f,h,d){for(var g=0,m=2*t,v=e,y=e+t,x=n;x<i;++x){var b=x+o,_=m*x;p[g++]=l[_+v],p[g++]=-b,p[g++]=l[_+y],p[g++]=b}for(var x=u;x<f;++x){var b=x+1,w=m*x;p[g++]=h[w+v],p[g++]=-b}var k=g>>>1;a(p,k);for(var M=0,x=0;x<k;++x){var A=0|p[2*x+1];if(A<0){var b=-A;if(b>=o)s[M++]=b-o;else{var T=d[b-=1],S=m*b,E=h[S+e+1],C=h[S+e+1+t];t:for(var L=0;L<M;++L){var z=s[L],P=c[z];if(P===T)break;var O=m*z;if(!(C<l[O+e+1]||l[O+e+1+t]<E)){for(var I=e+2;I<t;++I)if(h[S+I+t]<l[O+I]||l[O+I+t]<h[S+I])continue t;var D=r(P,T);if(void 0!==D)return D}}}}else{for(var b=A-o,L=M-1;L>=0;--L)if(s[L]===b){for(var I=L+1;I<M;++I)s[I-1]=s[I];break}--M}}}};var n=t(\"typedarray-pool\"),i=t(\"bit-twiddle\"),a=t(\"./sort\"),o=1<<28,s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),f=n.mallocInt32(1024),h=n.mallocInt32(1024),p=n.mallocDouble(8192);function d(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function g(t,e,r,n){t[r]=n,e[n]=r}},{\"./sort\":88,\"bit-twiddle\":79,\"typedarray-pool\":519}],90:[function(t,e,r){},{}],91:[function(t,e,r){var n=Object.create||function(t){var e=function(){};return e.prototype=t,new e},i=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return r},a=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,\"_events\")||(this._events=n(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var s,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,\"x\",{value:0}),s=0===c.x}catch(t){s=!1}function u(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function f(t,e,r,i){var a,o,s;if(\"function\"!=typeof r)throw new TypeError('\"listener\" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit(\"newListener\",e,r.listener?r.listener:r),o=t._events),s=o[e]):(o=t._events=n(null),t._eventsCount=0),s){if(\"function\"==typeof s?s=o[e]=i?[r,s]:[s,r]:i?s.unshift(r):s.push(r),!s.warned&&(a=u(t))&&a>0&&s.length>a){s.warned=!0;var l=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+' \"'+String(e)+'\" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name=\"MaxListenersExceededWarning\",l.emitter=t,l.type=e,l.count=s.length,\"object\"==typeof console&&console.warn&&console.warn(\"%s: %s\",l.name,l.message)}}else s=o[e]=r,++t._eventsCount;return t}function h(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e<t.length;++e)t[e]=arguments[e];this.listener.apply(this.target,t)}}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=a.call(h,n);return i.listener=r,n.wrapFn=i,i}function d(t,e,r){var n=t._events;if(!n)return[];var i=n[e];return i?\"function\"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(i):m(i,i.length):[]}function g(t){var e=this._events;if(e){var r=e[t];if(\"function\"==typeof r)return 1;if(r)return r.length}return 0}function m(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}s?Object.defineProperty(o,\"defaultMaxListeners\",{enumerable:!0,get:function(){return l},set:function(t){if(\"number\"!=typeof t||t<0||t!=t)throw new TypeError('\"defaultMaxListeners\" must be a positive number');l=t}}):o.defaultMaxListeners=l,o.prototype.setMaxListeners=function(t){if(\"number\"!=typeof t||t<0||isNaN(t))throw new TypeError('\"n\" argument must be a positive number');return this._maxListeners=t,this},o.prototype.getMaxListeners=function(){return u(this)},o.prototype.emit=function(t){var e,r,n,i,a,o,s=\"error\"===t;if(o=this._events)s=s&&null==o.error;else if(!s)return!1;if(s){if(arguments.length>1&&(e=arguments[1]),e instanceof Error)throw e;var l=new Error('Unhandled \"error\" event. ('+e+\")\");throw l.context=e,l}if(!(r=o[t]))return!1;var c=\"function\"==typeof r;switch(n=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var n=t.length,i=m(t,n),a=0;a<n;++a)i[a].call(r)}(r,c,this);break;case 2:!function(t,e,r,n){if(e)t.call(r,n);else for(var i=t.length,a=m(t,i),o=0;o<i;++o)a[o].call(r,n)}(r,c,this,arguments[1]);break;case 3:!function(t,e,r,n,i){if(e)t.call(r,n,i);else for(var a=t.length,o=m(t,a),s=0;s<a;++s)o[s].call(r,n,i)}(r,c,this,arguments[1],arguments[2]);break;case 4:!function(t,e,r,n,i,a){if(e)t.call(r,n,i,a);else for(var o=t.length,s=m(t,o),l=0;l<o;++l)s[l].call(r,n,i,a)}(r,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(n-1),a=1;a<n;a++)i[a-1]=arguments[a];!function(t,e,r,n){if(e)t.apply(r,n);else for(var i=t.length,a=m(t,i),o=0;o<i;++o)a[o].apply(r,n)}(r,c,this,i)}return!0},o.prototype.addListener=function(t,e){return f(this,t,e,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(t,e){return f(this,t,e,!0)},o.prototype.once=function(t,e){if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');return this.on(t,p(this,t,e)),this},o.prototype.prependOnceListener=function(t,e){if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');return this.prependListener(t,p(this,t,e)),this},o.prototype.removeListener=function(t,e){var r,i,a,o,s;if(\"function\"!=typeof e)throw new TypeError('\"listener\" argument must be a function');if(!(i=this._events))return this;if(!(r=i[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=n(null):(delete i[t],i.removeListener&&this.emit(\"removeListener\",t,r.listener||e));else if(\"function\"!=typeof r){for(a=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,a=o;break}if(a<0)return this;0===a?r.shift():function(t,e){for(var r=e,n=r+1,i=t.length;n<i;r+=1,n+=1)t[r]=t[n];t.pop()}(r,a),1===r.length&&(i[t]=r[0]),i.removeListener&&this.emit(\"removeListener\",t,s||e)}return this},o.prototype.removeAllListeners=function(t){var e,r,a;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=n(null),this._eventsCount=0):r[t]&&(0==--this._eventsCount?this._events=n(null):delete r[t]),this;if(0===arguments.length){var o,s=i(r);for(a=0;a<s.length;++a)\"removeListener\"!==(o=s[a])&&this.removeAllListeners(o);return this.removeAllListeners(\"removeListener\"),this._events=n(null),this._eventsCount=0,this}if(\"function\"==typeof(e=r[t]))this.removeListener(t,e);else if(e)for(a=e.length-1;a>=0;a--)this.removeListener(t,e[a]);return this},o.prototype.listeners=function(t){return d(this,t,!0)},o.prototype.rawListeners=function(t){return d(this,t,!1)},o.listenerCount=function(t,e){return\"function\"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},o.prototype.listenerCount=g,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],92:[function(t,e,r){\"use strict\";var n=t(\"base64-js\"),i=t(\"ieee754\");r.Buffer=s,r.SlowBuffer=function(t){+t!=t&&(t=0);return s.alloc(+t)},r.INSPECT_MAX_BYTES=50;var a=2147483647;function o(t){if(t>a)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"');var e=new Uint8Array(t);return e.__proto__=s.prototype,e}function s(t,e,r){if(\"number\"==typeof t){if(\"string\"==typeof e)throw new TypeError('The \"string\" argument must be of type string. Received type number');return u(t)}return l(t,e,r)}function l(t,e,r){if(\"string\"==typeof t)return function(t,e){\"string\"==typeof e&&\"\"!==e||(e=\"utf8\");if(!s.isEncoding(e))throw new TypeError(\"Unknown encoding: \"+e);var r=0|p(t,e),n=o(r),i=n.write(t,e);i!==r&&(n=n.slice(0,i));return n}(t,e);if(ArrayBuffer.isView(t))return f(t);if(null==t)throw TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t);if(j(t,ArrayBuffer)||t&&j(t.buffer,ArrayBuffer))return function(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('\"offset\" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('\"length\" is outside of buffer bounds');var n;n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r);return n.__proto__=s.prototype,n}(t,e,r);if(\"number\"==typeof t)throw new TypeError('The \"value\" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return s.from(n,e,r);var i=function(t){if(s.isBuffer(t)){var e=0|h(t.length),r=o(e);return 0===r.length?r:(t.copy(r,0,0,e),r)}if(void 0!==t.length)return\"number\"!=typeof t.length||V(t.length)?o(0):f(t);if(\"Buffer\"===t.type&&Array.isArray(t.data))return f(t.data)}(t);if(i)return i;if(\"undefined\"!=typeof Symbol&&null!=Symbol.toPrimitive&&\"function\"==typeof t[Symbol.toPrimitive])return s.from(t[Symbol.toPrimitive](\"string\"),e,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof t)}function c(t){if(\"number\"!=typeof t)throw new TypeError('\"size\" argument must be of type number');if(t<0)throw new RangeError('The value \"'+t+'\" is invalid for option \"size\"')}function u(t){return c(t),o(t<0?0:0|h(t))}function f(t){for(var e=t.length<0?0:0|h(t.length),r=o(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function h(t){if(t>=a)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+a.toString(16)+\" bytes\");return 0|t}function p(t,e){if(s.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||j(t,ArrayBuffer))return t.byteLength;if(\"string\"!=typeof t)throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return B(t).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*r;case\"hex\":return r>>>1;case\"base64\":return F(t).length;default:if(i)return n?-1:B(t).length;e=(\"\"+e).toLowerCase(),i=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,e,r,n,i){if(0===t.length)return-1;if(\"string\"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),V(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if(\"string\"==typeof e&&(e=s.from(e,n)),s.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,i);if(\"number\"==typeof e)return e&=255,\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function m(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&(\"ucs2\"===(n=String(n).toLowerCase())||\"ucs-2\"===n||\"utf16le\"===n||\"utf-16le\"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;a<s;a++)if(c(t,a)===c(e,-1===u?0:a-u)){if(-1===u&&(u=a),a-u+1===l)return u*o}else-1!==u&&(a-=a-u),u=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h<l;h++)if(c(t,a+h)!==c(e,h)){f=!1;break}if(f)return a}return-1}function v(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=e.length;n>a/2&&(n=a/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(V(s))return o;t[r+o]=s}return o}function y(t,e,r,n){return N(B(e,t.length-r),t,r,n)}function x(t,e,r,n){return N(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function b(t,e,r,n){return x(t,e,r,n)}function _(t,e,r,n){return N(F(e),t,r,n)}function w(t,e,r,n){return N(function(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function M(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a,o,s,l,c=t[i],u=null,f=c>239?4:c>223?3:c>191?2:1;if(i+f<=r)switch(f){case 1:c<128&&(u=c);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,f=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),i+=f}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);var r=\"\",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=A));return r}(n)}r.kMaxLength=a,s.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()}catch(t){return!1}}(),s.TYPED_ARRAY_SUPPORT||\"undefined\"==typeof console||\"function\"!=typeof console.error||console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\"),Object.defineProperty(s.prototype,\"parent\",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,\"offset\",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}}),\"undefined\"!=typeof Symbol&&null!=Symbol.species&&s[Symbol.species]===s&&Object.defineProperty(s,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),s.poolSize=8192,s.from=function(t,e,r){return l(t,e,r)},s.prototype.__proto__=Uint8Array.prototype,s.__proto__=Uint8Array,s.alloc=function(t,e,r){return function(t,e,r){return c(t),t<=0?o(t):void 0!==e?\"string\"==typeof r?o(t).fill(e,r):o(t).fill(e):o(t)}(t,e,r)},s.allocUnsafe=function(t){return u(t)},s.allocUnsafeSlow=function(t){return u(t)},s.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==s.prototype},s.compare=function(t,e){if(j(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),j(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(t)||!s.isBuffer(e))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},s.isEncoding=function(t){switch(String(t).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},s.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===t.length)return s.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=s.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var a=t[r];if(j(a,Uint8Array)&&(a=s.from(a)),!s.isBuffer(a))throw new TypeError('\"list\" argument must be an Array of Buffers');a.copy(n,i),i+=a.length}return n},s.byteLength=p,s.prototype._isBuffer=!0,s.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var e=0;e<t;e+=2)d(this,e,e+1);return this},s.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var e=0;e<t;e+=4)d(this,e,e+3),d(this,e+1,e+2);return this},s.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var e=0;e<t;e+=8)d(this,e,e+7),d(this,e+1,e+6),d(this,e+2,e+5),d(this,e+3,e+4);return this},s.prototype.toString=function(){var t=this.length;return 0===t?\"\":0===arguments.length?M(this,0,t):function(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return\"\";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return\"\";if((r>>>=0)<=(e>>>=0))return\"\";for(t||(t=\"utf8\");;)switch(t){case\"hex\":return E(this,e,r);case\"utf8\":case\"utf-8\":return M(this,e,r);case\"ascii\":return T(this,e,r);case\"latin1\":case\"binary\":return S(this,e,r);case\"base64\":return k(this,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return C(this,e,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+t);t=(t+\"\").toLowerCase(),n=!0}}.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError(\"Argument must be a Buffer\");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){var t=\"\",e=r.INSPECT_MAX_BYTES;return t=this.toString(\"hex\",0,e).replace(/(.{2})/g,\"$1 \").trim(),this.length>e&&(t+=\" ... \"),\"<Buffer \"+t+\">\"},s.prototype.compare=function(t,e,r,n,i){if(j(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError(\"out of range index\");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),l=Math.min(a,o),c=this.slice(n,i),u=t.slice(e,r),f=0;f<l;++f)if(c[f]!==u[f]){a=c[f],o=u[f];break}return a<o?-1:o<a?1:0},s.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},s.prototype.indexOf=function(t,e,r){return g(this,t,e,r,!0)},s.prototype.lastIndexOf=function(t,e,r){return g(this,t,e,r,!1)},s.prototype.write=function(t,e,r,n){if(void 0===e)n=\"utf8\",r=this.length,e=0;else if(void 0===r&&\"string\"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n=\"utf8\")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");n||(n=\"utf8\");for(var a=!1;;)switch(n){case\"hex\":return v(this,t,e,r);case\"utf8\":case\"utf-8\":return y(this,t,e,r);case\"ascii\":return x(this,t,e,r);case\"latin1\":case\"binary\":return b(this,t,e,r);case\"base64\":return _(this,t,e,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return w(this,t,e,r);default:if(a)throw new TypeError(\"Unknown encoding: \"+n);n=(\"\"+n).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function T(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function S(t,e,r){var n=\"\";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function E(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i=\"\",a=e;a<r;++a)i+=R(t[a]);return i}function C(t,e,r){for(var n=t.slice(e,r),i=\"\",a=0;a<n.length;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function L(t,e,r){if(t%1!=0||t<0)throw new RangeError(\"offset is not uint\");if(t+e>r)throw new RangeError(\"Trying to access beyond buffer length\")}function z(t,e,r,n,i,a){if(!s.isBuffer(t))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('\"value\" argument is out of bounds');if(r+n>t.length)throw new RangeError(\"Index out of range\")}function P(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function O(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,4),i.write(t,e,r,n,23,4),r+4}function I(t,e,r,n,a){return e=+e,r>>>=0,a||P(t,0,r,8),i.write(t,e,r,n,52,8),r+8}s.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return n.__proto__=s.prototype,n},s.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},s.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},s.prototype.readUInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),this[t]},s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},s.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||L(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},s.prototype.readInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(t,e){t>>>=0,e||L(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readFloatLE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!1,52,8)},s.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},s.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||z(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},s.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},s.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);z(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},s.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},s.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||z(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeFloatLE=function(t,e,r){return O(this,t,e,!0,r)},s.prototype.writeFloatBE=function(t,e,r){return O(this,t,e,!1,r)},s.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},s.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},s.prototype.copy=function(t,e,r,n){if(!s.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError(\"targetStart out of bounds\");if(r<0||r>=this.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"sourceEnd out of bounds\");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i=n-r;if(this===t&&\"function\"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(e,r,n);else if(this===t&&r<e&&e<n)for(var a=i-1;a>=0;--a)t[a+e]=this[a+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return i},s.prototype.fill=function(t,e,r,n){if(\"string\"==typeof t){if(\"string\"==typeof e?(n=e,e=0,r=this.length):\"string\"==typeof r&&(n=r,r=this.length),void 0!==n&&\"string\"!=typeof n)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof n&&!s.isEncoding(n))throw new TypeError(\"Unknown encoding: \"+n);if(1===t.length){var i=t.charCodeAt(0);(\"utf8\"===n&&i<128||\"latin1\"===n)&&(t=i)}}else\"number\"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError(\"Out of range index\");if(r<=e)return this;var a;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),\"number\"==typeof t)for(a=e;a<r;++a)this[a]=t;else{var o=s.isBuffer(t)?t:s.from(t,n),l=o.length;if(0===l)throw new TypeError('The value \"'+t+'\" is invalid for argument \"value\"');for(a=0;a<r-e;++a)this[a+e]=o[a%l]}return this};var D=/[^+\\/0-9A-Za-z-_]/g;function R(t){return t<16?\"0\"+t.toString(16):t.toString(16)}function B(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error(\"Invalid code point\");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function F(t){return n.toByteArray(function(t){if((t=(t=t.split(\"=\")[0]).trim().replace(D,\"\")).length<2)return\"\";for(;t.length%4!=0;)t+=\"=\";return t}(t))}function N(t,e,r,n){for(var i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function j(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}},{\"base64-js\":61,ieee754:393}],93:[function(t,e,r){\"use strict\";var n=t(\"./lib/monotone\"),i=t(\"./lib/triangulation\"),a=t(\"./lib/delaunay\"),o=t(\"./lib/filter\");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,\"delaunay\",!0),f=!!c(r,\"interior\",!0),h=!!c(r,\"exterior\",!0),p=!!c(r,\"infinity\",!1);if(!f&&!h||0===t.length)return[];var d=n(t,e);if(u||f!==h||p){for(var g=i(t.length,function(t){return t.map(s).sort(l)}(e)),m=0;m<d.length;++m){var v=d[m];g.addTriangle(v[0],v[1],v[2])}return u&&a(t,g),h?f?p?o(g,0,p):g.cells():o(g,1,p):o(g,-1)}return d}},{\"./lib/delaunay\":94,\"./lib/filter\":95,\"./lib/monotone\":96,\"./lib/triangulation\":97}],94:[function(t,e,r){\"use strict\";var n=t(\"robust-in-sphere\")[4];t(\"binary-search-bounds\");function i(t,e,r,i,a,o){var s=e.opposite(i,a);if(!(s<0)){if(a<i){var l=i;i=a,a=l,l=o,o=s,s=l}e.isConstraint(i,a)||n(t[i],t[a],t[o],t[s])<0&&r.push(i,a)}}e.exports=function(t,e){for(var r=[],a=t.length,o=e.stars,s=0;s<a;++s)for(var l=o[s],c=1;c<l.length;c+=2){var u=l[c];if(!(u<s)&&!e.isConstraint(s,u)){for(var f=l[c-1],h=-1,p=1;p<l.length;p+=2)if(l[p-1]===u){h=l[p];break}h<0||n(t[s],t[u],t[f],t[h])<0&&r.push(s,u)}}for(;r.length>0;){for(var u=r.pop(),s=r.pop(),f=-1,h=-1,l=o[s],d=1;d<l.length;d+=2){var g=l[d-1],m=l[d];g===u?h=m:m===u&&(f=g)}f<0||h<0||(n(t[s],t[u],t[f],t[h])>=0||(e.flip(s,u),i(t,e,r,f,s,h),i(t,e,r,s,h,f),i(t,e,r,h,u,f),i(t,e,r,u,f,h)))}}},{\"binary-search-bounds\":98,\"robust-in-sphere\":481}],95:[function(t,e,r){\"use strict\";var n,i=t(\"binary-search-bounds\");function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i<n;++i){var s=r[i],l=s[0],c=s[1],u=s[2];c<u?c<l&&(s[0]=c,s[1]=u,s[2]=l):u<l&&(s[0]=u,s[1]=l,s[2]=c)}r.sort(o);for(var f=new Array(n),i=0;i<f.length;++i)f[i]=0;var h=[],p=[],d=new Array(3*n),g=new Array(3*n),m=null;e&&(m=[]);for(var v=new a(r,d,g,f,h,p,m),i=0;i<n;++i)for(var s=r[i],y=0;y<3;++y){var l=s[y],c=s[(y+1)%3],x=d[3*i+y]=v.locate(c,l,t.opposite(c,l)),b=g[3*i+y]=t.isConstraint(l,c);x<0&&(b?p.push(i):(h.push(i),f[i]=1),e&&m.push([c,l,-1]))}return v}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var i=1,s=n.active,l=n.next,c=n.flags,u=n.cells,f=n.constraint,h=n.neighbor;for(;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i;u[p];for(var d=0;d<3;++d){var g=h[3*p+d];g>=0&&0===c[g]&&(f[3*p+d]?l.push(g):(s.push(g),c[g]=i))}}}var m=l;l=s,s=m,l.length=0,i=-i}var v=function(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}(u,c,e);if(r)return v.concat(n.boundary);return v},a.prototype.locate=(n=[0,0,0],function(t,e,r){var a=t,s=e,l=r;return e<r?e<t&&(a=e,s=r,l=t):r<t&&(a=r,s=t,l=e),a<0?-1:(n[0]=a,n[1]=s,n[2]=l,i.eq(this.cells,n,o))})},{\"binary-search-bounds\":98}],96:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),i=t(\"robust-orientation\")[3],a=0,o=1,s=2;function l(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function c(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function u(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==a&&(r=i(t.a,t.b,e.b))?r:t.idx-e.idx)}function f(t,e){return i(t.a,t.b,e)}function h(t,e,r,a,o){for(var s=n.lt(e,a,f),l=n.gt(e,a,f),c=s;c<l;++c){for(var u=e[c],h=u.lowerIds,p=h.length;p>1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=u.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function p(t,e){var r;return(r=t.a[0]<e.a[0]?i(t.a,t.b,e.a):i(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?i(t.a,t.b,e.b):i(e.b,e.a,t.b))||t.idx-e.idx}function d(t,e,r){var i=n.le(t,r,p),a=t[i],o=a.upperIds,s=o[o.length-1];a.upperIds=[s],t.splice(i+1,0,new l(r.a,r.b,r.idx,[s],o))}function g(t,e,r){var i=r.a;r.a=r.b,r.b=i;var a=n.eq(t,r,p),o=t[a];t[a-1].upperIds=o.upperIds,t.splice(a,1)}e.exports=function(t,e){for(var r=t.length,n=e.length,i=[],f=0;f<r;++f)i.push(new c(t[f],null,a,f));for(var f=0;f<n;++f){var p=e[f],m=t[p[0]],v=t[p[1]];m[0]<v[0]?i.push(new c(m,v,s,f),new c(v,m,o,f)):m[0]>v[0]&&i.push(new c(v,m,s,f),new c(m,v,o,f))}i.sort(u);for(var y=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),x=[new l([y,1],[y,0],-1,[],[],[],[])],b=[],f=0,_=i.length;f<_;++f){var w=i[f],k=w.type;k===a?h(b,x,t,w.a,w.idx):k===s?d(x,t,w):g(x,t,w)}return b}},{\"binary-search-bounds\":98,\"robust-orientation\":483}],97:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\");function i(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new i(r,e)};var a=i.prototype;function o(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}a.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,i){return t[0]=Math.min(r,i),t[1]=Math.max(r,i),n.eq(this.edges,t,e)>=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},a.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},a.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},a.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{\"binary-search-bounds\":98}],98:[function(t,e,r){\"use strict\";function n(t,e,r,n,i){var a=[\"function \",t,\"(a,l,h,\",n.join(\",\"),\"){\",i?\"\":\"var i=\",r?\"l-1\":\"h+1\",\";while(l<=h){var m=(l+h)>>>1,x=a[m]\"];return i?e.indexOf(\"c\")<0?a.push(\";if(x===y){return m}else if(x<=y){\"):a.push(\";var p=c(x,y);if(p===0){return m}else if(p<=0){\"):a.push(\";if(\",e,\"){i=m;\"),r?a.push(\"l=m+1}else{h=m-1}\"):a.push(\"h=m-1}else{l=m+1}\"),a.push(\"}\"),i?a.push(\"return -1};\"):a.push(\"return i};\"),a.join(\"\")}function i(t,e,r,i){return new Function([n(\"A\",\"x\"+t+\"y\",e,[\"y\"],i),n(\"P\",\"c(x,y)\"+t+\"0\",e,[\"y\",\"c\"],i),\"function dispatchBsearch\",r,\"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch\",r].join(\"\"))()}e.exports={ge:i(\">=\",!1,\"GE\"),gt:i(\">\",!1,\"GT\"),lt:i(\"<\",!0,\"LT\"),le:i(\"<=\",!0,\"LE\"),eq:i(\"-\",!0,\"EQ\",!0)}},{}],99:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],100:[function(t,e,r){\"use strict\";var n=t(\"dup\"),i=t(\"robust-linear-solve\");function a(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function o(t){var e=t.length;if(0===e)return[];t[0].length;var r=n([t.length+1,t.length+1],1),o=n([t.length+1],1);r[e][e]=0;for(var s=0;s<e;++s){for(var l=0;l<=s;++l)r[l][s]=r[s][l]=2*a(t[s],t[l]);o[s]=a(t[s],t[s])}var c=i(r,o),u=0,f=c[e+1];for(s=0;s<f.length;++s)u+=f[s];var h=new Array(e);for(s=0;s<e;++s){f=c[s];var p=0;for(l=0;l<f.length;++l)p+=f[l];h[s]=p/u}return h}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),i=o(t),a=0;a<t.length;++a)for(var s=0;s<e;++s)r[s]+=t[a][s]*i[a];return r}s.barycenetric=o,e.exports=s},{dup:154,\"robust-linear-solve\":482}],101:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,i=0;i<t.length;++i)for(var a=t[i],o=0;o<e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t(\"circumcenter\")},{circumcenter:100}],102:[function(t,e,r){e.exports=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}},{}],103:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}var s=function(t,e,r){var n=d(t,[],p(t));return v(e,n,r),!!n}(t,e,!!r);for(;y(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(var a=0;a<e.length;++a){var o=e[a];n.push([o[0],o[1]]),r.push(o[2])}}return s};var n=t(\"union-find\"),i=t(\"box-intersect\"),a=t(\"robust-segment-intersect\"),o=t(\"big-rat\"),s=t(\"big-rat/cmp\"),l=t(\"big-rat/to-float\"),c=t(\"rat-vec\"),u=t(\"nextafter\"),f=t(\"./lib/rat-seg-intersect\");function h(t){var e=l(t);return[u(e,-1/0),u(e,1/0)]}function p(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[u(n[0],-1/0),u(n[1],-1/0),u(n[0],1/0),u(n[1],1/0)]}return e}function d(t,e,r){for(var a=e.length,o=new n(a),s=[],l=0;l<e.length;++l){var c=e[l],f=h(c[0]),p=h(c[1]);s.push([u(f[0],-1/0),u(p[0],-1/0),u(f[1],1/0),u(p[1],1/0)])}i(s,function(t,e){o.link(t,e)});var d=!0,g=new Array(a);for(l=0;l<a;++l){(v=o.find(l))!==l&&(d=!1,t[v]=[Math.min(t[l][0],t[v][0]),Math.min(t[l][1],t[v][1])])}if(d)return null;var m=0;for(l=0;l<a;++l){var v;(v=o.find(l))===l?(g[l]=m,t[m++]=t[l]):g[l]=-1}t.length=m;for(l=0;l<a;++l)g[l]<0&&(g[l]=g[o.find(l)]);return g}function g(t,e){return t[0]-e[0]||t[1]-e[1]}function m(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function v(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=e[(o=t[n])[0]],a=e[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<t.length;++n){var o;i=(o=t[n])[0],a=o[1];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}r?t.sort(m):t.sort(g);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],c=t[n];(c[0]!==l[0]||c[1]!==l[1]||r&&c[2]!==l[2])&&(t[s++]=c)}t.length=s}}function y(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[u(Math.min(a[0],o[0]),-1/0),u(Math.min(a[1],o[1]),-1/0),u(Math.max(a[0],o[0]),1/0),u(Math.max(a[1],o[1]),1/0)]}return r}(t,e),h=function(t,e,r){var n=[];return i(r,function(r,i){var o=e[r],s=e[i];if(o[0]!==s[0]&&o[0]!==s[1]&&o[1]!==s[0]&&o[1]!==s[1]){var l=t[o[0]],c=t[o[1]],u=t[s[0]],f=t[s[1]];a(l,c,u,f)&&n.push([r,i])}}),n}(t,e,n),g=p(t),m=function(t,e,r,n){var o=[];return i(r,n,function(r,n){var i=e[r];if(i[0]!==n&&i[1]!==n){var s=t[n],l=t[i[0]],c=t[i[1]];a(l,c,s,s)&&o.push([r,n])}}),o}(t,e,n,g),y=d(t,function(t,e,r,n,i){var a,u,h=t.map(function(t){return[o(t[0]),o(t[1])]});for(a=0;a<r.length;++a){var p=r[a];u=p[0];var d=p[1],g=e[u],m=e[d],v=f(c(t[g[0]]),c(t[g[1]]),c(t[m[0]]),c(t[m[1]]));if(v){var y=t.length;t.push([l(v[0]),l(v[1])]),h.push(v),n.push([u,y],[d,y])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=h[t[1]],n=h[e[1]];return s(r[0],n[0])||s(r[1],n[1])}),a=n.length-1;a>=0;--a){var x=e[u=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],k=t[_];if((w[0]-k[0]||w[1]-k[1])<0){var M=b;b=_,_=M}x[0]=b;var A,T=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,E=(S=n[--a])[1];i?e.push([T,E,A]):e.push([T,E]),T=E}i?e.push([T,_,A]):e.push([T,_])}return h}(t,e,h,m,r));return v(e,y,r),!!y||(h.length>0||m.length>0)}},{\"./lib/rat-seg-intersect\":104,\"big-rat\":65,\"big-rat/cmp\":63,\"big-rat/to-float\":77,\"box-intersect\":83,nextafter:431,\"rat-vec\":466,\"robust-segment-intersect\":486,\"union-find\":520}],104:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=u(a,f);if(0===o(h))return null;var p=s(t,r),d=u(f,p),g=i(d,h),m=c(a,g);return l(t,m)};var n=t(\"big-rat/mul\"),i=t(\"big-rat/div\"),a=t(\"big-rat/sub\"),o=t(\"big-rat/sign\"),s=t(\"rat-vec/sub\"),l=t(\"rat-vec/add\"),c=t(\"rat-vec/muls\");function u(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},{\"big-rat/div\":64,\"big-rat/mul\":74,\"big-rat/sign\":75,\"big-rat/sub\":76,\"rat-vec/add\":465,\"rat-vec/muls\":467,\"rat-vec/sub\":468}],105:[function(t,e,r){\"use strict\";var n=t(\"clamp\");function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(o=255&n(o,0,255))}e.exports=i,e.exports.to=i,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},{clamp:102}],106:[function(t,e,r){\"use strict\";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],107:[function(t,e,r){\"use strict\";var n=t(\"color-rgba\"),i=t(\"clamp\"),a=t(\"dtype\");e.exports=function(t,e){\"float\"!==e&&e||(e=\"array\"),\"uint\"===e&&(e=\"uint8\"),\"uint_clamped\"===e&&(e=\"uint8_clamped\");var r=new(a(e))(4),o=\"uint8\"!==e&&\"uint8_clamped\"!==e;return t.length&&\"string\"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},{clamp:102,\"color-rgba\":109,dtype:153}],108:[function(t,e,r){(function(r){\"use strict\";var n=t(\"color-name\"),i=t(\"is-plain-obj\"),a=t(\"defined\");e.exports=function(t){var e,s,l=[],c=1;if(\"string\"==typeof t)if(n[t])l=n[t].slice(),s=\"rgb\";else if(\"transparent\"===t)c=0,s=\"rgb\",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1),f=u.length,h=f<=4;c=1,h?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===f&&(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===f&&(c=parseInt(u[6]+u[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s=\"rgb\"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(t)){var p=e[1],u=p.replace(/a$/,\"\");s=u;var f=\"cmyk\"===u?4:\"gray\"===u?1:3;l=e[2].trim().split(/\\s*,\\s*/).map(function(t,e){if(/%$/.test(t))return e===f?parseFloat(t)/100:\"rgb\"===u?255*parseFloat(t)/100:parseFloat(t);if(\"h\"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),p===u&&l.push(1),c=void 0===l[f]?1:l[f],l=l.slice(0,f)}else t.length>10&&/[0-9](?:\\s|\\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),s=t.match(/([a-z])/gi).join(\"\").toLowerCase());else if(isNaN(t))if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s=\"rgb\",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s=\"hsl\",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),c=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s=\"rgb\",c=4===t.length?t[3]:1);else s=\"rgb\",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"color-name\":106,defined:148,\"is-plain-obj\":403}],109:[function(t,e,r){\"use strict\";var n=t(\"color-parse\"),i=t(\"color-space/hsl\"),a=t(\"clamp\");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),\"h\"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},{clamp:102,\"color-parse\":108,\"color-space/hsl\":110}],110:[function(t,e,r){\"use strict\";var n=t(\"./rgb\");e.exports={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{\"./rgb\":111}],111:[function(t,e,r){\"use strict\";e.exports={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}},{}],112:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],\"rainbow-soft\":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],\"freesurface-blue\":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],\"freesurface-red\":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],\"velocity-blue\":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],\"velocity-green\":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],113:[function(t,e,r){\"use strict\";var n=t(\"./colorScale\"),i=t(\"lerp\");function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r=\"#\",n=0;n<3;++n)r+=(\"00\"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return\"rgba(\"+t.join(\",\")+\")\"}e.exports=function(t){var e,r,l,c,u,f,h,p,d,g;t||(t={});p=(t.nshades||72)-1,h=t.format||\"hex\",(f=t.colormap)||(f=\"jet\");if(\"string\"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+\" not a supported colorscale\");u=n[f]}else{if(!Array.isArray(f))throw Error(\"unsupported colormap option\",f);u=f.slice()}if(u.length>p)throw new Error(f+\" map requires nshades to be at least size \"+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():\"number\"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map(function(t){return Math.round(t.index*p)}),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var m=u.map(function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=d[0]+(d[1]-d[0])*r,n)}),v=[];for(g=0;g<e.length-1;++g){c=e[g+1]-e[g],r=m[g],l=m[g+1];for(var y=0;y<c;y++){var x=y/c;v.push([Math.round(i(r[0],l[0],x)),Math.round(i(r[1],l[1],x)),Math.round(i(r[2],l[2],x)),i(r[3],l[3],x)])}}v.push(u[u.length-1].rgb.concat(d[1])),\"hex\"===h?v=v.map(o):\"rgbaString\"===h?v=v.map(s):\"float\"===h&&(v=v.map(a));return v}},{\"./colorScale\":112,lerp:405}],114:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a){var o=n(e,r,a);if(0===o){var s=i(n(t,e,r)),c=i(n(t,e,a));if(s===c){if(0===s){var u=l(t,e,r),f=l(t,e,a);return u===f?0:u?1:-1}return 0}return 0===c?s>0?-1:l(t,e,a)?-1:1:0===s?c>0?1:l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);if(h>0)return o>0&&n(t,e,a)>0?1:-1;if(h<0)return o>0||n(t,e,a)>0?1:-1;var p=n(t,e,a);return p>0?1:l(t,e,r)?1:-1};var n=t(\"robust-orientation\"),i=t(\"signum\"),a=t(\"two-sum\"),o=t(\"robust-product\"),s=t(\"robust-sum\");function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},{\"robust-orientation\":483,\"robust-product\":484,\"robust-sum\":488,signum:489,\"two-sum\":518}],115:[function(t,e,r){e.exports=function(t,e){var r=t.length,a=t.length-e.length;if(a)return a;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(a=o+t[2]-(s+e[2]))return a;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],f=t[1],h=t[2],p=t[3],d=e[0],g=e[1],m=e[2],v=e[3];return u+f+h+p-(d+g+m+v)||n(u,f,h,p)-n(d,g,m,v,d)||n(u+f,u+h,u+p,f+h,f+p,h+p)-n(d+g,d+m,d+v,g+m,g+v,m+v)||n(u+f+h,u+f+p,u+h+p,f+h+p)-n(d+g+m,d+g+v,d+m+v,g+m+v);default:for(var y=t.slice().sort(i),x=e.slice().sort(i),b=0;b<r;++b)if(a=y[b]-x[b])return a;return 0}};var n=Math.min;function i(t,e){return t-e}},{}],116:[function(t,e,r){\"use strict\";var n=t(\"compare-cell\"),i=t(\"cell-orientation\");e.exports=function(t,e){return n(t,e)||i(t)-i(e)}},{\"cell-orientation\":99,\"compare-cell\":115}],117:[function(t,e,r){\"use strict\";var n=t(\"./lib/ch1d\"),i=t(\"./lib/ch2d\"),a=t(\"./lib/chnd\");e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;if(0===r)return[];if(1===r)return n(t);if(2===r)return i(t);return a(t,r)}},{\"./lib/ch1d\":118,\"./lib/ch2d\":119,\"./lib/chnd\":120}],118:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}},{}],119:[function(t,e,r){\"use strict\";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o<r;++o){var s=e[o];i[o]=[a,s],a=s}return i};var n=t(\"monotone-convex-hull-2d\")},{\"monotone-convex-hull-2d\":414}],120:[function(t,e,r){\"use strict\";e.exports=function(t,e){try{return n(t,!0)}catch(s){var r=i(t);if(r.length<=e)return[];var a=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];for(var a=e.length,i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}(t,r),o=n(a,!0);return function(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}(o,r)}};var n=t(\"incremental-convex-hull\"),i=t(\"affine-hull\")},{\"affine-hull\":49,\"incremental-convex-hull\":394}],121:[function(t,e,r){e.exports={AFG:\"afghan\",ALA:\"\\\\b\\\\wland\",ALB:\"albania\",DZA:\"algeria\",ASM:\"^(?=.*americ).*samoa\",AND:\"andorra\",AGO:\"angola\",AIA:\"anguill?a\",ATA:\"antarctica\",ATG:\"antigua\",ARG:\"argentin\",ARM:\"armenia\",ABW:\"^(?!.*bonaire).*\\\\baruba\",AUS:\"australia\",AUT:\"^(?!.*hungary).*austria|\\\\baustri.*\\\\bemp\",AZE:\"azerbaijan\",BHS:\"bahamas\",BHR:\"bahrain\",BGD:\"bangladesh|^(?=.*east).*paki?stan\",BRB:\"barbados\",BLR:\"belarus|byelo\",BEL:\"^(?!.*luxem).*belgium\",BLZ:\"belize|^(?=.*british).*honduras\",BEN:\"benin|dahome\",BMU:\"bermuda\",BTN:\"bhutan\",BOL:\"bolivia\",BES:\"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\\\bbes.?islands\",BIH:\"herzegovina|bosnia\",BWA:\"botswana|bechuana\",BVT:\"bouvet\",BRA:\"brazil\",IOT:\"british.?indian.?ocean\",BRN:\"brunei\",BGR:\"bulgaria\",BFA:\"burkina|\\\\bfaso|upper.?volta\",BDI:\"burundi\",CPV:\"verde\",KHM:\"cambodia|kampuchea|khmer\",CMR:\"cameroon\",CAN:\"canada\",CYM:\"cayman\",CAF:\"\\\\bcentral.african.republic\",TCD:\"\\\\bchad\",CHL:\"\\\\bchile\",CHN:\"^(?!.*\\\\bmac)(?!.*\\\\bhong)(?!.*\\\\btai)(?!.*\\\\brep).*china|^(?=.*peo)(?=.*rep).*china\",CXR:\"christmas\",CCK:\"\\\\bcocos|keeling\",COL:\"colombia\",COM:\"comoro\",COG:\"^(?!.*\\\\bdem)(?!.*\\\\bd[\\\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\\\bcongo\",COK:\"\\\\bcook\",CRI:\"costa.?rica\",CIV:\"ivoire|ivory\",HRV:\"croatia\",CUB:\"\\\\bcuba\",CUW:\"^(?!.*bonaire).*\\\\bcura(c|\\xe7)ao\",CYP:\"cyprus\",CSK:\"czechoslovakia\",CZE:\"^(?=.*rep).*czech|czechia|bohemia\",COD:\"\\\\bdem.*congo|congo.*\\\\bdem|congo.*\\\\bd[\\\\.]?r|\\\\bd[\\\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc\",DNK:\"denmark\",DJI:\"djibouti\",DMA:\"dominica(?!n)\",DOM:\"dominican.rep\",ECU:\"ecuador\",EGY:\"egypt\",SLV:\"el.?salvador\",GNQ:\"guine.*eq|eq.*guine|^(?=.*span).*guinea\",ERI:\"eritrea\",EST:\"estonia\",ETH:\"ethiopia|abyssinia\",FLK:\"falkland|malvinas\",FRO:\"faroe|faeroe\",FJI:\"fiji\",FIN:\"finland\",FRA:\"^(?!.*\\\\bdep)(?!.*martinique).*france|french.?republic|\\\\bgaul\",GUF:\"^(?=.*french).*guiana\",PYF:\"french.?polynesia|tahiti\",ATF:\"french.?southern\",GAB:\"gabon\",GMB:\"gambia\",GEO:\"^(?!.*south).*georgia\",DDR:\"german.?democratic.?republic|democratic.?republic.*germany|east.germany\",DEU:\"^(?!.*east).*germany|^(?=.*\\\\bfed.*\\\\brep).*german\",GHA:\"ghana|gold.?coast\",GIB:\"gibraltar\",GRC:\"greece|hellenic|hellas\",GRL:\"greenland\",GRD:\"grenada\",GLP:\"guadeloupe\",GUM:\"\\\\bguam\",GTM:\"guatemala\",GGY:\"guernsey\",GIN:\"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea\",GNB:\"bissau|^(?=.*portu).*guinea\",GUY:\"guyana|british.?guiana\",HTI:\"haiti\",HMD:\"heard.*mcdonald\",VAT:\"holy.?see|vatican|papal.?st\",HND:\"^(?!.*brit).*honduras\",HKG:\"hong.?kong\",HUN:\"^(?!.*austr).*hungary\",ISL:\"iceland\",IND:\"india(?!.*ocea)\",IDN:\"indonesia\",IRN:\"\\\\biran|persia\",IRQ:\"\\\\biraq|mesopotamia\",IRL:\"(^ireland)|(^republic.*ireland)\",IMN:\"^(?=.*isle).*\\\\bman\",ISR:\"israel\",ITA:\"italy\",JAM:\"jamaica\",JPN:\"japan\",JEY:\"jersey\",JOR:\"jordan\",KAZ:\"kazak\",KEN:\"kenya|british.?east.?africa|east.?africa.?prot\",KIR:\"kiribati\",PRK:\"^(?=.*democrat|people|north|d.*p.*.r).*\\\\bkorea|dprk|korea.*(d.*p.*r)\",KWT:\"kuwait\",KGZ:\"kyrgyz|kirghiz\",LAO:\"\\\\blaos?\\\\b\",LVA:\"latvia\",LBN:\"lebanon\",LSO:\"lesotho|basuto\",LBR:\"liberia\",LBY:\"libya\",LIE:\"liechtenstein\",LTU:\"lithuania\",LUX:\"^(?!.*belg).*luxem\",MAC:\"maca(o|u)\",MDG:\"madagascar|malagasy\",MWI:\"malawi|nyasa\",MYS:\"malaysia\",MDV:\"maldive\",MLI:\"\\\\bmali\\\\b\",MLT:\"\\\\bmalta\",MHL:\"marshall\",MTQ:\"martinique\",MRT:\"mauritania\",MUS:\"mauritius\",MYT:\"\\\\bmayotte\",MEX:\"\\\\bmexic\",FSM:\"fed.*micronesia|micronesia.*fed\",MCO:\"monaco\",MNG:\"mongolia\",MNE:\"^(?!.*serbia).*montenegro\",MSR:\"montserrat\",MAR:\"morocco|\\\\bmaroc\",MOZ:\"mozambique\",MMR:\"myanmar|burma\",NAM:\"namibia\",NRU:\"nauru\",NPL:\"nepal\",NLD:\"^(?!.*\\\\bant)(?!.*\\\\bcarib).*netherlands\",ANT:\"^(?=.*\\\\bant).*(nether|dutch)\",NCL:\"new.?caledonia\",NZL:\"new.?zealand\",NIC:\"nicaragua\",NER:\"\\\\bniger(?!ia)\",NGA:\"nigeria\",NIU:\"niue\",NFK:\"norfolk\",MNP:\"mariana\",NOR:\"norway\",OMN:\"\\\\boman|trucial\",PAK:\"^(?!.*east).*paki?stan\",PLW:\"palau\",PSE:\"palestin|\\\\bgaza|west.?bank\",PAN:\"panama\",PNG:\"papua|new.?guinea\",PRY:\"paraguay\",PER:\"peru\",PHL:\"philippines\",PCN:\"pitcairn\",POL:\"poland\",PRT:\"portugal\",PRI:\"puerto.?rico\",QAT:\"qatar\",KOR:\"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\\\bkorea(?!.*d.*p.*r)\",MDA:\"moldov|b(a|e)ssarabia\",REU:\"r(e|\\xe9)union\",ROU:\"r(o|u|ou)mania\",RUS:\"\\\\brussia|soviet.?union|u\\\\.?s\\\\.?s\\\\.?r|socialist.?republics\",RWA:\"rwanda\",BLM:\"barth(e|\\xe9)lemy\",SHN:\"helena\",KNA:\"kitts|\\\\bnevis\",LCA:\"\\\\blucia\",MAF:\"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)\",SPM:\"miquelon\",VCT:\"vincent\",WSM:\"^(?!.*amer).*samoa\",SMR:\"san.?marino\",STP:\"\\\\bs(a|\\xe3)o.?tom(e|\\xe9)\",SAU:\"\\\\bsa\\\\w*.?arabia\",SEN:\"senegal\",SRB:\"^(?!.*monte).*serbia\",SYC:\"seychell\",SLE:\"sierra\",SGP:\"singapore\",SXM:\"^(?!.*martin)(?!.*saba).*maarten\",SVK:\"^(?!.*cze).*slovak\",SVN:\"slovenia\",SLB:\"solomon\",SOM:\"somali\",ZAF:\"south.africa|s\\\\\\\\..?africa\",SGS:\"south.?georgia|sandwich\",SSD:\"\\\\bs\\\\w*.?sudan\",ESP:\"spain\",LKA:\"sri.?lanka|ceylon\",SDN:\"^(?!.*\\\\bs(?!u)).*sudan\",SUR:\"surinam|dutch.?guiana\",SJM:\"svalbard\",SWZ:\"swaziland\",SWE:\"sweden\",CHE:\"switz|swiss\",SYR:\"syria\",TWN:\"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china\",TJK:\"tajik\",THA:\"thailand|\\\\bsiam\",MKD:\"macedonia|fyrom\",TLS:\"^(?=.*leste).*timor|^(?=.*east).*timor\",TGO:\"togo\",TKL:\"tokelau\",TON:\"tonga\",TTO:\"trinidad|tobago\",TUN:\"tunisia\",TUR:\"turkey\",TKM:\"turkmen\",TCA:\"turks\",TUV:\"tuvalu\",UGA:\"uganda\",UKR:\"ukrain\",ARE:\"emirates|^u\\\\.?a\\\\.?e\\\\.?$|united.?arab.?em\",GBR:\"united.?kingdom|britain|^u\\\\.?k\\\\.?$\",TZA:\"tanzania\",USA:\"united.?states\\\\b(?!.*islands)|\\\\bu\\\\.?s\\\\.?a\\\\.?\\\\b|^\\\\s*u\\\\.?s\\\\.?\\\\b(?!.*islands)\",UMI:\"minor.?outlying.?is\",URY:\"uruguay\",UZB:\"uzbek\",VUT:\"vanuatu|new.?hebrides\",VEN:\"venezuela\",VNM:\"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam\",VGB:\"^(?=.*\\\\bu\\\\.?\\\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin\",VIR:\"^(?=.*\\\\bu\\\\.?\\\\s?s).*virgin|^(?=.*states).*virgin\",WLF:\"futuna|wallis\",ESH:\"western.sahara\",YEM:\"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YMD:\"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YUG:\"yugoslavia\",ZMB:\"zambia|northern.?rhodesia\",EAZ:\"zanzibar\",ZWE:\"zimbabwe|^(?!.*northern).*rhodesia\"}},{}],122:[function(t,e,r){e.exports=[\"xx-small\",\"x-small\",\"small\",\"medium\",\"large\",\"x-large\",\"xx-large\",\"larger\",\"smaller\"]},{}],123:[function(t,e,r){e.exports=[\"normal\",\"condensed\",\"semi-condensed\",\"extra-condensed\",\"ultra-condensed\",\"expanded\",\"semi-expanded\",\"extra-expanded\",\"ultra-expanded\"]},{}],124:[function(t,e,r){e.exports=[\"normal\",\"italic\",\"oblique\"]},{}],125:[function(t,e,r){e.exports=[\"normal\",\"bold\",\"bolder\",\"lighter\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"]},{}],126:[function(t,e,r){\"use strict\";e.exports={parse:t(\"./parse\"),stringify:t(\"./stringify\")}},{\"./parse\":128,\"./stringify\":129}],127:[function(t,e,r){\"use strict\";var n=t(\"css-font-size-keywords\");e.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||-1!==t.indexOf(\"/\")||-1!==n.indexOf(t)}}},{\"css-font-size-keywords\":122}],128:[function(t,e,r){\"use strict\";var n=t(\"unquote\"),i=t(\"css-global-keywords\"),a=t(\"css-system-font-keywords\"),o=t(\"css-font-weight-keywords\"),s=t(\"css-font-style-keywords\"),l=t(\"css-font-stretch-keywords\"),c=t(\"string-split-by\"),u=t(\"./lib/util\").isSize;e.exports=h;var f=h.cache={};function h(t){if(\"string\"!=typeof t)throw new Error(\"Font argument must be a string.\");if(f[t])return f[t];if(\"\"===t)throw new Error(\"Cannot parse an empty string.\");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},h=c(t,/\\s+/);e=h.shift();){if(-1!==i.indexOf(e))return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach(function(t){r[t]=e}),f[t]=r;if(-1===s.indexOf(e))if(\"normal\"!==e&&\"small-caps\"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,\"/\");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):\"/\"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error(\"Missing required font-family.\");return r.family=c(h.join(\" \"),/\\s*,\\s*/).map(n),f[t]=r}throw new Error(\"Unknown or unsupported font token: \"+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error(\"Missing required font-size.\")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},{\"./lib/util\":127,\"css-font-stretch-keywords\":123,\"css-font-style-keywords\":124,\"css-font-weight-keywords\":125,\"css-global-keywords\":130,\"css-system-font-keywords\":131,\"string-split-by\":502,unquote:522}],129:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\"),i=t(\"./lib/util\").isSize,a=g(t(\"css-global-keywords\")),o=g(t(\"css-system-font-keywords\")),s=g(t(\"css-font-weight-keywords\")),l=g(t(\"css-font-style-keywords\")),c=g(t(\"css-font-stretch-keywords\")),u={normal:1,\"small-caps\":1},f={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},h=\"1rem\",p=\"serif\";function d(t,e){if(t&&!e[t]&&!a[t])throw Error(\"Unknown keyword `\"+t+\"`\");return t}function g(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t){if((t=n(t,{style:\"style fontstyle fontStyle font-style slope distinction\",variant:\"variant font-variant fontVariant fontvariant var capitalization\",weight:\"weight w font-weight fontWeight fontweight\",stretch:\"stretch font-stretch fontStretch fontstretch width\",size:\"size s font-size fontSize fontsize height em emSize\",lineHeight:\"lh line-height lineHeight lineheight leading\",family:\"font family fontFamily font-family fontfamily type typeface face\",system:\"system reserved default global\"})).system)return t.system&&d(t.system,o),t.system;if(d(t.style,l),d(t.variant,u),d(t.weight,s),d(t.stretch,c),null==t.size&&(t.size=h),\"number\"==typeof t.size&&(t.size+=\"px\"),!i)throw Error(\"Bad size value `\"+t.size+\"`\");t.family||(t.family=p),Array.isArray(t.family)&&(t.family.length||(t.family=[p]),t.family=t.family.map(function(t){return f[t]?t:'\"'+t+'\"'}).join(\", \"));var e=[];return e.push(t.style),t.variant!==t.style&&e.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&e.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&e.push(t.stretch),e.push(t.size+(null==t.lineHeight||\"normal\"===t.lineHeight||t.lineHeight+\"\"==\"1\"?\"\":\"/\"+t.lineHeight)),e.push(t.family),e.filter(Boolean).join(\" \")}},{\"./lib/util\":127,\"css-font-stretch-keywords\":123,\"css-font-style-keywords\":124,\"css-font-weight-keywords\":125,\"css-global-keywords\":130,\"css-system-font-keywords\":131,\"pick-by-alias\":445}],130:[function(t,e,r){e.exports=[\"inherit\",\"initial\",\"unset\"]},{}],131:[function(t,e,r){e.exports=[\"caption\",\"icon\",\"menu\",\"message-box\",\"small-caption\",\"status-bar\"]},{}],132:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+f*r[p]+h*n[p];return a}return c*t+u*e+f*r+h*n},e.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},{}],133:[function(t,e,r){\"use strict\";var n=t(\"./lib/thunk.js\");function i(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName=\"\",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new i;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var a=0;a<r.length;++a){var o=r[a];if(\"array\"===o||\"object\"==typeof o&&o.blockIndices){if(e.argTypes[a]=\"array\",e.arrayArgs.push(a),e.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),e.shimArgs.push(\"array\"+a),a<e.pre.args.length&&e.pre.args[a].count>0)throw new Error(\"cwise: pre() block may not reference array args\");if(a<e.post.args.length&&e.post.args[a].count>0)throw new Error(\"cwise: post() block may not reference array args\")}else if(\"scalar\"===o)e.scalarArgs.push(a),e.shimArgs.push(\"scalar\"+a);else if(\"index\"===o){if(e.indexArgs.push(a),a<e.pre.args.length&&e.pre.args[a].count>0)throw new Error(\"cwise: pre() block may not reference array index\");if(a<e.body.args.length&&e.body.args[a].lvalue)throw new Error(\"cwise: body() block may not write to array index\");if(a<e.post.args.length&&e.post.args[a].count>0)throw new Error(\"cwise: post() block may not reference array index\")}else if(\"shape\"===o){if(e.shapeArgs.push(a),a<e.pre.args.length&&e.pre.args[a].lvalue)throw new Error(\"cwise: pre() block may not write to array shape\");if(a<e.body.args.length&&e.body.args[a].lvalue)throw new Error(\"cwise: body() block may not write to array shape\");if(a<e.post.args.length&&e.post.args[a].lvalue)throw new Error(\"cwise: post() block may not write to array shape\")}else{if(\"object\"!=typeof o||!o.offset)throw new Error(\"cwise: Unknown argument type \"+r[a]);e.argTypes[a]=\"offset\",e.offsetArgs.push({array:o.array,offset:o.offset}),e.offsetArgIndex.push(a)}}if(e.arrayArgs.length<=0)throw new Error(\"cwise: No array arguments specified\");if(e.pre.args.length>r.length)throw new Error(\"cwise: Too many arguments in pre() block\");if(e.body.args.length>r.length)throw new Error(\"cwise: Too many arguments in body() block\");if(e.post.args.length>r.length)throw new Error(\"cwise: Too many arguments in post() block\");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||\"cwise\",e.blockSize=t.blockSize||64,n(e)}},{\"./lib/thunk.js\":135}],134:[function(t,e,r){\"use strict\";var n=t(\"uniq\");function i(t,e,r){var n,i,a=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,f=0;for(n=0;n<a;++n)c.push([\"i\",n,\"=0\"].join(\"\"));for(i=0;i<o;++i)for(n=0;n<a;++n)f=u,u=t[n],0===n?c.push([\"d\",i,\"s\",n,\"=t\",i,\"p\",u].join(\"\")):c.push([\"d\",i,\"s\",n,\"=(t\",i,\"p\",u,\"-s\",f,\"*t\",i,\"p\",f,\")\"].join(\"\"));for(c.length>0&&l.push(\"var \"+c.join(\",\")),n=a-1;n>=0;--n)u=t[n],l.push([\"for(i\",n,\"=0;i\",n,\"<s\",u,\";++i\",n,\"){\"].join(\"\"));for(l.push(r),n=0;n<a;++n){for(f=u,u=t[n],i=0;i<o;++i)l.push([\"p\",i,\"+=d\",i,\"s\",n].join(\"\"));s&&(n>0&&l.push([\"index[\",f,\"]-=s\",f].join(\"\")),l.push([\"++index[\",u,\"]\"].join(\"\"))),l.push(\"}\")}return l.join(\"\\n\")}function a(t,e,r){for(var n=t.body,i=[],a=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,\"g\"),c=\"\",u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case\"offset\":var f=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[f].array,c=\"+q\"+f;case\"array\":c=\"p\"+u+c;var h=\"l\"+o,p=\"a\"+u;if(0===e.arrayBlockIndices[u])1===s.count?\"generic\"===r[u]?s.lvalue?(i.push([\"var \",h,\"=\",p,\".get(\",c,\")\"].join(\"\")),n=n.replace(l,h),a.push([p,\".set(\",c,\",\",h,\")\"].join(\"\"))):n=n.replace(l,[p,\".get(\",c,\")\"].join(\"\")):n=n.replace(l,[p,\"[\",c,\"]\"].join(\"\")):\"generic\"===r[u]?(i.push([\"var \",h,\"=\",p,\".get(\",c,\")\"].join(\"\")),n=n.replace(l,h),s.lvalue&&a.push([p,\".set(\",c,\",\",h,\")\"].join(\"\"))):(i.push([\"var \",h,\"=\",p,\"[\",c,\"]\"].join(\"\")),n=n.replace(l,h),s.lvalue&&a.push([p,\"[\",c,\"]=\",h].join(\"\")));else{for(var d=[s.name],g=[c],m=0;m<Math.abs(e.arrayBlockIndices[u]);m++)d.push(\"\\\\s*\\\\[([^\\\\]]+)\\\\]\"),g.push(\"$\"+(m+1)+\"*t\"+u+\"b\"+m);if(l=new RegExp(d.join(\"\"),\"g\"),c=g.join(\"+\"),\"generic\"===r[u])throw new Error(\"cwise: Generic arrays not supported in combination with blocks!\");n=n.replace(l,[p,\"[\",c,\"]\"].join(\"\"))}break;case\"scalar\":n=n.replace(l,\"Y\"+e.scalarArgs.indexOf(o));break;case\"index\":n=n.replace(l,\"index\");break;case\"shape\":n=n.replace(l,\"shape\")}}}return[i.join(\"\\n\"),n,a.join(\"\\n\")].join(\"\\n\").trim()}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,o=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),l=0;l<t.arrayArgs.length;++l)s[l]=e[2*l],o[l]=e[2*l+1];var c=[],u=[],f=[],h=[],p=[];for(l=0;l<t.arrayArgs.length;++l){t.arrayBlockIndices[l]<0?(f.push(0),h.push(r),c.push(r),u.push(r+t.arrayBlockIndices[l])):(f.push(t.arrayBlockIndices[l]),h.push(t.arrayBlockIndices[l]+r),c.push(0),u.push(t.arrayBlockIndices[l]));for(var d=[],g=0;g<o[l].length;g++)f[l]<=o[l][g]&&o[l][g]<h[l]&&d.push(o[l][g]-f[l]);p.push(d)}var m=[\"SS\"],v=[\"'use strict'\"],y=[];for(g=0;g<r;++g)y.push([\"s\",g,\"=SS[\",g,\"]\"].join(\"\"));for(l=0;l<t.arrayArgs.length;++l){for(m.push(\"a\"+l),m.push(\"t\"+l),m.push(\"p\"+l),g=0;g<r;++g)y.push([\"t\",l,\"p\",g,\"=t\",l,\"[\",f[l]+g,\"]\"].join(\"\"));for(g=0;g<Math.abs(t.arrayBlockIndices[l]);++g)y.push([\"t\",l,\"b\",g,\"=t\",l,\"[\",c[l]+g,\"]\"].join(\"\"))}for(l=0;l<t.scalarArgs.length;++l)m.push(\"Y\"+l);if(t.shapeArgs.length>0&&y.push(\"shape=SS.slice(0)\"),t.indexArgs.length>0){var x=new Array(r);for(l=0;l<r;++l)x[l]=\"0\";y.push([\"index=[\",x.join(\",\"),\"]\"].join(\"\"))}for(l=0;l<t.offsetArgs.length;++l){var b=t.offsetArgs[l],_=[];for(g=0;g<b.offset.length;++g)0!==b.offset[g]&&(1===b.offset[g]?_.push([\"t\",b.array,\"p\",g].join(\"\")):_.push([b.offset[g],\"*t\",b.array,\"p\",g].join(\"\")));0===_.length?y.push(\"q\"+l+\"=0\"):y.push([\"q\",l,\"=\",_.join(\"+\")].join(\"\"))}var w=n([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((y=y.concat(w)).length>0&&v.push(\"var \"+y.join(\",\")),l=0;l<t.arrayArgs.length;++l)v.push(\"p\"+l+\"|=0\");t.pre.body.length>3&&v.push(a(t.pre,t,s));var k=a(t.body,t,s),M=function(t){for(var e=0,r=t[0].length;e<r;){for(var n=1;n<t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(p);M<r?v.push(function(t,e,r,n){for(var a=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,c=[],u=0;u<o;++u)c.push([\"var offset\",u,\"=p\",u].join(\"\"));for(u=t;u<a;++u)c.push([\"for(var j\"+u+\"=SS[\",e[u],\"]|0;j\",u,\">0;){\"].join(\"\")),c.push([\"if(j\",u,\"<\",s,\"){\"].join(\"\")),c.push([\"s\",e[u],\"=j\",u].join(\"\")),c.push([\"j\",u,\"=0\"].join(\"\")),c.push([\"}else{s\",e[u],\"=\",s].join(\"\")),c.push([\"j\",u,\"-=\",s,\"}\"].join(\"\")),l&&c.push([\"index[\",e[u],\"]=j\",u].join(\"\"));for(u=0;u<o;++u){for(var f=[\"offset\"+u],h=t;h<a;++h)f.push([\"j\",h,\"*t\",u,\"p\",e[h]].join(\"\"));c.push([\"p\",u,\"=(\",f.join(\"+\"),\")\"].join(\"\"))}for(c.push(i(e,r,n)),u=t;u<a;++u)c.push(\"}\");return c.join(\"\\n\")}(M,p[0],t,k)):v.push(i(p[0],t,k)),t.post.body.length>3&&v.push(a(t.post,t,s)),t.debug&&console.log(\"-----Generated cwise routine for \",e,\":\\n\"+v.join(\"\\n\")+\"\\n----------\");var A=[t.funcName||\"unnamed\",\"_cwise_loop_\",o[0].join(\"s\"),\"m\",M,function(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var i=t[n],a=i.match(/\\d+/);a=a?a[0]:\"\",0===i.charAt(0)?e[n]=\"u\"+i.charAt(1)+a:e[n]=i.charAt(0)+a,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join(\"\")}(s)].join(\"\");return new Function([\"function \",A,\"(\",m.join(\",\"),\"){\",v.join(\"\\n\"),\"} return \",A].join(\"\"))()}},{uniq:521}],135:[function(t,e,r){\"use strict\";var n=t(\"./compile.js\");e.exports=function(t){var e=[\"'use strict'\",\"var CACHED={}\"],r=[],i=t.funcName+\"_cwise_thunk\";e.push([\"return function \",i,\"(\",t.shimArgs.join(\",\"),\"){\"].join(\"\"));for(var a=[],o=[],s=[[\"array\",t.arrayArgs[0],\".shape.slice(\",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?\",\"+t.arrayBlockIndices[0]+\")\":\")\"].join(\"\")],l=[],c=[],u=0;u<t.arrayArgs.length;++u){var f=t.arrayArgs[u];r.push([\"t\",f,\"=array\",f,\".dtype,\",\"r\",f,\"=array\",f,\".order\"].join(\"\")),a.push(\"t\"+f),a.push(\"r\"+f),o.push(\"t\"+f),o.push(\"r\"+f+\".join()\"),s.push(\"array\"+f+\".data\"),s.push(\"array\"+f+\".stride\"),s.push(\"array\"+f+\".offset|0\"),u>0&&(l.push(\"array\"+t.arrayArgs[0]+\".shape.length===array\"+f+\".shape.length+\"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push(\"array\"+t.arrayArgs[0]+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[0])+\"]===array\"+f+\".shape[shapeIndex+\"+Math.max(0,t.arrayBlockIndices[u])+\"]\"))}for(t.arrayArgs.length>1&&(e.push(\"if (!(\"+l.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same dimensionality!')\"),e.push(\"for(var shapeIndex=array\"+t.arrayArgs[0]+\".shape.length-\"+Math.abs(t.arrayBlockIndices[0])+\"; shapeIndex--\\x3e0;) {\"),e.push(\"if (!(\"+c.join(\" && \")+\")) throw new Error('cwise: Arrays do not all have the same shape!')\"),e.push(\"}\")),u=0;u<t.scalarArgs.length;++u)s.push(\"scalar\"+t.scalarArgs[u]);return r.push([\"type=[\",o.join(\",\"),\"].join()\"].join(\"\")),r.push(\"proc=CACHED[type]\"),e.push(\"var \"+r.join(\",\")),e.push([\"if(!proc){\",\"CACHED[type]=proc=compile([\",a.join(\",\"),\"])}\",\"return proc(\",s.join(\",\"),\")}\"].join(\"\")),t.debug&&console.log(\"-----Generated thunk:\\n\"+e.join(\"\\n\")+\"\\n----------\"),new Function(\"compile\",e.join(\"\\n\"))(n.bind(void 0,t))}},{\"./compile.js\":134}],136:[function(t,e,r){e.exports=t(\"cwise-compiler\")},{\"cwise-compiler\":133}],137:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/copy\"),a=t(\"es5-ext/object/normalize-options\"),o=t(\"es5-ext/object/valid-callable\"),s=t(\"es5-ext/object/map\"),l=t(\"es5-ext/object/valid-callable\"),c=t(\"es5-ext/object/valid-value\"),u=Function.prototype.bind,f=Object.defineProperty,h=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,a=c(e)&&l(e.value);return delete(n=i(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&h.call(this,t)?a:(e.value=u.call(a,r.resolveContext?r.resolveContext(this):this),f(this,t,e),this[t])},n},e.exports=function(t){var e=a(arguments[1]);return null!=e.resolveContext&&o(e.resolveContext),s(t,function(t,r){return n(r,t,e)})}},{\"es5-ext/object/copy\":173,\"es5-ext/object/map\":182,\"es5-ext/object/normalize-options\":183,\"es5-ext/object/valid-callable\":187,\"es5-ext/object/valid-value\":189}],138:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/object/assign\"),i=t(\"es5-ext/object/normalize-options\"),a=t(\"es5-ext/object/is-callable\"),o=t(\"es5-ext/string/#/contains\");(e.exports=function(t,e){var r,a,s,l,c;return arguments.length<2||\"string\"!=typeof t?(l=e,e=t,t=null):l=arguments[2],null==t?(r=s=!0,a=!1):(r=o.call(t,\"c\"),a=o.call(t,\"e\"),s=o.call(t,\"w\")),c={value:e,configurable:r,enumerable:a,writable:s},l?n(i(l),c):c}).gs=function(t,e,r){var s,l,c,u;return\"string\"!=typeof t?(c=r,r=e,e=t,t=null):c=arguments[3],null==e?e=void 0:a(e)?null==r?r=void 0:a(r)||(c=r,r=void 0):(c=e,e=r=void 0),null==t?(s=!0,l=!1):(s=o.call(t,\"c\"),l=o.call(t,\"e\")),u={get:e,set:r,configurable:s,enumerable:l},c?n(i(c),u):u}},{\"es5-ext/object/assign\":170,\"es5-ext/object/is-callable\":176,\"es5-ext/object/normalize-options\":183,\"es5-ext/string/#/contains\":190}],139:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e=function(t,e){return t<e?-1:t>e?1:t>=e?0:NaN},r=function(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(null==n&&(n=0),null==i&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}};var n=r(e),i=n.right,a=n.left;function o(t,e){return[t,e]}var s=function(t){return null===t?NaN:+t},l=function(t,e){var r,n,i=t.length,a=0,o=-1,l=0,c=0;if(null==e)for(;++o<i;)isNaN(r=s(t[o]))||(c+=(n=r-l)*(r-(l+=n/++a)));else for(;++o<i;)isNaN(r=s(e(t[o],o,t)))||(c+=(n=r-l)*(r-(l+=n/++a)));if(a>1)return c/(a-1)},c=function(t,e){var r=l(t,e);return r?Math.sqrt(r):r},u=function(t,e){var r,n,i,a=t.length,o=-1;if(null==e){for(;++o<a;)if(null!=(r=t[o])&&r>=r)for(n=i=r;++o<a;)null!=(r=t[o])&&(n>r&&(n=r),i<r&&(i=r))}else for(;++o<a;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=i=r;++o<a;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),i<r&&(i=r));return[n,i]},f=Array.prototype,h=f.slice,p=f.map,d=function(t){return function(){return t}},g=function(t){return t},m=function(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a},v=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),i=Math.floor(Math.log(n)/Math.LN10),a=n/Math.pow(10,i);return i>=0?(a>=v?10:a>=y?5:a>=x?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(a>=v?10:a>=y?5:a>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),i=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),a=n/i;return a>=v?i*=10:a>=y?i*=5:a>=x&&(i*=2),e<t?-i:i}var w=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},k=function(t,e,r){if(null==r&&(r=s),n=t.length){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,i=(n-1)*e,a=Math.floor(i),o=+r(t[a],a,t);return o+(+r(t[a+1],a+1,t)-o)*(i-a)}},M=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n},A=function(t){if(!(i=t.length))return[];for(var e=-1,r=M(t,T),n=new Array(r);++e<r;)for(var i,a=-1,o=n[e]=new Array(i);++a<i;)o[a]=t[a][e];return n};function T(t){return t.length}t.bisect=i,t.bisectRight=i,t.bisectLeft=a,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,i,a,s,l=t.length,c=e.length,u=new Array(l*c);for(null==r&&(r=o),n=a=0;n<l;++n)for(s=t[n],i=0;i<c;++i,++a)u[a]=r(s,e[i]);return u},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var a,o,s=n.length,l=new Array(s);for(a=0;a<s;++a)l[a]=t(n[a],a,n);var c=e(l),u=c[0],f=c[1],h=r(l,u,f);Array.isArray(h)||(h=_(u,f,h),h=m(Math.ceil(u/h)*h,Math.floor(f/h)*h,h));for(var p=h.length;h[0]<=u;)h.shift(),--p;for(;h[p-1]>f;)h.pop(),--p;var d,g=new Array(p+1);for(a=0;a<=p;++a)(d=g[a]=[]).x0=a>0?h[a-1]:u,d.x1=a<p?h[a]:f;for(a=0;a<s;++a)u<=(o=l[a])&&o<=f&&g[i(h,o,0,p)].push(n[a]);return g}return n.value=function(e){return arguments.length?(t=\"function\"==typeof e?e:d(e),n):t},n.domain=function(t){return arguments.length?(e=\"function\"==typeof t?t:d([t[0],t[1]]),n):e},n.thresholds=function(t){return arguments.length?(r=\"function\"==typeof t?t:Array.isArray(t)?d(h.call(t)):d(t),n):r},n},t.thresholdFreedmanDiaconis=function(t,r,n){return t=p.call(t,s).sort(e),Math.ceil((n-r)/(2*(k(t,.75)-k(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*c(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=s(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=s(e(t[a],a,t)))?--i:o+=r;if(i)return o/i},t.median=function(t,r){var n,i=t.length,a=-1,o=[];if(null==r)for(;++a<i;)isNaN(n=s(t[a]))||o.push(n);else for(;++a<i;)isNaN(n=s(r(t[a],a,t)))||o.push(n);return k(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r},t.min=M,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r<n;)a[r]=e(i,i=t[++r]);return a},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=k,t.range=m,t.scan=function(t,r){if(n=t.length){var n,i,a=0,o=0,s=t[o];for(null==r&&(r=e);++a<n;)(r(i=t[a],s)<0||0!==r(s,s))&&(s=i,o=a);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,i,a=(null==r?t.length:r)-(e=null==e?0:+e);a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.sum=function(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a},t.ticks=function(t,e,r){var n,i,a,o,s=-1;if(r=+r,(t=+t)==(e=+e)&&r>0)return[t];if((n=e<t)&&(i=t,t=e,e=i),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),a=new Array(i=Math.ceil(e-t+1));++s<i;)a[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),a=new Array(i=Math.ceil(t-e+1));++s<i;)a[s]=(t-s)/o;return n&&a.reverse(),a},t.tickIncrement=b,t.tickStep=_,t.transpose=A,t.variance=l,t.zip=function(){return A(arguments)},Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],140:[function(t,e,r){var n;n=this,function(t){\"use strict\";function e(){}function r(t,r){var n=new e;if(t instanceof e)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var i,a=-1,o=t.length;if(null==r)for(;++a<o;)n.set(a,t[a]);else for(;++a<o;)n.set(r(i=t[a],a,t),i)}else if(t)for(var s in t)n.set(s,t[s]);return n}e.prototype=r.prototype={constructor:e,has:function(t){return\"$\"+t in this},get:function(t){return this[\"$\"+t]},set:function(t,e){return this[\"$\"+t]=e,this},remove:function(t){var e=\"$\"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)\"$\"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)\"$\"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)\"$\"===e[0]&&++t;return t},empty:function(){for(var t in this)if(\"$\"===t[0])return!1;return!0},each:function(t){for(var e in this)\"$\"===e[0]&&t(this[e],e.slice(1),this)}};function n(){return{}}function i(t,e,r){t[e]=r}function a(){return r()}function o(t,e,r){t.set(e,r)}function s(){}var l=r.prototype;function c(t,e){var r=new s;if(t instanceof s)t.each(function(t){r.add(t)});else if(t){var n=-1,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)r.add(e(t[n],n,t))}return r}s.prototype=c.prototype={constructor:s,has:l.has,add:function(t){return this[\"$\"+(t+=\"\")]=t,this},remove:l.remove,clear:l.clear,values:l.keys,size:l.size,empty:l.empty,each:l.each};t.nest=function(){var t,e,s,l=[],c=[];function u(n,i,a,o){if(i>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,f,h=-1,p=n.length,d=l[i++],g=r(),m=a();++h<p;)(f=g.get(s=d(c=n[h])+\"\"))?f.push(c):g.set(s,[c]);return g.each(function(t,e){o(m,e,u(t,i,a,o))}),m}return s={object:function(t){return u(t,0,n,i)},map:function(t){return u(t,0,a,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var i,a=c[n-1];return null!=e&&n>=l.length?i=r.entries():(i=[],r.each(function(e,r){i.push({key:r,values:t(e,n)})})),null!=a?i.sort(function(t,e){return a(t.key,e.key)}):i}(u(t,0,a,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],141:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e=function(t,e,r){t.prototype=e.prototype=r,r.constructor=t};function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var i=\"\\\\s*([+-]?\\\\d+)\\\\s*\",a=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",o=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,c=new RegExp(\"^rgb\\\\(\"+[i,i,i]+\"\\\\)$\"),u=new RegExp(\"^rgb\\\\(\"+[o,o,o]+\"\\\\)$\"),f=new RegExp(\"^rgba\\\\(\"+[i,i,i,a]+\"\\\\)$\"),h=new RegExp(\"^rgba\\\\(\"+[o,o,o,a]+\"\\\\)$\"),p=new RegExp(\"^hsl\\\\(\"+[a,o,o]+\"\\\\)$\"),d=new RegExp(\"^hsla\\\\(\"+[a,o,o,a]+\"\\\\)$\"),g={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function m(t){var e;return t=(t+\"\").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?v(parseInt(e[1],16)):(e=c.exec(t))?new _(e[1],e[2],e[3],1):(e=u.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=f.exec(t))?y(e[1],e[2],e[3],e[4]):(e=h.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?k(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?k(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?v(g[t]):\"transparent\"===t?new _(NaN,NaN,NaN,0):null}function v(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=m(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?\"0\":\"\")+t.toString(16)}function k(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new A(t,e,r,n)}function M(t,e,r,i){return 1===arguments.length?function(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=m(t)),!t)return new A;if(t instanceof A)return t;var e=(t=t.rgb()).r/255,r=t.g/255,i=t.b/255,a=Math.min(e,r,i),o=Math.max(e,r,i),s=NaN,l=o-a,c=(o+a)/2;return l?(s=e===o?(r-i)/l+6*(r<i):r===o?(i-e)/l+2:(e-r)/l+4,l/=c<.5?o+a:2-o-a,s*=60):l=c>0&&c<1?0:s,new A(s,l,c,t.opacity)}(t):new A(t,e,r,null==i?1:i)}function A(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function T(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,m,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+\"\"}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return\"#\"+w(this.r)+w(this.g)+w(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?\")\":\", \"+t+\")\")}})),e(A,M,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new A(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new _(T(t>=240?t-240:t+120,i,n),T(t,i,n),T(t<120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var S=Math.PI/180,E=180/Math.PI,C=.96422,L=1,z=.82521,P=4/29,O=6/29,I=3*O*O,D=O*O*O;function R(t){if(t instanceof F)return new F(t.l,t.a,t.b,t.opacity);if(t instanceof G){if(isNaN(t.h))return new F(t.l,0,0,t.opacity);var e=t.h*S;return new F(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r,n,i=U(t.r),a=U(t.g),o=U(t.b),s=N((.2225045*i+.7168786*a+.0606169*o)/L);return i===a&&a===o?r=n=s:(r=N((.4360747*i+.3850649*a+.1430804*o)/C),n=N((.0139322*i+.0971045*a+.7141733*o)/z)),new F(116*s-16,500*(r-s),200*(s-n),t.opacity)}function B(t,e,r,n){return 1===arguments.length?R(t):new F(t,e,r,null==n?1:n)}function F(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function N(t){return t>D?Math.pow(t,1/3):t/I+P}function j(t){return t>O?t*t*t:I*(t-P)}function V(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function U(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function q(t){if(t instanceof G)return new G(t.h,t.c,t.l,t.opacity);if(t instanceof F||(t=R(t)),0===t.a&&0===t.b)return new G(NaN,0,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*E;return new G(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function H(t,e,r,n){return 1===arguments.length?q(t):new G(t,e,r,null==n?1:n)}function G(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(F,B,r(n,{brighter:function(t){return new F(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new F(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return new _(V(3.1338561*(e=C*j(e))-1.6168667*(t=L*j(t))-.4906146*(r=z*j(r))),V(-.9787684*e+1.9161415*t+.033454*r),V(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(G,H,r(n,{brighter:function(t){return new G(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new G(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return R(this).rgb()}}));var W=-.14861,Y=1.78277,X=-.29227,Z=-.90649,$=1.97294,J=$*Z,K=$*Y,Q=Y*X-Z*W;function tt(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof et)return new et(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,i=(Q*n+J*e-K*r)/(Q+J-K),a=n-i,o=($*(r-i)-X*a)/Z,s=Math.sqrt(o*o+a*a)/($*i*(1-i)),l=s?Math.atan2(o,a)*E-120:NaN;return new et(l<0?l+360:l,s,i,t.opacity)}(t):new et(t,e,r,null==n?1:n)}function et(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(et,tt,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new et(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new et(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*S,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),i=Math.sin(t);return new _(255*(e+r*(W*n+Y*i)),255*(e+r*(X*n+Z*i)),255*(e+r*($*n)),this.opacity)}})),t.color=m,t.rgb=b,t.hsl=M,t.lab=B,t.hcl=H,t.lch=function(t,e,r,n){return 1===arguments.length?q(t):new G(r,e,t,null==n?1:n)},t.gray=function(t,e){return new F(t,0,0,null==e?1:e)},t.cubehelix=tt,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],142:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,i={};e<r;++e){if(!(t=arguments[e]+\"\")||t in i)throw new Error(\"illegal type: \"+t);i[t]=[]}return new n(i)}function n(t){this._=t}function i(t,e){for(var r,n=0,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function a(t,r,n){for(var i=0,a=t.length;i<a;++i)if(t[i].name===r){t[i]=e,t=t.slice(0,i).concat(t.slice(i+1));break}return null!=n&&t.push({name:r,value:n}),t}n.prototype=r.prototype={constructor:n,on:function(t,e){var r,n,o=this._,s=(n=o,(t+\"\").trim().split(/^|\\s+/).map(function(t){var e=\"\",r=t.indexOf(\".\");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);return{type:t,name:e}})),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&\"function\"!=typeof e)throw new Error(\"invalid callback: \"+e);for(;++l<c;)if(r=(t=s[l]).type)o[r]=a(o[r],t.name,e);else if(null==e)for(r in o)o[r]=a(o[r],t.name,null);return this}for(;++l<c;)if((r=(t=s[l]).type)&&(r=i(o[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new n(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(a=0,r=(n=this._[t]).length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error(\"unknown type: \"+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],143:[function(t,e,r){var n,i;n=this,i=function(t,e,r,n,i){\"use strict\";var a=function(t){return function(){return t}},o=function(){return 1e-6*(Math.random()-.5)};function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function c(t){return t.index}function u(t,e){var r=t.get(e);if(!r)throw new Error(\"missing: \"+e);return r}function f(t){return t.x}function h(t){return t.y}var p=10,d=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-t,s=s/a-e,n=0;n<a;++n)(i=r[n]).x-=o,i.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n},t.forceCollide=function(t){var r,n,i=1,c=1;function u(){for(var t,a,u,h,p,d,g,m=r.length,v=0;v<c;++v)for(a=e.quadtree(r,s,l).visitAfter(f),t=0;t<m;++t)u=r[t],d=n[u.index],g=d*d,h=u.x+u.vx,p=u.y+u.vy,a.visit(y);function y(t,e,r,n,a){var s=t.data,l=t.r,c=d+l;if(!s)return e>h+c||n<h-c||r>p+c||a<p-c;if(s.index>u.index){var f=h-s.x-s.vx,m=p-s.y-s.vy,v=f*f+m*m;v<c*c&&(0===f&&(v+=(f=o())*f),0===m&&(v+=(m=o())*m),v=(c-(v=Math.sqrt(v)))/v*i,u.vx+=(f*=v)*(c=(l*=l)/(g+l)),u.vy+=(m*=v)*c,s.vx-=f*(c=1-c),s.vy-=m*c)}}}function f(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function h(){if(r){var e,i,a=r.length;for(n=new Array(a),e=0;e<a;++e)i=r[e],n[i.index]=+t(i,e,r)}}return\"function\"!=typeof t&&(t=a(null==t?1:+t)),u.initialize=function(t){r=t,h()},u.iterations=function(t){return arguments.length?(c=+t,u):c},u.strength=function(t){return arguments.length?(i=+t,u):i},u.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),h(),u):t},u},t.forceLink=function(t){var e,n,i,s,l,f=c,h=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=a(30),d=1;function g(r){for(var i=0,a=t.length;i<d;++i)for(var s,c,u,f,h,p,g,m=0;m<a;++m)c=(s=t[m]).source,f=(u=s.target).x+u.vx-c.x-c.vx||o(),h=u.y+u.vy-c.y-c.vy||o(),f*=p=((p=Math.sqrt(f*f+h*h))-n[m])/p*r*e[m],h*=p,u.vx-=f*(g=l[m]),u.vy-=h*g,c.vx+=f*(g=1-g),c.vy+=h*g}function m(){if(i){var a,o,c=i.length,h=t.length,p=r.map(i,f);for(a=0,s=new Array(c);a<h;++a)(o=t[a]).index=a,\"object\"!=typeof o.source&&(o.source=u(p,o.source)),\"object\"!=typeof o.target&&(o.target=u(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(a=0,l=new Array(h);a<h;++a)o=t[a],l[a]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(h),v(),n=new Array(h),y()}}function v(){if(i)for(var r=0,n=t.length;r<n;++r)e[r]=+h(t[r],r,t)}function y(){if(i)for(var e=0,r=t.length;e<r;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t){i=t,m()},g.links=function(e){return arguments.length?(t=e,m(),g):t},g.id=function(t){return arguments.length?(f=t,g):f},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(h=\"function\"==typeof t?t:a(+t),v(),g):h},g.distance=function(t){return arguments.length?(p=\"function\"==typeof t?t:a(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,i,s=a(-30),l=1,c=1/0,u=.81;function p(i){var a,o=t.length,s=e.quadtree(t,f,h).visitAfter(g);for(n=i,a=0;a<o;++a)r=t[a],s.visit(m)}function d(){if(t){var e,r,n=t.length;for(i=new Array(n),e=0;e<n;++e)r=t[e],i[r.index]=+s(r,e,t)}}function g(t){var e,r,n,a,o,s=0,l=0;if(t.length){for(n=a=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,a+=r*e.y);t.x=n/l,t.y=a/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=i[e.data.index]}while(e=e.next)}t.value=s}function m(t,e,a,s){if(!t.value)return!0;var f=t.x-r.x,h=t.y-r.y,p=s-e,d=f*f+h*h;if(p*p/u<d)return d<c&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)),r.vx+=f*t.value*n/d,r.vy+=h*t.value*n/d),!0;if(!(t.length||d>=c)){(t.data!==r||t.next)&&(0===f&&(d+=(f=o())*f),0===h&&(d+=(h=o())*h),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=i[t.data.index]*n/d,r.vx+=f*p,r.vy+=h*p)}while(t=t.next)}}return p.initialize=function(e){t=e,d()},p.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:a(+t),d(),p):s},p.distanceMin=function(t){return arguments.length?(l=t*t,p):Math.sqrt(l)},p.distanceMax=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p.theta=function(t){return arguments.length?(u=t*t,p):Math.sqrt(u)},p},t.forceRadial=function(t,e,r){var n,i,o,s=a(.1);function l(t){for(var a=0,s=n.length;a<s;++a){var l=n[a],c=l.x-e||1e-6,u=l.y-r||1e-6,f=Math.sqrt(c*c+u*u),h=(o[a]-f)*i[a]*t/f;l.vx+=c*h,l.vy+=u*h}}function c(){if(n){var e,r=n.length;for(i=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),i[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return\"function\"!=typeof t&&(t=a(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,c()},l.strength=function(t){return arguments.length?(s=\"function\"==typeof t?t:a(+t),c(),l):s},l.radius=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),c(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l},t.forceSimulation=function(t){var e,a=1,o=.001,s=1-Math.pow(o,1/300),l=0,c=.6,u=r.map(),f=i.timer(g),h=n.dispatch(\"tick\",\"end\");function g(){m(),h.call(\"tick\",e),a<o&&(f.stop(),h.call(\"end\",e))}function m(){var e,r,n=t.length;for(a+=(l-a)*s,u.each(function(t){t(a)}),e=0;e<n;++e)null==(r=t[e]).fx?r.x+=r.vx*=c:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=c:(r.y=r.fy,r.vy=0)}function v(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,isNaN(e.x)||isNaN(e.y)){var i=p*Math.sqrt(r),a=r*d;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function y(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),v(),e={tick:m,restart:function(){return f.restart(g),e},stop:function(){return f.stop(),e},nodes:function(r){return arguments.length?(t=r,v(),u.each(y),e):t},alpha:function(t){return arguments.length?(a=+t,e):a},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(s=+t,e):+s},alphaTarget:function(t){return arguments.length?(l=+t,e):l},velocityDecay:function(t){return arguments.length?(c=1-t,e):1-c},force:function(t,r){return arguments.length>1?(null==r?u.remove(t):u.set(t,y(r)),e):u.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c<u;++c)(o=(i=e-(s=t[c]).x)*i+(a=r-s.y)*a)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(h.on(t,r),e):h.on(t)}}},t.forceX=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(n[a]-i.x)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\"function\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\"function\"==typeof t?t:a(+t),s(),o):i},o.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,i=a(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(n[a]-i.y)*r[a]*t}function s(){if(e){var a,o=e.length;for(r=new Array(o),n=new Array(o),a=0;a<o;++a)r[a]=isNaN(n[a]=+t(e[a],a,e))?0:+i(e[a],a,e)}}return\"function\"!=typeof t&&(t=a(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(i=\"function\"==typeof t?t:a(+t),s(),o):i},o.y=function(e){return arguments.length?(t=\"function\"==typeof e?e:a(+e),s(),o):t},o},Object.defineProperty(t,\"__esModule\",{value:!0})},\"object\"==typeof r&&\"undefined\"!=typeof e?i(r,t(\"d3-quadtree\"),t(\"d3-collection\"),t(\"d3-dispatch\"),t(\"d3-timer\")):i(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)},{\"d3-collection\":140,\"d3-dispatch\":142,\"d3-quadtree\":145,\"d3-timer\":146}],144:[function(t,e,r){var n,i;n=this,i=function(t,e){\"use strict\";function r(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}var n=function(t){var e=t.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),a=t[i],o=t[i+1],s=i>0?t[i-1]:2*a-o,l=i<e-1?t[i+2]:2*o-a;return r((n-i/e)*e,s,a,o,l)}},i=function(t){var e=t.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*e),a=t[(i+e-1)%e],o=t[i%e],s=t[(i+1)%e],l=t[(i+2)%e];return r((n-i/e)*e,a,o,s,l)}},a=function(t){return function(){return t}};function o(t,e){return function(r){return t+r*e}}function s(t,e){var r=e-t;return r?o(t,r>180||r<-180?r-360*Math.round(r/360):r):a(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):a(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):a(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function i(t,r){var i=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),a=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=i(e),t.g=a(e),t.b=o(e),t.opacity=s(e),t+\"\"}}return i.gamma=t,i}(1);function f(t){return function(r){var n,i,a=r.length,o=new Array(a),s=new Array(a),l=new Array(a);for(n=0;n<a;++n)i=e.rgb(r[n]),o[n]=i.r||0,s[n]=i.g||0,l[n]=i.b||0;return o=t(o),s=t(s),l=t(l),i.opacity=1,function(t){return i.r=o(t),i.g=s(t),i.b=l(t),i+\"\"}}}var h=f(n),p=f(i),d=function(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=A(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}},g=function(t,e){var r=new Date;return e-=t=+t,function(n){return r.setTime(t+e*n),r}},m=function(t,e){return e-=t=+t,function(r){return t+e*r}},v=function(t,e){var r,n={},i={};for(r in null!==t&&\"object\"==typeof t||(t={}),null!==e&&\"object\"==typeof e||(e={}),e)r in t?n[r]=A(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}},y=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,x=new RegExp(y.source,\"g\");var b,_,w,k,M=function(t,e){var r,n,i,a=y.lastIndex=x.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=y.exec(t))&&(n=x.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:m(r,n)})),a=x.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?function(t){return function(e){return t(e)+\"\"}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join(\"\")})},A=function(t,r){var n,i=typeof r;return null==r||\"boolean\"===i?a(r):(\"number\"===i?m:\"string\"===i?(n=e.color(r))?(r=n,u):M:r instanceof e.color?u:r instanceof Date?g:Array.isArray(r)?d:\"function\"!=typeof r.valueOf&&\"function\"!=typeof r.toString||isNaN(r)?v:m)(t,r)},T=180/Math.PI,S={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},E=function(t,e,r,n,i,a){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*T,skewX:Math.atan(l)*T,scaleX:o,scaleY:s}};function C(t,e,r,n){function i(t){return t.length?t.pop()+\" \":\"\"}return function(a,o){var s=[],l=[];return a=t(a),o=t(o),function(t,n,i,a,o,s){if(t!==i||n!==a){var l=o.push(\"translate(\",null,e,null,r);s.push({i:l-4,x:m(t,i)},{i:l-2,x:m(n,a)})}else(i||a)&&o.push(\"translate(\"+i+e+a+r)}(a.translateX,a.translateY,o.translateX,o.translateY,s,l),function(t,e,r,a){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),a.push({i:r.push(i(r)+\"rotate(\",null,n)-2,x:m(t,e)})):e&&r.push(i(r)+\"rotate(\"+e+n)}(a.rotate,o.rotate,s,l),function(t,e,r,a){t!==e?a.push({i:r.push(i(r)+\"skewX(\",null,n)-2,x:m(t,e)}):e&&r.push(i(r)+\"skewX(\"+e+n)}(a.skewX,o.skewX,s,l),function(t,e,r,n,a,o){if(t!==r||e!==n){var s=a.push(i(a)+\"scale(\",null,\",\",null,\")\");o.push({i:s-4,x:m(t,r)},{i:s-2,x:m(e,n)})}else 1===r&&1===n||a.push(i(a)+\"scale(\"+r+\",\"+n+\")\")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,s,l),a=o=null,function(t){for(var e,r=-1,n=l.length;++r<n;)s[(e=l[r]).i]=e.x(t);return s.join(\"\")}}}var L=C(function(t){return\"none\"===t?S:(b||(b=document.createElement(\"DIV\"),_=document.documentElement,w=document.defaultView),b.style.transform=t,t=w.getComputedStyle(_.appendChild(b),null).getPropertyValue(\"transform\"),_.removeChild(b),t=t.slice(7,-1).split(\",\"),E(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},\"px, \",\"px)\",\"deg)\"),z=C(function(t){return null==t?S:(k||(k=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),k.setAttribute(\"transform\",t),(t=k.transform.baseVal.consolidate())?(t=t.matrix,E(t.a,t.b,t.c,t.d,t.e,t.f)):S)},\", \",\")\",\")\"),P=Math.SQRT2;function O(t){return((t=Math.exp(t))+1/t)/2}function I(t){return function(r,n){var i=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),a=c(r.s,n.s),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.s=a(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var D=I(s),R=I(c);function B(t){return function(r,n){var i=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),a=c(r.c,n.c),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=i(t),r.c=a(t),r.l=o(t),r.opacity=s(t),r+\"\"}}}var F=B(s),N=B(c);function j(t){return function r(n){function i(r,i){var a=t((r=e.cubehelix(r)).h,(i=e.cubehelix(i)).h),o=c(r.s,i.s),s=c(r.l,i.l),l=c(r.opacity,i.opacity);return function(t){return r.h=a(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+\"\"}}return n=+n,i.gamma=r,i}(1)}var V=j(s),U=j(c);t.interpolate=A,t.interpolateArray=d,t.interpolateBasis=n,t.interpolateBasisClosed=i,t.interpolateDate=g,t.interpolateNumber=m,t.interpolateObject=v,t.interpolateRound=function(t,e){return e-=t=+t,function(r){return Math.round(t+e*r)}},t.interpolateString=M,t.interpolateTransformCss=L,t.interpolateTransformSvg=z,t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<1e-12)n=Math.log(c/o)/P,r=function(t){return[i+t*u,a+t*f,o*Math.exp(P*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(2*c*2*p),m=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(g*g+1)-g);n=(v-m)/P,r=function(t){var e,r=t*n,s=O(m),l=o/(2*p)*(s*(e=P*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+l*u,a+l*f,o*s/O(P*r+m)]}}return r.duration=1e3*n,r},t.interpolateRgb=u,t.interpolateRgbBasis=h,t.interpolateRgbBasisClosed=p,t.interpolateHsl=D,t.interpolateHslLong=R,t.interpolateLab=function(t,r){var n=c((t=e.lab(t)).l,(r=e.lab(r)).l),i=c(t.a,r.a),a=c(t.b,r.b),o=c(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=i(e),t.b=a(e),t.opacity=o(e),t+\"\"}},t.interpolateHcl=F,t.interpolateHclLong=N,t.interpolateCubehelix=V,t.interpolateCubehelixLong=U,t.piecewise=function(t,e){for(var r=0,n=e.length-1,i=e[0],a=new Array(n<0?0:n);r<n;)a[r]=t(i,i=e[++r]);return function(t){var e=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return a[e](t-e)}},t.quantize=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,\"__esModule\",{value:!0})},\"object\"==typeof r&&\"undefined\"!=typeof e?i(r,t(\"d3-color\")):i(n.d3=n.d3||{},n.d3)},{\"d3-color\":141}],145:[function(t,e,r){var n;n=this,function(t){\"use strict\";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,c,u,f,h,p=t._root,d={data:n},g=t._x0,m=t._y0,v=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o,i=p,!(p=p[f=u<<1|c]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(c=e>=(a=(g+v)/2))?g=a:v=a,(u=r>=(o=(m+y)/2))?m=o:y=o}while((f=u<<1|c)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}var r=function(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i};function n(t){return t[0]}function i(t){return t[1]}function a(t,e,r){var a=new o(null==e?n:e,null==r?i:r,NaN,NaN,NaN,NaN);return null==t?a:a.addAll(t)}function o(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=a.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,i,a,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,f=-1/0,h=-1/0;for(n=0;n<o;++n)isNaN(i=+this._x.call(null,r=t[n]))||isNaN(a=+this._y.call(null,r))||(s[n]=i,l[n]=a,i<c&&(c=i),i>f&&(f=i),a<u&&(u=a),a>h&&(h=a));for(f<c&&(c=this._x0,f=this._x1),h<u&&(u=this._y0,h=this._y1),this.cover(c,u).cover(f,h),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{if(!(r>t||t>i||n>e||e>a))return this;var o,s,l=i-r,c=this._root;switch(s=(e<(n+a)/2)<<1|t<(r+i)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),t>(i=r+l)||e>a);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(a=n+(l*=2),(r=i-l)>t||e>a);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),t>(i=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(n=a-(l*=2),(r=i-l)>t||n>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var i,a,o,s,l,c,u,f=this._x0,h=this._y0,p=this._x1,d=this._y1,g=[],m=this._root;for(m&&g.push(new r(m,f,h,p,d)),null==n?n=1/0:(f=t-n,h=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(m=c.node)||(a=c.x0)>p||(o=c.y0)>d||(s=c.x1)<f||(l=c.y1)<h))if(m.length){var v=(a+s)/2,y=(o+l)/2;g.push(new r(m[3],v,y,s,l),new r(m[2],a,y,v,l),new r(m[1],v,o,s,y),new r(m[0],a,o,v,y)),(u=(e>=y)<<1|t>=v)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,m.data),b=e-+this._y.call(null,m.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);f=t-w,h=e-w,p=t+w,d=e+w,i=m.data}}return i},l.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,c,u,f,h,p=this._root,d=this._x0,g=this._y0,m=this._x1,v=this._y1;if(!p)return this;if(p.length)for(;;){if((c=a>=(s=(d+m)/2))?d=s:m=s,(u=o>=(l=(g+v)/2))?g=l:v=l,e=p,!(p=p[f=u<<1|c]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},l.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},l.visit=function(t){var e,n,i,a,o,s,l=[],c=this._root;for(c&&l.push(new r(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,i=e.x0,a=e.y0,o=e.x1,s=e.y1)&&c.length){var u=(i+o)/2,f=(a+s)/2;(n=c[3])&&l.push(new r(n,u,f,o,s)),(n=c[2])&&l.push(new r(n,i,f,u,s)),(n=c[1])&&l.push(new r(n,u,a,o,f)),(n=c[0])&&l.push(new r(n,i,a,u,f))}return this},l.visitAfter=function(t){var e,n=[],i=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var a=e.node;if(a.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,f=(s+c)/2,h=(l+u)/2;(o=a[0])&&n.push(new r(o,s,l,f,h)),(o=a[1])&&n.push(new r(o,f,l,c,h)),(o=a[2])&&n.push(new r(o,s,h,f,u)),(o=a[3])&&n.push(new r(o,f,h,c,u))}i.push(e)}for(;e=i.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=a,Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],146:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e,r,n=0,i=0,a=0,o=1e3,s=0,l=0,c=0,u=\"object\"==typeof performance&&performance.now?performance:Date,f=\"object\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function h(){return l||(f(p),l=u.now()+c)}function p(){l=0}function d(){this._call=this._time=this._next=null}function g(t,e,r){var n=new d;return n.restart(t,e,r),n}function m(){h(),++n;for(var t,r=e;r;)(t=l-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function v(){l=(s=u.now())+c,n=i=0;try{m()}finally{n=0,function(){var t,n,i=e,a=1/0;for(;i;)i._call?(a>i._time&&(a=i._time),t=i,i=i._next):(n=i._next,i._next=null,i=t?t._next=n:e=n);r=t,x(a)}(),l=0}}function y(){var t=u.now(),e=t-s;e>o&&(c-=e,s=t)}function x(t){n||(i&&(i=clearTimeout(i)),t-l>24?(t<1/0&&(i=setTimeout(v,t-u.now()-c)),a&&(a=clearInterval(a))):(a||(s=u.now(),a=setInterval(y,o)),n=1,f(v)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,i){if(\"function\"!=typeof t)throw new TypeError(\"callback is not a function\");i=(null==i?h():+i)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=i,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=h,t.timer=g,t.timerFlush=m,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,i=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?h():+r,n.restart(function a(o){o+=i,n.restart(a,i+=e,r),t(o)},e,r),n)},Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.d3=n.d3||{})},{}],147:[function(t,e,r){!function(){var t={version:\"3.5.17\"},r=[].slice,n=function(t){return r.call(t)},i=this.document;function a(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(i)try{n(i.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),i)try{i.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,f=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+\"\")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+\"\")},u.setProperty=function(t,e,r){f.call(this,t,e+\"\",r)}}function h(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}t.ascending=h,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},t.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)d(r=+t[a])&&(n+=r);else for(;++a<i;)d(r=+e.call(t,t[a],a))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)d(r=p(t[a]))?n+=r:--o;else for(;++a<i;)d(r=p(e.call(t,t[a],a)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},t.median=function(e,r){var n,i=[],a=e.length,o=-1;if(1===arguments.length)for(;++o<a;)d(n=p(e[o]))&&i.push(n);else for(;++o<a;)d(n=p(r.call(e,e[o],o)))&&i.push(n);if(i.length)return t.quantile(i.sort(h),.5)},t.variance=function(t,e){var r,n,i=t.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)d(r=p(t[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-a)*(r-(a+=n/++l)));if(l>1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var m=g(h);function v(t){return t.length}t.bisectLeft=m.left,t.bisect=t.bisectRight=m.right,t.bisector=function(t){return g(1===t.length?function(e,r){return h(t(e),r)}:t)},t.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},t.transpose=function(e){if(!(a=e.length))return[];for(var r=-1,n=t.min(e,v),i=new Array(n);++r<n;)for(var a,o=-1,s=i[r]=new Array(a);++o<a;)s[o]=e[o][r];return i},t.zip=function(){return t.transpose(arguments)},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},t.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error(\"infinite range\");var n,i=[],a=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},t.map=function(t,e){var r=new b;if(t instanceof b)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r};var _=\"__proto__\",w=\"\\0\";function k(t){return(t+=\"\")===_||t[0]===w?w+t:t}function M(t){return(t+=\"\")[0]===w?t.slice(1):t}function A(t){return k(t)in this._}function T(t){return(t=k(t))in this._&&delete this._[t]}function S(){var t=[];for(var e in this._)t.push(M(e));return t}function E(){var t=0;for(var e in this._)++t;return t}function C(){for(var t in this._)return!1;return!0}function L(){this._=Object.create(null)}function z(t){return t}function P(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function O(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=I.length;r<n;++r){var i=I[r]+e;if(i in t)return i}}x(b,{has:A,get:function(t){return this._[k(t)]},set:function(t,e){return this._[k(t)]=e},remove:T,keys:S,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:M(e),value:this._[e]});return t},size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,M(e),this._[e])}}),t.nest=function(){var e,r,n={},i=[],a=[];function o(t,a,s){if(s>=i.length)return r?r.call(n,a):e?a.sort(e):a;for(var l,c,u,f,h=-1,p=a.length,d=i[s++],g=new b;++h<p;)(f=g.get(l=d(c=a[h])))?f.push(c):g.set(l,[c]);return t?(c=t(),u=function(e,r){c.set(e,o(t,r,s))}):(c={},u=function(e,r){c[e]=o(t,r,s)}),g.forEach(u),c}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=i.length)return e;var n=[],o=a[r++];return e.forEach(function(e,i){n.push({key:e,values:t(i,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return i.push(t),n},n.sortKeys=function(t){return a[i.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new L;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},x(L,{has:A,add:function(t){return this._[k(t+=\"\")]=!0,t},remove:T,values:S,size:E,empty:C,forEach:function(t){for(var e in this._)t.call(this,M(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=P(t,e,e[r]);return t};var I=[\"webkit\",\"ms\",\"moz\",\"Moz\",\"o\",\"O\"];function D(){}function R(){}function B(t){var e=[],r=new b;function n(){for(var r,n=e,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return t}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,a=e.indexOf(o)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function F(){t.event.preventDefault()}function N(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function j(e){for(var r=new R,n=0,i=arguments.length;++n<i;)r[arguments[n]]=B(r);return r.of=function(n,i){return function(a){try{var o=a.sourceEvent=t.event;a.target=e,t.event=a,r[a.type].apply(n,i)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new R,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=B(t);return t},R.prototype.on=function(t,e){var r=t.indexOf(\".\"),n=\"\";if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(V,\"\\\\$&\")};var V=/[\\\\\\^\\$\\*\\+\\?\\|\\[\\]\\(\\)\\.\\{\\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,Y),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},W=function(t,e){var r=t.matches||t[O(t,\"matchesSelector\")];return(W=function(t,e){return r.call(t,e)})(t,e)};\"function\"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,W=Sizzle.matchesSelector),t.selection=function(){return t.select(i.documentElement)};var Y=t.selection.prototype=[];function X(t){return\"function\"==typeof t?t:function(){return H(t,this)}}function Z(t){return\"function\"==typeof t?t:function(){return G(t,this)}}Y.select=function(t){var e,r,n,i,a=[];t=X(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&\"__data__\"in i&&(r.__data__=i.__data__)):e.push(null)}return q(a)},Y.selectAll=function(t){var e,r,i=[];t=Z(t);for(var a=-1,o=this.length;++a<o;)for(var s=this[a],l=-1,c=s.length;++l<c;)(r=s[l])&&(i.push(e=n(t.call(r,r.__data__,l,a))),e.parentNode=r);return q(i)};var $=\"http://www.w3.org/1999/xhtml\",J={svg:\"http://www.w3.org/2000/svg\",xhtml:$,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};function K(e,r){return e=t.ns.qualify(e),null==r?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:\"function\"==typeof r?e.local?function(){var t=r.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}:function(){var t=r.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}:e.local?function(){this.setAttributeNS(e.space,e.local,r)}:function(){this.setAttribute(e,r)}}function Q(t){return t.trim().replace(/\\s+/g,\" \")}function tt(e){return new RegExp(\"(?:^|\\\\s+)\"+t.requote(e)+\"(?:\\\\s+|$)\",\"g\")}function et(t){return(t+\"\").trim().split(/^|\\s+/)}function rt(t,e){var r=(t=et(t).map(nt)).length;return\"function\"==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function nt(t){var e=tt(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute(\"class\")||\"\";n?(e.lastIndex=0,e.test(i)||r.setAttribute(\"class\",Q(i+\" \"+t))):r.setAttribute(\"class\",Q(i.replace(e,\" \")))}}function it(t,e,r){return null==e?function(){this.style.removeProperty(t)}:\"function\"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function at(t,e){return null==e?function(){delete this[t]}:\"function\"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function ot(e){return\"function\"==typeof e?e:(e=t.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===$&&t.documentElement.namespaceURI===$?t.createElement(e):t.createElementNS(r,e)}}function st(){var t=this.parentNode;t&&t.removeChild(this)}function lt(t){return{__data__:t}}function ct(t){return function(){return W(this,t)}}function ut(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function ft(t){return U(t,ht),t}t.ns={prefix:J,qualify:function(t){var e=t.indexOf(\":\"),r=t;return e>=0&&\"xmlns\"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),J.hasOwnProperty(r)?{space:J[r],local:t}:t}},Y.attr=function(e,r){if(arguments.length<2){if(\"string\"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(K(r,e[r]));return this}return this.each(K(e,r))},Y.classed=function(t,e){if(arguments.length<2){if(\"string\"==typeof t){var r=this.node(),n=(t=et(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute(\"class\");++i<n;)if(!tt(t[i]).test(e))return!1;return!0}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},Y.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.each(it(r,t[r],e));return this}if(n<2){var i=this.node();return o(i).getComputedStyle(i,null).getPropertyValue(t)}r=\"\"}return this.each(it(t,e,r))},Y.property=function(t,e){if(arguments.length<2){if(\"string\"==typeof t)return this.node()[t];for(e in t)this.each(at(e,t[e]));return this}return this.each(at(t,e))},Y.text=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?\"\":e}:null==t?function(){this.textContent=\"\"}:function(){this.textContent=t}):this.node().textContent},Y.html=function(t){return arguments.length?this.each(\"function\"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?\"\":e}:null==t?function(){this.innerHTML=\"\"}:function(){this.innerHTML=t}):this.node().innerHTML},Y.append=function(t){return t=ot(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Y.insert=function(t,e){return t=ot(t),e=X(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},Y.remove=function(){return this.each(st)},Y.data=function(t,e){var r,n,i=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(t[i]=n.__data__);return t}function o(t,r){var n,i,a,o=t.length,u=r.length,f=Math.min(o,u),h=new Array(u),p=new Array(u),d=new Array(o);if(e){var g,m=new b,v=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(m.has(g=e.call(i,i.__data__,n))?d[n]=i:m.set(g,i),v[n]=g);for(n=-1;++n<u;)(i=m.get(g=e.call(r,a=r[n],n)))?!0!==i&&(h[n]=i,i.__data__=a):p[n]=lt(a),m.set(g,!0);for(n=-1;++n<o;)n in v&&!0!==m.get(v[n])&&(d[n]=t[n])}else{for(n=-1;++n<f;)i=t[n],a=r[n],i?(i.__data__=a,h[n]=i):p[n]=lt(a);for(;n<u;++n)p[n]=lt(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=h,p.parentNode=h.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(h),c.push(d)}var s=ft([]),l=q([]),c=q([]);if(\"function\"==typeof t)for(;++i<a;)o(r=this[i],t.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],t);return l.enter=function(){return s},l.exit=function(){return c},l},Y.datum=function(t){return arguments.length?this.property(\"__data__\",t):this.property(\"__data__\")},Y.filter=function(t){var e,r,n,i=[];\"function\"!=typeof t&&(t=ct(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return q(i)},Y.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},Y.sort=function(t){t=function(t){arguments.length||(t=h);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},Y.each=function(t){return ut(this,function(e,r,n){t.call(e,e.__data__,r,n)})},Y.call=function(t){var e=n(arguments);return t.apply(e[0]=this,e),this},Y.empty=function(){return!this.node()},Y.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},Y.size=function(){var t=0;return ut(this,function(){++t}),t};var ht=[];function pt(e,r,i){var a=\"__on\"+e,o=e.indexOf(\".\"),s=gt;o>0&&(e=e.slice(0,o));var l=dt.get(e);function c(){var t=this[a];t&&(this.removeEventListener(e,t,t.$),delete this[a])}return l&&(e=l,s=mt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[a]=t,t.$=i),t._=r}:c:r?D:function(){var r,n=new RegExp(\"^__on([^.]+)\"+t.requote(e)+\"$\");for(var i in this)if(r=i.match(n)){var a=this[i];this.removeEventListener(r[1],a,a.$),delete this[i]}}}t.selection.enter=ft,t.selection.enter.prototype=ht,ht.append=Y.append,ht.empty=Y.empty,ht.node=Y.node,ht.call=Y.call,ht.size=Y.size,ht.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var c=-1,u=i.length;++c<u;)(a=i[c])?(e.push(n[c]=r=t.call(i.parentNode,a.__data__,c,s)),r.__data__=a.__data__):e.push(null)}return q(o)},ht.insert=function(t,e){var r,n,i;return arguments.length<2&&(r=this,e=function(t,e,a){var o,s=r[a].update,l=s.length;for(a!=i&&(i=a,n=0),e>=n&&(n=e+1);!(o=s[n])&&++n<l;);return o}),Y.insert.call(this,t,e)},t.select=function(t){var e;return\"string\"==typeof t?(e=[H(t,i)]).parentNode=i.documentElement:(e=[t]).parentNode=a(t),q([e])},t.selectAll=function(t){var e;return\"string\"==typeof t?(e=n(G(t,i))).parentNode=i.documentElement:(e=n(t)).parentNode=null,q([e])},Y.on=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=!1),t)this.each(pt(r,t[r],e));return this}if(n<2)return(n=this.node()[\"__on\"+t])&&n._;r=!1}return this.each(pt(t,e,r))};var dt=t.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});function gt(e,r){return function(n){var i=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=i}}}function mt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}i&&dt.forEach(function(t){\"on\"+t in i&&dt.remove(t)});var vt,yt=0;function xt(e){var r=\".dragsuppress-\"+ ++yt,n=\"click\"+r,i=t.select(o(e)).on(\"touchmove\"+r,F).on(\"dragstart\"+r,F).on(\"selectstart\"+r,F);if(null==vt&&(vt=!(\"onselectstart\"in e)&&O(e.style,\"userSelect\")),vt){var s=a(e).style,l=s[vt];s[vt]=\"none\"}return function(t){if(i.on(r,null),vt&&(s[vt]=l),t){var e=function(){i.on(n,null)};i.on(n,function(){F(),e()},!0),setTimeout(e,0)}}}t.mouse=function(t){return _t(t,N())};var bt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function _t(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();if(bt<0){var a=o(e);if(a.scrollX||a.scrollY){var s=(n=t.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\"))[0][0].getScreenCTM();bt=!(s.f||s.e),n.remove()}}return bt?(i.x=r.pageX,i.y=r.pageY):(i.x=r.clientX,i.y=r.clientY),[(i=i.matrixTransform(e.getScreenCTM().inverse())).x,i.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function wt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=N().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return _t(t,n)},t.behavior.drag=function(){var e=j(a,\"drag\",\"dragstart\",\"dragend\"),r=null,n=s(D,t.mouse,o,\"mousemove\",\"mouseup\"),i=s(wt,t.touch,z,\"touchmove\",\"touchend\");function a(){this.on(\"mousedown.drag\",n).on(\"touchstart.drag\",i)}function s(n,i,a,o,s){return function(){var l,c=t.event.target.correspondingElement||t.event.target,u=this.parentNode,f=e.of(this,arguments),h=0,p=n(),d=\".drag\"+(null==p?\"\":\"-\"+p),g=t.select(a(c)).on(o+d,function(){var t,e,r=i(u,p);if(!r)return;t=r[0]-v[0],e=r[1]-v[1],h|=t|e,v=r,f({type:\"drag\",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e})}).on(s+d,function(){if(!i(u,p))return;g.on(o+d,null).on(s+d,null),m(h),f({type:\"dragend\"})}),m=xt(c),v=i(u,p);l=r?[(l=r.apply(this,arguments)).x-v[0],l.y-v[1]]:[0,0],f({type:\"dragstart\"})}}return a.origin=function(t){return arguments.length?(r=t,a):r},t.rebind(a,e,\"on\")},t.touches=function(t,e){return arguments.length<2&&(e=N().touches),e?n(e).map(function(e){var r=_t(t,e);return r.identifier=e.identifier,r}):[]};var kt=1e-6,Mt=kt*kt,At=Math.PI,Tt=2*At,St=Tt-kt,Et=At/2,Ct=At/180,Lt=180/At;function zt(t){return t>0?1:t<0?-1:0}function Pt(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function Ot(t){return t>1?0:t<-1?At:Math.acos(t)}function It(t){return t>1?Et:t<-1?-Et:Math.asin(t)}function Dt(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Bt=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,f=l-a,h=u*u+f*f;if(h<Mt)n=Math.log(c/o)/Bt,r=function(t){return[i+t*u,a+t*f,o*Math.exp(Bt*t*n)]};else{var p=Math.sqrt(h),d=(c*c-o*o+4*h)/(2*o*2*p),g=(c*c-o*o-4*h)/(2*c*2*p),m=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(g*g+1)-g);n=(v-m)/Bt,r=function(t){var e,r=t*n,s=Dt(m),l=o/(2*p)*(s*(e=Bt*r+m,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(m));return[i+l*u,a+l*f,o*s/Dt(Bt*r+m)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,a,s,l,c,u,f,h={x:0,y:0,k:1},p=[960,500],d=jt,g=250,m=0,v=\"mousedown.zoom\",y=\"mousemove.zoom\",x=\"mouseup.zoom\",b=\"touchstart.zoom\",_=j(w,\"zoomstart\",\"zoom\",\"zoomend\");function w(t){t.on(v,z).on(Nt+\".zoom\",O).on(\"dblclick.zoom\",I).on(b,P)}function k(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function M(t){h.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function T(e,n,i,a){e.__chart__={x:h.x,y:h.y,k:h.k},M(Math.pow(2,a)),A(r=n,i),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map(function(t){return(t-h.x)/h.k}).map(l.invert)),f&&f.domain(u.range().map(function(t){return(t-h.y)/h.k}).map(u.invert))}function E(t){m++||t({type:\"zoomstart\"})}function C(t){S(),t({type:\"zoom\",scale:h.k,translate:[h.x,h.y]})}function L(t){--m||(t({type:\"zoomend\"}),r=null)}function z(){var e=this,r=_.of(e,arguments),n=0,i=t.select(o(e)).on(y,function(){n=1,A(t.mouse(e),a),C(r)}).on(x,function(){i.on(y,null).on(x,null),s(n),L(r)}),a=k(t.mouse(e)),s=xt(e);fs.call(e),E(r)}function P(){var e,r=this,n=_.of(r,arguments),i={},a=0,o=\".zoom-\"+t.event.changedTouches[0].identifier,l=\"touchmove\"+o,c=\"touchend\"+o,u=[],f=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=h.k,n.forEach(function(t){t.identifier in i&&(i[t.identifier]=k(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,m).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,f=n.length;o<f;++o)i[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var v=p[0];T(r,v,i[v.identifier],Math.floor(Math.log(h.k)/Math.LN2)+1),F()}s=g}else if(p.length>1){v=p[0];var x=p[1],b=v[0]-x[0],_=v[1]-x[1];a=b*b+_*_}}function m(){var o,l,c,u,f=t.touches(r);fs.call(r);for(var h=0,p=f.length;h<p;++h,u=null)if(c=f[h],u=i[c.identifier]){if(l)break;o=c,l=u}if(u){var d=(d=c[0]-o[0])*d+(d=c[1]-o[1])*d,g=a&&Math.sqrt(d/a);o=[(o[0]+c[0])/2,(o[1]+c[1])/2],l=[(l[0]+u[0])/2,(l[1]+u[1])/2],M(g*e)}s=null,A(o,l),C(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,a=e.length;r<a;++r)delete i[e[r].identifier];for(var s in i)return void d()}t.selectAll(u).on(o,null),f.on(v,z).on(b,P),p(),L(n)}g(),E(n),f.on(v,null).on(b,g)}function O(){var i=_.of(this,arguments);a?clearTimeout(a):(fs.call(this),e=k(r=n||t.mouse(this)),E(i)),a=setTimeout(function(){a=null,L(i)},50),F(),M(Math.pow(2,.002*Ft())*h.k),A(r,e),C(i)}function I(){var e=t.mouse(this),r=Math.log(h.k)/Math.LN2;T(this,e,k(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Nt||(Nt=\"onwheel\"in i?(Ft=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},\"wheel\"):\"onmousewheel\"in i?(Ft=function(){return t.event.wheelDelta},\"mousewheel\"):(Ft=function(){return-t.event.detail},\"MozMousePixelScroll\")),w.event=function(e){e.each(function(){var e=_.of(this,arguments),n=h;ds?t.select(this).transition().each(\"start.zoom\",function(){h=this.__chart__||{x:0,y:0,k:1},E(e)}).tween(\"zoom:zoom\",function(){var i=p[0],a=p[1],o=r?r[0]:i/2,s=r?r[1]:a/2,l=t.interpolateZoom([(o-h.x)/h.k,(s-h.y)/h.k,i/h.k],[(o-n.x)/n.k,(s-n.y)/n.k,i/n.k]);return function(t){var r=l(t),n=i/r[2];this.__chart__=h={x:o-r[0]*n,y:s-r[1]*n,k:n},C(e)}}).each(\"interrupt.zoom\",function(){L(e)}).each(\"end.zoom\",function(){L(e)}):(this.__chart__=h,E(e),C(e),L(e))})},w.translate=function(t){return arguments.length?(h={x:+t[0],y:+t[1],k:h.k},S(),w):[h.x,h.y]},w.scale=function(t){return arguments.length?(h={x:h.x,y:h.y,k:null},M(+t),S(),w):h.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(n=t&&[+t[0],+t[1]],w):n},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(g=+t,w):g},w.x=function(t){return arguments.length?(c=t,l=t.copy(),h={x:0,y:0,k:1},w):c},w.y=function(t){return arguments.length?(f=t,u=t.copy(),h={x:0,y:0,k:1},w):f},t.rebind(w,_,\"on\")};var Ft,Nt,jt=[0,1/0];function Vt(){}function Ut(t,e,r){return this instanceof Ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof Ut?new Ut(t.h,t.s,t.l):ue(\"\"+t,fe,Ut):new Ut(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+\"\"},t.hsl=Ut;var qt=Ut.prototype=new Vt;function Ht(t,e,r){var n,i;function a(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=he((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Wt=Gt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Ct)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Yt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Wt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,$t=.95047,Jt=1,Kt=1.08883,Qt=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*$t)-1.5371385*(n=re(n)*Jt)-.4985314*(a=re(a)*Kt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Lt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ue(\"\"+t,ae,Ht):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+\"\"}Qt.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},Qt.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},Qt.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ae;var le=ae.prototype=new Vt;function ce(t){return t<16?\"0\"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\\((.*)\\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(\",\"),n[1]){case\"hsl\":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case\"rgb\":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ge.get(t))?e(a.r,a.g,a.b):(null==t||\"#\"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new Ut(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/$t),i=ne((.2126729*t+.7151522*e+.072175*r)/Jt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Kt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return\"%\"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new ae(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ae(i,i,i)},le.darker=function(t){return new ae((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},le.hsl=function(){return fe(this.r,this.g,this.b)},le.toString=function(){return\"#\"+ce(this.r)+ce(this.g)+ce(this.b)};var ge=t.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});function me(t){return\"function\"==typeof t?t:function(){return t}}function ve(t){return function(e,r,n){return 2===arguments.length&&\"function\"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(e,r,i,a){var o={},s=t.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),l={},c=new XMLHttpRequest,u=null;function f(){var t,e=c.status;if(!e&&function(t){var e=t.responseType;return e&&\"text\"!==e?t.response:t.responseText}(c)||e>=200&&e<300||304===e){try{t=i.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return!this.XDomainRequest||\"withCredentials\"in c||!/^(http(s)?:)?\\/\\//.test(e)||(c=new XDomainRequest),\"onload\"in c?c.onload=c.onerror=f:c.onreadystatechange=function(){c.readyState>3&&f()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+\"\").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+\"\",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+\"\",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return i=t,o},[\"get\",\"post\"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,i){if(2===arguments.length&&\"function\"==typeof n&&(i=n,n=null),c.open(t,e,!0),null==r||\"accept\"in l||(l.accept=r+\",*/*\"),c.setRequestHeader)for(var a in l)c.setRequestHeader(a,l[a]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=i&&o.on(\"error\",i).on(\"load\",function(t){i(null,t)}),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,\"on\"),null==a?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(a))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=me,t.xhr=ve(z),t.dsv=function(t,e){var r=new RegExp('[\"'+t+\"\\n]\"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ye(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'\"'+t.replace(/\\\"/g,'\"\"')+'\"':t}return i.parse=function(t,e){var r;return i.parseRows(t,function(t,n){if(r)return r(t,n-1);var i=new Function(\"d\",\"return {\"+t.map(function(t,e){return JSON.stringify(t)+\": d[\"+e+\"]\"}).join(\",\")+\"}\");r=e?function(t,r){return e(i(t),r)}:i})},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,c=0,u=0;function f(){if(c>=l)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return c=r+2,13===(s=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&&++c):10===s&&(i=!0),t.slice(e+1,r).replace(/\"\"/g,'\"')}for(;c<l;){var s,u=1;if(10===(s=t.charCodeAt(c++)))i=!0;else if(13===s)i=!0,10===t.charCodeAt(c)&&(++c,++u);else if(s!==n)continue;return t.slice(e,c-u)}return t.slice(e)}for(;(r=f())!==o;){for(var h=[];r!==a&&r!==o;)h.push(r),r=f();e&&null==(h=e(h,u++))||s.push(h)}return s},i.format=function(e){if(Array.isArray(e[0]))return i.formatRows(e);var r=new L,n=[];return e.forEach(function(t){for(var e in t)r.has(e)||n.push(r.add(e))}),[n.map(l).join(t)].concat(e.map(function(e){return n.map(function(t){return l(e[t])}).join(t)})).join(\"\\n\")},i.formatRows=function(t){return t.map(s).join(\"\\n\")},i},t.csv=t.dsv(\",\",\"text/csv\"),t.tsv=t.dsv(\"\\t\",\"text/tab-separated-values\");var xe,be,_e,we,ke=this[O(this,\"requestAnimationFrame\")]||function(t){setTimeout(t,17)};function Me(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i={c:t,t:r+e,n:null};return be?be.n=i:xe=i,be=i,_e||(we=clearTimeout(we),_e=1,ke(Ae)),i}function Ae(){var t=Te(),e=Se()-t;e>24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,ke(Ae))}function Te(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:xe=e.n;return be=t,r}function Ee(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){Me.apply(this,arguments)},t.timer.flush=function(){Te(),Se()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Ce=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xb5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"].map(function(t,e){var r=Math.pow(10,3*y(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ee(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Ce[8+n/3]};var Le=/(?:([^{])?([<>=^]))?([+\\- ])?([$#])?(0)?(\\d+)?(,)?(\\.-?\\d+)?([a-z%])?/i,ze=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,Ee(e,r))).toFixed(Math.max(0,Math.min(20,Ee(e*(1+1e-15),r))))}});function Pe(t){return t+\"\"}var Oe=t.time={},Ie=Date;function De(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}De.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Be(t,e,r){function n(e){var r=t(e),n=a(r,1);return e-r<n-e?r:n}function i(r){return e(r=t(new Ie(r-1)),1),r}function a(t,r){return e(t=new Ie(+t),r),t}function o(t,n,a){var o=i(t),s=[];if(a>1)for(;o<n;)r(o)%a||s.push(new Date(+o)),e(o,1);else for(;o<n;)s.push(new Date(+o)),e(o,1);return s}t.floor=t,t.round=n,t.ceil=i,t.offset=a,t.range=o;var s=t.utc=Fe(t);return s.floor=s,s.round=Fe(n),s.ceil=Fe(i),s.offset=Fe(a),s.range=function(t,e,r){try{Ie=De;var n=new De;return n._=t,o(n,e,r)}finally{Ie=Date}},t}function Fe(t){return function(e,r){try{Ie=De;var n=new De;return n._=e,t(n,r)._}finally{Ie=Date}}}Oe.year=Be(function(t){return(t=Oe.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),Oe.years=Oe.year.range,Oe.years.utc=Oe.year.utc.range,Oe.day=Be(function(t){var e=new Ie(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),Oe.days=Oe.day.range,Oe.days.utc=Oe.day.utc.range,Oe.dayOfYear=function(t){var e=Oe.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},[\"sunday\",\"monday\",\"tuesday\",\"wednesday\",\"thursday\",\"friday\",\"saturday\"].forEach(function(t,e){e=7-e;var r=Oe[t]=Be(function(t){return(t=Oe.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var r=Oe.year(t).getDay();return Math.floor((Oe.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});Oe[t+\"s\"]=r.range,Oe[t+\"s\"].utc=r.utc.range,Oe[t+\"OfYear\"]=function(t){var r=Oe.year(t).getDay();return Math.floor((Oe.dayOfYear(t)+(r+e)%7)/7)}}),Oe.week=Oe.sunday,Oe.weeks=Oe.sunday.range,Oe.weeks.utc=Oe.sunday.utc.range,Oe.weekOfYear=Oe.sundayOfYear;var Ne={\"-\":\"\",_:\" \",0:\"0\"},je=/^\\s*\\d+/,Ve=/^%/;function Ue(t,e,r){var n=t<0?\"-\":\"\",i=(n?-t:t)+\"\",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function qe(e){return new RegExp(\"^(?:\"+e.map(t.requote).join(\"|\")+\")\",\"i\")}function He(t){for(var e=new b,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Ge(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function We(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function Ye(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Xe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Ze(t,e,r){je.lastIndex=0;var n,i=je.exec(e.slice(r,r+2));return i?(t.y=(n=+i[0])+(n>68?1900:2e3),r+i[0].length):-1}function $e(t,e,r){return/^[+-]\\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Je(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ir(t){var e=t.getTimezoneOffset(),r=e>0?\"-\":\"+\",n=y(e)/60|0,i=y(e)%60;return r+Ue(n,\"0\",2)+Ue(i,\"0\",2)}function ar(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r<e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}t.locale=function(e){return{numberFormat:function(e){var r=e.decimal,n=e.thousands,i=e.grouping,a=e.currency,o=i&&n?function(t,e){for(var r=t.length,a=[],o=0,s=i[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),a.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=i[o=(o+1)%i.length];return a.reverse().join(n)}:z;return function(e){var n=Le.exec(e),i=n[1]||\" \",s=n[2]||\">\",l=n[3]||\"-\",c=n[4]||\"\",u=n[5],f=+n[6],h=n[7],p=n[8],d=n[9],g=1,m=\"\",v=\"\",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||\"0\"===i&&\"=\"===s)&&(u=i=\"0\",s=\"=\"),d){case\"n\":h=!0,d=\"g\";break;case\"%\":g=100,v=\"%\",d=\"f\";break;case\"p\":g=100,v=\"%\",d=\"r\";break;case\"b\":case\"o\":case\"x\":case\"X\":\"#\"===c&&(m=\"0\"+d.toLowerCase());case\"c\":x=!1;case\"d\":y=!0,p=0;break;case\"s\":g=-1,d=\"r\"}\"$\"===c&&(m=a[0],v=a[1]),\"r\"!=d||p||(d=\"g\"),null!=p&&(\"g\"==d?p=Math.max(1,Math.min(21,p)):\"e\"!=d&&\"f\"!=d||(p=Math.max(0,Math.min(20,p)))),d=ze.get(d)||Pe;var b=u&&h;return function(e){var n=v;if(y&&e%1)return\"\";var a=e<0||0===e&&1/e<0?(e=-e,\"-\"):\"-\"===l?\"\":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+v}else e*=g;var _,w,k=(e=d(e,p)).lastIndexOf(\".\");if(k<0){var M=x?e.lastIndexOf(\"e\"):-1;M<0?(_=e,w=\"\"):(_=e.substring(0,M),w=e.substring(M))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&h&&(_=o(_,1/0));var A=m.length+_.length+w.length+(b?0:a.length),T=A<f?new Array(A=f-A+1).join(i):\"\";return b&&(_=o(T+_,T.length?f-w.length:1/0)),a+=m,e=_+w,(\"<\"===s?a+e+T:\">\"===s?T+a+e:\"^\"===s?T.substring(0,A>>=1)+a+e+T.substring(A):a+(b?e:T+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,i=e.time,a=e.periods,o=e.days,s=e.shortDays,l=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,i,a,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(a=_[n])&&(n=a(r,null==i?\"e\"===n?\" \":\"0\":i)),o.push(n),l=s+1);return o.push(t.slice(l,s)),o.join(\"\")}return r.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(f(r,t,e,0)!=e.length)return null;\"p\"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&Ie!==De,i=new(n?De:Ie);return\"j\"in r?i.setFullYear(r.y,0,r.j):\"W\"in r||\"U\"in r?(\"w\"in r||(r.w=\"W\"in r?1:0),i.setFullYear(r.y,0,1),i.setFullYear(r.y,0,\"W\"in r?(r.w+6)%7+7*r.W-(i.getDay()+5)%7:r.w+7*r.U-(i.getDay()+6)%7)):i.setFullYear(r.y,r.m,r.d),i.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?i._:i},r.toString=function(){return t},r}function f(t,e,r,n){for(var i,a,o,s=0,l=e.length,c=r.length;s<l;){if(n>=c)return-1;if(37===(i=e.charCodeAt(s++))){if(o=e.charAt(s++),!(a=w[o in Ne?e.charAt(s++):o])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(Ie=De);return r._=t,e(r)}finally{Ie=Date}}return r.parse=function(t){try{Ie=De;var r=e.parse(t);return r&&r._}finally{Ie=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var h=t.map(),p=qe(o),d=He(o),g=qe(s),m=He(s),v=qe(l),y=He(l),x=qe(c),b=He(c);a.forEach(function(t,e){h.set(t.toLowerCase(),e)});var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+Oe.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return a[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(Oe.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(Oe.mondayOfYear(t),e,2)},x:u(n),X:u(i),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ir,\"%\":function(){return\"%\"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=m.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){v.lastIndex=0;var n=v.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return f(t,_.c.toString(),e,r)},d:Ke,e:Ke,H:tr,I:tr,j:Qe,L:nr,m:Je,M:er,p:function(t,e,r){var n=h.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:We,w:Ge,W:Ye,x:function(t,e,r){return f(t,_.x.toString(),e,r)},X:function(t,e,r){return f(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:$e,\"%\":ar};return u}(e)}};var sr=t.locale({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],dateTime:\"%a %b %e %X %Y\",date:\"%m/%d/%Y\",time:\"%H:%M:%S\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){ur(t,this.t,cr),ur(cr.s,this.s,this),this.s?this.t+=cr.t:this.s=cr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cr=new lr;function ur(t,e,r){var n=r.s=t+e,i=n-t,a=n-i;r.t=t-a+(e-i)}function fr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&hr.hasOwnProperty(t.type)?hr[t.type](t,e):fr(t,e)};var hr={Feature:function(t,e){fr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)fr(r[n].geometry,e)}},pr={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){dr(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)fr(r[n],e)}};function dr(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function gr(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)dr(t[r],e,1);e.polygonEnd()}t.geo.area=function(e){return mr=0,t.geo.stream(e,Cr),mr};var mr,vr,yr,xr,br,_r,wr,kr,Mr,Ar,Tr,Sr,Er=new lr,Cr={sphere:function(){mr+=4*At},point:D,lineStart:D,lineEnd:D,polygonStart:function(){Er.reset(),Cr.lineStart=Lr},polygonEnd:function(){var t=2*Er;mr+=t<0?4*At+t:t,Cr.lineStart=Cr.lineEnd=Cr.point=D}};function Lr(){var t,e,r,n,i;function a(t,e){e=e*Ct/2+At/4;var a=(t*=Ct)-r,o=a>=0?1:-1,s=o*a,l=Math.cos(e),c=Math.sin(e),u=i*c,f=n*l+u*Math.cos(s),h=u*o*Math.sin(s);Er.add(Math.atan2(h,f)),r=t,n=l,i=c}Cr.point=function(o,s){Cr.point=a,r=(t=o)*Ct,n=Math.cos(s=(e=s)*Ct/2+At/4),i=Math.sin(s)},Cr.lineEnd=function(){a(t,e)}}function zr(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Pr(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Or(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Ir(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Dr(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Br(t){return[Math.atan2(t[1],t[0]),It(t[2])]}function Fr(t,e){return y(t[0]-e[0])<kt&&y(t[1]-e[1])<kt}t.geo.bounds=function(){var e,r,n,i,a,o,s,l,c,u,f,h={point:p,lineStart:g,lineEnd:m,polygonStart:function(){h.point=v,h.lineStart=x,h.lineEnd=b,c=0,Cr.polygonStart()},polygonEnd:function(){Cr.polygonEnd(),h.point=p,h.lineStart=g,h.lineEnd=m,Er<0?(e=-(n=180),r=-(i=90)):c>kt?i=90:c<-kt&&(r=-90),f[0]=e,f[1]=n}};function p(t,a){u.push(f=[e=t,n=t]),a<r&&(r=a),a>i&&(i=a)}function d(t,o){var s=zr([t*Ct,o*Ct]);if(l){var c=Or(l,s),u=Or([c[1],-c[0],0],c);Rr(u),u=Br(u);var f=t-a,h=f>0?1:-1,d=u[0]*Lt*h,g=y(f)>180;if(g^(h*a<d&&d<h*t))(m=u[1]*Lt)>i&&(i=m);else if(g^(h*a<(d=(d+360)%360-180)&&d<h*t)){var m;(m=-u[1]*Lt)<r&&(r=m)}else o<r&&(r=o),o>i&&(i=o);g?t<a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>a?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,a=t}function g(){h.point=d}function m(){f[0]=e,f[1]=n,h.point=p,l=null}function v(t,e){if(l){var r=t-a;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Cr.point(t,e),d(t,e)}function x(){Cr.lineStart()}function b(){v(o,s),Cr.lineEnd(),y(c)>kt&&(e=-(n=180)),f[0]=e,f[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(a){if(i=n=-(e=r=1/0),u=[],t.geo.stream(a,h),c=u.length){u.sort(w);for(var o=1,s=[g=u[0]];o<c;++o)k((p=u[o])[0],g)||k(p[1],g)?(_(g[0],p[1])>_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=f=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,i]]}}(),t.geo.centroid=function(e){vr=yr=xr=br=_r=wr=kr=Mr=Ar=Tr=Sr=0,t.geo.stream(e,Nr);var r=Ar,n=Tr,i=Sr,a=r*r+n*n+i*i;return a<Mt&&(r=wr,n=kr,i=Mr,yr<kt&&(r=xr,n=br,i=_r),(a=r*r+n*n+i*i)<Mt)?[NaN,NaN]:[Math.atan2(n,r)*Lt,It(i/Math.sqrt(a))*Lt]};var Nr={sphere:D,point:jr,lineStart:Ur,lineEnd:qr,polygonStart:function(){Nr.lineStart=Hr},polygonEnd:function(){Nr.lineStart=Ur}};function jr(t,e){t*=Ct;var r=Math.cos(e*=Ct);Vr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Vr(t,e,r){xr+=(t-xr)/++vr,br+=(e-br)/vr,_r+=(r-_r)/vr}function Ur(){var t,e,r;function n(n,i){n*=Ct;var a=Math.cos(i*=Ct),o=a*Math.cos(n),s=a*Math.sin(n),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=e*l-r*s)*c+(c=r*o-t*l)*c+(c=t*s-e*o)*c),t*o+e*s+r*l);yr+=c,wr+=c*(t+(t=o)),kr+=c*(e+(e=s)),Mr+=c*(r+(r=l)),Vr(t,e,r)}Nr.point=function(i,a){i*=Ct;var o=Math.cos(a*=Ct);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(a),Nr.point=n,Vr(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,i;function a(t,e){t*=Ct;var a=Math.cos(e*=Ct),o=a*Math.cos(t),s=a*Math.sin(t),l=Math.sin(e),c=n*l-i*s,u=i*o-r*l,f=r*s-n*o,h=Math.sqrt(c*c+u*u+f*f),p=r*o+n*s+i*l,d=h&&-Ot(p)/h,g=Math.atan2(h,p);Ar+=d*c,Tr+=d*u,Sr+=d*f,yr+=g,wr+=g*(r+(r=o)),kr+=g*(n+(n=s)),Mr+=g*(i+(i=l)),Vr(r,n,i)}Nr.point=function(o,s){t=o,e=s,Nr.point=a,o*=Ct;var l=Math.cos(s*=Ct);r=l*Math.cos(o),n=l*Math.sin(o),i=Math.sin(s),Vr(r,n,i)},Nr.lineEnd=function(){a(t,e),Nr.lineEnd=qr,Nr.point=jr}}function Gr(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return(r=e.invert(r,n))&&t.invert(r[0],r[1])}),r}function Wr(){return!0}function Yr(t,e,r,n,i){var a=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Fr(r,n)){i.lineStart();for(var s=0;s<e;++s)i.point((r=t[s])[0],r[1]);i.lineEnd()}else{var l=new Zr(r,t,null,!0),c=new Zr(r,null,l,!1);l.o=c,a.push(l),o.push(c),l=new Zr(n,t,null,!1),c=new Zr(n,null,l,!0),l.o=c,a.push(l),o.push(c)}}}),o.sort(e),Xr(a),Xr(o),a.length){for(var s=0,l=r,c=o.length;s<c;++s)o[s].e=l=!l;for(var u,f,h=a[0];;){for(var p=h,d=!0;p.v;)if((p=p.n)===h)return;u=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,c=u.length;s<c;++s)i.point((f=u[s])[0],f[1]);else n(p.x,p.n.x,1,i);p=p.n}else{if(d)for(s=(u=p.p.z).length-1;s>=0;--s)i.point((f=u[s])[0],f[1]);else n(p.x,p.p.x,-1,i);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);i.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}function Zr(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function $r(e,r,n,i){return function(a,o){var s,l=r(o),c=a.invert(i[0],i[1]),u={point:f,lineStart:p,lineEnd:d,polygonStart:function(){u.point=b,u.lineStart=_,u.lineEnd=w,s=[],g=[]},polygonEnd:function(){u.point=f,u.lineStart=p,u.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],i=[Math.sin(r),-Math.cos(r),0],a=0,o=0;Er.reset();for(var s=0,l=e.length;s<l;++s){var c=e[s],u=c.length;if(u)for(var f=c[0],h=f[0],p=f[1]/2+At/4,d=Math.sin(p),g=Math.cos(p),m=1;;){m===u&&(m=0);var v=(t=c[m])[0],y=t[1]/2+At/4,x=Math.sin(y),b=Math.cos(y),_=v-h,w=_>=0?1:-1,k=w*_,M=k>At,A=d*x;if(Er.add(Math.atan2(A*w*Math.sin(k),g*b+A*Math.cos(k))),a+=M?_+w*Tt:_,M^h>=r^v>=r){var T=Or(zr(f),zr(t));Rr(T);var S=Or(i,T);Rr(S);var E=(M^_>=0?-1:1)*It(S[2]);(n>E||n===E&&(T[0]||T[1]))&&(o+=M^_>=0?1:-1)}if(!m++)break;h=v,d=x,g=b,f=t}}return(a<-kt||a<kt&&Er<-kt)^1&o}(c,g);s.length?(x||(o.polygonStart(),x=!0),Yr(s,Qr,e,n,o)):e&&(x||(o.polygonStart(),x=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),s=g=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function f(t,r){var n=a(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function h(t,e){var r=a(t,e);l.point(r[0],r[1])}function p(){u.point=h,l.lineStart()}function d(){u.point=f,l.lineEnd()}var g,m,v=Kr(),y=r(v),x=!1;function b(t,e){m.push([t,e]);var r=a(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),m=[]}function w(){b(m[0][0],m[0][1]),y.lineEnd();var t,e=y.clean(),r=v.buffer(),n=r.length;if(m.pop(),g.push(m),m=null,n)if(1&e){var i,a=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a<n;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Jr))}return u}}function Jr(t){return t.length>1}function Kr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:D,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function Qr(t,e){return((t=t.x)[0]<0?t[1]-Et-kt:Et-t[1])-((e=e.x)[0]<0?e[1]-Et-kt:Et-e[1])}var tn=$r(Wr,function(t){var e,r=NaN,n=NaN,i=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(a,o){var s=a>0?At:-At,l=y(a-r);y(l-At)<kt?(t.point(r,n=(n+o)/2>0?Et:-Et),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(a,n),e=0):i!==s&&l>=At&&(y(r-i)<kt&&(r-=i*kt),y(a-s)<kt&&(a-=s*kt),n=function(t,e,r,n){var i,a,o=Math.sin(t-r);return y(o)>kt?Math.atan((Math.sin(e)*(a=Math.cos(n))*Math.sin(r)-Math.sin(n)*(i=Math.cos(e))*Math.sin(t))/(i*a*o)):(e+n)/2}(r,n,a,o),t.point(i,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=a,n=o),i=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var i;if(null==t)i=r*Et,n.point(-At,i),n.point(0,i),n.point(At,i),n.point(At,0),n.point(At,-i),n.point(0,-i),n.point(-At,-i),n.point(-At,0),n.point(-At,i);else if(y(t[0]-e[0])>kt){var a=t[0]<e[0]?At:-At;i=r*a/2,n.point(-a,i),n.point(0,i),n.point(a,i)}else n.point(e[0],e[1])},[-At,-At/2]);function en(t,e,r,n){return function(i){var a,o=i.a,s=i.b,l=o.x,c=o.y,u=0,f=1,h=s.x-l,p=s.y-c;if(a=t-l,h||!(a>0)){if(a/=h,h<0){if(a<u)return;a<f&&(f=a)}else if(h>0){if(a>f)return;a>u&&(u=a)}if(a=r-l,h||!(a<0)){if(a/=h,h<0){if(a>f)return;a>u&&(u=a)}else if(h>0){if(a<u)return;a<f&&(f=a)}if(a=e-c,p||!(a>0)){if(a/=p,p<0){if(a<u)return;a<f&&(f=a)}else if(p>0){if(a>f)return;a>u&&(u=a)}if(a=n-c,p||!(a<0)){if(a/=p,p<0){if(a>f)return;a>u&&(u=a)}else if(p>0){if(a<u)return;a<f&&(f=a)}return u>0&&(i.a={x:l+u*h,y:c+u*p}),f<1&&(i.b={x:l+f*h,y:c+f*p}),i}}}}}}var rn=1e9;function nn(e,r,n,i){return function(l){var c,u,f,h,p,d,g,m,v,y,x,b=l,_=Kr(),w=en(e,r,n,i),k={point:T,lineStart:function(){k.point=S,u&&u.push(f=[]);y=!0,v=!1,g=m=NaN},lineEnd:function(){c&&(S(h,p),d&&v&&_.rejoin(),c.push(_.buffer()));k.point=T,v&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],i=0;i<r;++i)for(var a,o=1,s=u[i],l=s.length,c=s[0];o<l;++o)a=s[o],c[1]<=n?a[1]>n&&Pt(c,a,t)>0&&++e:a[1]<=n&&Pt(c,a,t)<0&&--e,c=a;return 0!==e}([e,i]),n=x&&r,a=c.length;(n||a)&&(l.polygonStart(),n&&(l.lineStart(),M(null,null,1,l),l.lineEnd()),a&&Yr(c,o,r,M,l),l.polygonEnd()),c=u=f=null}};function M(t,o,l,c){var u=0,f=0;if(null==t||(u=a(t,l))!==(f=a(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?i:r)}while((u=(u+l+4)%4)!==f);else c.point(o[0],o[1])}function A(t,a){return e<=t&&t<=n&&r<=a&&a<=i}function T(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(u&&f.push([t,e]),y)h=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&v)l.point(t,e);else{var n={a:{x:g,y:m},b:{x:t,y:e}};w(n)?(v||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,m=e,v=r}return k};function a(t,i){return y(t[0]-e)<kt?i>0?0:3:y(t[0]-n)<kt?i>0?2:1:y(t[1]-r)<kt?i>0?1:0:i>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=a(t,1),n=a(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function an(t){var e=0,r=At/3,n=Cn(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*At/180,r=t[1]*At/180):[e/At*180,r/At*180]},i}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,i=1+r*(2*n-r),a=Math.sqrt(i)/n;function o(t,e){var r=Math.sqrt(i-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),a-r*Math.cos(t)]}return o.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,It((i-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,i,a,o={stream:function(t){return i&&(i.valid=!1),(i=a(t)).valid=!0,i},extent:function(s){return arguments.length?(a=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),i&&(i.valid=!1,i=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,i,a=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var a=t[0],o=t[1];return e=null,r(a,o),e||(n(a,o),e)||i(a,o),e}return c.invert=function(t){var e=a.scale(),r=a.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?o:i>=.166&&i<.234&&n>=-.214&&n<-.115?s:a).invert(t)},c.stream=function(t){var e=a.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,i){e.point(t,i),r.point(t,i),n.point(t,i)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},c.precision=function(t){return arguments.length?(a.precision(t),o.precision(t),s.precision(t),c):a.precision()},c.scale=function(t){return arguments.length?(a.scale(t),o.scale(.35*t),s.scale(t),c.translate(a.translate())):a.scale()},c.translate=function(t){if(!arguments.length)return a.translate();var e=a.scale(),u=+t[0],f=+t[1];return r=a.translate(t).clipExtent([[u-.455*e,f-.238*e],[u+.455*e,f+.238*e]]).stream(l).point,n=o.translate([u-.307*e,f+.201*e]).clipExtent([[u-.425*e+kt,f+.12*e+kt],[u-.214*e-kt,f+.234*e-kt]]).stream(l).point,i=s.translate([u-.205*e,f+.212*e]).clipExtent([[u-.214*e+kt,f+.166*e+kt],[u-.115*e-kt,f+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,fn,hn,pn={point:D,lineStart:D,lineEnd:D,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=D,sn+=y(ln/2)}};function dn(){var t,e,r,n;function i(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(a,o){pn.point=i,t=r=a,e=n=o},pn.lineEnd=function(){i(t,e)}}var gn={point:function(t,e){t<cn&&(cn=t);t>fn&&(fn=t);e<un&&(un=e);e>hn&&(hn=e)},lineStart:D,lineEnd:D,polygonStart:D,polygonEnd:D};function mn(){var t=vn(4.5),e=[],r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=vn(e),r},result:function(){if(e.length){var t=e.join(\"\");return e=[],t}}};function n(r,n){e.push(\"M\",r,\",\",n,t)}function i(t,n){e.push(\"M\",t,\",\",n),r.point=a}function a(t,r){e.push(\"L\",t,\",\",r)}function o(){r.point=n}function s(){e.push(\"Z\")}return r}function vn(t){return\"m0,\"+t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+-2*t+\"a\"+t+\",\"+t+\" 0 1,1 0,\"+2*t+\"z\"}var yn,xn={point:bn,lineStart:_n,lineEnd:wn,polygonStart:function(){xn.lineStart=kn},polygonEnd:function(){xn.point=bn,xn.lineStart=_n,xn.lineEnd=wn}};function bn(t,e){xr+=t,br+=e,++_r}function _n(){var t,e;function r(r,n){var i=r-t,a=n-e,o=Math.sqrt(i*i+a*a);wr+=o*(t+r)/2,kr+=o*(e+n)/2,Mr+=o,bn(t=r,e=n)}xn.point=function(n,i){xn.point=r,bn(t=n,e=i)}}function wn(){xn.point=bn}function kn(){var t,e,r,n;function i(t,e){var i=t-r,a=e-n,o=Math.sqrt(i*i+a*a);wr+=o*(r+t)/2,kr+=o*(n+e)/2,Mr+=o,Ar+=(o=n*t-r*e)*(r+t),Tr+=o*(n+e),Sr+=3*o,bn(r=t,n=e)}xn.point=function(a,o){xn.point=i,bn(t=r=a,e=n=o)},xn.lineEnd=function(){i(t,e)}}function Mn(t){var e=4.5,r={point:n,lineStart:function(){r.point=i},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:D};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,Tt)}function i(e,n){t.moveTo(e,n),r.point=a}function a(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function An(t){var e=.5,r=Math.cos(30*Ct),n=16;function i(e){return(n?function(e){var r,i,o,s,l,c,u,f,h,p,d,g,m={point:v,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),m.lineStart=_},polygonEnd:function(){e.polygonEnd(),m.lineStart=y}};function v(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){f=NaN,m.point=x,e.lineStart()}function x(r,i){var o=zr([r,i]),s=t(r,i);a(f,h,u,p,d,g,f=s[0],h=s[1],u=r,p=o[0],d=o[1],g=o[2],n,e),e.point(f,h)}function b(){m.point=v,e.lineEnd()}function _(){y(),m.point=w,m.lineEnd=k}function w(t,e){x(r=t,e),i=f,o=h,s=p,l=d,c=g,m.point=x}function k(){a(f,h,u,p,d,g,i,o,r,s,l,c,n,e),m.lineEnd=b,b()}return m}:function(e){return Sn(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function a(n,i,o,s,l,c,u,f,h,p,d,g,m,v){var x=u-n,b=f-i,_=x*x+b*b;if(_>4*e&&m--){var w=s+p,k=l+d,M=c+g,A=Math.sqrt(w*w+k*k+M*M),T=Math.asin(M/=A),S=y(y(M)-1)<kt||y(o-h)<kt?(o+h)/2:Math.atan2(k,w),E=t(S,T),C=E[0],L=E[1],z=C-n,P=L-i,O=b*z-x*P;(O*O/_>e||y((x*z+b*P)/_-.5)>.3||s*p+l*d+c*g<r)&&(a(n,i,o,s,l,c,C,L,S,w/=A,k/=A,M,m,v),v.point(C,L),a(C,L,S,w,k,M,u,f,h,p,d,g,m,v))}}return i.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,i):Math.sqrt(e)},i}function Tn(t){this.stream=t}function Sn(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function En(t){return Cn(function(){return t})()}function Cn(e){var r,n,i,a,o,s,l=An(function(t,e){return[(t=r(t,e))[0]*c+a,o-t[1]*c]}),c=150,u=480,f=250,h=0,p=0,d=0,g=0,m=0,v=tn,x=z,b=null,_=null;function w(t){return[(t=i(t[0]*Ct,t[1]*Ct))[0]*c+a,o-t[1]*c]}function k(t){return(t=i.invert((t[0]-a)/c,(o-t[1])/c))&&[t[0]*Lt,t[1]*Lt]}function M(){i=Gr(n=On(d,g,m),r);var t=r(h,p);return a=u-t[0]*c,o=f+t[1]*c,A()}function A(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=Ln(v(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(v=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return $r(i,function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(f,h){var p,d=[f,h],g=i(f,h),m=r?g?0:o(f,h):g?o(f+(f<0?At:-At),h):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=a(e,d),(Fr(e,p)||Fr(d,p))&&(d[0]+=kt,d[1]+=kt,g=i(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=a(d,e),t.point(p[0],p[1])):(p=a(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var v;m&s||!(v=a(d,e,!0))||(u=0,r?(t.lineStart(),t.point(v[0][0],v[0][1]),t.point(v[1][0],v[1][1]),t.lineEnd()):(t.point(v[1][0],v[1][1]),t.lineEnd(),t.lineStart(),t.point(v[0][0],v[0][1])))}!g||e&&Fr(e,d)||t.point(d[0],d[1]),e=d,l=g,s=m},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}},Bn(t,6*Ct),r?[0,-t]:[-At,t-At]);function i(t,r){return Math.cos(t)*Math.cos(r)>e}function a(t,r,n){var i=[1,0,0],a=Or(zr(t),zr(r)),o=Pr(a,a),s=a[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,f=Or(i,a),h=Dr(i,c);Ir(h,Dr(a,u));var p=f,d=Pr(h,p),g=Pr(p,p),m=d*d-g*(Pr(h,h)-1);if(!(m<0)){var v=Math.sqrt(m),x=Dr(p,(-d-v)/g);if(Ir(x,h),x=Br(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],M=r[1];w<_&&(b=_,_=w,w=b);var A=w-_,T=y(A-At)<kt;if(!T&&M<k&&(b=k,k=M,M=b),T||A<kt?T?k+M>0^x[1]<(y(x[0]-_)<kt?k:M):k<=x[1]&&x[1]<=M:A>At^(_<=x[0]&&x[0]<=w)){var S=Dr(p,(-d+v)/g);return Ir(S,h),[x,Br(S)]}}}function o(e,n){var i=r?t:At-t,a=0;return e<-i?a|=1:e>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}}((b=+t)*Ct),A()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):z,A()):_},w.scale=function(t){return arguments.length?(c=+t,M()):c},w.translate=function(t){return arguments.length?(u=+t[0],f=+t[1],M()):[u,f]},w.center=function(t){return arguments.length?(h=t[0]%360*Ct,p=t[1]%360*Ct,M()):[h*Lt,p*Lt]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Ct,g=t[1]%360*Ct,m=t.length>2?t[2]%360*Ct:0,M()):[d*Lt,g*Lt,m*Lt]},t.rebind(w,l,\"precision\"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,M()}}function Ln(t){return Sn(t,function(e,r){t.point(e*Ct,r*Ct)})}function zn(t,e){return[t,e]}function Pn(t,e){return[t>At?t-Tt:t<-At?t+Tt:t,e]}function On(t,e,r){return t?e||r?Gr(Dn(t),Rn(e,r)):Dn(t):e||r?Rn(e,r):Pn}function In(t){return function(e,r){return[(e+=t)>At?e-Tt:e<-At?e+Tt:e,r]}}function Dn(t){var e=In(t);return e.invert=In(-t),e}function Rn(t,e){var r=Math.cos(t),n=Math.sin(t),i=Math.cos(e),a=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*i-u*a,s*r-c*n),It(u*i+l*a)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*i-l*a;return[Math.atan2(l*i+c*a,s*r+u*n),It(u*r-s*n)]},o}function Bn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(i,a,o,s){var l=o*e;null!=i?(i=Fn(r,i),a=Fn(r,a),(o>0?i<a:i>a)&&(i+=o*Tt)):(i=t+o*Tt,a=t-.5*l);for(var c,u=i;o>0?u>a:u<a;u-=l)s.point((c=Br([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Fn(t,e){var r=zr(e);r[0]-=t,Rr(r);var n=Ot(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-kt)%(2*Math.PI)}function Nn(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map(function(e){return[t,e]})}}function jn(e,r,n){var i=t.range(e,r-kt,n).concat(r);return function(t){return i.map(function(e){return[e,t]})}}function Vn(t){return t.source}function Un(t){return t.target}t.geo.path=function(){var e,r,n,i,a,o=4.5;function s(e){return e&&(\"function\"==typeof o&&i.pointRadius(+o.apply(this,arguments)),a&&a.valid||(a=n(i)),t.geo.stream(e,a)),i.result()}function l(){return a=null,s}return s.area=function(e){return sn=0,t.geo.stream(e,n(pn)),sn},s.centroid=function(e){return xr=br=_r=wr=kr=Mr=Ar=Tr=Sr=0,t.geo.stream(e,n(xn)),Sr?[Ar/Sr,Tr/Sr]:Mr?[wr/Mr,kr/Mr]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return fn=hn=-(cn=un=1/0),t.geo.stream(e,n(gn)),[[cn,un],[fn,hn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||(r=t,i=An(function(t,e){return r([t*Lt,e*Lt])}),function(t){return Ln(i(t))}):z,l()):e;var r,i},s.context=function(t){return arguments.length?(i=null==(r=t)?new mn:new Mn(t),\"function\"!=typeof o&&i.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o=\"function\"==typeof t?t:(i.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new Tn(e);for(var n in t)r[n]=t[n];return r}}},Tn.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},t.geo.projection=En,t.geo.projectionMutator=Cn,(t.geo.equirectangular=function(){return En(zn)}).raw=zn.invert=zn,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e}return t=On(t[0]%360*Ct,t[1]*Ct,t.length>2?t[2]*Ct:0),e.invert=function(e){return(e=t.invert(e[0]*Ct,e[1]*Ct))[0]*=Lt,e[1]*=Lt,e},e},Pn.invert=zn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function i(){var t=\"function\"==typeof r?r.apply(this,arguments):r,n=On(-t[0]*Ct,-t[1]*Ct,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Lt,t[1]*=Lt}}),{type:\"Polygon\",coordinates:[i]}}return i.origin=function(t){return arguments.length?(r=t,i):r},i.angle=function(r){return arguments.length?(e=Bn((t=+r)*Ct,n*Ct),i):t},i.precision=function(r){return arguments.length?(e=Bn(t*Ct,(n=+r)*Ct),i):n},i.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Ct,i=t[1]*Ct,a=e[1]*Ct,o=Math.sin(n),s=Math.cos(n),l=Math.sin(i),c=Math.cos(i),u=Math.sin(a),f=Math.cos(a);return Math.atan2(Math.sqrt((r=f*o)*r+(r=c*u-l*f*s)*r),l*u+c*f*s)},t.geo.graticule=function(){var e,r,n,i,a,o,s,l,c,u,f,h,p=10,d=p,g=90,m=360,v=2.5;function x(){return{type:\"MultiLineString\",coordinates:b()}}function b(){return t.range(Math.ceil(i/g)*g,n,g).map(f).concat(t.range(Math.ceil(l/m)*m,s,m).map(h)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>kt}).map(c)).concat(t.range(Math.ceil(o/d)*d,a,d).filter(function(t){return y(t%m)>kt}).map(u))}return x.lines=function(){return b().map(function(t){return{type:\"LineString\",coordinates:t}})},x.outline=function(){return{type:\"Polygon\",coordinates:[f(i).concat(h(s).slice(1),f(n).reverse().slice(1),h(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(i=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],i>n&&(t=i,i=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(v)):[[i,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],a=+t[1][1],r>e&&(t=r,r=e,e=t),o>a&&(t=o,o=a,a=t),x.precision(v)):[[r,o],[e,a]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],m=+t[1],x):[g,m]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(v=+t,c=Nn(o,a,90),u=jn(r,e,v),f=Nn(l,s,90),h=jn(i,n,v),x):v},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Vn,i=Un;function a(){return{type:\"LineString\",coordinates:[e||n.apply(this,arguments),r||i.apply(this,arguments)]}}return a.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||i.apply(this,arguments))},a.source=function(t){return arguments.length?(n=t,e=\"function\"==typeof t?null:t,a):n},a.target=function(t){return arguments.length?(i=t,r=\"function\"==typeof t?null:t,a):i},a.precision=function(){return arguments.length?a:0},a},t.geo.interpolate=function(t,e){return r=t[0]*Ct,n=t[1]*Ct,i=e[0]*Ct,a=e[1]*Ct,o=Math.cos(n),s=Math.sin(n),l=Math.cos(a),c=Math.sin(a),u=o*Math.cos(r),f=o*Math.sin(r),h=l*Math.cos(i),p=l*Math.sin(i),d=2*Math.asin(Math.sqrt(Rt(a-n)+o*l*Rt(i-r))),g=1/Math.sin(d),(m=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*h,i=r*f+e*p,a=r*s+e*c;return[Math.atan2(i,n)*Lt,Math.atan2(a,Math.sqrt(n*n+i*i))*Lt]}:function(){return[r*Lt,n*Lt]}).distance=d,m;var r,n,i,a,o,s,l,c,u,f,h,p,d,g,m},t.geo.length=function(e){return yn=0,t.geo.stream(e,qn),yn};var qn={sphere:D,point:D,lineStart:function(){var t,e,r;function n(n,i){var a=Math.sin(i*=Ct),o=Math.cos(i),s=y((n*=Ct)-t),l=Math.cos(s);yn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*a-e*o*l)*s),e*a+r*o*l),t=n,e=a,r=o}qn.point=function(i,a){t=i*Ct,e=Math.sin(a*=Ct),r=Math.cos(a),qn.point=n},qn.lineEnd=function(){qn.point=qn.lineEnd=D}},lineEnd:D,polygonStart:D,polygonEnd:D};function Hn(t,e){function r(e,r){var n=Math.cos(e),i=Math.cos(r),a=t(n*i);return[a*i*Math.sin(e),a*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),i=e(n),a=Math.sin(i),o=Math.cos(i);return[Math.atan2(t*a,n*o),Math.asin(n&&r*a/n)]},r}var Gn=Hn(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return En(Gn)}).raw=Gn;var Wn=Hn(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},z);function Yn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(At/4+t/2)},i=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),a=r*Math.pow(n(t),i)/i;if(!i)return $n;function o(t,e){a>0?e<-Et+kt&&(e=-Et+kt):e>Et-kt&&(e=Et-kt);var r=a/Math.pow(n(e),i);return[r*Math.sin(i*t),a-r*Math.cos(i*t)]}return o.invert=function(t,e){var r=a-e,n=zt(i)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/i,2*Math.atan(Math.pow(a/n,1/i))-Et]},o}function Xn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),i=r/n+t;if(y(n)<kt)return zn;function a(t,e){var r=i-e;return[r*Math.sin(n*t),i-r*Math.cos(n*t)]}return a.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,i-zt(n)*Math.sqrt(t*t+r*r)]},a}(t.geo.azimuthalEquidistant=function(){return En(Wn)}).raw=Wn,(t.geo.conicConformal=function(){return an(Yn)}).raw=Yn,(t.geo.conicEquidistant=function(){return an(Xn)}).raw=Xn;var Zn=Hn(function(t){return 1/t},Math.atan);function $n(t,e){return[t,Math.log(Math.tan(At/4+e/2))]}function Jn(t){var e,r=En(t),n=r.scale,i=r.translate,a=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=i.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=a.apply(r,arguments);if(o===r){if(e=null==t){var s=At*n(),l=i();a([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}(t.geo.gnomonic=function(){return En(Zn)}).raw=Zn,$n.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Et]},(t.geo.mercator=function(){return Jn($n)}).raw=$n;var Kn=Hn(function(){return 1},Math.asin);(t.geo.orthographic=function(){return En(Kn)}).raw=Kn;var Qn=Hn(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function ti(t,e){return[Math.log(Math.tan(At/4+e/2)),-t]}function ei(t){return t[0]}function ri(t){return t[1]}function ni(t){for(var e=t.length,r=[0,1],n=2,i=2;i<e;i++){for(;n>1&&Pt(t[r[n-2]],t[r[n-1]],t[i])<=0;)--n;r[n++]=i}return r.slice(0,n)}function ii(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return En(Qn)}).raw=Qn,ti.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Et]},(t.geo.transverseMercator=function(){var t=Jn(ti),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ti,t.geom={},t.geom.hull=function(t){var e=ei,r=ri;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=me(e),a=me(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(s.sort(ii),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var c=ni(s),u=ni(l),f=u[0]===c[0],h=u[u.length-1]===c[c.length-1],p=[];for(n=c.length-1;n>=0;--n)p.push(t[s[c[n]][2]]);for(n=+f;n<u.length-h;++n)p.push(t[s[u[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},t.geom.polygon=function(t){return U(t,ai),t};var ai=t.geom.polygon.prototype=[];function oi(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function si(t,e,r,n){var i=t[0],a=r[0],o=e[0]-i,s=n[0]-a,l=t[1],c=r[1],u=e[1]-l,f=n[1]-c,h=(s*(l-c)-f*(i-a))/(f*o-s*u);return[i+h*o,l+h*u]}function li(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}ai.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},ai.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},ai.clip=function(t){for(var e,r,n,i,a,o,s=li(t),l=-1,c=this.length-li(this),u=this[c-1];++l<c;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)oi(o=e[r],u,i)?(oi(a,u,i)||t.push(si(a,o,u,i)),t.push(o)):oi(a,u,i)&&t.push(si(a,o,u,i)),a=o;s&&t.push(t[0]),u=i}return t};var ci,ui,fi,hi,pi,di=[],gi=[];function mi(){Ii(this),this.edge=this.site=this.circle=null}function vi(t){var e=di.pop()||new mi;return e.site=t,e}function yi(t){Si(t),fi.remove(t),di.push(t),Ii(t)}function xi(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];yi(t);for(var l=a;l.circle&&y(r-l.circle.x)<kt&&y(n-l.circle.cy)<kt;)a=l.P,s.unshift(l),yi(l),l=a;s.unshift(l),Si(l);for(var c=o;c.circle&&y(r-c.circle.x)<kt&&y(n-c.circle.cy)<kt;)o=c.N,s.push(c),yi(c),c=o;s.push(c),Si(c);var u,f=s.length;for(u=1;u<f;++u)c=s[u],l=s[u-1],zi(c.edge,l.site,c.site,i);l=s[0],(c=s[f-1]).edge=Li(l.site,c.site,null,i),Ti(l),Ti(c)}function bi(t){for(var e,r,n,i,a=t.x,o=t.y,s=fi._;s;)if((n=_i(s,o)-a)>kt)s=s.L;else{if(!((i=a-wi(s,o))>kt)){n>-kt?(e=s.P,r=s):i>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=vi(t);if(fi.insert(e,l),e||r){if(e===r)return Si(e),r=vi(e.site),fi.insert(l,r),l.edge=r.edge=Li(e.site,l.site),Ti(e),void Ti(r);if(r){Si(e),Si(r);var c=e.site,u=c.x,f=c.y,h=t.x-u,p=t.y-f,d=r.site,g=d.x-u,m=d.y-f,v=2*(h*m-p*g),y=h*h+p*p,x=g*g+m*m,b={x:(m*y-p*x)/v+u,y:(h*x-g*y)/v+f};zi(r.edge,c,d,b),l.edge=Li(c,t,null,b),r.edge=Li(t,d,null,b),Ti(e),Ti(r)}else l.edge=Li(e.site,l.site)}}function _i(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,f=1/a-1/c,h=u/c;return f?(-h+Math.sqrt(h*h-2*f*(u*u/(-2*c)-l+c/2+i-a/2)))/f+n:(n+s)/2}function wi(t,e){var r=t.N;if(r)return _i(r,e);var n=t.site;return n.y===e?n.x:1/0}function ki(t){this.site=t,this.edges=[]}function Mi(t,e){return e.angle-t.angle}function Ai(){Ii(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ti(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,f=2*(l*(m=a.y-s)-c*u);if(!(f>=-Mt)){var h=l*l+c*c,p=u*u+m*m,d=(m*h-c*p)/f,g=(l*p-u*h)/f,m=g+s,v=gi.pop()||new Ai;v.arc=t,v.site=i,v.x=d+o,v.y=m+Math.sqrt(d*d+g*g),v.cy=m,t.circle=v;for(var y=null,x=pi._;x;)if(v.y<x.y||v.y===x.y&&v.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}pi.insert(y,v),y||(hi=v)}}}}function Si(t){var e=t.circle;e&&(e.P||(hi=e.N),pi.remove(e),gi.push(e),Ii(e),t.circle=null)}function Ei(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],c=e[1][1],u=t.l,f=t.r,h=u.x,p=u.y,d=f.x,g=f.y,m=(h+d)/2,v=(p+g)/2;if(g===p){if(m<o||m>=s)return;if(h>d){if(a){if(a.y>=c)return}else a={x:m,y:l};r={x:m,y:c}}else{if(a){if(a.y<l)return}else a={x:m,y:c};r={x:m,y:l}}}else if(i=v-(n=(h-d)/(g-p))*m,n<-1||n>1)if(h>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y<l)return}else a={x:(c-i)/n,y:c};r={x:(l-i)/n,y:l}}else if(p<g){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function Ci(t,e){this.l=t,this.r=e,this.a=this.b=null}function Li(t,e,r,n){var i=new Ci(t,e);return ci.push(i),r&&zi(i,t,e,r),n&&zi(i,e,t,n),ui[t.i].edges.push(new Pi(i,t,e)),ui[e.i].edges.push(new Pi(i,e,t)),i}function zi(t,e,r,n){t.a||t.b?t.l===r?t.b=n:t.a=n:(t.a=n,t.l=e,t.r=r)}function Pi(t,e,r){var n=t.a,i=t.b;this.edge=t,this.site=e,this.angle=r?Math.atan2(r.y-e.y,r.x-e.x):t.l===e?Math.atan2(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function Oi(){this._=null}function Ii(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Di(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Ri(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Bi(t){for(;t.L;)t=t.L;return t}function Fi(t,e){var r,n,i,a=t.sort(Ni).pop();for(ci=[],ui=new Array(t.length),fi=new Oi,pi=new Oi;;)if(i=hi,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(ui[a.i]=new ki(a),bi(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;xi(i.arc)}e&&(function(t){for(var e,r=ci,n=en(t[0][0],t[0][1],t[1][0],t[1][1]),i=r.length;i--;)(!Ei(e=r[i],t)||!n(e)||y(e.a.x-e.b.x)<kt&&y(e.a.y-e.b.y)<kt)&&(e.a=e.b=null,r.splice(i,1))}(e),function(t){for(var e,r,n,i,a,o,s,l,c,u,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],g=ui,m=g.length;m--;)if((a=g[m])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(u=s[o].end()).x,i=u.y,e=(c=s[++o%l].start()).x,r=c.y,(y(n-e)>kt||y(i-r)>kt)&&(s.splice(o,0,new Pi((v=a.site,x=u,b=y(n-f)<kt&&d-i>kt?{x:f,y:y(e-f)<kt?r:d}:y(i-d)<kt&&h-n>kt?{x:y(r-d)<kt?e:h,y:d}:y(n-h)<kt&&i-p>kt?{x:h,y:y(e-h)<kt?r:p}:y(i-p)<kt&&n-f>kt?{x:y(r-p)<kt?e:f,y:p}:null,_=void 0,_=new Ci(v,null),_.a=x,_.b=b,ci.push(_),_),a.site,null)),++l);var v,x,b,_}(e));var o={cells:ui,edges:ci};return fi=pi=ci=ui=null,o}function Ni(t,e){return e.y-t.y||e.x-t.x}ki.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(Mi),e.length},Pi.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},Oi.prototype={insert:function(t,e){var r,n,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=Bi(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)r===(n=r.U).L?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(Di(this,r),r=(t=r).U),r.C=!1,n.C=!0,Ri(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(Ri(this,r),r=(t=r).U),r.C=!1,n.C=!0,Di(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,i=t.U,a=t.L,o=t.R;if(r=a?o?Bi(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,Di(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Ri(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,Di(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,Ri(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Di(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,Ri(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=ei,r=ri,n=e,i=r,a=ji;if(t)return o(t);function o(t){var e=new Array(t.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return Fi(s(t),a).cells.forEach(function(a,s){var l=a.edges,c=a.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):c.x>=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(i(t,e)/kt)*kt,i:e}})}return o.links=function(t){return Fi(s(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},o.triangles=function(t){var e=[];return Fi(s(t)).cells.forEach(function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(Mi),u=-1,f=c.length,h=c[f-1].edge,p=h.l===l?h.r:h.l;++u<f;)h,i=p,p=(h=c[u].edge).l===l?h.r:h.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&e.push([t[n],t[i.i],t[p.i]])}),e},o.x=function(t){return arguments.length?(n=me(e=t),o):e},o.y=function(t){return arguments.length?(i=me(r=t),o):r},o.clipExtent=function(t){return arguments.length?(a=null==t?ji:t,o):a===ji?null:a},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):a===ji?null:a&&a[1]},o};var ji=[[-1e6,-1e6],[1e6,1e6]];function Vi(t){return t.x}function Ui(t){return t.y}function qi(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,i=e.g,a=e.b,o=r.r-n,s=r.g-i,l=r.b-a;return function(t){return\"#\"+ce(Math.round(n+o*t))+ce(Math.round(i+s*t))+ce(Math.round(a+l*t))}}function Hi(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Zi(t[r],e[r]):i[r]=t[r];for(r in e)r in t||(i[r]=e[r]);return function(t){for(r in n)i[r]=n[r](t);return i}}function Gi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Wi(t,e){var r,n,i,a=Yi.lastIndex=Xi.lastIndex=0,o=-1,s=[],l=[];for(t+=\"\",e+=\"\";(r=Yi.exec(t))&&(n=Xi.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Gi(r,n)})),a=Xi.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+\"\"}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join(\"\")})}t.geom.delaunay=function(e){return t.geom.voronoi().triangles(e)},t.geom.quadtree=function(t,e,r,n,i){var a,o=ei,s=ri;if(a=arguments.length)return o=Vi,s=Ui,3===a&&(i=r,n=e,r=e=0),l(t);function l(t){var l,c,u,f,h,p,d,g,m,v=me(o),x=me(s);if(null!=e)p=e,d=r,g=n,m=i;else if(g=m=-(p=d=1/0),c=[],u=[],h=t.length,a)for(f=0;f<h;++f)(l=t[f]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>g&&(g=l.x),l.y>m&&(m=l.y),c.push(l.x),u.push(l.y);else for(f=0;f<h;++f){var b=+v(l=t[f],f),_=+x(l,f);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>m&&(m=_),c.push(b),u.push(_)}var w=g-p,k=m-d;function M(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)A(t,e,r,n,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,f=n>=c,h=f<<1|u;t.leaf=!1,u?i=l:o=l,f?a=c:s=c,M(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}}),e,r,n,i,a,o,s)}w>k?m=d+w:g=p+k;var T={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){M(T,t,+v(t,++f),+x(t,f),p,d,g,m)}};if(T.visit=function(t){!function t(e,r,n,i,a,o){if(!e(r,n,i,a,o)){var s=.5*(n+a),l=.5*(i+o),c=r.nodes;c[0]&&t(e,c[0],n,i,s,l),c[1]&&t(e,c[1],s,i,a,l),c[2]&&t(e,c[2],n,l,s,o),c[3]&&t(e,c[3],s,l,a,o)}}(t,T,p,d,g,m)},T.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,f,h,p){if(!(u>a||f>o||h<n||p<i)){if(d=c.point){var d,g=e-c.x,m=r-c.y,v=g*g+m*m;if(v<l){var y=Math.sqrt(l=v);n=e-y,i=r-y,a=e+y,o=r+y,s=d}}for(var x=c.nodes,b=.5*(u+h),_=.5*(f+p),w=(r>=_)<<1|e>=b,k=w+4;w<k;++w)if(c=x[3&w])switch(3&w){case 0:t(c,u,f,b,_);break;case 1:t(c,b,f,h,_);break;case 2:t(c,u,_,b,p);break;case 3:t(c,b,_,h,p)}}}(t,n,i,a,o),s}(T,t[0],t[1],p,d,g,m)},f=-1,null==e){for(;++f<h;)M(T,t[f],c[f],u[f],p,d,g,m);--f}else t.forEach(T.add);return c=u=t=l=null,T}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.extent=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),l):null==e?null:[[e,r],[n,i]]},l.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),l):null==e?null:[n-e,i-r]},l},t.interpolateRgb=qi,t.interpolateObject=Hi,t.interpolateNumber=Gi,t.interpolateString=Wi;var Yi=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,Xi=new RegExp(Yi.source,\"g\");function Zi(e,r){for(var n,i=t.interpolators.length;--i>=0&&!(n=t.interpolators[i](e,r)););return n}function $i(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(Zi(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}t.interpolate=Zi,t.interpolators=[function(t,e){var r=typeof e;return(\"string\"===r?ge.has(e.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(e)?qi:Wi:e instanceof Vt?qi:Array.isArray(e)?$i:\"object\"===r&&isNaN(e)?Hi:Gi)(t,e)}],t.interpolateArray=$i;var Ji=function(){return z},Ki=t.map({linear:Ji,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return ra},cubic:function(){return na},sin:function(){return aa},exp:function(){return oa},circle:function(){return sa},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/Tt*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Tt/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return la}}),Qi=t.map({in:z,out:ta,\"in-out\":ea,\"out-in\":function(t){return ea(ta(t))}});function ta(t){return function(e){return 1-t(1-e)}}function ea(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function ra(t){return t*t}function na(t){return t*t*t}function ia(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function aa(t){return 1-Math.cos(t*Et)}function oa(t){return Math.pow(2,10*(t-1))}function sa(t){return 1-Math.sqrt(1-t*t)}function la(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function ca(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function ua(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=ha(i),s=fa(i,a),l=ha(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*Lt,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Lt:0}function fa(t,e){return t[0]*e[0]+t[1]*e[1]}function ha(t){var e=Math.sqrt(fa(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e,n=t.indexOf(\"-\"),i=n>=0?t.slice(0,n):t,a=n>=0?t.slice(n+1):\"in\";return i=Ki.get(i)||Ji,a=Qi.get(a)||z,e=a(i.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,i=e.c,a=e.l,o=r.h-n,s=r.c-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.c:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Yt(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,i=e.s,a=e.l,o=r.h-n,s=r.s-i,l=r.l-a;isNaN(s)&&(s=0,i=isNaN(i)?r.s:i);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,i=e.a,a=e.b,o=r.l-n,s=r.a-i,l=r.b-a;return function(t){return te(n+o*t,i+s*t,a+l*t)+\"\"}},t.interpolateRound=ca,t.transform=function(e){var r=i.createElementNS(t.ns.prefix.svg,\"g\");return(t.transform=function(t){if(null!=t){r.setAttribute(\"transform\",t);var e=r.transform.baseVal.consolidate()}return new ua(e?e.matrix:pa)})(e)},ua.prototype.toString=function(){return\"translate(\"+this.translate+\")rotate(\"+this.rotate+\")skewX(\"+this.skew+\")scale(\"+this.scale+\")\"};var pa={a:1,b:0,c:0,d:1,e:0,f:0};function da(t){return t.length?t.pop()+\",\":\"\"}function ga(e,r){var n=[],i=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(\"translate(\",null,\",\",null,\")\");n.push({i:i-4,x:Gi(t[0],e[0])},{i:i-2,x:Gi(t[1],e[1])})}else(e[0]||e[1])&&r.push(\"translate(\"+e+\")\")}(e.translate,r.translate,n,i),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(da(r)+\"rotate(\",null,\")\")-2,x:Gi(t,e)})):e&&r.push(da(r)+\"rotate(\"+e+\")\")}(e.rotate,r.rotate,n,i),function(t,e,r,n){t!==e?n.push({i:r.push(da(r)+\"skewX(\",null,\")\")-2,x:Gi(t,e)}):e&&r.push(da(r)+\"skewX(\"+e+\")\")}(e.skew,r.skew,n,i),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(da(r)+\"scale(\",null,\",\",null,\")\");n.push({i:i-4,x:Gi(t[0],e[0])},{i:i-2,x:Gi(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(da(r)+\"scale(\"+e+\")\")}(e.scale,r.scale,n,i),e=r=null,function(t){for(var e,r=-1,a=i.length;++r<a;)n[(e=i[r]).i]=e.x(t);return n.join(\"\")}}function ma(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function va(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function ya(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=xa(t),n=xa(e),i=r.pop(),a=n.pop(),o=null;for(;i===a;)o=i,i=r.pop(),a=n.pop();return o}(e,r),i=[e];e!==n;)e=e.parent,i.push(e);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function xa(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function ba(t){t.fixed|=2}function _a(t){t.fixed&=-7}function wa(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ka(t){t.fixed&=-5}t.interpolateTransform=ga,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(ya(t[r]));return e}},t.layout.chord=function(){var e,r,n,i,a,o,s,l={},c=0;function u(){var l,u,h,p,d,g={},m=[],v=t.range(i),y=[];for(e=[],r=[],l=0,p=-1;++p<i;){for(u=0,d=-1;++d<i;)u+=n[p][d];m.push(u),y.push(t.range(i)),l+=u}for(a&&v.sort(function(t,e){return a(m[t],m[e])}),o&&y.forEach(function(t,e){t.sort(function(t,r){return o(n[e][t],n[e][r])})}),l=(Tt-c*i)/l,u=0,p=-1;++p<i;){for(h=u,d=-1;++d<i;){var x=v[p],b=y[x][d],_=n[x][b],w=u,k=u+=_*l;g[x+\"-\"+b]={index:x,subindex:b,startAngle:w,endAngle:k,value:_}}r[x]={index:x,startAngle:h,endAngle:u,value:m[x]},u+=c}for(p=-1;++p<i;)for(d=p-1;++d<i;){var M=g[p+\"-\"+d],A=g[d+\"-\"+p];(M.value||A.value)&&e.push(M.value<A.value?{source:A,target:M}:{source:M,target:A})}s&&f()}function f(){e.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}return l.matrix=function(t){return arguments.length?(i=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&f(),l):s},l.chords=function(){return e||u(),e},l.groups=function(){return r||u(),r},l},t.layout.force=function(){var e,r,n,i,a,o,s={},l=t.dispatch(\"start\",\"tick\",\"end\"),c=[1,1],u=.9,f=Ma,h=Aa,p=-30,d=Ta,g=.1,m=.64,v=[],y=[];function x(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/m<l){if(l<d){var c=e.charge/l;t.px-=a*c,t.py-=o*c}return!0}if(e.point&&l&&l<d){c=e.pointCharge/l;t.px-=a*c,t.py-=o*c}}return!e.charge}}function b(e){e.px=t.event.x,e.py=t.event.y,s.resume()}return s.tick=function(){if((n*=.99)<.005)return e=null,l.end({type:\"end\",alpha:n=0}),!0;var r,s,f,h,d,m,b,_,w,k=v.length,M=y.length;for(s=0;s<M;++s)h=(f=y[s]).source,(m=(_=(d=f.target).x-h.x)*_+(w=d.y-h.y)*w)&&(_*=m=n*a[s]*((m=Math.sqrt(m))-i[s])/m,w*=m,d.x-=_*(b=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=w*b,h.x+=_*(b=1-b),h.y+=w*b);if((b=n*g)&&(_=c[0]/2,w=c[1]/2,s=-1,b))for(;++s<k;)(f=v[s]).x+=(_-f.x)*b,f.y+=(w-f.y)*b;if(p)for(!function t(e,r,n){var i=0,a=0;e.charge=0;if(!e.leaf)for(var o,s=e.nodes,l=s.length,c=-1;++c<l;)null!=(o=s[c])&&(t(o,r,n),e.charge+=o.charge,i+=o.charge*o.cx,a+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var u=r*n[e.point.index];e.charge+=e.pointCharge=u,i+=u*e.point.x,a+=u*e.point.y}e.cx=i/e.charge;e.cy=a/e.charge}(r=t.geom.quadtree(v),n,o),s=-1;++s<k;)(f=v[s]).fixed||r.visit(x(f));for(s=-1;++s<k;)(f=v[s]).fixed?(f.x=f.px,f.y=f.py):(f.x-=(f.px-(f.px=f.x))*u,f.y-=(f.py-(f.py=f.y))*u);l.tick({type:\"tick\",alpha:n})},s.nodes=function(t){return arguments.length?(v=t,s):v},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(f=\"function\"==typeof t?t:+t,s):f},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(h=\"function\"==typeof t?t:+t,s):h},s.friction=function(t){return arguments.length?(u=+t,s):u},s.charge=function(t){return arguments.length?(p=\"function\"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(m=t*t,s):Math.sqrt(m)},s.alpha=function(t){return arguments.length?(t=+t,n?t>0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:\"end\",alpha:n=0})):t>0&&(l.start({type:\"start\",alpha:n=t}),e=Me(s.tick)),s):n},s.start=function(){var t,e,r,n=v.length,l=y.length,u=c[0],d=c[1];for(t=0;t<n;++t)(r=v[t]).index=t,r.weight=0;for(t=0;t<l;++t)\"number\"==typeof(r=y[t]).source&&(r.source=v[r.source]),\"number\"==typeof r.target&&(r.target=v[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=v[t],isNaN(r.x)&&(r.x=g(\"x\",u)),isNaN(r.y)&&(r.y=g(\"y\",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(i=[],\"function\"==typeof f)for(t=0;t<l;++t)i[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=f;if(a=[],\"function\"==typeof h)for(t=0;t<l;++t)a[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=h;if(o=[],\"function\"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,v[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,i){if(!e){for(e=new Array(n),c=0;c<n;++c)e[c]=[];for(c=0;c<l;++c){var a=y[c];e[a.source.index].push(a.target),e[a.target.index].push(a.source)}}for(var o,s=e[t],c=-1,u=s.length;++c<u;)if(!isNaN(o=s[c][r]))return o;return Math.random()*i}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=t.behavior.drag().origin(z).on(\"dragstart.force\",ba).on(\"drag.force\",b).on(\"dragend.force\",_a)),!arguments.length)return r;this.on(\"mouseover.force\",wa).on(\"mouseout.force\",ka).call(r)},t.rebind(s,l,\"on\")};var Ma=20,Aa=1,Ta=1/0;function Sa(e,r){return t.rebind(e,r,\"sort\",\"children\",\"value\"),e.nodes=e,e.links=Oa,e}function Ea(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function Ca(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function La(t){return t.children}function za(t){return t.value}function Pa(t,e){return e.value-t.value}function Oa(e){return t.merge(e.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}t.layout.hierarchy=function(){var t=Pa,e=La,r=za;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(c=e.call(n,a,a.depth))&&(l=c.length)){for(var l,c,u;--l>=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return Ca(i,function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)}),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ea(t,function(t){t.children&&(t.value=0)}),Ca(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var i=e.call(this,t,n);return function t(e,r,n,i){var a=e.children;if(e.x=r,e.y=e.depth*i,e.dx=n,e.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c<o;)t(s=a[c],r,l=s.value*n,i),r+=l}}(i[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(i=r.length))for(var i,a=-1;++a<i;)n=Math.max(n,t(r[a]));return 1+n}(i[0])),i}return n.size=function(t){return arguments.length?(r=t,n):r},Sa(n,e)},t.layout.pie=function(){var e=Number,r=Ia,n=0,i=Tt,a=0;function o(s){var l,c=s.length,u=s.map(function(t,r){return+e.call(o,t,r)}),f=+(\"function\"==typeof n?n.apply(this,arguments):n),h=(\"function\"==typeof i?i.apply(this,arguments):i)-f,p=Math.min(Math.abs(h)/c,+(\"function\"==typeof a?a.apply(this,arguments):a)),d=p*(h<0?-1:1),g=t.sum(u),m=g?(h-c*d)/g:0,v=t.range(c),y=[];return null!=r&&v.sort(r===Ia?function(t,e){return u[e]-u[t]}:function(t,e){return r(s[t],s[e])}),v.forEach(function(t){y[t]={data:s[t],value:l=u[t],startAngle:f,endAngle:f+=l*m+d,padAngle:p}}),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(t){return arguments.length?(r=t,o):r},o.startAngle=function(t){return arguments.length?(n=t,o):n},o.endAngle=function(t){return arguments.length?(i=t,o):i},o.padAngle=function(t){return arguments.length?(a=t,o):a},o};var Ia={};function Da(t){return t.x}function Ra(t){return t.y}function Ba(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=z,r=ja,n=Va,i=Ba,a=Da,o=Ra;function s(l,c){if(!(p=l.length))return l;var u=l.map(function(t,r){return e.call(s,t,r)}),f=u.map(function(t){return t.map(function(t,e){return[a.call(s,t,e),o.call(s,t,e)]})}),h=r.call(s,f,c);u=t.permute(u,h),f=t.permute(f,h);var p,d,g,m,v=n.call(s,f,c),y=u[0].length;for(g=0;g<y;++g)for(i.call(s,u[0][g],m=v[g],f[0][g][1]),d=1;d<p;++d)i.call(s,u[d][g],m+=f[d-1][g][1],f[d][g][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(t){return arguments.length?(r=\"function\"==typeof t?t:Fa.get(t)||ja,s):r},s.offset=function(t){return arguments.length?(n=\"function\"==typeof t?t:Na.get(t)||Va,s):n},s.x=function(t){return arguments.length?(a=t,s):a},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(i=t,s):i},s};var Fa=t.map({\"inside-out\":function(e){var r,n,i=e.length,a=e.map(Ua),o=e.map(qa),s=t.range(i).sort(function(t,e){return a[t]-a[e]}),l=0,c=0,u=[],f=[];for(r=0;r<i;++r)n=s[r],l<c?(l+=o[n],u.push(n)):(c+=o[n],f.push(n));return f.reverse().concat(u)},reverse:function(e){return t.range(e.length).reverse()},default:ja}),Na=t.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,c,u=t.length,f=t[0],h=f.length,p=[];for(p[0]=l=c=0,r=1;r<h;++r){for(e=0,i=0;e<u;++e)i+=t[e][r][1];for(e=0,a=0,s=f[r][0]-f[r-1][0];e<u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;a+=o*t[e][r][1]}p[r]=l-=i?a/i*s:0,l<c&&(c=l)}for(r=0;r<h;++r)p[r]-=c;return p},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:Va});function ja(e){return t.range(e.length)}function Va(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Ua(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function qa(t){return t.reduce(Ha,0)}function Ha(t,e){return t+e[1]}function Ga(t,e){return Wa(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Wa(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Ya(e){return[t.min(e),t.max(e)]}function Xa(t,e){return t.value-e.value}function Za(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function $a(t,e){t._pack_next=e,e._pack_prev=t}function Ja(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Ka(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,f=1/0,h=-1/0;if(e.forEach(Qa),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(eo(r,n,i=e[2]),x(i),Za(r,i),r._pack_prev=i,Za(i,n),n=r._pack_next,a=3;a<l;a++){eo(r,n,i=e[a]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(Ja(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!Ja(s,i);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?$a(r,n=o):$a(r=s,n),a--):(Za(r,i),n=i,x(i))}var m=(c+u)/2,v=(f+h)/2,y=0;for(a=0;a<l;a++)(i=e[a]).x-=m,i.y-=v,y=Math.max(y,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=y,e.forEach(to)}function x(t){c=Math.min(t.x-t.r,c),u=Math.max(t.x+t.r,u),f=Math.min(t.y-t.r,f),h=Math.max(t.y+t.r,h)}}function Qa(t){t._pack_next=t._pack_prev=t}function to(t){delete t._pack_next,delete t._pack_prev}function eo(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a,l=.5+((n*=n)-(o*=o))/(2*s),c=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*i+c*a,r.y=t.y+l*a-c*i}else r.x=t.x+n,r.y=t.y}function ro(t,e){return t.parent==e.parent?1:2}function no(t){var e=t.children;return e.length?e[0]:t.t}function io(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function ao(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function oo(t,e,r){return t.a.parent===e.parent?t.a:r}function so(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function lo(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function co(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function uo(t){return t.rangeExtent?t.rangeExtent():co(t.range())}function fo(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function ho(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function po(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:go}t.layout.histogram=function(){var e=!0,r=Number,n=Ya,i=Ga;function a(a,o){for(var s,l,c=[],u=a.map(r,this),f=n.call(this,u,o),h=i.call(this,f,u,o),p=(o=-1,u.length),d=h.length-1,g=e?1:1/p;++o<d;)(s=c[o]=[]).dx=h[o+1]-(s.x=h[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=u[o])>=f[0]&&l<=f[1]&&((s=c[t.bisect(h,l,1,d)-1]).y+=g,s.push(a[o]));return c}return a.value=function(t){return arguments.length?(r=t,a):r},a.range=function(t){return arguments.length?(n=me(t),a):n},a.bins=function(t){return arguments.length?(i=\"number\"==typeof t?function(e){return Wa(e,t)}:me(t),a):i},a.frequency=function(t){return arguments.length?(e=!!t,a):e},a},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Xa),n=0,i=[1,1];function a(t,a){var o=r.call(this,t,a),s=o[0],l=i[0],c=i[1],u=null==e?Math.sqrt:\"function\"==typeof e?e:function(){return e};if(s.x=s.y=0,Ca(s,function(t){t.r=+u(t.value)}),Ca(s,Ka),n){var f=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Ca(s,function(t){t.r+=f}),Ca(s,Ka),Ca(s,function(t){t.r-=f})}return function t(e,r,n,i){var a=e.children;e.x=r+=i*e.x;e.y=n+=i*e.y;e.r*=i;if(a)for(var o=-1,s=a.length;++o<s;)t(a[o],r,n,i)}(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return a.size=function(t){return arguments.length?(i=t,a):i},a.radius=function(t){return arguments.length?(e=null==t||\"function\"==typeof t?t:+t,a):e},a.padding=function(t){return arguments.length?(n=+t,a):n},Sa(a,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],i=null;function a(t,a){var c=e.call(this,t,a),u=c[0],f=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}(u);if(Ca(f,o),f.parent.m=-f.z,Ea(f,s),i)Ea(u,l);else{var h=u,p=u,d=u;Ea(u,function(t){t.x<h.x&&(h=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(h,p)/2-h.x,m=n[0]/(p.x+r(p,h)/2+g),v=n[1]/(d.depth||1);Ea(u,function(t){t.x=(t.x+g)*m,t.y=t.depth*v})}return c}function o(t){var e=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,i=t.children,a=i.length;for(;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(e[0].z+e[e.length-1].z)/2;i?(t.z=i.z+r(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+r(t._,i._));t.parent.A=function(t,e,n){if(e){for(var i,a=t,o=t,s=e,l=a.parent.children[0],c=a.m,u=o.m,f=s.m,h=l.m;s=io(s),a=no(a),s&&a;)l=no(l),(o=io(o)).a=t,(i=s.z+f-a.z-c+r(s._,a._))>0&&(ao(oo(s,t,n),t,i),c+=i,u+=i),f+=s.m,c+=a.m,h+=l.m,u+=o.m;s&&!io(o)&&(o.t=s,o.m+=f-u),a&&!no(l)&&(l.t=a,l.m+=c-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t)?l:null,a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null==(n=t)?null:l,a):i?n:null},Sa(a,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],i=!1;function a(a,o){var s,l=e.call(this,a,o),c=l[0],u=0;Ca(c,function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(n),e.y=function(e){return 1+t.max(e,function(t){return t.y})}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)});var f=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),h=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=f.x-r(f,h)/2,d=h.x+r(h,f)/2;return Ca(c,i?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return a.separation=function(t){return arguments.length?(r=t,a):r},a.size=function(t){return arguments.length?(i=null==(n=t),a):i?null:n},a.nodeSize=function(t){return arguments.length?(i=null!=(n=t),a):i?n:null},Sa(a,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,i=[1,1],a=null,o=so,s=!1,l=\"squarify\",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function f(t){var e=t.children;if(e&&e.length){var r,n,i,a=o(t),s=[],c=e.slice(),h=1/0,g=\"slice\"===l?a.dx:\"dice\"===l?a.dy:\"slice-dice\"===l?1&t.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(u(c,a.dx*a.dy/t.value),s.area=0;(i=c.length)>0;)s.push(r=c[i-1]),s.area+=r.area,\"squarify\"!==l||(n=p(s,g))<=h?(c.pop(),h=n):(s.area-=s.pop().area,d(s,g,a,!1),g=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,g,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,r,i){var a,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((i||u>r.dy)&&(u=r.dy);++o<s;)(a=t[o]).x=l,a.y=c,a.dy=u,l+=a.dx=Math.min(r.x+r.dx-l,u?n(a.area/u):0);a.z=!0,a.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((i||u>r.dx)&&(u=r.dx);++o<s;)(a=t[o]).x=l,a.y=c,a.dx=u,c+=a.dy=Math.min(r.y+r.dy-c,u?n(a.area/u):0);a.z=!1,a.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function g(t){var n=e||r(t),a=n[0];return a.x=a.y=0,a.value?(a.dx=i[0],a.dy=i[1]):a.dx=a.dy=0,e&&r.revalue(a),u([a],a.dx*a.dy/a.value),(e?h:f)(a),s&&(e=n),n}return g.size=function(t){return arguments.length?(i=t,g):i},g.padding=function(t){if(!arguments.length)return a;function e(e){return lo(e,t)}var r;return o=null==(a=t)?so:\"function\"==(r=typeof t)?function(e){var r=t.call(g,e,e.depth);return null==r?so(e):lo(e,\"number\"==typeof r?[r,r,r,r]:r)}:\"number\"===r?(t=[t,t,t,t],e):e,g},g.round=function(t){return arguments.length?(n=t?Math.round:Number,g):n!=Number},g.sticky=function(t){return arguments.length?(s=t,e=null,g):s},g.ratio=function(t){return arguments.length?(c=t,g):c},g.mode=function(t){return arguments.length?(l=t+\"\",g):l},Sa(g,r)},t.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},t.scale={};var go={floor:z,ceil:z};function mo(e,r,n,i){var a=[],o=[],s=0,l=Math.min(e.length,r.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),r=r.slice().reverse());++s<=l;)a.push(n(e[s-1],e[s])),o.push(i(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](a[n](r))}}function vo(e,r){return t.rebind(e,r,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function yo(t,e){return ho(t,po(xo(t,e)[2])),ho(t,po(xo(t,e)[2])),t}function xo(t,e){null==e&&(e=10);var r=co(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function bo(e,r){return t.range.apply(t,xo(e,r))}function _o(e,r,n){var i=xo(e,r);if(n){var a=Le.exec(n);if(a.shift(),\"s\"===a[8]){var o=t.formatPrefix(Math.max(y(i[0]),y(i[1])));return a[7]||(a[7]=\".\"+ko(o.scale(i[2]))),a[8]=\"f\",n=t.format(a.join(\"\")),function(t){return n(o.scale(t))+o.symbol}}a[7]||(a[7]=\".\"+function(t,e){var r=ko(e[2]);return t in wo?Math.abs(r-ko(Math.max(y(e[0]),y(e[1]))))+ +(\"e\"!==t):r-2*(\"%\"===t)}(a[8],i)),n=a.join(\"\")}else n=\",.\"+ko(i[2])+\"f\";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,i){var a,o;function s(){var t=Math.min(e.length,r.length)>2?mo:fo,s=i?va:ma;return a=t(e,r,s,n),o=t(r,e,s,Zi),l}function l(t){return a(t)}l.invert=function(t){return o(t)};l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e};l.range=function(t){return arguments.length?(r=t,s()):r};l.rangeRound=function(t){return l.range(t).interpolate(ca)};l.clamp=function(t){return arguments.length?(i=t,s()):i};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return bo(e,t)};l.tickFormat=function(t,r){return _o(e,t,r)};l.nice=function(t){return yo(e,t),s()};l.copy=function(){return t(e,r,n,i)};return s()}([0,1],[0,1],Zi,!1)};var wo={s:1,g:1,p:1,r:1,e:1};function ko(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,i,a){function o(t){return(i?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return i?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(i=t[0]>=0,r.domain((a=t.map(Number)).map(o)),l):a};l.base=function(t){return arguments.length?(n=+t,r.domain(a.map(o)),l):n};l.nice=function(){var t=ho(a.map(o),i?Math:Ao);return r.domain(t),a=t.map(s),l};l.ticks=function(){var t=co(a),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),f=n%1?2:n;if(isFinite(u-c)){if(i){for(;c<u;c++)for(var h=1;h<f;h++)e.push(s(c)*h);e.push(s(c))}else for(e.push(s(c));c++<u;)for(var h=f-1;h>0;h--)e.push(s(c)*h);for(c=0;e[c]<r;c++);for(u=e.length;e[u-1]>l;u--);e=e.slice(c,u)}return e};l.tickFormat=function(e,r){if(!arguments.length)return Mo;arguments.length<2?r=Mo:\"function\"!=typeof r&&(r=t.format(r));var i=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n<n-.5&&(e*=n),e<=i?r(t):\"\"}};l.copy=function(){return e(r.copy(),n,i,a)};return vo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var Mo=t.format(\".0e\"),Ao={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function To(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var i=To(r),a=To(1/r);function o(t){return e(i(t))}o.invert=function(t){return a(e.invert(t))};o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(i)),o):n};o.ticks=function(t){return bo(n,t)};o.tickFormat=function(t,e){return _o(n,t,e)};o.nice=function(t){return o.domain(yo(n,t))};o.exponent=function(t){return arguments.length?(i=To(r=t),a=To(1/r),e.domain(n.map(i)),o):r};o.copy=function(){return t(e.copy(),r,n)};return vo(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var i,a,o;function s(t){return a[((i.get(t)||(\"range\"===n.t?i.set(t,r.push(t)):NaN))-1)%a.length]}function l(e,n){return t.range(r.length).map(function(t){return e+n*t})}s.domain=function(t){if(!arguments.length)return r;r=[],i=new b;for(var e,a=-1,o=t.length;++a<o;)i.has(e=t[a])||i.set(e,r.push(e));return s[n.t].apply(s,n.a)};s.range=function(t){return arguments.length?(a=t,o=0,n={t:\"range\",a:arguments},s):a};s.rangePoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=(i+c)/2,0):(c-i)/(r.length-1+e);return a=l(i+u*e/2,u),o=0,n={t:\"rangePoints\",a:arguments},s};s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var i=t[0],c=t[1],u=r.length<2?(i=c=Math.round((i+c)/2),0):(c-i)/(r.length-1+e)|0;return a=l(i+Math.round(u*e/2+(c-i-(r.length-1+e)*u)/2),u),o=0,n={t:\"rangeRoundPoints\",a:arguments},s};s.rangeBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=(f-u)/(r.length-e+2*i);return a=l(u+h*i,h),c&&a.reverse(),o=h*(1-e),n={t:\"rangeBands\",a:arguments},s};s.rangeRoundBands=function(t,e,i){arguments.length<2&&(e=0),arguments.length<3&&(i=e);var c=t[1]<t[0],u=t[c-0],f=t[1-c],h=Math.floor((f-u)/(r.length-e+2*i));return a=l(u+Math.round((f-u-(r.length-e)*h)/2),h),c&&a.reverse(),o=Math.round(h*(1-e)),n={t:\"rangeRoundBands\",a:arguments},s};s.rangeBand=function(){return o};s.rangeExtent=function(){return co(n.a[0])};s.copy=function(){return e(r,n)};return s.domain(r)}([],{t:\"range\",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(So)},t.scale.category20=function(){return t.scale.ordinal().range(Eo)},t.scale.category20b=function(){return t.scale.ordinal().range(Co)},t.scale.category20c=function(){return t.scale.ordinal().range(Lo)};var So=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(se),Eo=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(se),Co=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(se),Lo=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(se);function zo(){return 0}t.scale.quantile=function(){return function e(r,n){var i;function a(){var e=0,a=n.length;for(i=[];++e<a;)i[e-1]=t.quantile(r,e/a);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(i,e)]}o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(h),a()):r};o.range=function(t){return arguments.length?(n=t,a()):n};o.quantiles=function(){return i};o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?i[t-1]:r[0],t<i.length?i[t]:r[r.length-1]]};o.copy=function(){return e(r,n)};return a()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var i,a;function o(t){return n[Math.max(0,Math.min(a,Math.floor(i*(t-e))))]}function s(){return i=n.length/(r-e),a=n.length-1,o}o.domain=function(t){return arguments.length?(e=+t[0],r=+t[t.length-1],s()):[e,r]};o.range=function(t){return arguments.length?(n=t,s()):n};o.invertExtent=function(t){return[t=(t=n.indexOf(t))<0?NaN:t/i+e,t+1/i]};o.copy=function(){return t(e,r,n)};return s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function i(e){if(e<=e)return n[t.bisect(r,e)]}i.domain=function(t){return arguments.length?(r=t,i):r};i.range=function(t){return arguments.length?(n=t,i):n};i.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]};i.copy=function(){return e(r,n)};return i}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}r.invert=r;r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e};r.ticks=function(t){return bo(e,t)};r.tickFormat=function(t,r){return _o(e,t,r)};r.copy=function(){return t(e)};return r}([0,1])},t.svg={},t.svg.arc=function(){var t=Oo,e=Io,r=zo,n=Po,i=Do,a=Ro,o=Bo;function s(){var s=Math.max(0,+t.apply(this,arguments)),c=Math.max(0,+e.apply(this,arguments)),u=i.apply(this,arguments)-Et,f=a.apply(this,arguments)-Et,h=Math.abs(f-u),p=u>f?0:1;if(c<s&&(d=c,c=s,s=d),h>=St)return l(c,p)+(s?l(s,1-p):\"\")+\"Z\";var d,g,m,v,y,x,b,_,w,k,M,A,T=0,S=0,E=[];if((v=(+o.apply(this,arguments)||0)/2)&&(m=n===Po?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=It(m/c*Math.sin(v))),s&&(T=It(m/s*Math.sin(v)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(f-S),_=c*Math.sin(f-S);var C=Math.abs(f-u-2*S)<=At?0:1;if(S&&Fo(y,x,b,_)===p^C){var L=(u+f)/2;y=c*Math.cos(L),x=c*Math.sin(L),b=_=null}}else y=x=0;if(s){w=s*Math.cos(f-T),k=s*Math.sin(f-T),M=s*Math.cos(u+T),A=s*Math.sin(u+T);var z=Math.abs(u-f+2*T)<=At?0:1;if(T&&Fo(w,k,M,A)===1-p^z){var P=(u+f)/2;w=s*Math.cos(P),k=s*Math.sin(P),M=A=null}}else w=k=0;if(h>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s<c^p?0:1;var O=d,I=d;if(h<At){var D=null==M?[w,k]:null==b?[y,x]:si([y,x],[M,A],[b,_],[w,k]),R=y-D[0],B=x-D[1],F=b-D[0],N=_-D[1],j=1/Math.sin(Math.acos((R*F+B*N)/(Math.sqrt(R*R+B*B)*Math.sqrt(F*F+N*N)))/2),V=Math.sqrt(D[0]*D[0]+D[1]*D[1]);I=Math.min(d,(s-V)/(j-1)),O=Math.min(d,(c-V)/(j+1))}if(null!=b){var U=No(null==M?[w,k]:[M,A],[y,x],c,O,p),q=No([b,_],[w,k],c,O,p);d===O?E.push(\"M\",U[0],\"A\",O,\",\",O,\" 0 0,\",g,\" \",U[1],\"A\",c,\",\",c,\" 0 \",1-p^Fo(U[1][0],U[1][1],q[1][0],q[1][1]),\",\",p,\" \",q[1],\"A\",O,\",\",O,\" 0 0,\",g,\" \",q[0]):E.push(\"M\",U[0],\"A\",O,\",\",O,\" 0 1,\",g,\" \",q[0])}else E.push(\"M\",y,\",\",x);if(null!=M){var H=No([y,x],[M,A],s,-I,p),G=No([w,k],null==b?[y,x]:[b,_],s,-I,p);d===I?E.push(\"L\",G[0],\"A\",I,\",\",I,\" 0 0,\",g,\" \",G[1],\"A\",s,\",\",s,\" 0 \",p^Fo(G[1][0],G[1][1],H[1][0],H[1][1]),\",\",1-p,\" \",H[1],\"A\",I,\",\",I,\" 0 0,\",g,\" \",H[0]):E.push(\"L\",G[0],\"A\",I,\",\",I,\" 0 0,\",g,\" \",H[0])}else E.push(\"L\",w,\",\",k)}else E.push(\"M\",y,\",\",x),null!=b&&E.push(\"A\",c,\",\",c,\" 0 \",C,\",\",p,\" \",b,\",\",_),E.push(\"L\",w,\",\",k),null!=M&&E.push(\"A\",s,\",\",s,\" 0 \",z,\",\",1-p,\" \",M,\",\",A);return E.push(\"Z\"),E.join(\"\")}function l(t,e){return\"M0,\"+t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+-t+\"A\"+t+\",\"+t+\" 0 1,\"+e+\" 0,\"+t}return s.innerRadius=function(e){return arguments.length?(t=me(e),s):t},s.outerRadius=function(t){return arguments.length?(e=me(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=me(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Po?Po:me(t),s):n},s.startAngle=function(t){return arguments.length?(i=me(t),s):i},s.endAngle=function(t){return arguments.length?(a=me(t),s):a},s.padAngle=function(t){return arguments.length?(o=me(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Et;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Po=\"auto\";function Oo(t){return t.innerRadius}function Io(t){return t.outerRadius}function Do(t){return t.startAngle}function Ro(t){return t.endAngle}function Bo(t){return t&&t.padAngle}function Fo(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function No(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,f=t[1]+c,h=e[0]+l,p=e[1]+c,d=(u+h)/2,g=(f+p)/2,m=h-u,v=p-f,y=m*m+v*v,x=r-n,b=u*p-h*f,_=(v<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*v-m*_)/y,k=(-b*m-v*_)/y,M=(b*v+m*_)/y,A=(-b*m+v*_)/y,T=w-d,S=k-g,E=M-d,C=A-g;return T*T+S*S>E*E+C*C&&(w=M,k=A),[[w-l,k-c],[w*r/x,k*r/x]]}function jo(t){var e=ei,r=ri,n=Wr,i=Uo,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,f=a.length,h=me(e),p=me(r);function d(){l.push(\"M\",i(t(c),o))}for(;++u<f;)n.call(this,s=a[u],u)?c.push([+h.call(this,s,u),+p.call(this,s,u)]):c.length&&(d(),c=[]);return c.length&&d(),l.length?l.join(\"\"):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(a=\"function\"==typeof t?i=t:(i=Vo.get(t)||Uo).key,s):a},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return jo(z)};var Vo=t.map({linear:Uo,\"linear-closed\":qo,step:function(t){var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];for(;++e<r;)i.push(\"H\",(n[0]+(n=t[e])[0])/2,\"V\",n[1]);r>1&&i.push(\"H\",n[0]);return i.join(\"\")},\"step-before\":Ho,\"step-after\":Go,basis:Xo,\"basis-open\":function(t){if(t.length<4)return Uo(t);var e,r=[],n=-1,i=t.length,a=[0],o=[0];for(;++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);r.push(Zo(Ko,a)+\",\"+Zo(Ko,o)),--n;for(;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Qo(r,a,o);return r.join(\"\")},\"basis-closed\":function(t){var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];for(;++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);e=[Zo(Ko,o),\",\",Zo(Ko,s)],--n;for(;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Qo(e,o,s);return e.join(\"\")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,c=-1;++c<=r;)n=t[c],i=c/r,n[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return Xo(t)},cardinal:function(t,e){return t.length<3?Uo(t):t[0]+Wo(t,Yo(t,e))},\"cardinal-open\":function(t,e){return t.length<4?Uo(t):t[1]+Wo(t.slice(1,-1),Yo(t,e))},\"cardinal-closed\":function(t,e){return t.length<3?qo(t):t[0]+Wo((t.push(t[0]),t),Yo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Uo(t):t[0]+Wo(t,function(t){var e,r,n,i,a=[],o=function(t){var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=ts(i,a);for(;++e<r;)n[e]=(o+(o=ts(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=ts(t[s],t[s+1]),y(e)<kt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(i=r*r+n*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n));s=-1;for(;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Uo(t){return t.length>1?t.join(\"L\"):t+\"Z\"}function qo(t){return t.join(\"L\")+\"Z\"}function Ho(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e<r;)i.push(\"V\",(n=t[e])[1],\"H\",n[0]);return i.join(\"\")}function Go(t){for(var e=0,r=t.length,n=t[0],i=[n[0],\",\",n[1]];++e<r;)i.push(\"H\",(n=t[e])[0],\"V\",n[1]);return i.join(\"\")}function Wo(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Uo(t);var r=t.length!=e.length,n=\"\",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+=\"Q\"+(a[0]-2*o[0]/3)+\",\"+(a[1]-2*o[1]/3)+\",\"+a[0]+\",\"+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+=\"C\"+(i[0]+o[0])+\",\"+(i[1]+o[1])+\",\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1];for(var c=2;c<e.length;c++,l++)a=t[l],s=e[c],n+=\"S\"+(a[0]-s[0])+\",\"+(a[1]-s[1])+\",\"+a[0]+\",\"+a[1]}if(r){var u=t[l];n+=\"Q\"+(a[0]+2*s[0]/3)+\",\"+(a[1]+2*s[1]/3)+\",\"+u[0]+\",\"+u[1]}return n}function Yo(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function Xo(t){if(t.length<3)return Uo(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,\",\",a,\"L\",Zo(Ko,o),\",\",Zo(Ko,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Qo(l,o,s);return t.pop(),l.push(\"L\",n),l.join(\"\")}function Zo(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Vo.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var $o=[0,2/3,1/3,0],Jo=[0,1/3,2/3,0],Ko=[0,1/6,2/3,1/6];function Qo(t,e,r){t.push(\"C\",Zo($o,e),\",\",Zo($o,r),\",\",Zo(Jo,e),\",\",Zo(Jo,r),\",\",Zo(Ko,e),\",\",Zo(Ko,r))}function ts(t,e){return(e[1]-t[1])/(e[0]-t[0])}function es(t){for(var e,r,n,i=-1,a=t.length;++i<a;)r=(e=t[i])[0],n=e[1]-Et,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function rs(t){var e=ei,r=ei,n=0,i=ri,a=Wr,o=Uo,s=o.key,l=o,c=\"L\",u=.7;function f(s){var f,h,p,d=[],g=[],m=[],v=-1,y=s.length,x=me(e),b=me(n),_=e===r?function(){return h}:me(r),w=n===i?function(){return p}:me(i);function k(){d.push(\"M\",o(t(m),u),c,l(t(g.reverse()),u),\"Z\")}for(;++v<y;)a.call(this,f=s[v],v)?(g.push([h=+x.call(this,f,v),p=+b.call(this,f,v)]),m.push([+_.call(this,f,v),+w.call(this,f,v)])):g.length&&(k(),g=[],m=[]);return g.length&&k(),d.length?d.join(\"\"):null}return f.x=function(t){return arguments.length?(e=r=t,f):r},f.x0=function(t){return arguments.length?(e=t,f):e},f.x1=function(t){return arguments.length?(r=t,f):r},f.y=function(t){return arguments.length?(n=i=t,f):i},f.y0=function(t){return arguments.length?(n=t,f):n},f.y1=function(t){return arguments.length?(i=t,f):i},f.defined=function(t){return arguments.length?(a=t,f):a},f.interpolate=function(t){return arguments.length?(s=\"function\"==typeof t?o=t:(o=Vo.get(t)||Uo).key,l=o.reverse||o,c=o.closed?\"M\":\"L\",f):s},f.tension=function(t){return arguments.length?(u=t,f):u},f}function ns(t){return t.radius}function is(t){return[t.x,t.y]}function as(){return 64}function os(){return\"circle\"}function ss(t){var e=Math.sqrt(t/At);return\"M0,\"+e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+-e+\"A\"+e+\",\"+e+\" 0 1,1 0,\"+e+\"Z\"}t.svg.line.radial=function(){var t=jo(es);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Ho.reverse=Go,Go.reverse=Ho,t.svg.area=function(){return rs(z)},t.svg.area.radial=function(){var t=rs(es);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},t.svg.chord=function(){var t=Vn,e=Un,r=ns,n=Do,i=Ro;function a(r,n){var i,a,c=o(this,t,r,n),u=o(this,e,r,n);return\"M\"+c.p0+s(c.r,c.p1,c.a1-c.a0)+(a=u,(i=c).a0==a.a0&&i.a1==a.a1?l(c.r,c.p1,c.r,c.p0):l(c.r,c.p1,u.r,u.p0)+s(u.r,u.p1,u.a1-u.a0)+l(u.r,u.p1,c.r,c.p0))+\"Z\"}function o(t,e,a,o){var s=e.call(t,a,o),l=r.call(t,s,o),c=n.call(t,s,o)-Et,u=i.call(t,s,o)-Et;return{r:l,a0:c,a1:u,p0:[l*Math.cos(c),l*Math.sin(c)],p1:[l*Math.cos(u),l*Math.sin(u)]}}function s(t,e,r){return\"A\"+t+\",\"+t+\" 0 \"+ +(r>At)+\",1 \"+e}function l(t,e,r,n){return\"Q 0,0 \"+n}return a.radius=function(t){return arguments.length?(r=me(t),a):r},a.source=function(e){return arguments.length?(t=me(e),a):t},a.target=function(t){return arguments.length?(e=me(t),a):e},a.startAngle=function(t){return arguments.length?(n=me(t),a):n},a.endAngle=function(t){return arguments.length?(i=me(t),a):i},a},t.svg.diagonal=function(){var t=Vn,e=Un,r=is;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return\"M\"+(l=l.map(r))[0]+\"C\"+l[1]+\" \"+l[2]+\" \"+l[3]}return n.source=function(e){return arguments.length?(t=me(e),n):t},n.target=function(t){return arguments.length?(e=me(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=is,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Et;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=os,e=as;function r(r,n){return(ls.get(t.call(this,r,n))||ss)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=me(e),r):t},r.size=function(t){return arguments.length?(e=me(t),r):e},r};var ls=t.map({circle:ss,cross:function(t){var e=Math.sqrt(t/5)/2;return\"M\"+-3*e+\",\"+-e+\"H\"+-e+\"V\"+-3*e+\"H\"+e+\"V\"+-e+\"H\"+3*e+\"V\"+e+\"H\"+e+\"V\"+3*e+\"H\"+-e+\"V\"+e+\"H\"+-3*e+\"Z\"},diamond:function(t){var e=Math.sqrt(t/(2*us)),r=e*us;return\"M0,\"+-e+\"L\"+r+\",0 0,\"+e+\" \"+-r+\",0Z\"},square:function(t){var e=Math.sqrt(t)/2;return\"M\"+-e+\",\"+-e+\"L\"+e+\",\"+-e+\" \"+e+\",\"+e+\" \"+-e+\",\"+e+\"Z\"},\"triangle-down\":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return\"M0,\"+r+\"L\"+e+\",\"+-r+\" \"+-e+\",\"+-r+\"Z\"},\"triangle-up\":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return\"M0,\"+-r+\"L\"+e+\",\"+r+\" \"+-e+\",\"+r+\"Z\"}});t.svg.symbolTypes=ls.keys();var cs=Math.sqrt(3),us=Math.tan(30*Ct);Y.transition=function(t){for(var e,r,n=ds||++vs,i=bs(t),a=[],o=gs||{time:Date.now(),ease:ia,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(r=c[u])&&_s(r,u,i,n,o),e.push(r)}return ps(a,i,n)},Y.interrupt=function(t){return this.each(null==t?fs:hs(bs(t)))};var fs=hs(bs());function hs(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function ps(t,e,r){return U(t,ms),t.namespace=e,t.id=r,t}var ds,gs,ms=[],vs=0;function ys(t,e,r,n){var i=t.id,a=t.namespace;return ut(t,\"function\"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function xs(t){return null==t&&(t=\"\"),function(){this.textContent=t}}function bs(t){return null==t?\"__transition__\":\"__transition_\"+t+\"__\"}function _s(t,e,r,n,i){var a,o,s,l,c,u=t[r]||(t[r]={active:0,count:0}),f=u[n];function h(r){var i=u.active,h=u[i];for(var d in h&&(h.timer.c=null,h.timer.t=NaN,--u.count,delete u[i],h.event&&h.event.interrupt.call(t,t.__data__,h.index)),u)if(+d<n){var g=u[d];g.timer.c=null,g.timer.t=NaN,--u.count,delete u[d]}o.c=p,Me(function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1},0,a),u.active=n,f.event&&f.event.start.call(t,t.__data__,e),c=[],f.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&c.push(n)}),l=f.ease,s=f.duration}function p(i){for(var a=i/s,o=l(a),h=c.length;h>0;)c[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}f||(a=i.time,o=Me(function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h},0,a),f=u[n]={tween:new b,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}ms.call=Y.call,ms.empty=Y.empty,ms.node=Y.node,ms.size=Y.size,t.transition=function(e,r){return e&&e.transition?ds?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=ms,ms.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var c=this[s],u=-1,f=c.length;++u<f;)(n=c[u])&&(r=t.call(n,n.__data__,u,s))?(\"__data__\"in n&&(r.__data__=n.__data__),_s(r,u,a,i,n[a][i]),e.push(r)):e.push(null)}return ps(o,a,i)},ms.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=Z(t);for(var c=-1,u=this.length;++c<u;)for(var f=this[c],h=-1,p=f.length;++h<p;)if(n=f[h]){a=n[s][o],r=t.call(n,n.__data__,h,c),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(i=r[d])&&_s(i,d,s,o,a),e.push(i)}return ps(l,s,o)},ms.filter=function(t){var e,r,n=[];\"function\"!=typeof t&&(t=ct(t));for(var i=0,a=this.length;i<a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,i)&&e.push(r)}return ps(n,this.namespace,this.id)},ms.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ut(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},ms.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n=\"transform\"==e?ga:Zi,i=t.ns.qualify(e);function a(){this.removeAttribute(i)}function o(){this.removeAttributeNS(i.space,i.local)}return ys(this,\"attr.\"+e,r,i.local?function(t){return null==t?o:(t+=\"\",function(){var e,r=this.getAttributeNS(i.space,i.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(i.space,i.local,e(t))})})}:function(t){return null==t?a:(t+=\"\",function(){var e,r=this.getAttribute(i);return r!==t&&(e=n(r,t),function(t){this.setAttribute(i,e(t))})})})},ms.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween(\"attr.\"+e,n.local?function(t,e){var i=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return i&&function(t){this.setAttributeNS(n.space,n.local,i(t))}}:function(t,e){var i=r.call(this,t,e,this.getAttribute(n));return i&&function(t){this.setAttribute(n,i(t))}})},ms.style=function(t,e,r){var n=arguments.length;if(n<3){if(\"string\"!=typeof t){for(r in n<2&&(e=\"\"),t)this.style(r,t[r],e);return this}r=\"\"}function i(){this.style.removeProperty(t)}return ys(this,\"style.\"+t,e,function(e){return null==e?i:(e+=\"\",function(){var n,i=o(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(n=Zi(i,e),function(e){this.style.setProperty(t,n(e),r)})})})},ms.styleTween=function(t,e,r){return arguments.length<3&&(r=\"\"),this.tween(\"style.\"+t,function(n,i){var a=e.call(this,n,i,o(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}})},ms.text=function(t){return ys(this,\"text\",t,xs)},ms.remove=function(){var t=this.namespace;return this.each(\"end.transition\",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},ms.ease=function(e){var r=this.id,n=this.namespace;return arguments.length<1?this.node()[n][r].ease:(\"function\"!=typeof e&&(e=t.ease.apply(t,arguments)),ut(this,function(t){t[n][r].ease=e}))},ms.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ut(this,\"function\"==typeof t?function(n,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},ms.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ut(this,\"function\"==typeof t?function(n,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},ms.each=function(e,r){var n=this.id,i=this.namespace;if(arguments.length<2){var a=gs,o=ds;try{ds=n,ut(this,function(t,r,a){gs=t[i][n],e.call(t,t.__data__,r,a)})}finally{gs=a,ds=o}}else ut(this,function(a){var o=a[i][n];(o.event||(o.event=t.dispatch(\"start\",\"end\",\"interrupt\"))).on(e,r)});return this},ms.transition=function(){for(var t,e,r,n=this.id,i=++vs,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var c,u=0,f=(c=this[s]).length;u<f;u++)(e=c[u])&&_s(e,u,a,i,{time:(r=e[a][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return ps(o,a,i)},t.svg.axis=function(){var e,r=t.scale.linear(),i=ws,a=6,o=6,s=3,l=[10],c=null;function u(n){n.each(function(){var n,u=t.select(this),f=this.__chart__||r,h=this.__chart__=r.copy(),p=null==c?h.ticks?h.ticks.apply(h,l):h.domain():c,d=null==e?h.tickFormat?h.tickFormat.apply(h,l):z:e,g=u.selectAll(\".tick\").data(p,h),m=g.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",kt),v=t.transition(g.exit()).style(\"opacity\",kt).remove(),y=t.transition(g.order()).style(\"opacity\",1),x=Math.max(a,0)+s,b=uo(h),_=u.selectAll(\".domain\").data([0]),w=(_.enter().append(\"path\").attr(\"class\",\"domain\"),t.transition(_));m.append(\"line\"),m.append(\"text\");var k,M,A,T,S=m.select(\"line\"),E=y.select(\"line\"),C=g.select(\"text\").text(d),L=m.select(\"text\"),P=y.select(\"text\"),O=\"top\"===i||\"left\"===i?-1:1;if(\"bottom\"===i||\"top\"===i?(n=Ms,k=\"x\",A=\"y\",M=\"x2\",T=\"y2\",C.attr(\"dy\",O<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),w.attr(\"d\",\"M\"+b[0]+\",\"+O*o+\"V0H\"+b[1]+\"V\"+O*o)):(n=As,k=\"y\",A=\"x\",M=\"y2\",T=\"x2\",C.attr(\"dy\",\".32em\").style(\"text-anchor\",O<0?\"end\":\"start\"),w.attr(\"d\",\"M\"+O*o+\",\"+b[0]+\"H0V\"+b[1]+\"H\"+O*o)),S.attr(T,O*a),L.attr(A,O*x),E.attr(M,0).attr(T,O*a),P.attr(k,0).attr(A,O*x),h.rangeBand){var I=h,D=I.rangeBand()/2;f=h=function(t){return I(t)+D}}else f.rangeBand?f=h:v.call(n,h,f);m.call(n,f,h),y.call(n,h,h)})}return u.scale=function(t){return arguments.length?(r=t,u):r},u.orient=function(t){return arguments.length?(i=t in ks?t+\"\":ws,u):i},u.ticks=function(){return arguments.length?(l=n(arguments),u):l},u.tickValues=function(t){return arguments.length?(c=t,u):c},u.tickFormat=function(t){return arguments.length?(e=t,u):e},u.tickSize=function(t){var e=arguments.length;return e?(a=+t,o=+arguments[e-1],u):a},u.innerTickSize=function(t){return arguments.length?(a=+t,u):a},u.outerTickSize=function(t){return arguments.length?(o=+t,u):o},u.tickPadding=function(t){return arguments.length?(s=+t,u):s},u.tickSubdivide=function(){return arguments.length&&u},u};var ws=\"bottom\",ks={top:1,right:1,bottom:1,left:1};function Ms(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(\"+(isFinite(n)?n:r(t))+\",0)\"})}function As(t,e,r){t.attr(\"transform\",function(t){var n=e(t);return\"translate(0,\"+(isFinite(n)?n:r(t))+\")\"})}t.svg.brush=function(){var e,r,n=j(h,\"brushstart\",\"brush\",\"brushend\"),i=null,a=null,s=[0,0],l=[0,0],c=!0,u=!0,f=Ss[0];function h(e){e.each(function(){var e=t.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",m).on(\"touchstart.brush\",m),r=e.selectAll(\".background\").data([0]);r.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),e.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var n=e.selectAll(\".resize\").data(f,z);n.exit().remove(),n.enter().append(\"g\").attr(\"class\",function(t){return\"resize \"+t}).style(\"cursor\",function(t){return Ts[t]}).append(\"rect\").attr(\"x\",function(t){return/[ew]$/.test(t)?-3:null}).attr(\"y\",function(t){return/^[ns]/.test(t)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),n.style(\"display\",h.empty()?\"none\":null);var o,s=t.transition(e),l=t.transition(r);i&&(o=uo(i),l.attr(\"x\",o[0]).attr(\"width\",o[1]-o[0]),d(s)),a&&(o=uo(a),l.attr(\"y\",o[0]).attr(\"height\",o[1]-o[0]),g(s)),p(s)})}function p(t){t.selectAll(\".resize\").attr(\"transform\",function(t){return\"translate(\"+s[+/e$/.test(t)]+\",\"+l[+/^s/.test(t)]+\")\"})}function d(t){t.select(\".extent\").attr(\"x\",s[0]),t.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",s[1]-s[0])}function g(t){t.select(\".extent\").attr(\"y\",l[0]),t.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",l[1]-l[0])}function m(){var f,m,v=this,y=t.select(t.event.target),x=n.of(v,arguments),b=t.select(v),_=y.datum(),w=!/^(n|s)$/.test(_)&&i,k=!/^(e|w)$/.test(_)&&a,M=y.classed(\"extent\"),A=xt(v),T=t.mouse(v),S=t.select(o(v)).on(\"keydown.brush\",function(){32==t.event.keyCode&&(M||(f=null,T[0]-=s[1],T[1]-=l[1],M=2),F())}).on(\"keyup.brush\",function(){32==t.event.keyCode&&2==M&&(T[0]+=s[1],T[1]+=l[1],M=0,F())});if(t.event.changedTouches?S.on(\"touchmove.brush\",L).on(\"touchend.brush\",P):S.on(\"mousemove.brush\",L).on(\"mouseup.brush\",P),b.interrupt().selectAll(\"*\").interrupt(),M)T[0]=s[0]-T[0],T[1]=l[0]-T[1];else if(_){var E=+/w$/.test(_),C=+/^n/.test(_);m=[s[1-E]-T[0],l[1-C]-T[1]],T[0]=s[E],T[1]=l[C]}else t.event.altKey&&(f=T.slice());function L(){var e=t.mouse(v),r=!1;m&&(e[0]+=m[0],e[1]+=m[1]),M||(t.event.altKey?(f||(f=[(s[0]+s[1])/2,(l[0]+l[1])/2]),T[0]=s[+(e[0]<f[0])],T[1]=l[+(e[1]<f[1])]):f=null),w&&z(e,i,0)&&(d(b),r=!0),k&&z(e,a,1)&&(g(b),r=!0),r&&(p(b),x({type:\"brush\",mode:M?\"move\":\"resize\"}))}function z(t,n,i){var a,o,h=uo(n),p=h[0],d=h[1],g=T[i],m=i?l:s,v=m[1]-m[0];if(M&&(p-=g,d-=v+g),a=(i?u:c)?Math.max(p,Math.min(d,t[i])):t[i],M?o=(a+=g)+v:(f&&(g=Math.max(p,Math.min(d,2*f[i]-a))),g<a?(o=a,a=g):o=g),m[0]!=a||m[1]!=o)return i?r=null:e=null,m[0]=a,m[1]=o,!0}function P(){L(),b.style(\"pointer-events\",\"all\").selectAll(\".resize\").style(\"display\",h.empty()?\"none\":null),t.select(\"body\").style(\"cursor\",null),S.on(\"mousemove.brush\",null).on(\"mouseup.brush\",null).on(\"touchmove.brush\",null).on(\"touchend.brush\",null).on(\"keydown.brush\",null).on(\"keyup.brush\",null),A(),x({type:\"brushend\"})}b.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),t.select(\"body\").style(\"cursor\",y.style(\"cursor\")),x({type:\"brushstart\"}),L()}return h.event=function(i){i.each(function(){var i=n.of(this,arguments),a={x:s,y:l,i:e,j:r},o=this.__chart__||a;this.__chart__=a,ds?t.select(this).transition().each(\"start.brush\",function(){e=o.i,r=o.j,s=o.x,l=o.y,i({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var t=$i(s,a.x),n=$i(l,a.y);return e=r=null,function(e){s=a.x=t(e),l=a.y=n(e),i({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){e=a.i,r=a.j,i({type:\"brush\",mode:\"resize\"}),i({type:\"brushend\"})}):(i({type:\"brushstart\"}),i({type:\"brush\",mode:\"resize\"}),i({type:\"brushend\"}))})},h.x=function(t){return arguments.length?(f=Ss[!(i=t)<<1|!a],h):i},h.y=function(t){return arguments.length?(f=Ss[!i<<1|!(a=t)],h):a},h.clamp=function(t){return arguments.length?(i&&a?(c=!!t[0],u=!!t[1]):i?c=!!t:a&&(u=!!t),h):i&&a?[c,u]:i?c:a?u:null},h.extent=function(t){var n,o,c,u,f;return arguments.length?(i&&(n=t[0],o=t[1],a&&(n=n[0],o=o[0]),e=[n,o],i.invert&&(n=i(n),o=i(o)),o<n&&(f=n,n=o,o=f),n==s[0]&&o==s[1]||(s=[n,o])),a&&(c=t[0],u=t[1],i&&(c=c[1],u=u[1]),r=[c,u],a.invert&&(c=a(c),u=a(u)),u<c&&(f=c,c=u,u=f),c==l[0]&&u==l[1]||(l=[c,u])),h):(i&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],i.invert&&(n=i.invert(n),o=i.invert(o)),o<n&&(f=n,n=o,o=f))),a&&(r?(c=r[0],u=r[1]):(c=l[0],u=l[1],a.invert&&(c=a.invert(c),u=a.invert(u)),u<c&&(f=c,c=u,u=f))),i&&a?[[n,c],[o,u]]:i?[n,o]:a&&[c,u])},h.clear=function(){return h.empty()||(s=[0,0],l=[0,0],e=r=null),h},h.empty=function(){return!!i&&s[0]==s[1]||!!a&&l[0]==l[1]},t.rebind(h,n,\"on\")};var Ts={n:\"ns-resize\",e:\"ew-resize\",s:\"ns-resize\",w:\"ew-resize\",nw:\"nwse-resize\",ne:\"nesw-resize\",se:\"nwse-resize\",sw:\"nesw-resize\"},Ss=[[\"n\",\"e\",\"s\",\"w\",\"nw\",\"ne\",\"se\",\"sw\"],[\"e\",\"w\"],[\"n\",\"s\"],[]],Es=Oe.format=sr.timeFormat,Cs=Es.utc,Ls=Cs(\"%Y-%m-%dT%H:%M:%S.%LZ\");function zs(t){return t.toISOString()}function Ps(e,r,n){function i(t){return e(t)}function a(e,n){var i=(e[1]-e[0])/n,a=t.bisect(Is,i);return a==Is.length?[r.year,xo(e.map(function(t){return t/31536e6}),n)[2]]:a?r[i/Is[a-1]<Is[a]/i?a-1:a]:[Bs,xo(e,n)[2]]}return i.invert=function(t){return Os(e.invert(t))},i.domain=function(t){return arguments.length?(e.domain(t),i):e.domain().map(Os)},i.nice=function(t,e){var r=i.domain(),n=co(r),o=null==t?a(n,10):\"number\"==typeof t&&a(n,t);function s(r){return!isNaN(r)&&!t.range(r,Os(+r+1),e).length}return o&&(t=o[0],e=o[1]),i.domain(ho(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=Os(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=Os(+e+1);return e}}:t))},i.ticks=function(t,e){var r=co(i.domain()),n=null==t?a(r,10):\"number\"==typeof t?a(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],Os(+r[1]+1),e<1?1:e)},i.tickFormat=function(){return n},i.copy=function(){return Ps(e.copy(),r,n)},vo(i,e)}function Os(t){return new Date(t)}Es.iso=Date.prototype.toISOString&&+new Date(\"2000-01-01T00:00:00.000Z\")?zs:Ls,zs.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},zs.toString=Ls.toString,Oe.second=Be(function(t){return new Ie(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),Oe.seconds=Oe.second.range,Oe.seconds.utc=Oe.second.utc.range,Oe.minute=Be(function(t){return new Ie(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),Oe.minutes=Oe.minute.range,Oe.minutes.utc=Oe.minute.utc.range,Oe.hour=Be(function(t){var e=t.getTimezoneOffset()/60;return new Ie(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),Oe.hours=Oe.hour.range,Oe.hours.utc=Oe.hour.utc.range,Oe.month=Be(function(t){return(t=Oe.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),Oe.months=Oe.month.range,Oe.months.utc=Oe.month.utc.range;var Is=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ds=[[Oe.second,1],[Oe.second,5],[Oe.second,15],[Oe.second,30],[Oe.minute,1],[Oe.minute,5],[Oe.minute,15],[Oe.minute,30],[Oe.hour,1],[Oe.hour,3],[Oe.hour,6],[Oe.hour,12],[Oe.day,1],[Oe.day,2],[Oe.week,1],[Oe.month,1],[Oe.month,3],[Oe.year,1]],Rs=Es.multi([[\".%L\",function(t){return t.getMilliseconds()}],[\":%S\",function(t){return t.getSeconds()}],[\"%I:%M\",function(t){return t.getMinutes()}],[\"%I %p\",function(t){return t.getHours()}],[\"%a %d\",function(t){return t.getDay()&&1!=t.getDate()}],[\"%b %d\",function(t){return 1!=t.getDate()}],[\"%B\",function(t){return t.getMonth()}],[\"%Y\",Wr]]),Bs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(Os)},floor:z,ceil:z};Ds.year=Oe.year,Oe.scale=function(){return Ps(t.scale.linear(),Ds,Rs)};var Fs=Ds.map(function(t){return[t[0].utc,t[1]]}),Ns=Cs.multi([[\".%L\",function(t){return t.getUTCMilliseconds()}],[\":%S\",function(t){return t.getUTCSeconds()}],[\"%I:%M\",function(t){return t.getUTCMinutes()}],[\"%I %p\",function(t){return t.getUTCHours()}],[\"%a %d\",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],[\"%b %d\",function(t){return 1!=t.getUTCDate()}],[\"%B\",function(t){return t.getUTCMonth()}],[\"%Y\",Wr]]);function js(t){return JSON.parse(t.responseText)}function Vs(t){var e=i.createRange();return e.selectNode(i.body),e.createContextualFragment(t.responseText)}Fs.year=Oe.year.utc,Oe.scale.utc=function(){return Ps(t.scale.linear(),Fs,Ns)},t.text=ve(function(t){return t.responseText}),t.json=function(t,e){return ye(t,\"application/json\",js,e)},t.html=function(t,e){return ye(t,\"text/html\",Vs,e)},t.xml=ve(function(t){return t.responseXML}),\"object\"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],148:[function(t,e,r){e.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],149:[function(t,e,r){\"use strict\";var n=t(\"incremental-convex-hull\"),i=t(\"uniq\");function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];if(o)return o}return 0}e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s<1)return[];if(1===s)return function(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map(function(t,e){return[t[0],e]});n.sort(function(t,e){return t[0]-e[0]});for(var i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}r&&i.push([-1,i[0][1]],[i[t-1][1],-1]);return i}(r,t,e);for(var l=new Array(r),c=1,u=0;u<r;++u){for(var f=t[u],h=new Array(s+1),p=0,d=0;d<s;++d){var g=f[d];h[d]=g,p+=g*g}h[s]=p,l[u]=new a(h,u),c=Math.max(p,c)}i(l,o),r=l.length;for(var m=new Array(r+s+1),v=new Array(r+s+1),y=(s+1)*(s+1)*c,x=new Array(s+1),u=0;u<=s;++u)x[u]=0;x[s]=y,m[0]=x.slice(),v[0]=-1;for(var u=0;u<=s;++u){var h=x.slice();h[u]=1,m[u+1]=h,v[u+1]=-1}for(var u=0;u<r;++u){var b=l[u];m[u+s+1]=b.point,v[u+s+1]=b.index}var _=n(m,!1);_=e?_.filter(function(t){for(var e=0,r=0;r<=s;++r){var n=v[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e<=s;++e){var r=v[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&s)for(var u=0;u<_.length;++u){var b=_[u],h=b[0];b[0]=b[1],b[1]=h}return _}},{\"incremental-convex-hull\":394,uniq:521}],150:[function(t,e,r){\"use strict\";e.exports=a;var n=(a.canvas=document.createElement(\"canvas\")).getContext(\"2d\"),i=o([32,126]);function a(t,e){Array.isArray(t)&&(t=t.join(\", \"));var r,a={},s=16,l=.05;e&&(2===e.length&&\"number\"==typeof e[0]?r=o(e):Array.isArray(e)?r=e:(e.o?r=o(e.o):e.pairs&&(r=e.pairs),e.fontSize&&(s=e.fontSize),null!=e.threshold&&(l=e.threshold))),r||(r=i),n.font=s+\"px \"+t;for(var c=0;c<r.length;c++){var u=r[c],f=n.measureText(u[0]).width+n.measureText(u[1]).width,h=n.measureText(u).width;if(Math.abs(f-h)>s*l){var p=(h-f)/s;a[u]=1e3*p}}return a}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i<t[1];i++){var a=n+String.fromCharCode(i);e.push(a)}return e}a.createPairs=o,a.ascii=i},{}],151:[function(t,e,r){(function(t){var r=!1;if(\"undefined\"!=typeof Float64Array){var n=new Float64Array(1),i=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===i[1]){e.exports=function(t){return n[0]=t,[i[0],i[1]]},e.exports.pack=function(t,e){return i[0]=t,i[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[0]},e.exports.hi=function(t){return n[0]=t,i[1]}}else if(1072693248===i[0]){e.exports=function(t){return n[0]=t,[i[1],i[0]]},e.exports.pack=function(t,e){return i[1]=t,i[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,i[1]},e.exports.hi=function(t){return n[0]=t,i[0]}}else r=!1}if(!r){var a=new t(8);e.exports=function(t){return a.writeDoubleLE(t,0,!0),[a.readUInt32LE(0,!0),a.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return a.writeUInt32LE(t,0,!0),a.writeUInt32LE(e,4,!0),a.readDoubleLE(0,!0)},e.exports.lo=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(0,!0)},e.exports.hi=function(t){return a.writeDoubleLE(t,0,!0),a.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t(\"buffer\").Buffer)},{buffer:92}],152:[function(t,e,r){var n=t(\"abs-svg-path\"),i=t(\"normalize-svg-path\"),a={M:\"moveTo\",C:\"bezierCurveTo\"};e.exports=function(t,e){t.beginPath(),i(n(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[a[r]].apply(t,n)}),t.closePath()}},{\"abs-svg-path\":47,\"normalize-svg-path\":432}],153:[function(t,e,r){e.exports=function(t){switch(t){case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"uint8\":return Uint8Array;case\"uint16\":return Uint16Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;case\"array\":return Array;case\"uint8_clamped\":return Uint8ClampedArray}}},{}],154:[function(t,e,r){\"use strict\";e.exports=function(t,e){switch(\"undefined\"==typeof e&&(e=0),typeof t){case\"number\":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case\"object\":if(\"number\"==typeof t.length)return function t(e,r,n){var i=0|e[n];if(i<=0)return[];var a,o=new Array(i);if(n===e.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],155:[function(t,e,r){\"use strict\";function n(t,e,r){r=r||2;var n,s,l,c,u,p,g,m=e&&e.length,v=m?e[0]*r:t.length,y=i(t,0,v,r,!0),x=[];if(!y)return x;if(m&&(y=function(t,e,r,n){var o,s,l,c,u,p=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,c=o<s-1?e[o+1]*n:t.length,(u=i(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(d(u));for(p.sort(f),o=0;o<p.length;o++)h(p[o],r),r=a(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=c=t[1];for(var b=r;b<v;b+=r)(u=t[b])<n&&(n=u),(p=t[b+1])<s&&(s=p),u>l&&(l=u),p>c&&(c=p);g=0!==(g=Math.max(l-n,c-s))?1/g:0}return o(y,x,r,n,s,g),x}function i(t,e,r,n,i){var a,o;if(i===A(t,e,r,n)>0)for(a=e;a<r;a+=n)o=w(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=w(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function a(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==v(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,i,f,h){if(t){!h&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=p(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,f);for(var d,g,m=t;t.prev!==t.next;)if(d=t.prev,g=t.next,f?l(t,n,i,f):s(t))e.push(d.i/r),e.push(t.i/r),e.push(g.i/r),k(t),t=g.next,m=g.next;else if((t=g)===m){h?1===h?o(t=c(t,e,r),e,r,n,i,f,2):2===h&&u(t,e,r,n,i,f):o(a(t),e,r,n,i,f,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(v(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(g(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&v(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function l(t,e,r,n){var i=t.prev,a=t,o=t.next;if(v(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=p(s,l,e,r,n),h=p(c,u,e,r,n),d=t.prevZ,m=t.nextZ;d&&d.z>=f&&m&&m.z<=h;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;if(d=d.prevZ,m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(;d&&d.z>=f;){if(d!==t.prev&&d!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&v(d.prev,d,d.next)>=0)return!1;d=d.prevZ}for(;m&&m.z<=h;){if(m!==t.prev&&m!==t.next&&g(i.x,i.y,a.x,a.y,o.x,o.y,m.x,m.y)&&v(m.prev,m,m.next)>=0)return!1;m=m.nextZ}return!0}function c(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!y(i,a)&&x(i,n,n.next,a)&&b(i,a)&&b(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),k(n),k(n.next),n=t=a),n=n.next}while(n!==t);return n}function u(t,e,r,n,i,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=_(l,c);return l=a(l,l.next),u=a(u,u.next),o(l,e,r,n,i,s),void o(u,e,r,n,i,s)}c=c.next}l=l.next}while(l!==t)}function f(t,e){return t.x-e.x}function h(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r.prev;var l,c=r,u=r.x,f=r.y,h=1/0;n=r.next;for(;n!==c;)i>=n.x&&n.x>=u&&i!==n.x&&g(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<h||l===h&&n.x>r.x)&&b(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=_(e,t);a(r,r.next)}}function p(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function d(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function g(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function m(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&x(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function v(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function x(t,e,r,n){return!!(y(t,e)&&y(r,n)||y(t,n)&&y(r,e))||v(t,e,r)>0!=v(t,e,n)>0&&v(r,n,t)>0!=v(r,n,e)>0}function b(t,e){return v(t.prev,t,t.next)<0?v(t,e,t.next)>=0&&v(t,t.prev,e)>=0:v(t,e,t.prev)<0||v(t,t.next,e)<0}function _(t,e){var r=new M(t.i,t.x,t.y),n=new M(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function w(t,e,r,n){var i=new M(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function M(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function A(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(A(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(A(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},{}],156:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t.length;if(\"number\"!=typeof e){e=0;for(var i=0;i<r;++i){var a=t[i];e=Math.max(e,a[0],a[1])}e=1+(0|e)}e|=0;for(var o=new Array(e),i=0;i<e;++i)o[i]=[];for(var i=0;i<r;++i){var a=t[i];o[a[0]].push(a[1]),o[a[1]].push(a[0])}for(var s=0;s<e;++s)n(o[s],function(t,e){return t-e});return o};var n=t(\"uniq\")},{uniq:521}],157:[function(t,e,r){\"use strict\";var n=t(\"../../object/valid-value\");e.exports=function(){return n(this).length=0,this}},{\"../../object/valid-value\":189}],158:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Array.from:t(\"./shim\")},{\"./is-implemented\":159,\"./shim\":160}],159:[function(t,e,r){\"use strict\";e.exports=function(){var t,e,r=Array.from;return\"function\"==typeof r&&(e=r(t=[\"raz\",\"dwa\"]),Boolean(e&&e!==t&&\"dwa\"===e[1]))}},{}],160:[function(t,e,r){\"use strict\";var n=t(\"es6-symbol\").iterator,i=t(\"../../function/is-arguments\"),a=t(\"../../function/is-function\"),o=t(\"../../number/to-pos-integer\"),s=t(\"../../object/valid-callable\"),l=t(\"../../object/valid-value\"),c=t(\"../../object/is-value\"),u=t(\"../../string/is-string\"),f=Array.isArray,h=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(t){var e,r,g,m,v,y,x,b,_,w,k=arguments[1],M=arguments[2];if(t=Object(l(t)),c(k)&&s(k),this&&this!==Array&&a(this))e=this;else{if(!k){if(i(t))return 1!==(v=t.length)?Array.apply(null,t):((m=new Array(1))[0]=t[0],m);if(f(t)){for(m=new Array(v=t.length),r=0;r<v;++r)m[r]=t[r];return m}}m=[]}if(!f(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(m=new e),b=x.next(),r=0;!b.done;)w=k?h.call(k,M,b.value,r):b.value,e?(p.value=w,d(m,r,p)):m[r]=w,b=x.next(),++r;v=r}else if(u(t)){for(v=t.length,e&&(m=new e),r=0,g=0;r<v;++r)w=t[r],r+1<v&&(y=w.charCodeAt(0))>=55296&&y<=56319&&(w+=t[++r]),w=k?h.call(k,M,w,g):w,e?(p.value=w,d(m,g,p)):m[g]=w,++g;v=g}if(void 0===v)for(v=o(t.length),e&&(m=new e(v)),r=0;r<v;++r)w=k?h.call(k,M,t[r],r):t[r],e?(p.value=w,d(m,r,p)):m[r]=w;return e&&(p.value=null,m.length=v),m}},{\"../../function/is-arguments\":161,\"../../function/is-function\":162,\"../../number/to-pos-integer\":168,\"../../object/is-value\":178,\"../../object/valid-callable\":187,\"../../object/valid-value\":189,\"../../string/is-string\":193,\"es6-symbol\":203}],161:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,i=n.call(function(){return arguments}());e.exports=function(t){return n.call(t)===i}},{}],162:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,i=n.call(t(\"./noop\"));e.exports=function(t){return\"function\"==typeof t&&n.call(t)===i}},{\"./noop\":163}],163:[function(t,e,r){\"use strict\";e.exports=function(){}},{}],164:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Math.sign:t(\"./shim\")},{\"./is-implemented\":165,\"./shim\":166}],165:[function(t,e,r){\"use strict\";e.exports=function(){var t=Math.sign;return\"function\"==typeof t&&(1===t(10)&&-1===t(-20))}},{}],166:[function(t,e,r){\"use strict\";e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},{}],167:[function(t,e,r){\"use strict\";var n=t(\"../math/sign\"),i=Math.abs,a=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},{\"../math/sign\":164}],168:[function(t,e,r){\"use strict\";var n=t(\"./to-integer\"),i=Math.max;e.exports=function(t){return i(0,n(t))}},{\"./to-integer\":167}],169:[function(t,e,r){\"use strict\";var n=t(\"./valid-callable\"),i=t(\"./valid-value\"),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(c),u=s(r),h&&u.sort(\"function\"==typeof h?a.call(h,r):void 0),\"function\"!=typeof t&&(t=u[t]),o.call(t,u,function(t,n){return l.call(r,t)?o.call(c,f,r[t],t,r,n):e})}}},{\"./valid-callable\":187,\"./valid-value\":189}],170:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.assign:t(\"./shim\")},{\"./is-implemented\":171,\"./shim\":172}],171:[function(t,e,r){\"use strict\";e.exports=function(){var t,e=Object.assign;return\"function\"==typeof e&&(e(t={foo:\"raz\"},{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}},{}],172:[function(t,e,r){\"use strict\";var n=t(\"../keys\"),i=t(\"../valid-value\"),a=Math.max;e.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o<l;++o)e=arguments[o],n(e).forEach(s);if(void 0!==r)throw r;return t}},{\"../keys\":179,\"../valid-value\":189}],173:[function(t,e,r){\"use strict\";var n=t(\"../array/from\"),i=t(\"./assign\"),a=t(\"./valid-value\");e.exports=function(t){var e=Object(a(t)),r=arguments[1],o=Object(arguments[2]);if(e!==t&&!r)return e;var s={};return r?n(r,function(e){(o.ensure||e in t)&&(s[e]=t[e])}):i(s,t),s}},{\"../array/from\":158,\"./assign\":170,\"./valid-value\":189}],174:[function(t,e,r){\"use strict\";var n,i,a,o,s=Object.create;t(\"./set-prototype-of/is-implemented\")()||(n=t(\"./set-prototype-of/shim\")),e.exports=n?1!==n.level?s:(i={},a={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(t){a[t]=\"__proto__\"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}}),Object.defineProperties(i,a),Object.defineProperty(n,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:i}),function(t,e){return s(null===t?i:t,e)}):s},{\"./set-prototype-of/is-implemented\":185,\"./set-prototype-of/shim\":186}],175:[function(t,e,r){\"use strict\";e.exports=t(\"./_iterate\")(\"forEach\")},{\"./_iterate\":169}],176:[function(t,e,r){\"use strict\";e.exports=function(t){return\"function\"==typeof t}},{}],177:[function(t,e,r){\"use strict\";var n=t(\"./is-value\"),i={function:!0,object:!0};e.exports=function(t){return n(t)&&i[typeof t]||!1}},{\"./is-value\":178}],178:[function(t,e,r){\"use strict\";var n=t(\"../function/noop\")();e.exports=function(t){return t!==n&&null!==t}},{\"../function/noop\":163}],179:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.keys:t(\"./shim\")},{\"./is-implemented\":180,\"./shim\":181}],180:[function(t,e,r){\"use strict\";e.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(t){return!1}}},{}],181:[function(t,e,r){\"use strict\";var n=t(\"../is-value\"),i=Object.keys;e.exports=function(t){return i(n(t)?Object(t):t)}},{\"../is-value\":178}],182:[function(t,e,r){\"use strict\";var n=t(\"./valid-callable\"),i=t(\"./for-each\"),a=Function.prototype.call;e.exports=function(t,e){var r={},o=arguments[2];return n(e),i(t,function(t,n,i,s){r[n]=a.call(e,o,t,n,i,s)}),r}},{\"./for-each\":175,\"./valid-callable\":187}],183:[function(t,e,r){\"use strict\";var n=t(\"./is-value\"),i=Array.prototype.forEach,a=Object.create;e.exports=function(t){var e=a(null);return i.call(arguments,function(t){n(t)&&function(t,e){var r;for(r in t)e[r]=t[r]}(Object(t),e)}),e}},{\"./is-value\":178}],184:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Object.setPrototypeOf:t(\"./shim\")},{\"./is-implemented\":185,\"./shim\":186}],185:[function(t,e,r){\"use strict\";var n=Object.create,i=Object.getPrototypeOf,a={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return\"function\"==typeof t&&i(t(e(null),a))===a}},{}],186:[function(t,e,r){\"use strict\";var n,i,a,o,s=t(\"../is-object\"),l=t(\"../valid-value\"),c=Object.prototype.isPrototypeOf,u=Object.defineProperty,f={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(l(t),null===e||s(e))return t;throw new TypeError(\"Prototype must be null or an object\")},e.exports=(i=function(){var t,e=Object.create(null),r={},n=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(n){try{(t=n.set).call(e,r)}catch(t){}if(Object.getPrototypeOf(e)===r)return{set:t,level:2}}return e.__proto__=r,Object.getPrototypeOf(e)===r?{level:2}:((e={}).__proto__=r,Object.getPrototypeOf(e)===r&&{level:1})}())?(2===i.level?i.set?(o=i.set,a=function(t,e){return o.call(n(t,e),e),t}):a=function(t,e){return n(t,e).__proto__=e,t}:a=function t(e,r){var i;return n(e,r),(i=c.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,i&&u(t.nullPolyfill,\"__proto__\",f),e},Object.defineProperty(a,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:i.level})):null,t(\"../create\")},{\"../create\":174,\"../is-object\":177,\"../valid-value\":189}],187:[function(t,e,r){\"use strict\";e.exports=function(t){if(\"function\"!=typeof t)throw new TypeError(t+\" is not a function\");return t}},{}],188:[function(t,e,r){\"use strict\";var n=t(\"./is-object\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not an Object\");return t}},{\"./is-object\":177}],189:[function(t,e,r){\"use strict\";var n=t(\"./is-value\");e.exports=function(t){if(!n(t))throw new TypeError(\"Cannot use null or undefined\");return t}},{\"./is-value\":178}],190:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?String.prototype.contains:t(\"./shim\")},{\"./is-implemented\":191,\"./shim\":192}],191:[function(t,e,r){\"use strict\";var n=\"razdwatrzy\";e.exports=function(){return\"function\"==typeof n.contains&&(!0===n.contains(\"dwa\")&&!1===n.contains(\"foo\"))}},{}],192:[function(t,e,r){\"use strict\";var n=String.prototype.indexOf;e.exports=function(t){return n.call(this,t,arguments[1])>-1}},{}],193:[function(t,e,r){\"use strict\";var n=Object.prototype.toString,i=n.call(\"\");e.exports=function(t){return\"string\"==typeof t||t&&\"object\"==typeof t&&(t instanceof String||n.call(t)===i)||!1}},{}],194:[function(t,e,r){\"use strict\";var n=Object.create(null),i=Math.random;e.exports=function(){var t;do{t=i().toString(36).slice(2)}while(n[t]);return t}},{}],195:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/set-prototype-of\"),a=t(\"es5-ext/string/#/contains\"),o=t(\"d\"),s=t(\"es6-symbol\"),l=t(\"./\"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");l.call(this,t),e=e?a.call(e,\"key+value\")?\"key+value\":a.call(e,\"key\")?\"key\":\"value\":\"value\",c(this,\"__kind__\",o(\"\",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o(function(t){return\"value\"===this.__kind__?this.__list__[t]:\"key+value\"===this.__kind__?[t,this.__list__[t]]:t})}),c(n.prototype,s.toStringTag,o(\"c\",\"Array Iterator\"))},{\"./\":198,d:138,\"es5-ext/object/set-prototype-of\":184,\"es5-ext/string/#/contains\":190,\"es6-symbol\":203}],196:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/object/valid-callable\"),a=t(\"es5-ext/string/is-string\"),o=t(\"./get\"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,f,h,p,d,g,m,v=arguments[2];if(s(t)||n(t)?r=\"array\":a(t)?r=\"string\":t=o(t),i(e),f=function(){h=!0},\"array\"!==r)if(\"string\"!==r)for(u=t.next();!u.done;){if(l.call(e,v,u.value,f),h)return;u=t.next()}else for(d=t.length,p=0;p<d&&(g=t[p],p+1<d&&(m=g.charCodeAt(0))>=55296&&m<=56319&&(g+=t[++p]),l.call(e,v,g,f),!h);++p);else c.call(t,function(t){return l.call(e,v,t,f),h})}},{\"./get\":197,\"es5-ext/function/is-arguments\":161,\"es5-ext/object/valid-callable\":187,\"es5-ext/string/is-string\":193}],197:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/string/is-string\"),a=t(\"./array\"),o=t(\"./string\"),s=t(\"./valid-iterable\"),l=t(\"es6-symbol\").iterator;e.exports=function(t){return\"function\"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},{\"./array\":195,\"./string\":200,\"./valid-iterable\":201,\"es5-ext/function/is-arguments\":161,\"es5-ext/string/is-string\":193,\"es6-symbol\":203}],198:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/array/#/clear\"),a=t(\"es5-ext/object/assign\"),o=t(\"es5-ext/object/valid-callable\"),s=t(\"es5-ext/object/valid-value\"),l=t(\"d\"),c=t(\"d/auto-bind\"),u=t(\"es6-symbol\"),f=Object.defineProperty,h=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");h(this,{__list__:l(\"w\",s(t)),__context__:l(\"w\",e),__nextIndex__:l(\"w\",0)}),e&&(o(e.on),e.on(\"_add\",this._onAdd),e.on(\"_delete\",this._onDelete),e.on(\"_clear\",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l(function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()}),next:l(function(){return this._createResult(this._next())}),_createResult:l(function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}}),_resolve:l(function(t){return this.__list__[t]}),_unBind:l(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off(\"_add\",this._onAdd),this.__context__.off(\"_delete\",this._onDelete),this.__context__.off(\"_clear\",this._onClear),this.__context__=null)}),toString:l(function(){return\"[object \"+(this[u.toStringTag]||\"Object\")+\"]\"})},c({_onAdd:l(function(t){t>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(e,r){e>=t&&(this.__redo__[r]=++e)},this),this.__redo__.push(t)):f(this,\"__redo__\",l(\"c\",[t])))}),_onDelete:l(function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach(function(e,r){e>t&&(this.__redo__[r]=--e)},this)))}),_onClear:l(function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0})}))),f(n.prototype,u.iterator,l(function(){return this}))},{d:138,\"d/auto-bind\":137,\"es5-ext/array/#/clear\":157,\"es5-ext/object/assign\":170,\"es5-ext/object/valid-callable\":187,\"es5-ext/object/valid-value\":189,\"es6-symbol\":203}],199:[function(t,e,r){\"use strict\";var n=t(\"es5-ext/function/is-arguments\"),i=t(\"es5-ext/object/is-value\"),a=t(\"es5-ext/string/is-string\"),o=t(\"es6-symbol\").iterator,s=Array.isArray;e.exports=function(t){return!!i(t)&&(!!s(t)||(!!a(t)||(!!n(t)||\"function\"==typeof t[o])))}},{\"es5-ext/function/is-arguments\":161,\"es5-ext/object/is-value\":178,\"es5-ext/string/is-string\":193,\"es6-symbol\":203}],200:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/set-prototype-of\"),a=t(\"d\"),o=t(\"es6-symbol\"),s=t(\"./\"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");t=String(t),s.call(this,t),l(this,\"__length__\",a(\"\",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a(function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()}),_resolve:a(function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0))>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r})}),l(n.prototype,o.toStringTag,a(\"c\",\"String Iterator\"))},{\"./\":198,d:138,\"es5-ext/object/set-prototype-of\":184,\"es6-symbol\":203}],201:[function(t,e,r){\"use strict\";var n=t(\"./is-iterable\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not iterable\");return t}},{\"./is-iterable\":199}],202:[function(t,e,r){(function(n,i){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?e.exports=n():t.ES6Promise=n()}(this,function(){\"use strict\";function e(t){return\"function\"==typeof t}var r=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},a=0,o=void 0,s=void 0,l=function(t,e){g[a]=t,g[a+1]=e,2===(a+=2)&&(s?s(m):_())};var c=\"undefined\"!=typeof window?window:void 0,u=c||{},f=u.MutationObserver||u.WebKitMutationObserver,h=\"undefined\"==typeof self&&\"undefined\"!=typeof n&&\"[object process]\"==={}.toString.call(n),p=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(m,1)}}var g=new Array(1e3);function m(){for(var t=0;t<a;t+=2){(0,g[t])(g[t+1]),g[t]=void 0,g[t+1]=void 0}a=0}var v,y,x,b,_=void 0;function w(t,e){var r=arguments,n=this,i=new this.constructor(A);void 0===i[M]&&U(i);var a,o=n._state;return o?(a=r[o-1],l(function(){return j(o,i,a,n._result)})):R(n,i,t,e),i}function k(t){if(t&&\"object\"==typeof t&&t.constructor===this)return t;var e=new this(A);return P(e,t),e}h?_=function(){return n.nextTick(m)}:f?(y=0,x=new f(m),b=document.createTextNode(\"\"),x.observe(b,{characterData:!0}),_=function(){b.data=y=++y%2}):p?((v=new MessageChannel).port1.onmessage=m,_=function(){return v.port2.postMessage(0)}):_=void 0===c&&\"function\"==typeof t?function(){try{var e=t(\"vertx\");return o=e.runOnLoop||e.runOnContext,function(){o(m)}}catch(t){return d()}}():d();var M=Math.random().toString(36).substring(16);function A(){}var T=void 0,S=1,E=2,C=new F;function L(t){try{return t.then}catch(t){return C.error=t,C}}function z(t,r,n){r.constructor===t.constructor&&n===w&&r.constructor.resolve===k?function(t,e){e._state===S?I(t,e._result):e._state===E?D(t,e._result):R(e,void 0,function(e){return P(t,e)},function(e){return D(t,e)})}(t,r):n===C?D(t,C.error):void 0===n?I(t,r):e(n)?function(t,e,r){l(function(t){var n=!1,i=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?P(t,r):I(t,r))},function(e){n||(n=!0,D(t,e))},t._label);!n&&i&&(n=!0,D(t,i))},t)}(t,r,n):I(t,r)}function P(t,e){var r;t===e?D(t,new TypeError(\"You cannot resolve a promise with itself\")):\"function\"==typeof(r=e)||\"object\"==typeof r&&null!==r?z(t,e,L(e)):I(t,e)}function O(t){t._onerror&&t._onerror(t._result),B(t)}function I(t,e){t._state===T&&(t._result=e,t._state=S,0!==t._subscribers.length&&l(B,t))}function D(t,e){t._state===T&&(t._state=E,t._result=e,l(O,t))}function R(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+S]=r,i[a+E]=n,0===a&&t._state&&l(B,t)}function B(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,i=void 0,a=t._result,o=0;o<e.length;o+=3)n=e[o],i=e[o+r],n?j(r,n,i,a):i(a);t._subscribers.length=0}}function F(){this.error=null}var N=new F;function j(t,r,n,i){var a=e(n),o=void 0,s=void 0,l=void 0,c=void 0;if(a){if((o=function(t,e){try{return t(e)}catch(t){return N.error=t,N}}(n,i))===N?(c=!0,s=o.error,o=null):l=!0,r===o)return void D(r,new TypeError(\"A promises callback cannot return that same promise.\"))}else o=i,l=!0;r._state!==T||(a&&l?P(r,o):c?D(r,s):t===S?I(r,o):t===E&&D(r,o))}var V=0;function U(t){t[M]=V++,t._state=void 0,t._result=void 0,t._subscribers=[]}function q(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[M]||U(this.promise),r(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?I(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&I(this.promise,this._result))):D(this.promise,new Error(\"Array Methods must be provided an Array\"))}function H(t){this[M]=V++,this._result=this._state=void 0,this._subscribers=[],A!==t&&(\"function\"!=typeof t&&function(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}(),this instanceof H?function(t,e){try{e(function(e){P(t,e)},function(e){D(t,e)})}catch(e){D(t,e)}}(this,t):function(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}())}function G(){var t=void 0;if(\"undefined\"!=typeof i)t=i;else if(\"undefined\"!=typeof self)t=self;else try{t=Function(\"return this\")()}catch(t){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if(\"[object Promise]\"===r&&!e.cast)return}t.Promise=H}return q.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===T&&r<t;r++)this._eachEntry(e[r],r)},q.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===k){var i=L(t);if(i===w&&t._state!==T)this._settledAt(t._state,e,t._result);else if(\"function\"!=typeof i)this._remaining--,this._result[e]=t;else if(r===H){var a=new r(A);z(a,t,i),this._willSettleAt(a,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},q.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===T&&(this._remaining--,t===E?D(n,r):this._result[e]=r),0===this._remaining&&I(n,this._result)},q.prototype._willSettleAt=function(t,e){var r=this;R(t,void 0,function(t){return r._settledAt(S,e,t)},function(t){return r._settledAt(E,e,t)})},H.all=function(t){return new q(this,t).promise},H.race=function(t){var e=this;return r(t)?new e(function(r,n){for(var i=t.length,a=0;a<i;a++)e.resolve(t[a]).then(r,n)}):new e(function(t,e){return e(new TypeError(\"You must pass an array to race.\"))})},H.resolve=k,H.reject=function(t){var e=new this(A);return D(e,t),e},H._setScheduler=function(t){s=t},H._setAsap=function(t){l=t},H._asap=l,H.prototype={constructor:H,then:w,catch:function(t){return this.then(null,t)}},G(),H.polyfill=G,H.Promise=H,H})}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{_process:462}],203:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?Symbol:t(\"./polyfill\")},{\"./is-implemented\":204,\"./polyfill\":206}],204:[function(t,e,r){\"use strict\";var n={object:!0,symbol:!0};e.exports=function(){var t;if(\"function\"!=typeof Symbol)return!1;t=Symbol(\"test symbol\");try{String(t)}catch(t){return!1}return!!n[typeof Symbol.iterator]&&(!!n[typeof Symbol.toPrimitive]&&!!n[typeof Symbol.toStringTag])}},{}],205:[function(t,e,r){\"use strict\";e.exports=function(t){return!!t&&(\"symbol\"==typeof t||!!t.constructor&&(\"Symbol\"===t.constructor.name&&\"Symbol\"===t[t.constructor.toStringTag]))}},{}],206:[function(t,e,r){\"use strict\";var n,i,a,o,s=t(\"d\"),l=t(\"./validate-symbol\"),c=Object.create,u=Object.defineProperties,f=Object.defineProperty,h=Object.prototype,p=c(null);if(\"function\"==typeof Symbol){n=Symbol;try{String(n()),o=!0}catch(t){}}var d,g=(d=c(null),function(t){for(var e,r,n=0;d[t+(n||\"\")];)++n;return d[t+=n||\"\"]=!0,f(h,e=\"@@\"+t,s.gs(null,function(t){r||(r=!0,f(this,e,s(t)),r=!1)})),e});a=function(t){if(this instanceof a)throw new TypeError(\"Symbol is not a constructor\");return i(t)},e.exports=i=function t(e){var r;if(this instanceof t)throw new TypeError(\"Symbol is not a constructor\");return o?n(e):(r=c(a.prototype),e=void 0===e?\"\":String(e),u(r,{__description__:s(\"\",e),__name__:s(\"\",g(e))}))},u(i,{for:s(function(t){return p[t]?p[t]:p[t]=i(String(t))}),keyFor:s(function(t){var e;for(e in l(t),p)if(p[e]===t)return e}),hasInstance:s(\"\",n&&n.hasInstance||i(\"hasInstance\")),isConcatSpreadable:s(\"\",n&&n.isConcatSpreadable||i(\"isConcatSpreadable\")),iterator:s(\"\",n&&n.iterator||i(\"iterator\")),match:s(\"\",n&&n.match||i(\"match\")),replace:s(\"\",n&&n.replace||i(\"replace\")),search:s(\"\",n&&n.search||i(\"search\")),species:s(\"\",n&&n.species||i(\"species\")),split:s(\"\",n&&n.split||i(\"split\")),toPrimitive:s(\"\",n&&n.toPrimitive||i(\"toPrimitive\")),toStringTag:s(\"\",n&&n.toStringTag||i(\"toStringTag\")),unscopables:s(\"\",n&&n.unscopables||i(\"unscopables\"))}),u(a.prototype,{constructor:s(i),toString:s(\"\",function(){return this.__name__})}),u(i.prototype,{toString:s(function(){return\"Symbol (\"+l(this).__description__+\")\"}),valueOf:s(function(){return l(this)})}),f(i.prototype,i.toPrimitive,s(\"\",function(){var t=l(this);return\"symbol\"==typeof t?t:t.toString()})),f(i.prototype,i.toStringTag,s(\"c\",\"Symbol\")),f(a.prototype,i.toStringTag,s(\"c\",i.prototype[i.toStringTag])),f(a.prototype,i.toPrimitive,s(\"c\",i.prototype[i.toPrimitive]))},{\"./validate-symbol\":207,d:138}],207:[function(t,e,r){\"use strict\";var n=t(\"./is-symbol\");e.exports=function(t){if(!n(t))throw new TypeError(t+\" is not a symbol\");return t}},{\"./is-symbol\":205}],208:[function(t,e,r){\"use strict\";e.exports=t(\"./is-implemented\")()?WeakMap:t(\"./polyfill\")},{\"./is-implemented\":209,\"./polyfill\":211}],209:[function(t,e,r){\"use strict\";e.exports=function(){var t,e;if(\"function\"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(t){return!1}return\"[object WeakMap]\"===String(t)&&(\"function\"==typeof t.set&&(t.set({},1)===t&&(\"function\"==typeof t.delete&&(\"function\"==typeof t.has&&\"one\"===t.get(e)))))}},{}],210:[function(t,e,r){\"use strict\";e.exports=\"function\"==typeof WeakMap&&\"[object WeakMap]\"===Object.prototype.toString.call(new WeakMap)},{}],211:[function(t,e,r){\"use strict\";var n,i=t(\"es5-ext/object/set-prototype-of\"),a=t(\"es5-ext/object/valid-object\"),o=t(\"es5-ext/object/valid-value\"),s=t(\"es5-ext/string/random-uniq\"),l=t(\"d\"),c=t(\"es6-iterator/get\"),u=t(\"es6-iterator/for-of\"),f=t(\"es6-symbol\").toStringTag,h=t(\"./is-native-implemented\"),p=Array.isArray,d=Object.defineProperty,g=Object.prototype.hasOwnProperty,m=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError(\"Constructor requires 'new'\");return t=h&&i&&WeakMap!==n?i(new WeakMap,m(this)):this,null!=e&&(p(e)||(e=c(e))),d(t,\"__weakMapData__\",l(\"c\",\"$weakMap$\"+s())),e?(u(e,function(e){o(e),t.set(e[0],e[1])}),t):t},h&&(i&&i(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:l(n)})),Object.defineProperties(n.prototype,{delete:l(function(t){return!!g.call(a(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)}),get:l(function(t){if(g.call(a(t),this.__weakMapData__))return t[this.__weakMapData__]}),has:l(function(t){return g.call(a(t),this.__weakMapData__)}),set:l(function(t,e){return d(a(t),this.__weakMapData__,l(\"c\",e)),this}),toString:l(function(){return\"[object WeakMap]\"})}),d(n.prototype,f,l(\"c\",\"WeakMap\"))},{\"./is-native-implemented\":210,d:138,\"es5-ext/object/set-prototype-of\":184,\"es5-ext/object/valid-object\":188,\"es5-ext/object/valid-value\":189,\"es5-ext/string/random-uniq\":194,\"es6-iterator/for-of\":196,\"es6-iterator/get\":197,\"es6-symbol\":203}],212:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n=e||0,i=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}},{}],213:[function(t,e,r){\"use strict\";e.exports=function(t){var e=typeof t;if(\"string\"===e){var r=t;if(0===(t=+t)&&function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}(r))return!1}else if(\"number\"!==e)return!1;return t-t<1}},{}],214:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:if(\"number\"==typeof t){var n=l(t);return new o(n,n,0)}return new o(t,l(t.length),0);case 2:if(\"number\"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error(\"state and velocity lengths must match\");return new o(t,e,r)}};var n=t(\"cubic-hermite\"),i=t(\"binary-search-bounds\");function a(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-1/0,this.bounds[1][n]=1/0;this._state=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}var s=o.prototype;function l(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}s.flush=function(t){var e=i.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},s.curve=function(t){var e=this._time,r=e.length,o=i.le(e,t),s=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,f=this.bounds;if(o<0)for(var h=u-1,p=0;p<u;++p,--h)s[p]=l[h];else if(o>=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p<u;++p,--h)s[p]=l[h]+d*c[h]}else{h=u*(o+1)-1;var g=e[o],m=e[o+1]-g||1,v=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(p=0;p<u;++p,--h)v[p]=l[h],x[p]=c[h]*m,y[p]=l[h+u],b[p]=c[h+u]*m,_=_&&v[p]===y[p]&&x[p]===b[p]&&0===x[p];if(_)for(p=0;p<u;++p)s[p]=v[p];else n(v,x,y,b,(t-g)/m,s)}var w=f[0],k=f[1];for(p=0;p<u;++p)s[p]=a(w[p],k[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,a=i.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,c=this.dimension;if(a>=r-1)for(var u=s.length-1,f=(e[r-1],0);f<c;++f,--u)o[f]=l[u];else{u=c*(a+1)-1;var h=e[a],p=e[a+1]-h||1,d=this._scratch[1],g=this._scratch[2],m=this._scratch[3],v=this._scratch[4],y=!0;for(f=0;f<c;++f,--u)d[f]=s[u],m[f]=l[u]*p,g[f]=s[u+c],v[f]=l[u+c]*p,y=y&&d[f]===g[f]&&m[f]===v[f]&&0===m[f];if(y)for(f=0;f<c;++f)o[f]=0;else{n.derivative(d,m,g,v,(t-h)/p,o);for(f=0;f<c;++f)o[f]/=p}}return o},s.lastT=function(){var t=this._time;return t[t.length-1]},s.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var f=0;f<r;++f)n.push(n[o++]),i.push(0);this._time.push(t);for(f=r;f>0;--f)n.push(a(l[f-1],c[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],f=s>1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(c[h-1],u[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,i=this.bounds,o=i[0],s=i[1];this._time.push(t);for(var l=e;l>0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,f=u>1e-6?1/u:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],c[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,i=this._velocity,o=n.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var f=r-1;f>=0;--f)n.push(a(l[f],c[f],n[o]+u*i[o])),i.push(0),o+=1}}},{\"binary-search-bounds\":78,\"cubic-hermite\":132}],215:[function(t,e,r){var n=t(\"dtype\");e.exports=function(t,e,r){if(!t)throw new TypeError(\"must specify data as first parameter\");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&\"number\"==typeof t[0][0]){var i,a,o,s,l=t[0].length,c=t.length*l;e&&\"string\"!=typeof e||(e=new(n(e||\"float32\"))(c+r));var u=e.length-r;if(c!==u)throw new Error(\"source length \"+c+\" (\"+l+\"x\"+t.length+\") does not match destination length \"+u);for(i=0,o=r;i<t.length;i++)for(a=0;a<l;a++)e[o++]=null===t[i][a]?NaN:t[i][a]}else if(e&&\"string\"!=typeof e)e.set(t,r);else{var f=n(e||\"float32\");if(Array.isArray(t)||\"array\"===e)for(e=new f(t.length+r),i=0,o=r,s=e.length;o<s;o++,i++)e[o]=null===t[i]?NaN:t[i];else 0===r?e=new f(t):(e=new f(t.length+r)).set(t,r)}return e}},{dtype:153}],216:[function(t,e,r){\"use strict\";var n=t(\"css-font/stringify\"),i=[32,126];e.exports=function(t){var e=(t=t||{}).shape?t.shape:t.canvas?[t.canvas.width,t.canvas.height]:[512,512],r=t.canvas||document.createElement(\"canvas\"),a=t.font,o=\"number\"==typeof t.step?[t.step,t.step]:t.step||[32,32],s=t.chars||i;a&&\"string\"!=typeof a&&(a=n(a));if(Array.isArray(s)){if(2===s.length&&\"number\"==typeof s[0]&&\"number\"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split(\"\");e=e.slice(),r.width=e[0],r.height=e[1];var f=r.getContext(\"2d\");f.fillStyle=\"#000\",f.fillRect(0,0,r.width,r.height),f.font=a,f.textAlign=\"center\",f.textBaseline=\"middle\",f.fillStyle=\"#fff\";for(var h=o[0]/2,p=o[1]/2,c=0;c<s.length;c++)f.fillText(s[c],h,p),(h+=o[0])>e[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},{\"css-font/stringify\":129}],217:[function(t,e,r){\"use strict\";function n(t,e){e||(e={}),(\"string\"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(\", \"):e.family;if(!r)throw Error(\"`family` must be defined\");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||\"\",c=(t=[e.style||e.fontStyle||\"\",l,s].join(\" \")+\"px \"+r,e.origin||\"top\");if(n.cache[r]&&s<=n.cache[r].em)return i(n.cache[r],c);var u=e.canvas||n.canvas,f=u.getContext(\"2d\"),h={upper:void 0!==e.upper?e.upper:\"H\",lower:void 0!==e.lower?e.lower:\"x\",descent:void 0!==e.descent?e.descent:\"p\",ascent:void 0!==e.ascent?e.ascent:\"h\",tittle:void 0!==e.tittle?e.tittle:\"i\",overshoot:void 0!==e.overshoot?e.overshoot:\"O\"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,f.font=t;var d={top:0};f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillStyle=\"black\",f.fillText(\"H\",0,0);var g=a(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline=\"bottom\",f.fillText(\"H\",0,p);var m=a(f.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-m+g,f.clearRect(0,0,p,p),f.textBaseline=\"alphabetic\",f.fillText(\"H\",0,p);var v=p-a(f.getImageData(0,0,p,p))-1+g;d.baseline=d.alphabetic=v,f.clearRect(0,0,p,p),f.textBaseline=\"middle\",f.fillText(\"H\",0,.5*p);var y=a(f.getImageData(0,0,p,p));d.median=d.middle=p-y-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"hanging\",f.fillText(\"H\",0,.5*p);var x=a(f.getImageData(0,0,p,p));d.hanging=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline=\"ideographic\",f.fillText(\"H\",0,p);var b=a(f.getImageData(0,0,p,p));if(d.ideographic=p-b-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.upper,0,0),d.upper=a(f.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.lower,0,0),d.lower=a(f.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.tittle,0,0),d.tittle=a(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.ascent,0,0),d.ascent=a(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.descent,0,0),d.descent=o(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline=\"top\",f.fillText(h.overshoot,0,0);var _=o(f.getImageData(0,0,p,p));d.overshoot=_-v}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,i(d,c)}function i(t,e){var r={};for(var n in\"string\"==typeof e&&(e=t[e]),t)\"em\"!==n&&(r[n]=t[n]-e);return r}function a(t){for(var e=t.height,r=t.data,n=3;n<r.length;n+=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}function o(t){for(var e=t.height,r=t.data,n=r.length-1;n>0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement(\"canvas\"),n.cache={}},{}],218:[function(t,e,r){\"use strict\";e.exports=function(t){return new c(t||d,null)};var n=0,i=1;function a(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function o(t){return new a(t._color,t.key,t.value,t.left,t.right,t._count)}function s(t,e){return new a(t,e.key,e.value,e.left,e.right,e._count)}function l(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function c(t,e){this._compare=t,this.root=e}var u=c.prototype;function f(t,e){this.tree=t,this._stack=e}Object.defineProperty(u,\"keys\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(u,\"values\",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(u,\"length\",{get:function(){return this.root?this.root._count:0}}),u.insert=function(t,e){for(var r=this._compare,o=this.root,u=[],f=[];o;){var h=r(t,o.key);u.push(o),f.push(h),o=h<=0?o.left:o.right}u.push(new a(n,t,e,null,null,1));for(var p=u.length-2;p>=0;--p){o=u[p];f[p]<=0?u[p]=new a(o._color,o.key,o.value,u[p+1],o.right,o._count+1):u[p]=new a(o._color,o.key,o.value,o.left,u[p+1],o._count+1)}for(p=u.length-1;p>1;--p){var d=u[p-1];o=u[p];if(d._color===i||o._color===i)break;var g=u[p-2];if(g.left===d)if(d.left===o){if(!(m=g.right)||m._color!==n){if(g._color=n,g.left=d.right,d._color=i,d.right=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).left===g?v.left=d:v.right=d;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else{if(!(m=g.right)||m._color!==n){if(d.right=o.left,g._color=n,g.left=o.right,o._color=i,o.left=d,o.right=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).left===g?v.left=o:v.right=o;break}d._color=i,g.right=s(i,m),g._color=n,p-=1}else if(d.right===o){if(!(m=g.left)||m._color!==n){if(g._color=n,g.right=d.left,d._color=i,d.left=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(v=u[p-3]).right===g?v.right=d:v.left=d;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}else{var m;if(!(m=g.left)||m._color!==n){var v;if(d.left=o.right,g._color=n,g.right=o.left,o._color=i,o.right=d,o.left=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(v=u[p-3]).right===g?v.right=o:v.left=o;break}d._color=i,g.left=s(i,m),g._color=n,p-=1}}return u[0]._color=i,new c(r,u[0])},u.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,i){if(r(e,i.key)<=0){var a;if(i.left&&(a=t(e,r,n,i.left)))return a;if(a=n(i.key,i.value))return a}if(i.right)return t(e,r,n,i.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,i,a){var o,s=n(e,a.key),l=n(r,a.key);if(s<=0){if(a.left&&(o=t(e,r,n,i,a.left)))return o;if(l>0&&(o=i(a.key,a.value)))return o}if(l>0&&a.right)return t(e,r,n,i,a.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(u,\"begin\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new f(this,t)}}),Object.defineProperty(u,\"end\",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new f(this,t)}}),u.at=function(t){if(t<0)return new f(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new f(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new f(this,[])},u.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new f(this,n)},u.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new f(this,n)},u.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new f(this,n);r=i<=0?r.left:r.right}return new f(this,[])},u.remove=function(t){var e=this.find(t);return e?e.remove():this},u.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var h=f.prototype;function p(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function d(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(h,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new f(this.tree,this._stack.slice())},h.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new a(r._color,r.key,r.value,r.left,r.right,r._count);for(var u=t.length-2;u>=0;--u){(r=t[u]).left===t[u+1]?e[u]=new a(r._color,r.key,r.value,e[u+1],r.right,r._count):e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count)}if((r=e[e.length-1]).left&&r.right){var f=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var h=e[f-1];e.push(new a(r._color,h.key,h.value,r.left,r.right,r._count)),e[f-1].key=r.key,e[f-1].value=r.value;for(u=e.length-2;u>=f;--u)r=e[u],e[u]=new a(r._color,r.key,r.value,r.left,e[u+1],r._count);e[f-1].left=e[f]}if((r=e[e.length-1])._color===n){var d=e[e.length-2];d.left===r?d.left=null:d.right===r&&(d.right=null),e.pop();for(u=0;u<e.length;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(r.left||r.right){r.left?p(r,r.left):r.right&&p(r,r.right),r._color=i;for(u=0;u<e.length-1;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(1===e.length)return new c(this.tree._compare,null);for(u=0;u<e.length;++u)e[u]._count--;var g=e[e.length-2];return function(t){for(var e,r,a,c,u=t.length-1;u>=0;--u){if(e=t[u],0===u)return void(e._color=i);if((r=t[u-1]).left===e){if((a=r.right).right&&a.right._color===n)return c=(a=r.right=o(a)).right=o(a.right),r.right=a.left,a.left=r,a.right=c,a._color=r._color,e._color=i,r._color=i,c._color=i,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),void(t[u-1]=a);if(a.left&&a.left._color===n)return c=(a=r.right=o(a)).left=o(a.left),r.right=c.left,a.left=c.right,c.left=r,c.right=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).left===r?f.left=c:f.right=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.right=s(n,a));r.right=s(n,a);continue}a=o(a),r.right=a.left,a.left=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).left===r?f.left=a:f.right=a),t[u-1]=a,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}else{if((a=r.left).left&&a.left._color===n)return c=(a=r.left=o(a)).left=o(a.left),r.left=a.right,a.right=r,a.left=c,a._color=r._color,e._color=i,r._color=i,c._color=i,l(r),l(a),u>1&&((f=t[u-2]).right===r?f.right=a:f.left=a),void(t[u-1]=a);if(a.right&&a.right._color===n)return c=(a=r.left=o(a)).right=o(a.right),r.left=c.right,a.right=c.left,c.right=r,c.left=a,c._color=r._color,r._color=i,a._color=i,e._color=i,l(r),l(a),l(c),u>1&&((f=t[u-2]).right===r?f.right=c:f.left=c),void(t[u-1]=c);if(a._color===i){if(r._color===n)return r._color=i,void(r.left=s(n,a));r.left=s(n,a);continue}var f;a=o(a),r.left=a.right,a.right=r,a._color=r._color,r._color=n,l(r),l(a),u>1&&((f=t[u-2]).right===r?f.right=a:f.left=a),t[u-1]=a,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}}}(e),g.left===r?g.left=null:g.right=null,new c(this.tree._compare,e[0])},Object.defineProperty(h,\"key\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,\"index\",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),h.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,\"hasNext\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),h.update=function(t){var e=this._stack;if(0===e.length)throw new Error(\"Can't update empty node!\");var r=new Array(e.length),n=e[e.length-1];r[r.length-1]=new a(n._color,n.key,t,n.left,n.right,n._count);for(var i=e.length-2;i>=0;--i)(n=e[i]).left===e[i+1]?r[i]=new a(n._color,n.key,n.value,r[i+1],n.right,n._count):r[i]=new a(n._color,n.key,n.value,n.left,r[i+1],n._count);return new c(this.tree._compare,r[0])},h.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,\"hasPrev\",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],219:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],i=607/128,a=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function o(t){if(t<0)return Number(\"0/0\");for(var e=a[0],r=a.length-1;r>0;--r)e+=a[r]/(t+r);var n=t+i+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(o(e));e-=1;for(var r=n[0],i=1;i<9;i++)r+=n[i]/(e+i);var a=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(a,e+.5)*Math.exp(-a)*r},e.exports.log=o},{}],220:[function(t,e,r){e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"must specify type string\");if(e=e||{},\"undefined\"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement(\"canvas\");\"number\"==typeof e.width&&(r.width=e.width);\"number\"==typeof e.height&&(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf(\"webgl\")&&a.push(\"experimental-\"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}},{}],221:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=new u(t);return r.update(e),r};var n=t(\"./lib/text.js\"),i=t(\"./lib/lines.js\"),a=t(\"./lib/background.js\"),o=t(\"./lib/cube.js\"),s=t(\"./lib/ticks.js\"),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function c(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function u(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=\"sans-serif\",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(t)}var f=u.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),c=e.bind(this,!0,function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]}),u=!1,f=!1;if(\"bounds\"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if(\"ticks\"in t){r=t.ticks,u=!0,this.autoTicks=!1;for(p=0;p<3;++p)this.tickSpacing[p]=0}else a(\"tickSpacing\")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&(\"ticks\"in t||\"tickSpacing\"in t||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(p=0;p<3;++p)r[p].sort(function(t,e){return t.x-e.x});s.equal(r,this.ticks)?u=!1:this.ticks=r}o(\"tickEnable\"),l(\"tickFont\")&&(u=!0),a(\"tickSize\"),a(\"tickAngle\"),a(\"tickPad\"),c(\"tickColor\");var g=l(\"labels\");l(\"labelFont\")&&(g=!0),o(\"labelEnable\"),a(\"labelSize\"),a(\"labelPad\"),c(\"labelColor\"),o(\"lineEnable\"),o(\"lineMirror\"),a(\"lineWidth\"),c(\"lineColor\"),o(\"lineTickEnable\"),o(\"lineTickMirror\"),a(\"lineTickLength\"),a(\"lineTickWidth\"),c(\"lineTickColor\"),o(\"gridEnable\"),a(\"gridWidth\"),c(\"gridColor\"),o(\"zeroEnable\"),c(\"zeroLineColor\"),a(\"zeroLineWidth\"),o(\"backgroundEnable\"),c(\"backgroundColor\"),this._text?this._text&&(g||u)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var f=a,h=s,p=o,d=l;c&1<<u&&(f=s,h=a,p=l,d=o),f[u]=r[0][u],h[u]=r[1][u],i[u]>0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],m={model:l,view:l,projection:l};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var v=[0,0,0],y=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||m;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=o(r,n,i,a),u=s.cubeEdges,f=s.axis,h=n[12],b=n[13],_=n[14],w=n[15],k=this.pixelRatio*(i[3]*h+i[7]*b+i[11]*_+i[15]*w)/e.drawingBufferHeight,M=0;M<3;++M)this.lastCubeProps.cubeEdges[M]=u[M],this.lastCubeProps.axis[M]=f[M];var A=p;for(M=0;M<3;++M)d(p[M],M,this.bounds,u,f);e=this.gl;var T=g;for(M=0;M<3;++M)this.backgroundEnable[M]?T[M]=f[M]:T[M]=0;this._background.draw(r,n,i,a,T,this.backgroundColor),this._lines.bind(r,n,i,this);for(M=0;M<3;++M){var S=[0,0,0];f[M]>0?S[M]=a[1][M]:S[M]=a[0][M];for(var E=0;E<2;++E){var C=(M+1+E)%3,L=(M+1+(1^E))%3;this.gridEnable[C]&&this._lines.drawGrid(C,L,this.bounds,S,this.gridColor[C],this.gridWidth[C]*this.pixelRatio)}for(E=0;E<2;++E){C=(M+1+E)%3,L=(M+1+(1^E))%3;this.zeroEnable[L]&&a[0][L]<=0&&a[1][L]>=0&&this._lines.drawZero(C,L,this.bounds,S,this.zeroLineColor[L],this.zeroLineWidth[L]*this.pixelRatio)}}for(M=0;M<3;++M){this.lineEnable[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].primalOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio),this.lineMirror[M]&&this._lines.drawAxisLine(M,this.bounds,A[M].mirrorOffset,this.lineColor[M],this.lineWidth[M]*this.pixelRatio);var z=c(v,A[M].primalMinor),P=c(y,A[M].mirrorMinor),O=this.lineTickLength;for(E=0;E<3;++E){var I=k/r[5*E];z[E]*=O[E]*I,P[E]*=O[E]*I}this.lineTickEnable[M]&&this._lines.drawAxisTicks(M,A[M].primalOffset,z,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio),this.lineTickMirror[M]&&this._lines.drawAxisTicks(M,A[M].mirrorOffset,P,this.lineTickColor[M],this.lineTickWidth[M]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio);for(M=0;M<3;++M){var D=A[M].primalMinor,R=c(x,A[M].primalOffset);for(E=0;E<3;++E)this.lineTickEnable[M]&&(R[E]+=k*D[E]*Math.max(this.lineTickLength[E],0)/r[5*E]);if(this.tickEnable[M]){for(E=0;E<3;++E)R[E]+=k*D[E]*this.tickPad[E]/r[5*E];this._text.drawTicks(M,this.tickSize[M],this.tickAngle[M],R,this.tickColor[M])}if(this.labelEnable[M]){for(E=0;E<3;++E)R[E]+=k*D[E]*this.labelPad[E]/r[5*E];R[M]+=.5*(a[0][M]+a[1][M]),this._text.drawLabel(M,this.labelSize[M],this.labelAngle[M],R,this.labelColor[M])}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{\"./lib/background.js\":222,\"./lib/cube.js\":223,\"./lib/lines.js\":224,\"./lib/text.js\":226,\"./lib/ticks.js\":227}],222:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[c]=d;for(var g=-1;g<=1;g+=2)f[u]=g,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var m=c;c=u,u=m}var v=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:v,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:v,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,v,x,b)};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders\").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\"./shaders\":225,\"gl-buffer\":229,\"gl-vao\":308}],223:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,a){i(s,e,t),i(s,r,s);for(var p=0,y=0;y<2;++y){u[2]=a[y][2];for(var x=0;x<2;++x){u[1]=a[x][1];for(var b=0;b<2;++b)u[0]=a[b][0],h(l[p],u,s),p+=1}}for(var _=-1,y=0;y<8;++y){for(var w=l[y][3],k=0;k<3;++k)c[y][k]=l[y][k]/w;w<0&&(_<0?_=y:c[y][2]<c[_][2]&&(_=y))}if(_<0){_=0;for(var M=0;M<3;++M){for(var A=(M+2)%3,T=(M+1)%3,S=-1,E=-1,C=0;C<2;++C){var L=C<<M,z=L+(C<<A)+(1-C<<T),P=L+(1-C<<A)+(C<<T);o(c[L],c[z],c[P],f)<0||(C?S=1:E=1)}if(S<0||E<0)E>S&&(_|=1<<M);else{for(var C=0;C<2;++C){var L=C<<M,z=L+(C<<A)+(1-C<<T),P=L+(1-C<<A)+(C<<T),O=d([l[L],l[z],l[P],l[L+(1<<A)+(1<<T)]]);C?S=O:E=O}E>S&&(_|=1<<M)}}}for(var I=7^_,D=-1,y=0;y<8;++y)y!==_&&y!==I&&(D<0?D=y:c[D][1]>c[y][1]&&(D=y));for(var R=-1,y=0;y<3;++y){var B=D^1<<y;if(B!==_&&B!==I){R<0&&(R=B);var T=c[B];T[0]<c[R][0]&&(R=B)}}for(var F=-1,y=0;y<3;++y){var B=D^1<<y;if(B!==_&&B!==I&&B!==R){F<0&&(F=B);var T=c[B];T[0]>c[F][0]&&(F=B)}}var N=g;N[0]=N[1]=N[2]=0,N[n.log2(R^D)]=D&R,N[n.log2(D^F)]=D&F;var j=7^F;j===_||j===I?(j=7^R,N[n.log2(F^j)]=j&F):N[n.log2(R^j)]=j&R;for(var V=m,U=_,M=0;M<3;++M)V[M]=U&1<<M?-1:1;return v};var n=t(\"bit-twiddle\"),i=t(\"gl-mat4/multiply\"),a=(t(\"gl-mat4/invert\"),t(\"split-polygon\")),o=t(\"robust-orientation\"),s=new Array(16),l=(new Array(16),new Array(8)),c=new Array(8),u=new Array(3),f=[0,0,0];function h(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+n]}}!function(){for(var t=0;t<8;++t)l[t]=[1,1,1,1],c[t]=[1,1,1]}();var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function d(t){for(var e=0;e<p.length;++e)if((t=a.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],o=0;for(e=1;e+1<t.length;++e){var s=t[e],l=t[e+1],c=s[0]/s[3]-n,u=s[1]/s[3]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;o+=Math.abs(c*h-u*f)}return o}var g=[1,1,1],m=[0,0,0],v={cubeEdges:g,axis:m}},{\"bit-twiddle\":79,\"gl-mat4/invert\":253,\"gl-mat4/multiply\":255,\"robust-orientation\":483,\"split-polygon\":500}],224:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var o=[],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[0,0,0];o.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var f=0;f<3;++f){for(var h=o.length/3|0,d=0;d<r[f].length;++d){var g=+r[f][d].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var m=o.length/3|0;s[f]=h,l[f]=m-h;for(var h=o.length/3|0,v=0;v<r[f].length;++v){var g=+r[f][v].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var m=o.length/3|0;c[f]=h,u[f]=m-h}var y=n(t,new Float32Array(o)),x=i(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=a(t);return b.attributes.position.location=0,new p(t,y,x,b,l,s,u,c)};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders\").line,o=[0,0,0],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[1,1];function f(t){return t[0]=t[1]=t[2]=0,t}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}var d=p.prototype;d.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,u[0]=this.gl.drawingBufferWidth,u[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=u,this.vao.bind()},d.unbind=function(){this.vao.unbind()},d.drawAxisLine=function(t,e,r,n,i){var a=f(s);this.shader.uniforms.majorAxis=s,a[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=a;var o,u=h(c,r);u[t]+=e[0][t],this.shader.uniforms.offset=u,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=f(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=f(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=f(o);a[t]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var s=f(l);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},d.drawGrid=function(t,e,r,n,i,a){if(this.gridCount[t]){var u=f(s);u[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=u;var p=h(c,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=f(o);d[t]=1,this.shader.uniforms.majorAxis=d;var g=f(l);g[t]=1,this.shader.uniforms.screenAxis=g,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,i,a){var o=f(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var u=h(c,n);u[t]+=r[0][t],this.shader.uniforms.offset=u;var p=f(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{\"./shaders\":225,\"gl-buffer\":229,\"gl-vao\":308}],225:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"#define GLSLIFY 1\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\\nuniform float lineWidth;\\nuniform vec2 screenShape;\\n\\nvec3 project(vec3 p) {\\n  vec4 pp = projection * view * model * vec4(p, 1.0);\\n  return pp.xyz / max(pp.w, 0.0001);\\n}\\n\\nvoid main() {\\n  vec3 major = position.x * majorAxis;\\n  vec3 minor = position.y * minorAxis;\\n\\n  vec3 vPosition = major + minor + offset;\\n  vec3 pPosition = project(vPosition);\\n  vec3 offset = project(vPosition + screenAxis * position.z);\\n\\n  vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\\n\\n  gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\\n}\\n\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\"]);r.line=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec3\"}])};var s=n([\"#define GLSLIFY 1\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 offset, axis;\\nuniform float scale, angle, pixelScale;\\nuniform vec2 resolution;\\n\\nvoid main() {  \\n  //Compute plane offset\\n  vec2 planeCoord = position.xy * pixelScale;\\n  mat2 planeXform = scale * mat2(cos(angle), sin(angle),\\n                                -sin(angle), cos(angle));\\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\\n\\n  //Compute world offset\\n  float axisDistance = position.z;\\n  vec3 dataPosition = axisDistance * axis + offset;\\n  vec4 worldPosition = model * vec4(dataPosition, 1);\\n  \\n  //Compute clip position\\n  vec4 viewPosition = view * worldPosition;\\n  vec4 clipPosition = projection * viewPosition;\\n  clipPosition /= clipPosition.w;\\n\\n  //Apply text offset in clip coordinates\\n  clipPosition += vec4(viewOffset, 0, 0);\\n\\n  //Done\\n  gl_Position = clipPosition;\\n}\"]),l=n([\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = color;\\n}\"]);r.text=function(t){return i(t,s,l,null,[{name:\"position\",type:\"vec3\"}])};var c=n([\"#define GLSLIFY 1\\nattribute vec3 position;\\nattribute vec3 normal;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 enable;\\nuniform vec3 bounds[2];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n  if(dot(normal, enable) > 0.0) {\\n    vec3 nPosition = mix(bounds[0], bounds[1], 0.5 * (position + 1.0));\\n    gl_Position = projection * view * model * vec4(nPosition, 1.0);\\n  } else {\\n    gl_Position = vec4(0,0,0,0);\\n  }\\n  colorChannel = abs(normal);\\n}\"]),u=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 colors[3];\\n\\nvarying vec3 colorChannel;\\n\\nvoid main() {\\n  gl_FragColor = colorChannel.x * colors[0] + \\n                 colorChannel.y * colors[1] +\\n                 colorChannel.z * colors[2];\\n}\"]);r.bg=function(t){return i(t,c,u,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},{\"gl-shader\":286,glslify:390}],226:[function(t,e,r){(function(r){\"use strict\";e.exports=function(t,e,r,a,s,l){var u=n(t),f=i(t,[{buffer:u,size:3}]),h=o(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,a,s,l),p};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"vectorize-text\"),o=t(\"./shaders\").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,f=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,i){this.gl;var o=[];function s(t,e,r,n){var i=l[r];i||(i=l[r]={});var s=i[e];s||(s=i[e]=function(t,e){try{return a(t,e)}catch(t){return console.warn(\"error vectorizing text:\",t),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:\"center\",textBaseline:\"middle\"}));for(var c=(n||12)/12,u=s.positions,f=s.cells,h=0,p=f.length;h<p;++h)for(var d=f[h],g=2;g>=0;--g){var m=u[d[g]];o.push(c*m[0],-c*m[1],t)}}for(var c=[0,0,0],u=[0,0,0],f=[0,0,0],h=[0,0,0],p=0;p<3;++p){f[p]=o.length/3|0,s(.5*(t[0][p]+t[1][p]),e[p],r),h[p]=(o.length/3|0)-f[p],c[p]=o.length/3|0;for(var d=0;d<n[p].length;++d)n[p][d].text&&s(n[p][d].x,n[p][d].text,n[p][d].font||i,n[p][d].fontSize||12);u[p]=(o.length/3|0)-c[p]}this.buffer.update(o),this.tickOffset=c,this.tickCount=u,this.labelOffset=f,this.labelCount=h};var h=[0,0,0];u.drawTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=h;a[0]=a[1]=a[2]=0,a[t]=1,this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}};var p=[0,0,0];u.drawLabel=function(t,e,r,n,i){this.labelCount[t]&&(this.shader.uniforms.axis=p,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},u.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,t(\"_process\"))},{\"./shaders\":225,_process:462,\"gl-buffer\":229,\"gl-vao\":308,\"vectorize-text\":524}],227:[function(t,e,r){\"use strict\";function n(t,e){var r=t+\"\",n=r.indexOf(\".\"),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+\"\";if(s.indexOf(\"e\")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=\"\"+l;if(o<0&&(u=\"-\"+u),i){for(var f=\"\"+c;f.length<i;)f=\"0\"+f;return u+\".\"+f}return u}r.create=function(t,e){for(var r=[],i=0;i<3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]<=t[1][i];++o)a.push({x:o*e[i],text:n(e[i],o)});for(var o=-1;o*e[i]>=t[0][i];--o)a.push({x:o*e[i],text:n(e[i],o)});r.push(a)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}},{}],228:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,l,f){var h=e.model||c,p=e.view||c,v=e.projection||c,y=t.bounds,x=(f=f||a(h,p,v,y)).axis;f.edges;o(u,p,h),o(u,v,u);for(var b=g,_=0;_<3;++_)b[_].lo=1/0,b[_].hi=-1/0,b[_].pixelsPerDataUnit=1/0;var w=n(s(u,u));s(u,u);for(var k=0;k<3;++k){var M=(k+1)%3,A=(k+2)%3,T=m;t:for(var _=0;_<2;++_){var S=[];if(x[k]<0!=!!_){T[k]=y[_][k];for(var E=0;E<2;++E){T[M]=y[E^_][M];for(var C=0;C<2;++C)T[A]=y[C^E^_][A],S.push(T.slice())}for(var E=0;E<w.length;++E){if(0===S.length)continue t;S=i.positive(S,w[E])}for(var E=0;E<S.length;++E)for(var A=S[E],L=d(m,u,A,r,l),C=0;C<3;++C)b[C].lo=Math.min(b[C].lo,A[C]),b[C].hi=Math.max(b[C].hi,A[C]),C!==k&&(b[C].pixelsPerDataUnit=Math.min(b[C].pixelsPerDataUnit,Math.abs(L[C])))}}}return b};var n=t(\"extract-frustum-planes\"),i=t(\"split-polygon\"),a=t(\"./lib/cube.js\"),o=t(\"gl-mat4/multiply\"),s=t(\"gl-mat4/transpose\"),l=t(\"gl-vec4/transformMat4\"),c=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=new Float32Array(16);function f(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var h=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=h,s=p,c=0;c<3;++c)s[c]=o[c]=r[c];s[3]=o[3]=1,s[a]+=1,l(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,l(o,o,e),o[3]<0&&(t[a]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(u*u+f*f)}return t}var g=[new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0)],m=[0,0,0]},{\"./lib/cube.js\":223,\"extract-frustum-planes\":212,\"gl-mat4/multiply\":255,\"gl-mat4/transpose\":263,\"gl-vec4/transformMat4\":379,\"split-polygon\":500}],229:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\"),i=t(\"ndarray-ops\"),a=t(\"ndarray\"),o=[\"uint8\",\"uint8_clamped\",\"uint16\",\"uint32\",\"int8\",\"int16\",\"int32\",\"float32\"];function s(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}var l=s.prototype;function c(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a<i;++a)r[a]=t[a];return r}l.bind=function(){this.gl.bindBuffer(this.type,this.handle)},l.unbind=function(){this.gl.bindBuffer(this.type,null)},l.dispose=function(){this.gl.deleteBuffer(this.handle)},l.update=function(t,e){if(\"number\"!=typeof e&&(e=-1),this.bind(),\"object\"==typeof t&&\"undefined\"!=typeof t.shape){var r=t.dtype;if(o.indexOf(r)<0&&(r=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER)r=gl.getExtension(\"OES_element_index_uint\")&&\"uint16\"!==r?\"uint32\":\"uint16\";if(r===t.dtype&&function(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,\"uint16\"):u(t,\"float32\"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if(\"object\"==typeof t&&\"number\"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if(\"number\"!=typeof t&&void 0!==t)throw new Error(\"gl-buffer: Invalid data type\");if(e>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error(\"gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER\");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error(\"gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW\");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},{ndarray:430,\"ndarray-ops\":424,\"typedarray-pool\":519}],230:[function(t,e,r){\"use strict\";var n=t(\"gl-vec3\"),i=(t(\"gl-vec4\"),function(t,e){for(var r=0;r<t.length;r++)if(t[r]>=e)return r-1;return r}),a=n.create(),o=n.create(),s=function(t,e,r){return t<e?e:t>r?r:t},l=function(t,e,r,l){var c=t[0],u=t[1],f=t[2],h=r[0].length,p=r[1].length,d=r[2].length,g=i(r[0],c),m=i(r[1],u),v=i(r[2],f),y=g+1,x=m+1,b=v+1;if(l&&(g=s(g,0,h-1),y=s(y,0,h-1),m=s(m,0,p-1),x=s(x,0,p-1),v=s(v,0,d-1),b=s(b,0,d-1)),g<0||m<0||v<0||y>=h||x>=p||b>=d)return n.create();var _=(c-r[0][g])/(r[0][y]-r[0][g]),w=(u-r[1][m])/(r[1][x]-r[1][m]),k=(f-r[2][v])/(r[2][b]-r[2][v]);(_<0||_>1||isNaN(_))&&(_=0),(w<0||w>1||isNaN(w))&&(w=0),(k<0||k>1||isNaN(k))&&(k=0);var M=v*h*p,A=b*h*p,T=m*h,S=x*h,E=g,C=y,L=e[T+M+E],z=e[T+M+C],P=e[S+M+E],O=e[S+M+C],I=e[T+A+E],D=e[T+A+C],R=e[S+A+E],B=e[S+A+C],F=n.create();return n.lerp(F,L,z,_),n.lerp(a,P,O,_),n.lerp(F,F,a,w),n.lerp(a,I,D,_),n.lerp(o,R,B,_),n.lerp(a,a,o,w),n.lerp(F,F,a,k),F};e.exports=function(t,e){var r;r=t.positions?t.positions:function(t){for(var e=t[0],r=t[1],n=t[2],i=[],a=0;a<n.length;a++)for(var o=0;o<r.length;o++)for(var s=0;s<e.length;s++)i.push([n[a],r[o],e[s]]);return i}(t.meshgrid);var i=t.meshgrid,a=t.vectors,o={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vertexNormals:[],vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),o;for(var s=0,c=1/0,u=-1/0,f=1/0,h=-1/0,p=1/0,d=-1/0,g=null,m=null,v=[],y=1/0,x=0;x<r.length;x++){var b,_=r[x];c=Math.min(_[0],c),u=Math.max(_[0],u),f=Math.min(_[1],f),h=Math.max(_[1],h),p=Math.min(_[2],p),d=Math.max(_[2],d),b=i?l(_,a,i,!0):a[x],n.length(b)>s&&(s=n.length(b)),x&&(y=Math.min(y,2*n.distance(g,_)/(n.length(m)+n.length(b)))),g=_,m=b,v.push(b)}var w=[c,f,p],k=[u,h,d];e&&(e[0]=w,e[1]=k),0===s&&(s=1);var M=1/s;isFinite(y)&&!isNaN(y)||(y=1),o.vectorScale=y;var A=function(t,e,r){var i=n.create();return void 0!==t&&n.set(i,t,e,r),i}(0,1,0),T=t.coneSize||.5;t.absoluteConeSize&&(T=t.absoluteConeSize*M),o.coneScale=T;x=0;for(var S=0;x<r.length;x++)for(var E=(_=r[x])[0],C=_[1],L=_[2],z=v[x],P=n.length(z)*M,O=0;O<8;O++){o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.positions.push([E,C,L,S++]),o.vectors.push(z),o.vectors.push(z),o.vectors.push(z),o.vectors.push(z),o.vectors.push(z),o.vectors.push(z),o.vertexIntensity.push(P,P,P),o.vertexIntensity.push(P,P,P),o.vertexNormals.push(A,A,A),o.vertexNormals.push(A,A,A);var I=o.positions.length;o.cells.push([I-6,I-5,I-4],[I-3,I-2,I-1])}return o},e.exports.createConeMesh=t(\"./lib/conemesh\")},{\"./lib/conemesh\":232,\"gl-vec3\":327,\"gl-vec4\":363}],231:[function(t,e,r){\"use strict\";var n=t(\"barycentric\"),i=t(\"polytope-closest-point/lib/closest_point_2d.js\");function a(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function o(t,e,r,n,i){for(var o=a(n,a(r,a(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*i[0]*(1+o[0]),.5*i[1]*(1-o[1])]}e.exports=function(t,e,r,a,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u<t.length;++u)c[u]=o(t[u],r,a,s,l);for(var f=0,h=1/0,u=0;u<c.length;++u){for(var p=0,d=0;d<2;++d)p+=Math.pow(c[u][d]-e[d],2);p<h&&(h=p,f=u)}for(var g=function(t,e){if(2===t.length){for(var r=0,a=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),a+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),a=Math.sqrt(a),r+a<1e-6?[1,0]:[a/(r+a),r/(a+r)]}if(3===t.length){var s=[0,0];return i(t[0],t[1],t[2],e,s),n(t,s)}return[]}(c,e),m=0,u=0;u<3;++u){if(g[u]<-.001||g[u]>1.0001)return null;m+=g[u]}if(Math.abs(m-1)>.001)return null;return[f,function(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}(t,g),g]}},{barycentric:60,\"polytope-closest-point/lib/closest_point_2d.js\":461}],232:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"normals\"),l=t(\"gl-mat4/multiply\"),c=t(\"gl-mat4/invert\"),u=t(\"ndarray\"),f=t(\"colormap\"),h=t(\"simplicial-complex-contour\"),p=t(\"typedarray-pool\"),d=t(\"./shaders\"),g=(t(\"./closest-point\"),d.meshShader),m=d.pickShader,v=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function y(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,y,x,b,_,w,k,M,A,T,S,E){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleVectors=c,this.triangleColors=f,this.triangleNormals=p,this.triangleUVs=h,this.triangleIds=u,this.triangleVAO=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=g,this.edgeColors=y,this.edgeUVs=x,this.edgeIds=m,this.edgeVAO=b,this.edgeCount=0,this.pointPositions=_,this.pointColors=k,this.pointUVs=M,this.pointSizes=A,this.pointIds=w,this.pointVAO=T,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=S,this.contourVAO=E,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=v,this._view=v,this._projection=v,this._resolution=[1,1]}var x=y.prototype;function b(t){var e=n(t,m.vertex,m.fragment,null,m.attributes);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.vector.location=5,e}x.isOpaque=function(){return this.opacity>=1},x.isTransparent=function(){return this.opacity<1},x.pickSlots=1,x.setPickBase=function(t){this.pickId=t},x.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],g=n[f][1],m=i[f],v=1-m,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=m*y[b]+v*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},x.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"contourEnable\"in t&&(this.contourEnable=t.contourEnable),\"contourColor\"in t&&(this.contourColor=t.contourColor),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),\"opacity\"in t&&(this.opacity=t.opacity),\"ambient\"in t&&(this.ambientLight=t.ambient),\"diffuse\"in t&&(this.diffuseLight=t.diffuse),\"specular\"in t&&(this.specularLight=t.specular),\"roughness\"in t&&(this.roughness=t.roughness),\"fresnel\"in t&&(this.fresnel=t.fresnel),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=f({colormap:t,nshades:256,format:\"rgba\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],l=[],c=[],h=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[],w=[],k=[];this.cells=r,this.positions=n;var M=t.vertexNormals,A=t.cellNormals,T=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,S=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!A&&(A=s.faceNormals(r,n,S)),A||M||(M=s.vertexNormals(r,n,T));var E=t.vertexColors,C=t.cellColors,L=t.meshColor||[1,1,1,1],z=t.vertexUVs,P=t.vertexIntensity,O=t.cellUVs,I=t.cellIntensity,D=1/0,R=-1/0;if(!z&&!O)if(P)if(t.vertexIntensityBounds)D=+t.vertexIntensityBounds[0],R=+t.vertexIntensityBounds[1];else for(var B=0;B<P.length;++B){var F=P[B];D=Math.min(D,F),R=Math.max(R,F)}else if(I)for(B=0;B<I.length;++B){F=I[B];D=Math.min(D,F),R=Math.max(R,F)}else for(B=0;B<n.length;++B){F=n[B][2];D=Math.min(D,F),R=Math.max(R,F)}this.intensity=P||(I?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,I):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var N=t.pointSizes,j=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(B=0;B<n.length;++B)for(var V=n[B],U=0;U<3;++U)!isNaN(V[U])&&isFinite(V[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],V[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],V[U]));var q=0,H=0,G=0;t:for(B=0;B<r.length;++B){var W=r[B];switch(W.length){case 1:for(V=n[X=W[0]],U=0;U<3;++U)if(isNaN(V[U])||!isFinite(V[U]))continue t;x.push(V[0],V[1],V[2],V[3]),3===(Z=E?E[X]:C?C[B]:L).length?b.push(Z[0],Z[1],Z[2],1):b.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],_.push($[0],$[1]),N?w.push(N[X]):w.push(j),k.push(B),G+=1;break;case 2:for(U=0;U<2;++U){V=n[X=W[U]];for(var Y=0;Y<3;++Y)if(isNaN(V[Y])||!isFinite(V[Y]))continue t}for(U=0;U<2;++U){V=n[X=W[U]];g.push(V[0],V[1],V[2]),3===(Z=E?E[X]:C?C[B]:L).length?m.push(Z[0],Z[1],Z[2],1):m.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],v.push($[0],$[1]),y.push(B)}H+=1;break;case 3:for(U=0;U<3;++U)for(V=n[X=W[U]],Y=0;Y<3;++Y)if(isNaN(V[Y])||!isFinite(V[Y]))continue t;for(U=0;U<3;++U){var X;V=n[X=W[U]];a.push(V[0],V[1],V[2],V[3]);var Z,$,J,K=i[X];l.push(K[0],K[1],K[2]),3===(Z=E?E[X]:C?C[B]:L).length?c.push(Z[0],Z[1],Z[2],1):c.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],p.push($[0],$[1]),J=M?M[X]:A[B],h.push(J[0],J[1],J[2]),d.push(B)}q+=1}}this.pointCount=G,this.edgeCount=H,this.triangleCount=q,this.pointPositions.update(x),this.pointColors.update(b),this.pointUVs.update(_),this.pointSizes.update(w),this.pointIds.update(new Uint32Array(k)),this.edgePositions.update(g),this.edgeColors.update(m),this.edgeUVs.update(v),this.edgeIds.update(new Uint32Array(y)),this.trianglePositions.update(a),this.triangleVectors.update(l),this.triangleColors.update(c),this.triangleUVs.update(p),this.triangleNormals.update(h),this.triangleIds.update(new Uint32Array(d))}},x.drawTransparent=x.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||v,n=t.view||v,i=t.projection||v,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,contourColor:this.contourColor,texture:0};this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var f,h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},x.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||v,n=t.view||v,i=t.projection||v,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},x.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3);return{index:Math.floor(r[1]/48),position:n,dataCoordinate:n}},x.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose()},e.exports=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=e.triShader||function(t){var e=n(t,g.vertex,g.fragment,null,g.attributes);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.vector.location=5,e}(t),s=b(t),l=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));l.generateMipmap(),l.minFilter=t.LINEAR_MIPMAP_LINEAR,l.magFilter=t.LINEAR;var c=i(t),f=i(t),h=i(t),p=i(t),d=i(t),m=i(t),v=a(t,[{buffer:c,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:h,type:t.FLOAT,size:4},{buffer:p,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:3},{buffer:f,type:t.FLOAT,size:3}]),x=i(t),_=i(t),w=i(t),k=i(t),M=a(t,[{buffer:x,type:t.FLOAT,size:3},{buffer:k,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2}]),A=i(t),T=i(t),S=i(t),E=i(t),C=i(t),L=a(t,[{buffer:A,type:t.FLOAT,size:3},{buffer:C,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:T,type:t.FLOAT,size:4},{buffer:S,type:t.FLOAT,size:2},{buffer:E,type:t.FLOAT,size:1}]),z=i(t),P=new y(t,l,r,null,null,s,null,null,c,f,m,h,p,d,v,x,k,_,w,M,A,C,T,S,E,L,z,a(t,[{buffer:z,type:t.FLOAT,size:3}]));return P.update(e),P}},{\"./closest-point\":231,\"./shaders\":233,colormap:113,\"gl-buffer\":229,\"gl-mat4/invert\":253,\"gl-mat4/multiply\":255,\"gl-shader\":286,\"gl-texture2d\":303,\"gl-vao\":308,ndarray:430,normals:433,\"simplicial-complex-contour\":491,\"typedarray-pool\":519}],233:[function(t,e,r){var n=t(\"glslify\"),i=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat inverse(float m) {\\n  return 1.0 / m;\\n}\\n\\nmat2 inverse(mat2 m) {\\n  return mat2(m[1][1],-m[0][1],\\n             -m[1][0], m[0][0]) / (m[0][0]*m[1][1] - m[0][1]*m[1][0]);\\n}\\n\\nmat3 inverse(mat3 m) {\\n  float a00 = m[0][0], a01 = m[0][1], a02 = m[0][2];\\n  float a10 = m[1][0], a11 = m[1][1], a12 = m[1][2];\\n  float a20 = m[2][0], a21 = m[2][1], a22 = m[2][2];\\n\\n  float b01 = a22 * a11 - a12 * a21;\\n  float b11 = -a22 * a10 + a12 * a20;\\n  float b21 = a21 * a10 - a11 * a20;\\n\\n  float det = a00 * b01 + a01 * b11 + a02 * b21;\\n\\n  return mat3(b01, (-a22 * a01 + a02 * a21), (a12 * a01 - a02 * a11),\\n              b11, (a22 * a00 - a02 * a20), (-a12 * a00 + a02 * a10),\\n              b21, (-a21 * a00 + a01 * a20), (a11 * a00 - a01 * a10)) / det;\\n}\\n\\nmat4 inverse(mat4 m) {\\n  float\\n      a00 = m[0][0], a01 = m[0][1], a02 = m[0][2], a03 = m[0][3],\\n      a10 = m[1][0], a11 = m[1][1], a12 = m[1][2], a13 = m[1][3],\\n      a20 = m[2][0], a21 = m[2][1], a22 = m[2][2], a23 = m[2][3],\\n      a30 = m[3][0], a31 = m[3][1], a32 = m[3][2], a33 = m[3][3],\\n\\n      b00 = a00 * a11 - a01 * a10,\\n      b01 = a00 * a12 - a02 * a10,\\n      b02 = a00 * a13 - a03 * a10,\\n      b03 = a01 * a12 - a02 * a11,\\n      b04 = a01 * a13 - a03 * a11,\\n      b05 = a02 * a13 - a03 * a12,\\n      b06 = a20 * a31 - a21 * a30,\\n      b07 = a20 * a32 - a22 * a30,\\n      b08 = a20 * a33 - a23 * a30,\\n      b09 = a21 * a32 - a22 * a31,\\n      b10 = a21 * a33 - a23 * a31,\\n      b11 = a22 * a33 - a23 * a32,\\n\\n      det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\\n\\n  return mat4(\\n      a11 * b11 - a12 * b10 + a13 * b09,\\n      a02 * b10 - a01 * b11 - a03 * b09,\\n      a31 * b05 - a32 * b04 + a33 * b03,\\n      a22 * b04 - a21 * b05 - a23 * b03,\\n      a12 * b08 - a10 * b11 - a13 * b07,\\n      a00 * b11 - a02 * b08 + a03 * b07,\\n      a32 * b02 - a30 * b05 - a33 * b01,\\n      a20 * b05 - a22 * b02 + a23 * b01,\\n      a10 * b10 - a11 * b08 + a13 * b06,\\n      a01 * b08 - a00 * b10 - a03 * b06,\\n      a30 * b04 - a31 * b02 + a33 * b00,\\n      a21 * b02 - a20 * b04 - a23 * b00,\\n      a11 * b07 - a10 * b09 - a12 * b06,\\n      a00 * b09 - a01 * b07 + a02 * b06,\\n      a31 * b01 - a30 * b03 - a32 * b00,\\n      a20 * b03 - a21 * b01 + a22 * b00) / det;\\n}\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n//   segment + 0 top vertex\\n//   segment + 1 perimeter vertex a+1\\n//   segment + 2 perimeter vertex a\\n//   segment + 3 center base vertex\\n//   segment + 4 perimeter vertex a\\n//   segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float index, float coneOffset, out vec3 normal) {\\n\\n  const float segmentCount = 8.0;\\n\\n  index = mod(index, segmentCount * 6.0);\\n\\n  float segment = floor(index/6.0);\\n  float segmentIndex = index - (segment*6.0);\\n\\n  normal = -normalize(d);\\n\\n  if (segmentIndex == 3.0) {\\n    return mix(vec3(0.0), -d, coneOffset);\\n  }\\n\\n  // angle = 2pi * ((segment + ((segmentIndex == 1.0 || segmentIndex == 5.0) ? 1.0 : 0.0)) / segmentCount)\\n  float nextAngle = float(segmentIndex == 1.0 || segmentIndex == 5.0);\\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n  vec3 v2 = v1 - d;\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d)*0.25;\\n  vec3 y = v * sin(angle) * length(d)*0.25;\\n  vec3 v3 = v2 + x + y;\\n  if (segmentIndex <= 2.0) {\\n    vec3 tx = u * sin(angle);\\n    vec3 ty = v * -cos(angle);\\n    vec3 tangent = tx + ty;\\n    normal = normalize(cross(v3 - v1, tangent));\\n  }\\n\\n  if (segmentIndex == 0.0) {\\n    return mix(d, vec3(0.0), coneOffset);\\n  }\\n  return v3;\\n}\\n\\nattribute vec3 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\nuniform float vectorScale;\\nuniform float coneScale;\\n\\nuniform float coneOffset;\\n\\nuniform mat4 model\\n           , view\\n           , projection;\\nuniform vec3 eyePosition\\n           , lightPosition;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  // Scale the vector magnitude to stay constant with\\n  // model & view changes.\\n  vec3 normal;\\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal), 0.0);\\n  normal = normalize(normal * inverse(mat3(model)));\\n\\n  // vec4 m_position  = model * vec4(conePosition, 1.0);\\n  vec4 t_position  = view * conePosition;\\n  gl_Position      = projection * t_position;\\n  f_color          = color; //vec4(position.w, color.r, 0, 0);\\n  f_normal         = normal;\\n  f_data           = conePosition.xyz;\\n  f_eyeDirection   = eyePosition   - conePosition.xyz;\\n  f_lightDirection = lightPosition - conePosition.xyz;\\n  f_uv             = uv;\\n}\\n\"]),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n            , fresnel\\n            , kambient\\n            , kdiffuse\\n            , kspecular\\n            , opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  //if(any(lessThan(f_data, clipBounds[0])) || \\n  //   any(greaterThan(f_data, clipBounds[1]))) {\\n  //  discard;\\n  //}\\n\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n  \\n  if(!gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = cookTorranceSpecular(L, V, N, roughness, fresnel);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor =  texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * opacity;\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the cone vertex and normal at the given index.\\n//\\n// The returned vertex is for a cone with its top at origin and height of 1.0,\\n// pointing in the direction of the vector attribute.\\n//\\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\\n// These vertices are used to make up the triangles of the cone by the following:\\n//   segment + 0 top vertex\\n//   segment + 1 perimeter vertex a+1\\n//   segment + 2 perimeter vertex a\\n//   segment + 3 center base vertex\\n//   segment + 4 perimeter vertex a\\n//   segment + 5 perimeter vertex a+1\\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\\n// To go from index to segment, floor(index / 6)\\n// To go from segment to angle, 2*pi * (segment/segmentCount)\\n// To go from index to segment index, index - (segment*6)\\n//\\nvec3 getConePosition(vec3 d, float index, float coneOffset, out vec3 normal) {\\n\\n  const float segmentCount = 8.0;\\n\\n  index = mod(index, segmentCount * 6.0);\\n\\n  float segment = floor(index/6.0);\\n  float segmentIndex = index - (segment*6.0);\\n\\n  normal = -normalize(d);\\n\\n  if (segmentIndex == 3.0) {\\n    return mix(vec3(0.0), -d, coneOffset);\\n  }\\n\\n  // angle = 2pi * ((segment + ((segmentIndex == 1.0 || segmentIndex == 5.0) ? 1.0 : 0.0)) / segmentCount)\\n  float nextAngle = float(segmentIndex == 1.0 || segmentIndex == 5.0);\\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\\n\\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\\n  vec3 v2 = v1 - d;\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d)*0.25;\\n  vec3 y = v * sin(angle) * length(d)*0.25;\\n  vec3 v3 = v2 + x + y;\\n  if (segmentIndex <= 2.0) {\\n    vec3 tx = u * sin(angle);\\n    vec3 ty = v * -cos(angle);\\n    vec3 tangent = tx + ty;\\n    normal = normalize(cross(v3 - v1, tangent));\\n  }\\n\\n  if (segmentIndex == 0.0) {\\n    return mix(d, vec3(0.0), coneOffset);\\n  }\\n  return v3;\\n}\\n\\nattribute vec3 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nuniform float vectorScale;\\nuniform float coneScale;\\nuniform float coneOffset;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  vec3 normal;\\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal), 0.0);\\n  gl_Position = projection * view * conePosition;\\n  f_id        = id;\\n  f_position  = position.xyz;\\n}\\n\"]),s=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if(any(lessThan(f_position, clipBounds[0])) || \\n     any(greaterThan(f_position, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},{glslify:390}],234:[function(t,e,r){e.exports={0:\"NONE\",1:\"ONE\",2:\"LINE_LOOP\",3:\"LINE_STRIP\",4:\"TRIANGLES\",5:\"TRIANGLE_STRIP\",6:\"TRIANGLE_FAN\",256:\"DEPTH_BUFFER_BIT\",512:\"NEVER\",513:\"LESS\",514:\"EQUAL\",515:\"LEQUAL\",516:\"GREATER\",517:\"NOTEQUAL\",518:\"GEQUAL\",519:\"ALWAYS\",768:\"SRC_COLOR\",769:\"ONE_MINUS_SRC_COLOR\",770:\"SRC_ALPHA\",771:\"ONE_MINUS_SRC_ALPHA\",772:\"DST_ALPHA\",773:\"ONE_MINUS_DST_ALPHA\",774:\"DST_COLOR\",775:\"ONE_MINUS_DST_COLOR\",776:\"SRC_ALPHA_SATURATE\",1024:\"STENCIL_BUFFER_BIT\",1028:\"FRONT\",1029:\"BACK\",1032:\"FRONT_AND_BACK\",1280:\"INVALID_ENUM\",1281:\"INVALID_VALUE\",1282:\"INVALID_OPERATION\",1285:\"OUT_OF_MEMORY\",1286:\"INVALID_FRAMEBUFFER_OPERATION\",2304:\"CW\",2305:\"CCW\",2849:\"LINE_WIDTH\",2884:\"CULL_FACE\",2885:\"CULL_FACE_MODE\",2886:\"FRONT_FACE\",2928:\"DEPTH_RANGE\",2929:\"DEPTH_TEST\",2930:\"DEPTH_WRITEMASK\",2931:\"DEPTH_CLEAR_VALUE\",2932:\"DEPTH_FUNC\",2960:\"STENCIL_TEST\",2961:\"STENCIL_CLEAR_VALUE\",2962:\"STENCIL_FUNC\",2963:\"STENCIL_VALUE_MASK\",2964:\"STENCIL_FAIL\",2965:\"STENCIL_PASS_DEPTH_FAIL\",2966:\"STENCIL_PASS_DEPTH_PASS\",2967:\"STENCIL_REF\",2968:\"STENCIL_WRITEMASK\",2978:\"VIEWPORT\",3024:\"DITHER\",3042:\"BLEND\",3088:\"SCISSOR_BOX\",3089:\"SCISSOR_TEST\",3106:\"COLOR_CLEAR_VALUE\",3107:\"COLOR_WRITEMASK\",3317:\"UNPACK_ALIGNMENT\",3333:\"PACK_ALIGNMENT\",3379:\"MAX_TEXTURE_SIZE\",3386:\"MAX_VIEWPORT_DIMS\",3408:\"SUBPIXEL_BITS\",3410:\"RED_BITS\",3411:\"GREEN_BITS\",3412:\"BLUE_BITS\",3413:\"ALPHA_BITS\",3414:\"DEPTH_BITS\",3415:\"STENCIL_BITS\",3553:\"TEXTURE_2D\",4352:\"DONT_CARE\",4353:\"FASTEST\",4354:\"NICEST\",5120:\"BYTE\",5121:\"UNSIGNED_BYTE\",5122:\"SHORT\",5123:\"UNSIGNED_SHORT\",5124:\"INT\",5125:\"UNSIGNED_INT\",5126:\"FLOAT\",5386:\"INVERT\",5890:\"TEXTURE\",6401:\"STENCIL_INDEX\",6402:\"DEPTH_COMPONENT\",6406:\"ALPHA\",6407:\"RGB\",6408:\"RGBA\",6409:\"LUMINANCE\",6410:\"LUMINANCE_ALPHA\",7680:\"KEEP\",7681:\"REPLACE\",7682:\"INCR\",7683:\"DECR\",7936:\"VENDOR\",7937:\"RENDERER\",7938:\"VERSION\",9728:\"NEAREST\",9729:\"LINEAR\",9984:\"NEAREST_MIPMAP_NEAREST\",9985:\"LINEAR_MIPMAP_NEAREST\",9986:\"NEAREST_MIPMAP_LINEAR\",9987:\"LINEAR_MIPMAP_LINEAR\",10240:\"TEXTURE_MAG_FILTER\",10241:\"TEXTURE_MIN_FILTER\",10242:\"TEXTURE_WRAP_S\",10243:\"TEXTURE_WRAP_T\",10497:\"REPEAT\",10752:\"POLYGON_OFFSET_UNITS\",16384:\"COLOR_BUFFER_BIT\",32769:\"CONSTANT_COLOR\",32770:\"ONE_MINUS_CONSTANT_COLOR\",32771:\"CONSTANT_ALPHA\",32772:\"ONE_MINUS_CONSTANT_ALPHA\",32773:\"BLEND_COLOR\",32774:\"FUNC_ADD\",32777:\"BLEND_EQUATION_RGB\",32778:\"FUNC_SUBTRACT\",32779:\"FUNC_REVERSE_SUBTRACT\",32819:\"UNSIGNED_SHORT_4_4_4_4\",32820:\"UNSIGNED_SHORT_5_5_5_1\",32823:\"POLYGON_OFFSET_FILL\",32824:\"POLYGON_OFFSET_FACTOR\",32854:\"RGBA4\",32855:\"RGB5_A1\",32873:\"TEXTURE_BINDING_2D\",32926:\"SAMPLE_ALPHA_TO_COVERAGE\",32928:\"SAMPLE_COVERAGE\",32936:\"SAMPLE_BUFFERS\",32937:\"SAMPLES\",32938:\"SAMPLE_COVERAGE_VALUE\",32939:\"SAMPLE_COVERAGE_INVERT\",32968:\"BLEND_DST_RGB\",32969:\"BLEND_SRC_RGB\",32970:\"BLEND_DST_ALPHA\",32971:\"BLEND_SRC_ALPHA\",33071:\"CLAMP_TO_EDGE\",33170:\"GENERATE_MIPMAP_HINT\",33189:\"DEPTH_COMPONENT16\",33306:\"DEPTH_STENCIL_ATTACHMENT\",33635:\"UNSIGNED_SHORT_5_6_5\",33648:\"MIRRORED_REPEAT\",33901:\"ALIASED_POINT_SIZE_RANGE\",33902:\"ALIASED_LINE_WIDTH_RANGE\",33984:\"TEXTURE0\",33985:\"TEXTURE1\",33986:\"TEXTURE2\",33987:\"TEXTURE3\",33988:\"TEXTURE4\",33989:\"TEXTURE5\",33990:\"TEXTURE6\",33991:\"TEXTURE7\",33992:\"TEXTURE8\",33993:\"TEXTURE9\",33994:\"TEXTURE10\",33995:\"TEXTURE11\",33996:\"TEXTURE12\",33997:\"TEXTURE13\",33998:\"TEXTURE14\",33999:\"TEXTURE15\",34000:\"TEXTURE16\",34001:\"TEXTURE17\",34002:\"TEXTURE18\",34003:\"TEXTURE19\",34004:\"TEXTURE20\",34005:\"TEXTURE21\",34006:\"TEXTURE22\",34007:\"TEXTURE23\",34008:\"TEXTURE24\",34009:\"TEXTURE25\",34010:\"TEXTURE26\",34011:\"TEXTURE27\",34012:\"TEXTURE28\",34013:\"TEXTURE29\",34014:\"TEXTURE30\",34015:\"TEXTURE31\",34016:\"ACTIVE_TEXTURE\",34024:\"MAX_RENDERBUFFER_SIZE\",34041:\"DEPTH_STENCIL\",34055:\"INCR_WRAP\",34056:\"DECR_WRAP\",34067:\"TEXTURE_CUBE_MAP\",34068:\"TEXTURE_BINDING_CUBE_MAP\",34069:\"TEXTURE_CUBE_MAP_POSITIVE_X\",34070:\"TEXTURE_CUBE_MAP_NEGATIVE_X\",34071:\"TEXTURE_CUBE_MAP_POSITIVE_Y\",34072:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",34073:\"TEXTURE_CUBE_MAP_POSITIVE_Z\",34074:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",34076:\"MAX_CUBE_MAP_TEXTURE_SIZE\",34338:\"VERTEX_ATTRIB_ARRAY_ENABLED\",34339:\"VERTEX_ATTRIB_ARRAY_SIZE\",34340:\"VERTEX_ATTRIB_ARRAY_STRIDE\",34341:\"VERTEX_ATTRIB_ARRAY_TYPE\",34342:\"CURRENT_VERTEX_ATTRIB\",34373:\"VERTEX_ATTRIB_ARRAY_POINTER\",34466:\"NUM_COMPRESSED_TEXTURE_FORMATS\",34467:\"COMPRESSED_TEXTURE_FORMATS\",34660:\"BUFFER_SIZE\",34661:\"BUFFER_USAGE\",34816:\"STENCIL_BACK_FUNC\",34817:\"STENCIL_BACK_FAIL\",34818:\"STENCIL_BACK_PASS_DEPTH_FAIL\",34819:\"STENCIL_BACK_PASS_DEPTH_PASS\",34877:\"BLEND_EQUATION_ALPHA\",34921:\"MAX_VERTEX_ATTRIBS\",34922:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",34930:\"MAX_TEXTURE_IMAGE_UNITS\",34962:\"ARRAY_BUFFER\",34963:\"ELEMENT_ARRAY_BUFFER\",34964:\"ARRAY_BUFFER_BINDING\",34965:\"ELEMENT_ARRAY_BUFFER_BINDING\",34975:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",35040:\"STREAM_DRAW\",35044:\"STATIC_DRAW\",35048:\"DYNAMIC_DRAW\",35632:\"FRAGMENT_SHADER\",35633:\"VERTEX_SHADER\",35660:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",35661:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",35663:\"SHADER_TYPE\",35664:\"FLOAT_VEC2\",35665:\"FLOAT_VEC3\",35666:\"FLOAT_VEC4\",35667:\"INT_VEC2\",35668:\"INT_VEC3\",35669:\"INT_VEC4\",35670:\"BOOL\",35671:\"BOOL_VEC2\",35672:\"BOOL_VEC3\",35673:\"BOOL_VEC4\",35674:\"FLOAT_MAT2\",35675:\"FLOAT_MAT3\",35676:\"FLOAT_MAT4\",35678:\"SAMPLER_2D\",35680:\"SAMPLER_CUBE\",35712:\"DELETE_STATUS\",35713:\"COMPILE_STATUS\",35714:\"LINK_STATUS\",35715:\"VALIDATE_STATUS\",35716:\"INFO_LOG_LENGTH\",35717:\"ATTACHED_SHADERS\",35718:\"ACTIVE_UNIFORMS\",35719:\"ACTIVE_UNIFORM_MAX_LENGTH\",35720:\"SHADER_SOURCE_LENGTH\",35721:\"ACTIVE_ATTRIBUTES\",35722:\"ACTIVE_ATTRIBUTE_MAX_LENGTH\",35724:\"SHADING_LANGUAGE_VERSION\",35725:\"CURRENT_PROGRAM\",36003:\"STENCIL_BACK_REF\",36004:\"STENCIL_BACK_VALUE_MASK\",36005:\"STENCIL_BACK_WRITEMASK\",36006:\"FRAMEBUFFER_BINDING\",36007:\"RENDERBUFFER_BINDING\",36048:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",36049:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",36050:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",36051:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",36053:\"FRAMEBUFFER_COMPLETE\",36054:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",36055:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",36057:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",36061:\"FRAMEBUFFER_UNSUPPORTED\",36064:\"COLOR_ATTACHMENT0\",36096:\"DEPTH_ATTACHMENT\",36128:\"STENCIL_ATTACHMENT\",36160:\"FRAMEBUFFER\",36161:\"RENDERBUFFER\",36162:\"RENDERBUFFER_WIDTH\",36163:\"RENDERBUFFER_HEIGHT\",36164:\"RENDERBUFFER_INTERNAL_FORMAT\",36168:\"STENCIL_INDEX8\",36176:\"RENDERBUFFER_RED_SIZE\",36177:\"RENDERBUFFER_GREEN_SIZE\",36178:\"RENDERBUFFER_BLUE_SIZE\",36179:\"RENDERBUFFER_ALPHA_SIZE\",36180:\"RENDERBUFFER_DEPTH_SIZE\",36181:\"RENDERBUFFER_STENCIL_SIZE\",36194:\"RGB565\",36336:\"LOW_FLOAT\",36337:\"MEDIUM_FLOAT\",36338:\"HIGH_FLOAT\",36339:\"LOW_INT\",36340:\"MEDIUM_INT\",36341:\"HIGH_INT\",36346:\"SHADER_COMPILER\",36347:\"MAX_VERTEX_UNIFORM_VECTORS\",36348:\"MAX_VARYING_VECTORS\",36349:\"MAX_FRAGMENT_UNIFORM_VECTORS\",37440:\"UNPACK_FLIP_Y_WEBGL\",37441:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",37442:\"CONTEXT_LOST_WEBGL\",37443:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",37444:\"BROWSER_DEFAULT_WEBGL\"}},{}],235:[function(t,e,r){var n=t(\"./1.0/numbers\");e.exports=function(t){return n[t]}},{\"./1.0/numbers\":234}],236:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders/index\"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return this.opacity>=1},l.isTransparent=function(){return this.opacity<1},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]),r.capSize=this.capSize[f]*u,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=u[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}l.update=function(t){\"lineWidth\"in(t=t||{})&&(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),\"capSize\"in t&&(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),\"opacity\"in t&&(this.opacity=t.opacity);var e=t.color||[[0,0,0],[0,0,0],[0,0,0]],r=t.position,n=t.error;if(Array.isArray(e[0])||(e=[e,e,e]),r&&n){var i=[],a=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;t:for(var l=0;l<a;++l){for(var u=r[l],h=0;h<3;++h)if(isNaN(u[h])||!isFinite(u[h]))continue t;var p=n[l],d=e[s];if(Array.isArray(d[0])&&(d=e[l]),3===d.length&&(d=[d[0],d[1],d[2],1]),!isNaN(p[0][s])&&!isNaN(p[1][s])){var g;if(p[0][s]<0)(g=u.slice())[s]+=p[0][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+f(i,g,d,s);if(p[1][s]>0)(g=u.slice())[s]+=p[1][s],i.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+f(i,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{\"./shaders/index\":237,\"gl-buffer\":229,\"gl-vao\":308}],237:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, offset;\\nattribute vec4 color;\\nuniform mat4 model, view, projection;\\nuniform float capSize;\\nvarying vec4 fragColor;\\nvarying vec3 fragPosition;\\n\\nvoid main() {\\n  vec4 worldPosition  = model * vec4(position, 1.0);\\n  worldPosition       = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\\n  gl_Position         = projection * view * worldPosition;\\n  fragColor           = color;\\n  fragPosition        = position;\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\nuniform vec3 clipBounds[2];\\nuniform float opacity;\\nvarying vec3 fragPosition;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  if(any(lessThan(fragPosition, clipBounds[0])) || any(greaterThan(fragPosition, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = opacity * fragColor;\\n}\"]);e.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},{\"gl-shader\":286,glslify:390}],238:[function(t,e,r){\"use strict\";var n=t(\"gl-texture2d\");e.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension(\"WEBGL_draw_buffers\");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(var a=n;a<r;++a)i[a]=t.NONE;l[n]=i}}(t,c);Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]);if(\"number\"!=typeof e)throw new Error(\"gl-fbo: Missing shape parameter\");var u=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>u||r<0||r>u)throw new Error(\"gl-fbo: Parameters are too large for FBO\");var f=1;if(\"color\"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(f>1){if(!c)throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\");if(f>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+f+\" draw buffers\")}}var h=t.UNSIGNED_BYTE,p=t.getExtension(\"OES_texture_float\");if(n.float&&f>0){if(!p)throw new Error(\"gl-fbo: Context does not support floating point textures\");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var g=!0;\"depth\"in n&&(g=!!n.depth);var m=!1;\"stencil\"in n&&(m=!!n.stencil);return new d(t,e,r,h,f,g,m,c)};var i,a,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error(\"gl-fbo: Framebuffer unsupported\");case a:throw new Error(\"gl-fbo: Framebuffer incomplete attachment\");case o:throw new Error(\"gl-fbo: Framebuffer incomplete dimensions\");case s:throw new Error(\"gl-fbo: Framebuffer incomplete missing attachment\");default:throw new Error(\"gl-fbo: Framebuffer failed for unspecified reason\")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d<i;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var g=this,m=[0|e,0|r];Object.defineProperties(m,{0:{get:function(){return g._shape[0]},set:function(t){return g.width=t}},1:{get:function(){return g._shape[1]},set:function(t){return g.height=t}}}),this._shapeVector=m,function(t){var e=c(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),i=t._shape[0],a=t._shape[1],o=t.color.length,s=t._ext,d=t._useStencil,g=t._useDepth,m=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var v=0;v<o;++v)t.color[v]=h(r,i,a,m,r.RGBA,r.COLOR_ATTACHMENT0+v);0===o?(t._color_rb=p(r,i,a,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(l[0])):o>1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension(\"WEBGL_depth_texture\");y?d?t.depth=h(r,i,a,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),v=0;v<t.color.length;++v)t.color[v].dispose(),t.color[v]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),u(r,e),f(x)}u(r,e)}(this)}var g=d.prototype;function m(t,e,r){if(t._destroyed)throw new Error(\"gl-fbo: Can't resize destroyed FBO\");if(t._shape[0]!==e||t._shape[1]!==r){var n=t.gl,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");t._shape[0]=e,t._shape[1]=r;for(var a=c(n),o=0;o<t.color.length;++o)t.color[o].shape=t._shape;t._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,t._shape[0],t._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,t.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(t.dispose(),u(n,a),f(s)),u(n,a)}}Object.defineProperties(g,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(t){if(Array.isArray(t)||(t=[0|t,0|t]),2!==t.length)throw new Error(\"gl-fbo: Shape vector must be length 2\");var e=0|t[0],r=0|t[1];return m(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return m(this,t|=0,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,m(this,this._shape[0],t),t},enumerable:!1}}),g.bind=function(){if(!this._destroyed){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.handle),t.viewport(0,0,this._shape[0],this._shape[1])}},g.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e<this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&&(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{\"gl-texture2d\":303}],239:[function(t,e,r){var n=t(\"sprintf-js\").sprintf,i=t(\"gl-constants/lookup\"),a=t(\"glsl-shader-name\"),o=t(\"add-line-numbers\");e.exports=function(t,e,r){\"use strict\";var s=a(e)||\"of unknown name (see npm glsl-shader-name)\",l=\"unknown type\";void 0!==r&&(l=r===i.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var c=n(\"Error compiling %s shader %s:\\n\",l,s),u=n(\"%s%s\",c,t),f=t.split(\"\\n\"),h={},p=0;p<f.length;p++){var d=f[p];if(\"\"!==d&&\"\\0\"!==d){var g=parseInt(d.split(\":\")[2]);if(isNaN(g))throw new Error(n(\"Could not parse error: %s\",d));h[g]=d}}for(var m=o(e).split(\"\\n\"),p=0;p<m.length;p++)if(h[p+3]||h[p+2]||h[p+1]){var v=m[p];if(c+=v+\"\\n\",h[p+1]){var y=h[p+1];y=y.substr(y.split(\":\",3).join(\":\").length+1).trim(),c+=n(\"^^^ %s\\n\\n\",y)}}return{long:c.trim(),short:u.trim()}}},{\"add-line-numbers\":48,\"gl-constants/lookup\":235,\"glsl-shader-name\":382,\"sprintf-js\":501}],240:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t.gl,n=o(r,l.vertex,l.fragment),i=o(r,l.pickVertex,l.pickFragment),a=s(r),u=s(r),f=s(r),h=s(r),p=new c(t,n,i,a,u,f,h);return p.update(e),t.addObject(p),p};var n=t(\"binary-search-bounds\"),i=t(\"iota-array\"),a=t(\"typedarray-pool\"),o=t(\"gl-shader\"),s=t(\"gl-buffer\"),l=t(\"./lib/shaders\");function c(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}var u,f=c.prototype,h=[0,0,1,0,0,1,1,0,1,1,0,1];f.draw=(u=[1,0,0,0,1,0,0,0,1],function(){var t=this.plot,e=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var i=t.gl,a=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],c=a[3]-a[1];u[0]=2*o/l,u[4]=2*s/c,u[6]=2*(r[0]-a[0])/l-1,u[7]=2*(r[1]-a[1])/c-1,e.bind();var f=e.uniforms;f.viewTransform=u,f.shape=this.shape;var h=e.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),f.drawPick=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=this.plot,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,c=a[2]-a[0],u=a[3]-a[1],f=l[2]-l[0],h=l[3]-l[1];t[0]=2*c/f,t[4]=2*u/h,t[6]=2*(a[0]-l[0])/f-1,t[7]=2*(a[1]-l[1])/h-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=i.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=o;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,f=this.bounds,p=f[0]=r[0],d=f[1]=o[0],g=1/((f[2]=r[r.length-1])-p),m=1/((f[3]=o[o.length-1])-d),v=e[0],y=e[1];this.shape=[v,y];var x=(v-1)*(y-1)*(h.length>>>1);this.numVertices=x;for(var b=a.mallocUint8(4*x),_=a.mallocFloat32(2*x),w=a.mallocUint8(2*x),k=a.mallocUint32(x),M=0,A=0;A<y-1;++A)for(var T=m*(o[A]-d),S=m*(o[A+1]-d),E=0;E<v-1;++E)for(var C=g*(r[E]-p),L=g*(r[E+1]-p),z=0;z<h.length;z+=2){var P,O,I,D,R=h[z],B=h[z+1],F=s[(A+B)*v+(E+R)],N=n.le(l,F);if(N<0)P=c[0],O=c[1],I=c[2],D=c[3];else if(N===u-1)P=c[4*u-4],O=c[4*u-3],I=c[4*u-2],D=c[4*u-1];else{var j=(F-l[N])/(l[N+1]-l[N]),V=1-j,U=4*N,q=4*(N+1);P=V*c[U]+j*c[q],O=V*c[U+1]+j*c[q+1],I=V*c[U+2]+j*c[q+2],D=V*c[U+3]+j*c[q+3]}b[4*M]=255*P,b[4*M+1]=255*O,b[4*M+2]=255*I,b[4*M+3]=255*D,_[2*M]=.5*C+.5*L,_[2*M+1]=.5*T+.5*S,w[2*M]=R,w[2*M+1]=B,k[M]=A*v+E,M+=1}this.positionBuffer.update(_),this.weightBuffer.update(w),this.colorBuffer.update(b),this.idBuffer.update(k),a.free(_),a.free(b),a.free(w),a.free(k)},f.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{\"./lib/shaders\":241,\"binary-search-bounds\":242,\"gl-buffer\":229,\"gl-shader\":286,\"iota-array\":397,\"typedarray-pool\":519}],241:[function(t,e,r){\"use strict\";var n=t(\"glslify\");e.exports={fragment:n([\"precision lowp float;\\n#define GLSLIFY 1\\nvarying vec4 fragColor;\\nvoid main() {\\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\\n}\\n\"]),vertex:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 color;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n  fragColor = color;\\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"]),pickFragment:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nuniform vec2 shape;\\nuniform vec4 pickOffset;\\n\\nvoid main() {\\n  vec2 d = step(.5, vWeight);\\n  vec4 id = fragId + pickOffset;\\n  id.x += d.x + d.y*shape.x;\\n\\n  id.y += floor(id.x / 256.0);\\n  id.x -= floor(id.x / 256.0) * 256.0;\\n\\n  id.z += floor(id.y / 256.0);\\n  id.y -= floor(id.y / 256.0) * 256.0;\\n\\n  id.w += floor(id.z / 256.0);\\n  id.z -= floor(id.z / 256.0) * 256.0;\\n\\n  gl_FragColor = id/255.;\\n}\\n\"]),pickVertex:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\nattribute vec2 weight;\\n\\nuniform vec2 shape;\\nuniform mat3 viewTransform;\\n\\nvarying vec4 fragId;\\nvarying vec2 vWeight;\\n\\nvoid main() {\\n  vWeight = weight;\\n\\n  fragId = pickId;\\n\\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\\n}\\n\"])}},{glslify:390}],242:[function(t,e,r){arguments[4][98][0].apply(r,arguments)},{dup:98}],243:[function(t,e,r){var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, nextPosition;\\nattribute float arcLength, lineWidth;\\nattribute vec4 color;\\n\\nuniform vec2 screenShape;\\nuniform float pixelRatio;\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 fragColor;\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\n\\nvoid main() {\\n  vec4 projected = projection * view * model * vec4(position, 1.0);\\n  vec4 tangentClip = projection * view * model * vec4(nextPosition - position, 0.0);\\n  vec2 tangent = normalize(screenShape * tangentClip.xy);\\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(tangent.y, -tangent.x) / screenShape;\\n\\n  gl_Position = vec4(projected.xy + projected.w * offset, projected.zw);\\n\\n  worldPosition = position;\\n  pixelArcLength = arcLength;\\n  fragColor = color;\\n}\\n\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3      clipBounds[2];\\nuniform sampler2D dashTexture;\\nuniform float     dashScale;\\nuniform float     opacity;\\n\\nvarying vec3    worldPosition;\\nvarying float   pixelArcLength;\\nvarying vec4    fragColor;\\n\\nvoid main() {\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\n    discard;\\n  }\\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\\n  if(dashWeight < 0.5) {\\n    discard;\\n  }\\n  gl_FragColor = fragColor * opacity;\\n}\\n\"]),s=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\n#define FLOAT_MAX  1.70141184e38\\n#define FLOAT_MIN  1.17549435e-38\\n\\nlowp vec4 encode_float_1540259130(highp float v) {\\n  highp float av = abs(v);\\n\\n  //Handle special cases\\n  if(av < FLOAT_MIN) {\\n    return vec4(0.0, 0.0, 0.0, 0.0);\\n  } else if(v > FLOAT_MAX) {\\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\\n  } else if(v < -FLOAT_MAX) {\\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\\n  }\\n\\n  highp vec4 c = vec4(0,0,0,0);\\n\\n  //Compute exponent and mantissa\\n  highp float e = floor(log2(av));\\n  highp float m = av * pow(2.0, -e) - 1.0;\\n  \\n  //Unpack mantissa\\n  c[1] = floor(128.0 * m);\\n  m -= c[1] / 128.0;\\n  c[2] = floor(32768.0 * m);\\n  m -= c[2] / 32768.0;\\n  c[3] = floor(8388608.0 * m);\\n  \\n  //Unpack exponent\\n  highp float ebias = e + 127.0;\\n  c[0] = floor(ebias / 2.0);\\n  ebias -= c[0] * 2.0;\\n  c[1] += floor(ebias) * 128.0; \\n\\n  //Unpack sign bit\\n  c[0] += 128.0 * step(0.0, -v);\\n\\n  //Scale back to range\\n  return c / 255.0;\\n}\\n\\nuniform float pickId;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 worldPosition;\\nvarying float pixelArcLength;\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  if(any(lessThan(worldPosition, clipBounds[0])) || any(greaterThan(worldPosition, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(pixelArcLength).xyz);\\n}\"]),l=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];r.createShader=function(t){return i(t,a,o,null,l)},r.createPickShader=function(t){return i(t,a,s,null,l)}},{\"gl-shader\":286,glslify:390}],244:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=u(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),c=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),h=l(new Array(1024),[256,1,4]),p=0;p<1024;++p)h.data[p]=255;var d=a(e,h);d.wrap=e.REPEAT;var g=new m(e,r,o,s,c,d);return g.update(t),g};var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"gl-texture2d\"),o=t(\"glsl-read-float\"),s=t(\"binary-search-bounds\"),l=t(\"ndarray\"),c=t(\"./lib/shaders\"),u=c.createShader,f=c.createPickShader,h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function d(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function m(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.dirty=!0,this.pixelRatio=1}var v=m.prototype;v.isTransparent=function(){return this.opacity<1},v.isOpaque=function(){return this.opacity>=1},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,clipBounds:d(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},v.drawPick=function(t){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||h,view:t.view||h,projection:t.projection||h,pickId:this.pickId,clipBounds:d(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()},v.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;\"dashScale\"in t&&(this.dashScale=t.dashScale),\"opacity\"in t&&(this.opacity=+t.opacity);var i=t.position||t.positions;if(i){var a=t.color||t.colors||[0,0,0,1],o=t.lineWidth||1,c=[],u=[],f=[],h=0,d=0,g=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],m=!1;t:for(e=1;e<i.length;++e){var v,y,x,b=i[e-1],_=i[e];for(u.push(h),f.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&c.length>0){for(var w=0;w<24;++w)c.push(c[c.length-12]);d+=2,m=!0}continue t}g[0][r]=Math.min(g[0][r],b[r],_[r]),g[1][r]=Math.max(g[1][r],b[r],_[r])}Array.isArray(a[0])?(v=a[e-1],y=a[e]):v=y=a,3===v.length&&(v=[v[0],v[1],v[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),x=Array.isArray(o)?o[e-1]:o;var k=h;if(h+=p(b,_),m){for(r=0;r<2;++r)c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3]);d+=2,m=!1}c.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,v[0],v[1],v[2],v[3],_[0],_[1],_[2],b[0],b[1],b[2],h,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],h,x,y[0],y[1],y[2],y[3]),d+=4}if(this.buffer.update(c),u.push(h),f.push(i[i.length-1].slice()),this.bounds=g,this.vertexCount=d,this.points=f,this.arcLength=u,\"dashes\"in t){var M=t.dashes.slice();for(M.unshift(0),e=1;e<M.length;++e)M[e]=M[e-1]+M[e];var A=l(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)A.set(e,0,r,0);1&s.le(M,M[M.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}}},v.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},v.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=o(t.value[0],t.value[1],t.value[2],0),r=s.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new g(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],a=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),l=1-a,c=[0,0,0],u=0;u<3;++u)c[u]=l*n[u]+a*i[u];var f=Math.min(a<.5?r:r+1,this.points.length-1);return new g(e,c,f,this.points[f])}},{\"./lib/shaders\":243,\"binary-search-bounds\":78,\"gl-buffer\":229,\"gl-texture2d\":303,\"gl-vao\":308,\"glsl-read-float\":381,ndarray:430}],245:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*a-i*n;return o?(o=1/o,t[0]=a*o,t[1]=-n*o,t[2]=-i*o,t[3]=r*o,t):null}},{}],246:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=u*o-s*c,h=-u*a+s*l,p=c*a-o*l,d=r*f+n*h+i*p;return d?(d=1/d,t[0]=f*d,t[1]=(-u*n+i*c)*d,t[2]=(s*n-i*o)*d,t[3]=h*d,t[4]=(u*r-i*l)*d,t[5]=(-s*r+i*a)*d,t[6]=p*d,t[7]=(-c*r+n*l)*d,t[8]=(o*r-n*a)*d,t):null}},{}],247:[function(t,e,r){e.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},{}],248:[function(t,e,r){e.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],249:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],f=t[10],h=t[11],p=t[12],d=t[13],g=t[14],m=t[15];return(e*o-r*a)*(f*m-h*g)-(e*s-n*a)*(u*m-h*d)+(e*l-i*a)*(u*g-f*d)+(r*s-n*o)*(c*m-h*p)-(r*l-i*o)*(c*g-f*p)+(n*l-i*s)*(c*d-u*p)}},{}],250:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,c=r*o,u=n*o,f=n*s,h=i*o,p=i*s,d=i*l,g=a*o,m=a*s,v=a*l;return t[0]=1-f-d,t[1]=u+v,t[2]=h-m,t[3]=0,t[4]=u-v,t[5]=1-c-d,t[6]=p+g,t[7]=0,t[8]=h+m,t[9]=p-g,t[10]=1-c-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],251:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,c=a+a,u=n*s,f=n*l,h=n*c,p=i*l,d=i*c,g=a*c,m=o*s,v=o*l,y=o*c;return t[0]=1-(p+g),t[1]=f+y,t[2]=h-v,t[3]=0,t[4]=f-y,t[5]=1-(u+g),t[6]=d+m,t[7]=0,t[8]=h+v,t[9]=d-m,t[10]=1-(u+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},{}],252:[function(t,e,r){e.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],253:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,k=i*c-a*l,M=u*g-f*d,A=u*m-h*d,T=u*v-p*d,S=f*m-h*g,E=f*v-p*g,C=h*v-p*m,L=y*C-x*E+b*S+_*T-w*A+k*M;if(!L)return null;return L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*k-m*w+v*_)*L,t[3]=(h*w-f*k-p*_)*L,t[4]=(l*T-o*C-c*A)*L,t[5]=(r*C-i*T+a*A)*L,t[6]=(m*b-d*k-v*x)*L,t[7]=(u*k-h*b+p*x)*L,t[8]=(o*E-s*T+c*M)*L,t[9]=(n*T-r*E-a*M)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*A-o*S-l*M)*L,t[13]=(r*S-n*A+i*M)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t}},{}],254:[function(t,e,r){var n=t(\"./identity\");e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,g=e[0],m=e[1],v=e[2],y=i[0],x=i[1],b=i[2],_=r[0],w=r[1],k=r[2];if(Math.abs(g-_)<1e-6&&Math.abs(m-w)<1e-6&&Math.abs(v-k)<1e-6)return n(t);f=g-_,h=m-w,p=v-k,d=1/Math.sqrt(f*f+h*h+p*p),a=x*(p*=d)-b*(h*=d),o=b*(f*=d)-y*p,s=y*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0);l=h*s-p*o,c=p*a-f*s,u=f*o-h*a,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0);return t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=c,t[6]=h,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(a*g+o*m+s*v),t[13]=-(l*g+c*m+u*v),t[14]=-(f*g+h*m+p*v),t[15]=1,t}},{\"./identity\":252}],255:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],g=e[12],m=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t}},{}],256:[function(t,e,r){e.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},{}],257:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,k,M,A,T,S,E=n[0],C=n[1],L=n[2],z=Math.sqrt(E*E+C*C+L*L);if(Math.abs(z)<1e-6)return null;E*=z=1/z,C*=z,L*=z,i=Math.sin(r),a=Math.cos(r),o=1-a,s=e[0],l=e[1],c=e[2],u=e[3],f=e[4],h=e[5],p=e[6],d=e[7],g=e[8],m=e[9],v=e[10],y=e[11],x=E*E*o+a,b=C*E*o+L*i,_=L*E*o-C*i,w=E*C*o-L*i,k=C*C*o+a,M=L*C*o+E*i,A=E*L*o+C*i,T=C*L*o-E*i,S=L*L*o+a,t[0]=s*x+f*b+g*_,t[1]=l*x+h*b+m*_,t[2]=c*x+p*b+v*_,t[3]=u*x+d*b+y*_,t[4]=s*w+f*k+g*M,t[5]=l*w+h*k+m*M,t[6]=c*w+p*k+v*M,t[7]=u*w+d*k+y*M,t[8]=s*A+f*T+g*S,t[9]=l*A+h*T+m*S,t[10]=c*A+p*T+v*S,t[11]=u*A+d*T+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t}},{}],258:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=e[11];e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},{}],259:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],f=e[10],h=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+c*i,t[9]=o*n+u*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},{}],260:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=e[7];e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},{}],261:[function(t,e,r){e.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},{}],262:[function(t,e,r){e.exports=function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,g=r[0],m=r[1],v=r[2];e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]);return t}},{}],263:[function(t,e,r){e.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},{}],264:[function(t,e,r){\"use strict\";e.exports=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:n(t,e);break;case 9:i(t,e);break;case 16:a(t,e);break;default:throw new Error(\"currently supports matrices up to 4x4\")}return t};var n=t(\"gl-mat2/invert\"),i=t(\"gl-mat3/invert\"),a=t(\"gl-mat4/invert\")},{\"gl-mat2/invert\":245,\"gl-mat3/invert\":246,\"gl-mat4/invert\":253}],265:[function(t,e,r){\"use strict\";var n=t(\"barycentric\"),i=t(\"polytope-closest-point/lib/closest_point_2d.js\");function a(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function o(t,e,r,n,i){for(var o=a(n,a(r,a(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*i[0]*(1+o[0]),.5*i[1]*(1-o[1])]}e.exports=function(t,e,r,a,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u<t.length;++u)c[u]=o(t[u],r,a,s,l);for(var f=0,h=1/0,u=0;u<c.length;++u){for(var p=0,d=0;d<2;++d)p+=Math.pow(c[u][d]-e[d],2);p<h&&(h=p,f=u)}for(var g=function(t,e){if(2===t.length){for(var r=0,a=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),a+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),a=Math.sqrt(a),r+a<1e-6?[1,0]:[a/(r+a),r/(a+r)]}if(3===t.length){var s=[0,0];return i(t[0],t[1],t[2],e,s),n(t,s)}return[]}(c,e),m=0,u=0;u<3;++u){if(g[u]<-.001||g[u]>1.0001)return null;m+=g[u]}if(Math.abs(m-1)>.001)return null;return[f,function(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}(t,g),g]}},{barycentric:60,\"polytope-closest-point/lib/closest_point_2d.js\":461}],266:[function(t,e,r){var n=t(\"glslify\"),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, normal;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model\\n           , view\\n           , projection;\\nuniform vec3 eyePosition\\n           , lightPosition;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  vec4 m_position  = model * vec4(position, 1.0);\\n  vec4 t_position  = view * m_position;\\n  gl_Position      = projection * t_position;\\n  f_color          = color;\\n  f_normal         = normal;\\n  f_data           = position;\\n  f_eyeDirection   = eyePosition   - position;\\n  f_lightDirection = lightPosition - position;\\n  f_uv             = uv;\\n}\\n\"]),a=n([\"#extension GL_OES_standard_derivatives : enable\\n\\nprecision highp float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nvec3 normals(vec3 pos) {\\n  vec3 fdx = dFdx(pos);\\n  vec3 fdy = dFdy(pos);\\n  return normalize(cross(fdx, fdy));\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n            , fresnel\\n            , kambient\\n            , kdiffuse\\n            , kspecular\\n            , opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if(any(lessThan(f_data, clipBounds[0])) ||\\n     any(greaterThan(f_data, clipBounds[1]))) {\\n    discard;\\n  }\\n\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n\\n  vec3 normal = normals(f_data);\\n\\n  if (\\n    dot(N, normal) < 0.0\\n    ) {\\n      N = -N;\\n  }\\n\\n  float specular = cookTorranceSpecular(L, V, N, roughness, fresnel);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * opacity;\\n}\\n\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n  f_color = color;\\n  f_data  = position;\\n  f_uv    = uv;\\n}\"]),s=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 clipBounds[2];\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec3 f_data;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if(any(lessThan(f_data, clipBounds[0])) || \\n     any(greaterThan(f_data, clipBounds[1]))) {\\n    discard;\\n  }\\n\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),l=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 uv;\\nattribute float pointSize;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0])) || \\n     any(greaterThan(position, clipBounds[1]))) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    gl_Position = projection * view * model * vec4(position, 1.0);\\n  }\\n  gl_PointSize = pointSize;\\n  f_color = color;\\n  f_uv = uv;\\n}\"]),c=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D texture;\\nuniform float opacity;\\n\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  vec2 pointR = gl_PointCoord.xy - vec2(0.5,0.5);\\n  if(dot(pointR, pointR) > 0.25) {\\n    discard;\\n  }\\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\\n}\"]),u=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n  f_id        = id;\\n  f_position  = position;\\n}\"]),f=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if(any(lessThan(f_position, clipBounds[0])) || \\n     any(greaterThan(f_position, clipBounds[1]))) {\\n    discard;\\n  }\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]),h=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3  position;\\nattribute float pointSize;\\nattribute vec4  id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0])) || \\n     any(greaterThan(position, clipBounds[1]))) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    gl_Position  = projection * view * model * vec4(position, 1.0);\\n    gl_PointSize = pointSize;\\n  }\\n  f_id         = id;\\n  f_position   = position;\\n}\"]),p=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\n\\nuniform mat4 model, view, projection;\\n\\nvoid main() {\\n  gl_Position = projection * view * model * vec4(position, 1.0);\\n}\"]),d=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 contourColor;\\n\\nvoid main() {\\n  gl_FragColor = vec4(contourColor,1);\\n}\\n\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},r.pickShader={vertex:u,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},r.pointPickShader={vertex:h,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:\"position\",type:\"vec3\"}]}},{glslify:390}],267:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"normals\"),l=t(\"gl-mat4/multiply\"),c=t(\"gl-mat4/invert\"),u=t(\"ndarray\"),f=t(\"colormap\"),h=t(\"simplicial-complex-contour\"),p=t(\"typedarray-pool\"),d=t(\"./lib/shaders\"),g=t(\"./lib/closest-point\"),m=d.meshShader,v=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,v,y,x,b,_,k,M,A,T,S){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=m,this.edgeUVs=v,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=k,this.pointSizes=M,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=T,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var M=k.prototype;function A(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function T(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function S(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function E(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}M.isOpaque=function(){return this.opacity>=1},M.isTransparent=function(){return this.opacity<1},M.pickSlots=1,M.setPickBase=function(t){this.pickId=t},M.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],g=n[f][1],m=i[f],v=1-m,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=m*y[b]+v*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},M.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"contourEnable\"in t&&(this.contourEnable=t.contourEnable),\"contourColor\"in t&&(this.contourColor=t.contourColor),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),\"opacity\"in t&&(this.opacity=t.opacity),\"ambient\"in t&&(this.ambientLight=t.ambient),\"diffuse\"in t&&(this.diffuseLight=t.diffuse),\"specular\"in t&&(this.specularLight=t.specular),\"roughness\"in t&&(this.roughness=t.roughness),\"fresnel\"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=f({colormap:t,nshades:256,format:\"rgba\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var i=[],a=[],l=[],c=[],h=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,k=t.cellNormals,M=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,A=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!k&&(k=s.faceNormals(r,n,A)),k||w||(w=s.vertexNormals(r,n,M));var T=t.vertexColors,S=t.cellColors,E=t.meshColor||[1,1,1,1],C=t.vertexUVs,L=t.vertexIntensity,z=t.cellUVs,P=t.cellIntensity,O=1/0,I=-1/0;if(!C&&!z)if(L)if(t.vertexIntensityBounds)O=+t.vertexIntensityBounds[0],I=+t.vertexIntensityBounds[1];else for(var D=0;D<L.length;++D){var R=L[D];O=Math.min(O,R),I=Math.max(I,R)}else if(P)for(D=0;D<P.length;++D){R=P[D];O=Math.min(O,R),I=Math.max(I,R)}else for(D=0;D<n.length;++D){R=n[D][2];O=Math.min(O,R),I=Math.max(I,R)}this.intensity=L||(P?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,P):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var B=t.pointSizes,F=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(D=0;D<n.length;++D)for(var N=n[D],j=0;j<3;++j)!isNaN(N[j])&&isFinite(N[j])&&(this.bounds[0][j]=Math.min(this.bounds[0][j],N[j]),this.bounds[1][j]=Math.max(this.bounds[1][j],N[j]));var V=0,U=0,q=0;t:for(D=0;D<r.length;++D){var H=r[D];switch(H.length){case 1:for(N=n[W=H[0]],j=0;j<3;++j)if(isNaN(N[j])||!isFinite(N[j]))continue t;v.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[D]:E).length?y.push(Y[0],Y[1],Y[2],1):y.push(Y[0],Y[1],Y[2],Y[3]),X=C?C[W]:L?[(L[W]-O)/(I-O),0]:z?z[D]:P?[(P[D]-O)/(I-O),0]:[(N[2]-O)/(I-O),0],x.push(X[0],X[1]),B?b.push(B[W]):b.push(F),_.push(D),q+=1;break;case 2:for(j=0;j<2;++j){N=n[W=H[j]];for(var G=0;G<3;++G)if(isNaN(N[G])||!isFinite(N[G]))continue t}for(j=0;j<2;++j){N=n[W=H[j]];p.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[D]:E).length?d.push(Y[0],Y[1],Y[2],1):d.push(Y[0],Y[1],Y[2],Y[3]),X=C?C[W]:L?[(L[W]-O)/(I-O),0]:z?z[D]:P?[(P[D]-O)/(I-O),0]:[(N[2]-O)/(I-O),0],g.push(X[0],X[1]),m.push(D)}U+=1;break;case 3:for(j=0;j<3;++j)for(N=n[W=H[j]],G=0;G<3;++G)if(isNaN(N[G])||!isFinite(N[G]))continue t;for(j=0;j<3;++j){var W,Y,X,Z;N=n[W=H[j]];i.push(N[0],N[1],N[2]),3===(Y=T?T[W]:S?S[D]:E).length?a.push(Y[0],Y[1],Y[2],1):a.push(Y[0],Y[1],Y[2],Y[3]),X=C?C[W]:L?[(L[W]-O)/(I-O),0]:z?z[D]:P?[(P[D]-O)/(I-O),0]:[(N[2]-O)/(I-O),0],c.push(X[0],X[1]),Z=w?w[W]:k[D],l.push(Z[0],Z[1],Z[2]),h.push(D)}V+=1}}this.pointCount=q,this.edgeCount=U,this.triangleCount=V,this.pointPositions.update(v),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(p),this.edgeColors.update(d),this.edgeUVs.update(g),this.edgeIds.update(new Uint32Array(m)),this.trianglePositions.update(i),this.triangleColors.update(a),this.triangleUVs.update(c),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(h))}},M.drawTransparent=M.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,contourColor:this.contourColor,texture:0};this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var f,h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},M.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},M.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=g(i,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(a=0;a<r.length;++a)l+=s[a]*this.intensity[r[a]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},M.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},e.exports=function(t,e){if(1===arguments.length&&(t=(e=t).gl),!(t.getExtension(\"OES_standard_derivatives\")||t.getExtension(\"MOZ_OES_standard_derivatives\")||t.getExtension(\"WEBKIT_OES_standard_derivatives\")))throw new Error(\"derivatives not supported\");var r=function(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),s=function(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),l=A(t),c=T(t),f=S(t),h=E(t),p=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var d=i(t),g=i(t),y=i(t),x=i(t),b=i(t),_=a(t,[{buffer:d,type:t.FLOAT,size:3},{buffer:b,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:y,type:t.FLOAT,size:2},{buffer:x,type:t.FLOAT,size:3}]),w=i(t),M=i(t),C=i(t),L=i(t),z=a(t,[{buffer:w,type:t.FLOAT,size:3},{buffer:L,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:M,type:t.FLOAT,size:4},{buffer:C,type:t.FLOAT,size:2}]),P=i(t),O=i(t),I=i(t),D=i(t),R=i(t),B=a(t,[{buffer:P,type:t.FLOAT,size:3},{buffer:R,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:O,type:t.FLOAT,size:4},{buffer:I,type:t.FLOAT,size:2},{buffer:D,type:t.FLOAT,size:1}]),F=i(t),N=new k(t,p,r,s,l,c,f,h,d,b,g,y,x,_,w,L,M,C,z,P,R,O,I,D,B,F,a(t,[{buffer:F,type:t.FLOAT,size:3}]));return N.update(e),N}},{\"./lib/closest-point\":265,\"./lib/shaders\":266,colormap:113,\"gl-buffer\":229,\"gl-mat4/invert\":253,\"gl-mat4/multiply\":255,\"gl-shader\":286,\"gl-texture2d\":303,\"gl-vao\":308,ndarray:430,normals:433,\"simplicial-complex-contour\":491,\"typedarray-pool\":519}],268:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e,[0,0,0,1,1,0,1,1]),s=i(e,a.boxVert,a.lineFrag);return new o(t,r,s)};var n=t(\"gl-buffer\"),i=t(\"gl-shader\"),a=t(\"./shaders\");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawBox=(s=[0,0],l=[0,0],function(t,e,r,n,i){var a=this.plot,o=this.shader,c=a.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=i,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":271,\"gl-buffer\":229,\"gl-shader\":286}],269:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,o.gridVert,o.gridFrag),l=i(e,o.tickVert,o.gridFrag);return new s(t,r,a,l)};var n=t(\"gl-buffer\"),i=t(\"gl-shader\"),a=t(\"binary-search-bounds\"),o=t(\"./shaders\");function s(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function l(t,e){return t-e}var c,u,f,h,p,d=s.prototype;d.draw=(c=[0,0],u=[0,0],f=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,i=t.gl,a=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,h=t.gridLineColor,p=t.gridLineEnable,d=t.pixelRatio,g=0;g<2;++g){var m=a[g],v=a[g+2]-m,y=.5*(o[g+2]+o[g]),x=o[g+2]-o[g];u[g]=2*v/x,c[g]=2*(m-y)/x}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=c,r.uniforms.dataScale=u;var b=0;for(g=0;g<2;++g){f[0]=f[1]=0,f[g]=1,r.uniforms.dataAxis=f,r.uniforms.lineWidth=l[g]/(s[g+2]-s[g])*d,r.uniforms.color=h[g];var _=6*n[g].length;p[g]&&_&&i.drawArrays(i.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],i=[0,0],o=[0,0];return function(){for(var s=this.plot,c=this.vbo,u=this.tickShader,f=this.ticks,h=s.gl,p=s._tickBounds,d=s.dataBox,g=s.viewBox,m=s.pixelRatio,v=s.screenBox,y=v[2]-v[0],x=v[3]-v[1],b=g[2]-g[0],_=g[3]-g[1],w=0;w<2;++w){var k=p[w],M=p[w+2]-k,A=.5*(d[w+2]+d[w]),T=d[w+2]-d[w];e[w]=2*M/T,t[w]=2*(k-A)/T}e[0]*=b/y,t[0]*=b/y,e[1]*=_/x,t[1]*=_/x,u.bind(),c.bind(),u.attributes.dataCoord.pointer();var S=u.uniforms;S.dataShift=t,S.dataScale=e;var E=s.tickMarkLength,C=s.tickMarkWidth,L=s.tickMarkColor,z=6*f[0].length,P=Math.min(a.ge(f[0],(d[0]-p[0])/(p[2]-p[0]),l),f[0].length),O=Math.min(a.gt(f[0],(d[2]-p[0])/(p[2]-p[0]),l),f[0].length),I=0+6*P,D=6*Math.max(0,O-P),R=Math.min(a.ge(f[1],(d[1]-p[1])/(p[3]-p[1]),l),f[1].length),B=Math.min(a.gt(f[1],(d[3]-p[1])/(p[3]-p[1]),l),f[1].length),F=z+6*R,N=6*Math.max(0,B-R);i[0]=2*(g[0]-E[1])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=E[1]*m/y,o[1]=C[1]*m/x,N&&(S.color=L[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,F,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[1]-E[0])/x-1,o[0]=C[0]*m/y,o[1]=E[0]*m/x,D&&(S.color=L[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,I,D)),i[0]=2*(g[2]+E[3])/y-1,i[1]=(g[3]+g[1])/x-1,o[0]=E[3]*m/y,o[1]=C[3]*m/x,N&&(S.color=L[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,F,N)),i[0]=(g[2]+g[0])/y-1,i[1]=2*(g[3]+E[2])/x-1,o[0]=C[2]*m/y,o[1]=E[2]*m/x,D&&(S.color=L[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,I,D))}}(),d.update=(h=[1,1,-1,-1,1,-1],p=[1,-1,1,1,-1,-1],function(t){for(var e=t.ticks,r=t.bounds,n=new Float32Array(18*(e[0].length+e[1].length)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=e[o],c=r[o],u=r[o+2],f=0;f<l.length;++f){var d=(l[f].x-c)/(u-c);s.push(d);for(var g=0;g<6;++g)n[i++]=d,n[i++]=h[g],n[i++]=p[g]}this.ticks=a,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{\"./shaders\":271,\"binary-search-bounds\":273,\"gl-buffer\":229,\"gl-shader\":286}],270:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e,[-1,-1,-1,1,1,-1,1,1]),s=i(e,a.lineVert,a.lineFrag);return new o(t,r,s)};var n=t(\"gl-buffer\"),i=t(\"gl-shader\"),a=t(\"./shaders\");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawLine=(s=[0,0],l=[0,0],function(t,e,r,n,i,a){var o=this.plot,c=this.shader,u=o.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,c.uniforms.start=s,c.uniforms.end=l,c.uniforms.width=i*o.pixelRatio,c.uniforms.color=a,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":271,\"gl-buffer\":229,\"gl-shader\":286}],271:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=n([\"precision lowp float;\\n#define GLSLIFY 1\\nuniform vec4 color;\\nvoid main() {\\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\\n}\\n\"]);e.exports={lineVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 start, end;\\nuniform float width;\\n\\nvec2 perp(vec2 v) {\\n  return vec2(v.y, -v.x);\\n}\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  vec2 delta = normalize(perp(start - end));\\n  vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\\n  gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\\n}\\n\"]),lineFrag:i,textVert:n([\"#define GLSLIFY 1\\nattribute vec3 textCoordinate;\\n\\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\\nuniform float angle;\\n\\nvoid main() {\\n  float dataOffset  = textCoordinate.z;\\n  vec2 glyphOffset  = textCoordinate.xy;\\n  mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\\n  vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\\n    glyphMatrix * glyphOffset * textScale + screenOffset;\\n  gl_Position = vec4(screenCoordinate, 0, 1);\\n}\\n\"]),textFrag:i,gridVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale;\\nuniform float lineWidth;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\\n  gl_Position = vec4(pos, 0, 1);\\n}\\n\"]),gridFrag:i,boxVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 coord;\\n\\nuniform vec4 screenBox;\\nuniform vec2 lo, hi;\\n\\nvec2 screen(vec2 v) {\\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\\n}\\n\\nvoid main() {\\n  gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\\n}\\n\"]),tickVert:n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 dataCoord;\\n\\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\\n\\nvoid main() {\\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\\n  gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\\n}\\n\"])}},{glslify:390}],272:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e),a=i(e,s.textVert,s.textFrag);return new l(t,r,a)};var n=t(\"gl-buffer\"),i=t(\"gl-shader\"),a=t(\"text-cache\"),o=t(\"binary-search-bounds\"),s=t(\"./shaders\");function l(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var c,u,f,h,p,d,g=l.prototype;g.drawTicks=(c=[0,0],u=[0,0],f=[0,0],function(t){var e=this.plot,r=this.shader,n=this.tickX[t],i=this.tickOffset[t],a=e.gl,s=e.viewBox,l=e.dataBox,h=e.screenBox,p=e.pixelRatio,d=e.tickEnable,g=e.tickPad,m=e.tickColor,v=e.tickAngle,y=e.labelEnable,x=e.labelPad,b=e.labelColor,_=e.labelAngle,w=this.labelOffset[t],k=this.labelCount[t],M=o.lt(n,l[t]),A=o.le(n,l[t+2]);c[0]=c[1]=0,c[t]=1,u[t]=(s[2+t]+s[t])/(h[2+t]-h[t])-1;var T=2/h[2+(1^t)]-h[1^t];u[1^t]=T*s[1^t]-1,d[t]&&(u[1^t]-=T*p*g[t],M<A&&i[A]>i[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t],r.uniforms.angle=v[t],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t]&&k&&(u[1^t]-=T*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,k)),u[1^t]=T*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=T*p*g[t+2],M<A&&i[A]>i[M]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=m[t+2],r.uniforms.angle=v[t+2],a.drawArrays(a.TRIANGLES,i[M],i[A]-i[M]))),y[t+2]&&k&&(u[1^t]+=T*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,k))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],f=a[o],g=a[o+2]-f,m=i[o],v=i[o+2]-m;p[o]=2*l/u*g/v,h[o]=2*(s-c)/u*g/v}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e<h.length;++e){var p=h[e],d=p.x,g=p.text,m=p.font||\"sans-serif\";i=p.fontSize||12;for(var v=1/(c[o+2]-c[o]),y=c[o],x=g.split(\"\\n\"),b=0;b<x.length;b++)for(n=a(m,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(d-y)*v);u.push(Math.floor(s.length/3)),f.push(d)}this.tickOffset[o]=u,this.tickX[o]=f}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=a(t.labelFont[o],t.labels[o],{textAlign:\"center\"}).data,i=t.labelSize[o],e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=a(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},g.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{\"./shaders\":271,\"binary-search-bounds\":273,\"gl-buffer\":229,\"gl-shader\":286,\"text-cache\":510}],273:[function(t,e,r){arguments[4][98][0].apply(r,arguments)},{dup:98}],274:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=n(e,[e.drawingBufferWidth,e.drawingBufferHeight]),c=new l(e,r);return c.grid=i(c),c.text=a(c),c.line=o(c),c.box=s(c),c.update(t),c};var n=t(\"gl-select-static\"),i=t(\"./lib/grid\"),a=t(\"./lib/text\"),o=t(\"./lib/line\"),s=t(\"./lib/box\");function l(t,e){this.gl=t,this.pickBuffer=e,this.screenBox=[0,0,t.drawingBufferWidth,t.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-1/0,-1/0],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}var c=l.prototype;function u(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function f(t,e){return t.x-e.x}c.setDirty=function(){this.dirty=this.pickDirty=!0},c.setOverlayDirty=function(){this.dirty=!0},c.nextDepthValue=function(){return this._depthCounter++/65536},c.draw=function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){if(this.dirty=!1,t.bindFramebuffer(t.FRAMEBUFFER,null),t.enable(t.SCISSOR_TEST),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.enable(t.BLEND),t.blendEquation(t.FUNC_ADD,t.FUNC_ADD),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),this.borderColor){t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var c=this.borderColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}t.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),t.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var u=this.backgroundColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),t.clear(t.COLOR_BUFFER_BIT),a.draw();var f=this.zeroLineEnable,h=this.zeroLineColor,p=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var d=0;d<2;++d)if(f[d]&&n[d]<=0&&n[d+2]>=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],h[d]):o.drawLine(e[0],g,e[2],g,p[d],h[d])}}for(d=0;d<l.length;++d)l[d].draw();t.viewport(e[0],e[1],e[2]-e[0],e[3]-e[1]),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),this.grid.drawTickMarks(),o.bind();var m=this.borderLineEnable,v=this.borderLineWidth,y=this.borderLineColor;for(m[1]&&o.drawLine(r[0],r[1]-.5*v[1]*i,r[0],r[3]+.5*v[3]*i,v[1],y[1]),m[0]&&o.drawLine(r[0]-.5*v[0]*i,r[1],r[2]+.5*v[2]*i,r[1],v[0],y[0]),m[3]&&o.drawLine(r[2],r[1]-.5*v[1]*i,r[2],r[3]+.5*v[3]*i,v[3],y[3]),m[2]&&o.drawLine(r[0]-.5*v[0]*i,r[3],r[2]+.5*v[2]*i,r[3],v[2],y[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},c.drawPick=function(){if(!this.static){var t=this.pickBuffer;this.gl;this._pickTimeout=null,t.begin();for(var e=1,r=this.objects,n=0;n<r.length;++n)e=r[n].drawPick(e);t.end()}},c.pick=function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),c=this.objects,u=0;u<c.length;++u){var f=c[u].pick(a,o,l);if(f)return f}return null}},c.setScreenBox=function(t){var e=this.screenBox,r=this.pixelRatio;e[0]=0|Math.round(t[0]*r),e[1]=0|Math.round(t[1]*r),e[2]=0|Math.round(t[2]*r),e[3]=0|Math.round(t[3]*r),this.setDirty()},c.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},c.setViewBox=function(t){var e=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(t[0]*e),r[1]=0|Math.round(t[1]*e),r[2]=0|Math.round(t[2]*e),r[3]=0|Math.round(t[3]*e);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((t[2]-t[0])*n),0|Math.round((t[3]-t[1])*n)],this.setDirty()},c.update=function(t){t=t||{};var e=this.gl;this.pixelRatio=t.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(t.screenBox||[0,0,e.drawingBufferWidth/r,e.drawingBufferHeight/r]);this.screenBox;this.setViewBox(t.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/i,10,10/i]),this.borderColor=!1!==t.borderColor&&(t.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(t.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(t.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(t.gridLineWidth||[1,1]).slice(),this.gridLineColor=u(t.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(t.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(t.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=u(t.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(t.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(t.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=u(t.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(t.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!(\"titleEnable\"in t&&!t.titleEnable),this.titleAngle=t.titleAngle||0,this.titleColor=(t.titleColor||[0,0,0,1]).slice(),this.labelPad=(t.labelPad||[15,15,15,15]).slice(),this.labelAngle=(t.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(t.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=u(t.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(t.tickPad||[15,15,15,15]).slice(),this.tickAngle=(t.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(t.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=u(t.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(t.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(t.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=u(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var a=t.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=a[s].slice(0);0!==l.length&&(l.sort(f),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:a}),this.text.update({bounds:o,ticks:a,labels:t.labels||[\"x\",\"y\"],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||[\"sans-serif\",\"sans-serif\"],title:t.title||\"\",titleSize:t.titleSize||18,titleFont:t.titleFont||\"sans-serif\"}),this.static=!!t.static,this.setDirty()},c.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t>=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},c.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},c.removeOverlay=function(t){for(var e=this.overlays,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{\"./lib/box\":268,\"./lib/grid\":269,\"./lib/line\":270,\"./lib/text\":272,\"gl-select-static\":285}],275:[function(t,e,r){var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\nattribute vec2 position;\\nvarying vec2 uv;\\nvoid main() {\\n  uv = position;\\n  gl_Position = vec4(position, 0, 1);\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D accumBuffer;\\nvarying vec2 uv;\\n\\nvoid main() {\\n  vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\\n  gl_FragColor = min(vec4(1,1,1,1), accum);\\n}\"]);e.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec2\"}])}},{\"gl-shader\":286,glslify:390}],276:[function(t,e,r){\"use strict\";e.exports=function(t){var e=!1,r=((t=t||{}).pixelRatio||parseFloat(window.devicePixelRatio),t.canvas);if(!r)if(r=document.createElement(\"canvas\"),t.container){var v=t.container;v.appendChild(r)}else document.body.appendChild(r);var y=t.gl;y||(y=function(t,e){var r=null;try{(r=t.getContext(\"webgl\",e))||(r=t.getContext(\"experimental-webgl\",e))}catch(t){return null}return r}(r,t.glOptions||{premultipliedAlpha:!0,antialias:!0}));if(!y)throw new Error(\"webgl not supported\");var x=t.bounds||[[-10,-10,-10],[10,10,10]],b=new d,_=l(y,[y.drawingBufferWidth,y.drawingBufferHeight],{preferFloat:!p}),w=h(y),k=t.camera||{eye:[2,0,0],center:[0,0,0],up:[0,1,0],zoomMin:.1,zoomMax:100,mode:\"turntable\"},M=t.axes||{},A=i(y,M);A.enable=!M.disable;var T=t.spikes||{},S=o(y,T),E=[],C=[],L=[],z=[],P=!0,O=!0,I=new Array(16),D=new Array(16),R={view:null,projection:I,model:D},O=!0,B=[y.drawingBufferWidth,y.drawingBufferHeight],F={gl:y,contextLost:!1,pixelRatio:t.pixelRatio||parseFloat(window.devicePixelRatio),canvas:r,selection:b,camera:n(r,k),axes:A,axesPixels:null,spikes:S,bounds:x,objects:E,shape:B,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:m(t.autoResize),autoBounds:m(t.autoBounds),autoScale:!!t.autoScale,autoCenter:m(t.autoCenter),clipToBounds:m(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:R,oncontextloss:null,mouseListener:null},N=[y.drawingBufferWidth/F.pixelRatio|0,y.drawingBufferHeight/F.pixelRatio|0];function j(){if(!e&&F.autoResize){var t=r.parentNode,n=1,i=1;t&&t!==document.body?(n=t.clientWidth,i=t.clientHeight):(n=window.innerWidth,i=window.innerHeight);var a=0|Math.ceil(n*F.pixelRatio),o=0|Math.ceil(i*F.pixelRatio);if(a!==r.width||o!==r.height){r.width=a,r.height=o;var s=r.style;s.position=s.position||\"absolute\",s.left=\"0px\",s.top=\"0px\",s.width=n+\"px\",s.height=i+\"px\",P=!0}}}F.autoResize&&j();function V(){for(var t=E.length,e=z.length,r=0;r<e;++r)L[r]=0;t:for(var r=0;r<t;++r){var n=E[r],i=n.pickSlots;if(i){for(var a=0;a<e;++a)if(L[a]+i<255){C[r]=a,n.setPickBase(L[a]+1),L[a]+=i;continue t}var o=s(y,B);C[r]=e,z.push(o),L.push(i),n.setPickBase(1),e+=1}else C[r]=-1}for(;e>0&&0===L[e-1];)L.pop(),z.pop().dispose()}window.addEventListener(\"resize\",j),F.update=function(t){e||(t=t||{},P=!0,O=!0)},F.add=function(t){e||(t.axes=A,E.push(t),C.push(-1),P=!0,O=!0,V())},F.remove=function(t){if(!e){var r=E.indexOf(t);r<0||(E.splice(r,1),C.pop(),P=!0,O=!0,V())}},F.dispose=function(){if(!e&&(e=!0,window.removeEventListener(\"resize\",j),r.removeEventListener(\"webglcontextlost\",H),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;t<E.length;++t)E[t].dispose();_.dispose();for(var t=0;t<z.length;++t)z[t].dispose();w.dispose(),y=null,A=null,S=null,E=[]}};var U=!1,q=0;function H(){if(F.contextLost)return!0;y.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.mouseListener=u(r,function(t,r,n){if(!e){var i=z.length,a=E.length,o=b.object;b.distance=1/0,b.mouse[0]=r,b.mouse[1]=n,b.object=null,b.screen=null,b.dataCoordinate=b.dataPosition=null;var s=!1;if(t&&q)U=!0;else{U&&(O=!0),U=!1;for(var l=0;l<i;++l){var c=z[l].query(r,N[1]-n-1,F.pickRadius);if(c){if(c.distance>b.distance)continue;for(var u=0;u<a;++u){var f=E[u];if(C[u]===l){var h=f.pick(c);h&&(b.buttons=t,b.screen=c.coord,b.distance=c.distance,b.object=f,b.index=h.distance,b.dataPosition=h.position,b.dataCoordinate=h.dataCoordinate,b.data=h,s=!0)}}}}}o&&o!==b.object&&(o.highlight&&o.highlight(null),P=!0),b.object&&(b.object.highlight&&b.object.highlight(b.data),P=!0),(s=s||b.object!==o)&&F.onselect&&F.onselect(b),1&t&&!(1&q)&&F.onclick&&F.onclick(b),q=t}}),r.addEventListener(\"webglcontextlost\",H);var G=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],W=[G[0].slice(),G[1].slice()];function Y(){if(!H()){j();var t=F.camera.tick();R.view=F.camera.matrix,P=P||t,O=O||t,A.pixelRatio=F.pixelRatio,S.pixelRatio=F.pixelRatio;var e=E.length,r=G[0],n=G[1];r[0]=r[1]=r[2]=1/0,n[0]=n[1]=n[2]=-1/0;for(var i=0;i<e;++i){var o=E[i];o.pixelRatio=F.pixelRatio,o.axes=F.axes,P=P||!!o.dirty,O=O||!!o.dirty;var s=o.bounds;if(s)for(var l=s[0],u=s[1],h=0;h<3;++h)r[h]=Math.min(r[h],l[h]),n[h]=Math.max(n[h],u[h])}var p=F.bounds;if(F.autoBounds)for(var h=0;h<3;++h){if(n[h]<r[h])r[h]=-1,n[h]=1;else{r[h]===n[h]&&(r[h]-=1,n[h]+=1);var d=.05*(n[h]-r[h]);r[h]=r[h]-d,n[h]=n[h]+d}p[0][h]=r[h],p[1][h]=n[h]}for(var m=!1,h=0;h<3;++h)m=m||W[0][h]!==p[0][h]||W[1][h]!==p[1][h],W[0][h]=p[0][h],W[1][h]=p[1][h];if(O=O||m,P=P||m){if(m){for(var v=[0,0,0],i=0;i<3;++i)v[i]=g((p[1][i]-p[0][i])/10);A.autoTicks?A.update({bounds:p,tickSpacing:v}):A.update({bounds:p})}var x=y.drawingBufferWidth,k=y.drawingBufferHeight;B[0]=x,B[1]=k,N[0]=0|Math.max(x/F.pixelRatio,1),N[1]=0|Math.max(k/F.pixelRatio,1),f(I,F.fovy,x/k,F.zNear,F.zFar);for(var i=0;i<16;++i)D[i]=0;D[15]=1;for(var M=0,i=0;i<3;++i)M=Math.max(M,p[1][i]-p[0][i]);for(var i=0;i<3;++i)F.autoScale?D[5*i]=F.aspect[i]/(p[1][i]-p[0][i]):D[5*i]=1/M,F.autoCenter&&(D[12+i]=.5*-D[5*i]*(p[0][i]+p[1][i]));for(var i=0;i<e;++i){var o=E[i];o.axesBounds=p,F.clipToBounds&&(o.clipBounds=p)}b.object&&(F.snapToData?S.position=b.dataCoordinate:S.position=b.dataPosition,S.bounds=p),O&&(O=!1,function(){if(H())return;y.colorMask(!0,!0,!0,!0),y.depthMask(!0),y.disable(y.BLEND),y.enable(y.DEPTH_TEST);for(var t=E.length,e=z.length,r=0;r<e;++r){var n=z[r];n.shape=N,n.begin();for(var i=0;i<t;++i)if(C[i]===r){var a=E[i];a.drawPick&&(a.pixelRatio=1,a.drawPick(R))}n.end()}}()),F.axesPixels=a(F.axes,R,x,k),F.onrender&&F.onrender(),y.bindFramebuffer(y.FRAMEBUFFER,null),y.viewport(0,0,x,k);var T=F.clearColor;y.clearColor(T[0],T[1],T[2],T[3]),y.clear(y.COLOR_BUFFER_BIT|y.DEPTH_BUFFER_BIT),y.depthMask(!0),y.colorMask(!0,!0,!0,!0),y.enable(y.DEPTH_TEST),y.depthFunc(y.LEQUAL),y.disable(y.BLEND),y.disable(y.CULL_FACE);var L=!1;A.enable&&(L=L||A.isTransparent(),A.draw(R)),S.axes=A,b.object&&S.draw(R),y.disable(y.CULL_FACE);for(var i=0;i<e;++i){var o=E[i];o.axes=A,o.pixelRatio=F.pixelRatio,o.isOpaque&&o.isOpaque()&&o.draw(R),o.isTransparent&&o.isTransparent()&&(L=!0)}if(L){_.shape=B,_.bind(),y.clear(y.DEPTH_BUFFER_BIT),y.colorMask(!1,!1,!1,!1),y.depthMask(!0),y.depthFunc(y.LESS),A.enable&&A.isTransparent()&&A.drawTransparent(R);for(var i=0;i<e;++i){var o=E[i];o.isOpaque&&o.isOpaque()&&o.draw(R)}y.enable(y.BLEND),y.blendEquation(y.FUNC_ADD),y.blendFunc(y.ONE,y.ONE_MINUS_SRC_ALPHA),y.colorMask(!0,!0,!0,!0),y.depthMask(!1),y.clearColor(0,0,0,0),y.clear(y.COLOR_BUFFER_BIT),A.isTransparent()&&A.drawTransparent(R);for(var i=0;i<e;++i){var o=E[i];o.isTransparent&&o.isTransparent()&&o.drawTransparent(R)}y.bindFramebuffer(y.FRAMEBUFFER,null),y.blendFunc(y.ONE,y.ONE_MINUS_SRC_ALPHA),y.disable(y.DEPTH_TEST),w.bind(),_.color[0].bind(0),w.uniforms.accumBuffer=0,c(y),y.disable(y.BLEND)}P=!1;for(var i=0;i<e;++i)E[i].dirty=!1}}}return function t(){e||F.contextLost||(requestAnimationFrame(t),Y())}(),F.redraw=function(){e||(P=!0,Y())},F};var n=t(\"3d-view-controls\"),i=t(\"gl-axes3d\"),a=t(\"gl-axes3d/properties\"),o=t(\"gl-spikes3d\"),s=t(\"gl-select-static\"),l=t(\"gl-fbo\"),c=t(\"a-big-triangle\"),u=t(\"mouse-change\"),f=t(\"gl-mat4/perspective\"),h=t(\"./lib/shader\"),p=t(\"is-mobile\")();function d(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function m(t){return\"boolean\"!=typeof t||t}},{\"./lib/shader\":275,\"3d-view-controls\":43,\"a-big-triangle\":46,\"gl-axes3d\":221,\"gl-axes3d/properties\":228,\"gl-fbo\":238,\"gl-mat4/perspective\":256,\"gl-select-static\":285,\"gl-spikes3d\":295,\"is-mobile\":401,\"mouse-change\":415}],277:[function(t,e,r){var n=t(\"glslify\");r.pointVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform float pointCloud;\\n\\nhighp float rand(vec2 co) {\\n  highp float a = 12.9898;\\n  highp float b = 78.233;\\n  highp float c = 43758.5453;\\n  highp float d = dot(co.xy, vec2(a, b));\\n  highp float e = mod(d, 3.14);\\n  return fract(sin(e) * c);\\n}\\n\\nvoid main() {\\n  vec3 hgPosition = matrix * vec3(position, 1);\\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\\n    // if we don't jitter the point size a bit, overall point cloud\\n    // saturation 'jumps' on zooming, which is disturbing and confusing\\n  gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    // get the same square surface as circle would be\\n    gl_PointSize *= 0.886;\\n  }\\n}\"]),r.pointFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color, borderColor;\\nuniform float centerFraction;\\nuniform float pointCloud;\\n\\nvoid main() {\\n  float radius;\\n  vec4 baseColor;\\n  if(pointCloud != 0.0) { // pointCloud is truthy\\n    if(centerFraction == 1.0) {\\n      gl_FragColor = color;\\n    } else {\\n      gl_FragColor = mix(borderColor, color, centerFraction);\\n    }\\n  } else {\\n    radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n    if(radius > 1.0) {\\n      discard;\\n    }\\n    baseColor = mix(borderColor, color, step(radius, centerFraction));\\n    gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\\n  }\\n}\\n\"]),r.pickVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position;\\nattribute vec4 pickId;\\n\\nuniform mat3 matrix;\\nuniform float pointSize;\\nuniform vec4 pickOffset;\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  vec3 hgPosition = matrix * vec3(position, 1);\\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\\n  gl_PointSize = pointSize;\\n\\n  vec4 id = pickId + pickOffset;\\n  id.y += floor(id.x / 256.0);\\n  id.x -= floor(id.x / 256.0) * 256.0;\\n\\n  id.z += floor(id.y / 256.0);\\n  id.y -= floor(id.y / 256.0) * 256.0;\\n\\n  id.w += floor(id.z / 256.0);\\n  id.z -= floor(id.z / 256.0) * 256.0;\\n\\n  fragId = id;\\n}\\n\"]),r.pickFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragId;\\n\\nvoid main() {\\n  float radius = length(2.0 * gl_PointCoord.xy - 1.0);\\n  if(radius > 1.0) {\\n    discard;\\n  }\\n  gl_FragColor = fragId / 255.0;\\n}\\n\"])},{glslify:390}],278:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"typedarray-pool\"),o=t(\"./lib/shader\");function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,a=i(r),l=i(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),f=new s(t,a,l,c,u);return f.update(e),t.addObject(f),f};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r(\"sizeMin\",.5),this.sizeMax=r(\"sizeMax\",20),this.color=r(\"color\",[1,0,0,1]).slice(),this.areaRatio=r(\"areaRatio\",1),this.borderColor=r(\"borderColor\",[0,0,0,1]).slice(),this.blend=r(\"blend\",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e<n;e++)c[e]=e;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),i||a.free(l),o||a.free(c),this.pointCount=n,this.pickOffset=0},u.unifiedDraw=(l=[1,0,0,0,1,0,0,0,1],c=[0,0,0,0],function(t){var e=void 0!==t,r=e?this.pickShader:this.shader,n=this.plot.gl,i=this.plot.dataBox;if(0===this.pointCount)return t;var a=i[2]-i[0],o=i[3]-i[1],s=function(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},{\"./lib/shader\":277,\"gl-buffer\":229,\"gl-shader\":286,\"typedarray-pool\":519}],279:[function(t,e,r){e.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],f=e[2],h=e[3],p=r[0],d=r[1],g=r[2],m=r[3];(a=c*p+u*d+f*g+h*m)<0&&(a=-a,p=-p,d=-d,g=-g,m=-m);1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*f+l*g,t[3]=s*h+l*m,t}},{}],280:[function(t,e,r){\"use strict\";var n=t(\"vectorize-text\");e.exports=function(t,e){var r=i[e];r||(r=i[e]={});if(t in r)return r[t];for(var a=n(t,{textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e}),o=n(t,{triangles:!0,textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:e}),s=[[1/0,1/0],[-1/0,-1/0]],l=0;l<a.positions.length;++l)for(var c=a.positions[l],u=0;u<2;++u)s[0][u]=Math.min(s[0][u],c[u]),s[1][u]=Math.max(s[1][u],c[u]);return r[t]=[o,a,s]};var i={}},{\"vectorize-text\":524}],281:[function(t,e,r){var n=t(\"gl-shader\"),i=t(\"glslify\"),a=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform vec4 highlightId;\\nuniform float highlightScale;\\nuniform mat4 model, view, projection;\\nuniform vec3 clipBounds[2];\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0]))   || \\n     any(greaterThan(position, clipBounds[1])) ) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float scale = 1.0;\\n    if(distance(highlightId, id) < 0.0001) {\\n      scale = highlightScale;\\n    }\\n\\n    vec4 worldPosition = model * vec4(position, 1);\\n    vec4 viewPosition = view * worldPosition;\\n    viewPosition = viewPosition / viewPosition.w;\\n    vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\\n    \\n    gl_Position = clipPosition;\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = position;\\n  }\\n}\"]),o=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float highlightScale, pixelRatio;\\nuniform vec4 highlightId;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0])) || any(greaterThan(position, clipBounds[1]))) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float scale = pixelRatio;\\n    if(distance(highlightId.bgr, id.bgr) < 0.001) {\\n      scale *= highlightScale;\\n    }\\n\\n    vec4 worldPosition = model * vec4(position, 1.0);\\n    vec4 viewPosition = view * worldPosition;\\n    vec4 clipPosition = projection * viewPosition;\\n    clipPosition /= clipPosition.w;\\n    \\n    gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = position;\\n  }\\n}\"]),s=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position;\\nattribute vec4 color;\\nattribute vec2 glyph;\\nattribute vec4 id;\\n\\nuniform float highlightScale;\\nuniform vec4 highlightId;\\nuniform vec3 axes[2];\\nuniform mat4 model, view, projection;\\nuniform vec2 screenSize;\\nuniform vec3 clipBounds[2];\\nuniform float scale, pixelRatio;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(position, clipBounds[0]))   ||\\n     any(greaterThan(position, clipBounds[1])) ) {\\n    gl_Position = vec4(0,0,0,0);\\n  } else {\\n    float lscale = pixelRatio * scale;\\n    if(distance(highlightId, id) < 0.0001) {\\n      lscale *= highlightScale;\\n    }\\n\\n    vec4 clipCenter   = projection * view * model * vec4(position, 1);\\n    vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\\n    vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\\n\\n    gl_Position = clipPosition;\\n    interpColor = color;\\n    pickId = id;\\n    dataCoordinate = dataPosition;\\n  }\\n}\\n\"]),l=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float opacity;\\n\\nvarying vec4 interpColor;\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   ||\\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\n    discard;\\n  } else {\\n    gl_FragColor = interpColor * opacity;\\n  }\\n}\\n\"]),c=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3 fragClipBounds[2];\\nuniform float pickGroup;\\n\\nvarying vec4 pickId;\\nvarying vec3 dataCoordinate;\\n\\nvoid main() {\\n  if(any(lessThan(dataCoordinate, fragClipBounds[0]))   || \\n     any(greaterThan(dataCoordinate, fragClipBounds[1])) ) {\\n    discard;\\n  } else {\\n    gl_FragColor = vec4(pickGroup, pickId.bgr);\\n  }\\n}\"]),u=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],f={vertex:a,fragment:l,attributes:u},h={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,fragment:c,attributes:u},g={vertex:o,fragment:c,attributes:u},m={vertex:s,fragment:c,attributes:u};function v(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}r.createPerspective=function(t){return v(t,f)},r.createOrtho=function(t){return v(t,h)},r.createProject=function(t){return v(t,p)},r.createPickPerspective=function(t){return v(t,d)},r.createPickOrtho=function(t){return v(t,g)},r.createPickProject=function(t){return v(t,m)}},{\"gl-shader\":286,glslify:390}],282:[function(t,e,r){\"use strict\";var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"typedarray-pool\"),o=t(\"gl-mat4/multiply\"),s=t(\"./lib/shaders\"),l=t(\"./lib/glyphs\"),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function u(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function f(t,e,r,n){return u(n,n),u(n,n),u(n,n)}function h(t,e){this.index=t,this.dataCoordinate=this.position=e}function p(t,e,r,n,i,a,o,s,l,c,u,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=f,this.points=[],this._selectResult=new h(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=s.createPerspective(e),a=s.createOrtho(e),o=s.createProject(e),l=s.createPickPerspective(e),c=s.createPickOrtho(e),u=s.createPickProject(e),f=n(e),h=n(e),d=n(e),g=n(e),m=i(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:d,size:2,type:e.FLOAT},{buffer:g,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),v=new p(e,r,a,o,f,h,d,g,m,l,c,u);return v.update(t),v};var d=p.prototype;d.pickSlots=1,d.setPickBase=function(t){this.pickId=t},d.isTransparent=function(){if(this.opacity<1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]<1)return!0;return!1},d.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectOpacity[t]>=1)return!0;return!1};var g=[0,0],m=[0,0,0],v=[0,0,0],y=[0,0,0,1],x=[0,0,0,1],b=c.slice(),_=[0,0,0],w=[[0,0,0],[0,0,0]];function k(t){return t[0]=t[1]=t[2]=0,t}function M(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function A(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function T(t,e,r,n,i){var a,s=e.axesProject,l=e.gl,u=t.uniforms,h=r.model||c,p=r.view||c,d=r.projection||c,T=e.axesBounds,S=function(t){for(var e=w,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],g[0]=2/l.drawingBufferWidth,g[1]=2/l.drawingBufferHeight,t.bind(),u.view=p,u.projection=d,u.screenSize=g,u.highlightId=e.highlightId,u.highlightScale=e.highlightScale,u.clipBounds=S,u.pickGroup=e.pickId/255,u.pixelRatio=e.pixelRatio;for(var E=0;E<3;++E)if(s[E]&&e.projectOpacity[E]<1===n){u.scale=e.projectScale[E],u.opacity=e.projectOpacity[E];for(var C=b,L=0;L<16;++L)C[L]=0;for(L=0;L<4;++L)C[5*L]=1;C[5*E]=0,a[E]<0?C[12+E]=T[0][E]:C[12+E]=T[1][E],o(C,h,C),u.model=C;var z=(E+1)%3,P=(E+2)%3,O=k(m),I=k(v);O[z]=1,I[P]=1;var D=f(0,0,0,M(y,O)),R=f(0,0,0,M(x,I));if(Math.abs(D[1])>Math.abs(R[1])){var B=D;D=R,R=B,B=O,O=I,I=B;var F=z;z=P,P=F}D[0]<0&&(O[z]=-1),R[1]>0&&(I[P]=-1);var N=0,j=0;for(L=0;L<4;++L)N+=Math.pow(h[4*z+L],2),j+=Math.pow(h[4*P+L],2);O[z]/=Math.sqrt(N),I[P]/=Math.sqrt(j),u.axes[0]=O,u.axes[1]=I,u.fragClipBounds[0]=A(_,S[0],E,-1e8),u.fragClipBounds[1]=A(_,S[1],E,1e8),e.vao.draw(l.TRIANGLES,e.vertexCount),e.lineWidth>0&&(l.lineWidth(e.lineWidth),e.vao.draw(l.LINES,e.lineVertexCount,e.vertexCount))}}var S=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function E(t,e,r,n,i,a){var o=r.gl;if(r.vao.bind(),i===r.opacity<1||a){t.bind();var s=t.uniforms;s.model=n.model||c,s.view=n.view||c,s.projection=n.projection||c,g[0]=2/o.drawingBufferWidth,g[1]=2/o.drawingBufferHeight,s.screenSize=g,s.highlightId=r.highlightId,s.highlightScale=r.highlightScale,s.fragClipBounds=S,s.clipBounds=r.axes.bounds,s.opacity=r.opacity,s.pickGroup=r.pickId/255,s.pixelRatio=r.pixelRatio,r.vao.draw(o.TRIANGLES,r.vertexCount),r.lineWidth>0&&(o.lineWidth(r.lineWidth),r.vao.draw(o.LINES,r.lineVertexCount,r.vertexCount))}T(e,r,n,i),r.vao.unbind()}d.draw=function(t){E(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!1,!1)},d.drawTransparent=function(t){E(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,!0,!1)},d.drawPick=function(t){E(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,!1,!0)},d.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},d.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},d.update=function(t){if(\"perspective\"in(t=t||{})&&(this.useOrtho=!t.perspective),\"orthographic\"in t&&(this.useOrtho=!!t.orthographic),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"project\"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if(\"projectScale\"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(\"projectOpacity\"in t)if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}\"opacity\"in t&&(this.opacity=t.opacity),this.dirty=!0;var n=t.position;if(n){var i=t.font||\"normal\",o=t.alignment||[0,0],s=[1/0,1/0,1/0],c=[-1/0,-1/0,-1/0],u=t.glyph,f=t.color,h=t.size,p=t.angle,d=t.lineColor,g=0,m=0,v=0,y=n.length;t:for(var x=0;x<y;++x){for(var b=n[x],_=0;_<3;++_)if(isNaN(b[_])||!isFinite(b[_]))continue t;var w=(B=Array.isArray(u)?l(u[x],i):l(u||\"\\u25cf\",i))[0],k=B[1],M=B[2];m+=3*w.cells.length,v+=2*k.edges.length}var A=m+v,T=a.mallocFloat(3*A),S=a.mallocFloat(4*A),E=a.mallocFloat(2*A),C=a.mallocUint32(A),L=[0,o[1]],z=0,P=m,O=[0,0,0,1],I=[0,0,0,1],D=Array.isArray(f)&&Array.isArray(f[0]),R=Array.isArray(d)&&Array.isArray(d[0]);t:for(x=0;x<y;++x){var B;for(b=n[x],_=0;_<3;++_){if(isNaN(b[_])||!isFinite(b[_])){g+=1;continue t}c[_]=Math.max(c[_],b[_]),s[_]=Math.min(s[_],b[_])}var F;w=(B=Array.isArray(u)?l(u[x],i):l(u||\"\\u25cf\",i))[0],k=B[1],M=B[2];if(Array.isArray(f)){if(3===(F=D?f[x]:f).length){for(_=0;_<3;++_)O[_]=F[_];O[3]=1}else if(4===F.length)for(_=0;_<4;++_)O[_]=F[_]}else O[0]=O[1]=O[2]=0,O[3]=1;if(Array.isArray(d)){if(3===(F=R?d[x]:d).length){for(_=0;_<3;++_)I[_]=F[_];I[_]=1}else if(4===F.length)for(_=0;_<4;++_)I[_]=F[_]}else I[0]=I[1]=I[2]=0,I[3]=1;var N=.5;Array.isArray(h)?N=+h[x]:h?N=+h:this.useOrtho&&(N=12);var j=0;Array.isArray(p)?j=+p[x]:p&&(j=+p);var V=Math.cos(j),U=Math.sin(j);for(b=n[x],_=0;_<3;++_)c[_]=Math.max(c[_],b[_]),s[_]=Math.min(s[_],b[_]);o[0]<0?L[0]=o[0]*(1+M[1][0]):o[0]>0&&(L[0]=-o[0]*(1+M[0][0]));var q=w.cells,H=w.positions;for(_=0;_<q.length;++_)for(var G=q[_],W=0;W<3;++W){for(var Y=0;Y<3;++Y)T[3*z+Y]=b[Y];for(Y=0;Y<4;++Y)S[4*z+Y]=O[Y];C[z]=g;var X=H[G[W]];E[2*z]=N*(V*X[0]-U*X[1]+L[0]),E[2*z+1]=N*(U*X[0]+V*X[1]+L[1]),z+=1}for(q=k.edges,H=k.positions,_=0;_<q.length;++_)for(G=q[_],W=0;W<2;++W){for(Y=0;Y<3;++Y)T[3*P+Y]=b[Y];for(Y=0;Y<4;++Y)S[4*P+Y]=I[Y];C[P]=g;X=H[G[W]];E[2*P]=N*(V*X[0]-U*X[1]+L[0]),E[2*P+1]=N*(U*X[0]+V*X[1]+L[1]),P+=1}g+=1}this.vertexCount=m,this.lineVertexCount=v,this.pointBuffer.update(T),this.colorBuffer.update(S),this.glyphBuffer.update(E),this.idBuffer.update(new Uint32Array(C)),a.free(T),a.free(S),a.free(E),a.free(C),this.bounds=[s,c],this.points=n,this.pointCount=n.length}},d.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},{\"./lib/glyphs\":280,\"./lib/shaders\":281,\"gl-buffer\":229,\"gl-mat4/multiply\":255,\"gl-vao\":308,\"typedarray-pool\":519}],283:[function(t,e,r){\"use strict\";var n=t(\"glslify\");r.boxVertex=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec2 vertex;\\n\\nuniform vec2 cornerA, cornerB;\\n\\nvoid main() {\\n  gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\\n}\\n\"]),r.boxFragment=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec4 color;\\n\\nvoid main() {\\n  gl_FragColor = color;\\n}\\n\"])},{glslify:390}],284:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"./lib/shaders\");function o(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}e.exports=function(t,e){var r=t.gl,s=i(r,[0,0,0,1,1,0,1,1]),l=n(r,a.boxVertex,a.boxFragment),c=new o(t,s,l);return c.update(e),t.addOverlay(c),c};var s=o.prototype;s.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,f=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],h=(e[1]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1],p=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],d=(e[3]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1];if(f=Math.max(f,c[0]),h=Math.max(h,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p<f||d<h)){o.bind();var g=s[2]-s[0],m=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,h,i),o.drawBox(0,h,f,d,i),o.drawBox(0,d,g,m,i),o.drawBox(p,h,g,d,i)),this.innerFill&&o.drawBox(f,h,p,d,n),r>0){var v=r*u;o.drawBox(f-v,h-v,p+v,h+v,a),o.drawBox(f-v,d-v,p+v,d+v,a),o.drawBox(f-v,h-v,f+v,d+v,a),o.drawBox(p-v,h-v,p+v,d+v,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{\"./lib/shaders\":283,\"gl-buffer\":229,\"gl-shader\":286}],285:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=n(t,e),a=i.mallocUint8(e[0]*e[1]*4);return new c(t,r,a)};var n=t(\"gl-fbo\"),i=t(\"typedarray-pool\"),a=t(\"ndarray\"),o=t(\"bit-twiddle\").nextPow2,s=t(\"cwise/lib/wrapper\")({args:[\"array\",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},\"scalar\",\"scalar\",\"index\"],pre:{body:\"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}\",args:[],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[]},body:{body:\"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f<this_closestD2&&(this_closestD2=_inline_16_f,this_closestX=_inline_16_arg6_[0],this_closestY=_inline_16_arg6_[1])}}\",args:[{name:\"_inline_16_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg4_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg5_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_16_arg6_\",lvalue:!1,rvalue:!0,count:4}],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[\"_inline_16_a\",\"_inline_16_f\",\"_inline_16_l\"]},post:{body:\"{return[this_closestX,this_closestY,this_closestD2]}\",args:[],thisVars:[\"this_closestD2\",\"this_closestX\",\"this_closestY\"],localVars:[]},debug:!1,funcName:\"cwise\",blockSize:64});function l(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function c(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=c.prototype;Object.defineProperty(u,\"shape\",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;a<r*e*4;++a)n[a]=255}return t}}}),u.begin=function(){var t=this.gl;this.shape;t&&(this.fbo.bind(),t.clearColor(1,1,1,1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT))},u.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},u.query=function(t,e,r){if(!this.gl)return null;var n=this.fbo.shape.slice();t|=0,e|=0,\"number\"!=typeof r&&(r=1);var i=0|Math.min(Math.max(t-r,0),n[0]),o=0|Math.min(Math.max(t+r,0),n[0]),c=0|Math.min(Math.max(e-r,0),n[1]),u=0|Math.min(Math.max(e+r,0),n[1]);if(o<=i||u<=c)return null;var f=[o-i,u-c],h=a(this.buffer,[f[0],f[1],4],[4,4*n[0],1],4*(i+n[0]*c)),p=s(h.hi(f[0],f[1],1),r,r),d=p[0],g=p[1];return d<0||Math.pow(this.radius,2)<p[2]?null:new l(d+i|0,g+c|0,h.get(d,g,0),[h.get(d,g,1),h.get(d,g,2),h.get(d,g,3)],Math.sqrt(p[2]))},u.dispose=function(){this.gl&&(this.fbo.dispose(),i.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{\"bit-twiddle\":79,\"cwise/lib/wrapper\":136,\"gl-fbo\":238,ndarray:430,\"typedarray-pool\":519}],286:[function(t,e,r){\"use strict\";var n=t(\"./lib/create-uniforms\"),i=t(\"./lib/create-attributes\"),a=t(\"./lib/reflect\"),o=t(\"./lib/shader-cache\"),s=t(\"./lib/runtime-reflect\"),l=t(\"./lib/GLError\");function c(t){this.gl=t,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var u=c.prototype;function f(t,e){return t.name<e.name?-1:1}u.bind=function(){var t;this.program||this._relink();var e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e>r)for(t=r;t<e;t++)this.gl.enableVertexAttribArray(t);else if(r>e)for(t=e;t<r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},u.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e<t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},u.update=function(t,e,r,c){if(!e||1===arguments.length){var u=t;t=u.vertex,e=u.fragment,r=u.uniforms,c=u.attributes}var h=this,p=h.gl,d=h._vref;h._vref=o.shader(p,p.VERTEX_SHADER,t),d&&d.dispose(),h.vertShader=h._vref.shader;var g=this._fref;if(h._fref=o.shader(p,p.FRAGMENT_SHADER,e),g&&g.dispose(),h.fragShader=h._fref.shader,!r||!c){var m=p.createProgram();if(p.attachShader(m,h.fragShader),p.attachShader(m,h.vertShader),p.linkProgram(m),!p.getProgramParameter(m,p.LINK_STATUS)){var v=p.getProgramInfoLog(m);throw new l(v,\"Error linking program:\"+v)}r=r||s.uniforms(p,m),c=c||s.attributes(p,m),p.deleteProgram(m)}(c=c.slice()).sort(f);var y,x=[],b=[],_=[];for(y=0;y<c.length;++y){var w=c[y];if(w.type.indexOf(\"mat\")>=0){for(var k=0|w.type.charAt(w.type.length-1),M=new Array(k),A=0;A<k;++A)M[A]=_.length,b.push(w.name+\"[\"+A+\"]\"),\"number\"==typeof w.location?_.push(w.location+A):Array.isArray(w.location)&&w.location.length===k&&\"number\"==typeof w.location[A]?_.push(0|w.location[A]):_.push(-1);x.push({name:w.name,type:w.type,locations:M})}else x.push({name:w.name,type:w.type,locations:[_.length]}),b.push(w.name),\"number\"==typeof w.location?_.push(0|w.location):_.push(-1)}var T=0;for(y=0;y<_.length;++y)if(_[y]<0){for(;_.indexOf(T)>=0;)T+=1;_[y]=T}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(h.program,r[t].name)}E(),h._relink=E,h.types={uniforms:a(r),attributes:a(c)},h.attributes=i(p,h,x,_),Object.defineProperty(h,\"uniforms\",n(p,h,r,S))},e.exports=function(t,e,r,n,i){var a=new c(t);return a.update(e,r,n,i),a}},{\"./lib/GLError\":287,\"./lib/create-attributes\":288,\"./lib/create-uniforms\":289,\"./lib/reflect\":290,\"./lib/runtime-reflect\":291,\"./lib/shader-cache\":292}],287:[function(t,e,r){function n(t,e,r){this.shortMessage=e||\"\",this.longMessage=r||\"\",this.rawError=t||\"\",this.message=\"gl-shader: \"+(e||t||\"\")+(r?\"\\n\"+r:\"\"),this.stack=(new Error).stack}n.prototype=new Error,n.prototype.name=\"GLError\",n.prototype.constructor=n,e.exports=n},{}],288:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i){for(var a={},l=0,c=r.length;l<c;++l){var u=r[l],f=u.name,h=u.type,p=u.locations;switch(h){case\"bool\":case\"int\":case\"float\":o(t,e,p[0],i,1,a,f);break;default:if(h.indexOf(\"vec\")>=0){var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+f+\": \"+h);o(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf(\"mat\")>=0))throw new n(\"\",\"Unknown data type for attribute \"+f+\": \"+h);var d=h.charCodeAt(h.length-1)-48;if(d<2||d>4)throw new n(\"\",\"Invalid data type for attribute \"+f+\": \"+h);s(t,e,p,i,d,a,f)}}}return a};var n=t(\"./GLError\");function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;function o(t,e,r,n,a,o,s){for(var l=[\"gl\",\"v\"],c=[],u=0;u<a;++u)l.push(\"x\"+u),c.push(\"x\"+u);l.push(\"if(x0.length===void 0){return gl.vertexAttrib\"+a+\"f(v,\"+c.join()+\")}else{return gl.vertexAttrib\"+a+\"fv(v,x0)}\");var f=Function.apply(null,l),h=new i(t,e,r,n,a,f);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(n[r]),f(t,n[r],e),e},get:function(){return h},enumerable:!0})}function s(t,e,r,n,i,a,s){for(var l=new Array(i),c=new Array(i),u=0;u<i;++u)o(t,e,r[u],n,i,l,u),c[u]=l[u];Object.defineProperty(l,\"location\",{set:function(t){if(Array.isArray(t))for(var e=0;e<i;++e)c[e].location=t[e];else for(e=0;e<i;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(i),e=0;e<i;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,a,o,s){e=e||t.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var c=n[r[l]];t.vertexAttribPointer(c,i,e,a,o,s+l*i),t.enableVertexAttribArray(c)}};var f=new Array(i),h=t[\"vertexAttrib\"+i+\"fv\"];Object.defineProperty(a,s,{set:function(e){for(var a=0;a<i;++a){var o=n[r[a]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[a]);else{for(var s=0;s<i;++s)f[s]=e[i*a+s];h.call(t,o,f)}}return e},get:function(){return l},enumerable:!0})}a.pointer=function(t,e,r,n){var i=this._gl,a=this._locations[this._index];i.vertexAttribPointer(a,this._dimension,t||i.FLOAT,!!e,r||0,n||0),i.enableVertexAttribArray(a)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,\"location\",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{\"./GLError\":287}],289:[function(t,e,r){\"use strict\";var n=t(\"./reflect\"),i=t(\"./GLError\");function a(t){return new Function(\"y\",\"return function(){return y}\")(t)}function o(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}e.exports=function(t,e,r,s){function l(t,e,r){switch(r){case\"bool\":case\"int\":case\"sampler2D\":case\"samplerCube\":return\"gl.uniform1i(locations[\"+e+\"],obj\"+t+\")\";case\"float\":return\"gl.uniform1f(locations[\"+e+\"],obj\"+t+\")\";default:var n=r.indexOf(\"vec\");if(!(0<=n&&n<=1&&r.length===4+n)){if(0===r.indexOf(\"mat\")&&4===r.length){var a=r.charCodeAt(r.length-1)-48;if(a<2||a>4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+r);return\"gl.uniformMatrix\"+a+\"fv(locations[\"+e+\"],false,obj\"+t+\")\"}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+r)}var a=r.charCodeAt(r.length-1)-48;if(a<2||a>4)throw new i(\"\",\"Invalid data type\");switch(r.charAt(0)){case\"b\":case\"i\":return\"gl.uniform\"+a+\"iv(locations[\"+e+\"],obj\"+t+\")\";case\"v\":return\"gl.uniform\"+a+\"fv(locations[\"+e+\"],obj\"+t+\")\";default:throw new i(\"\",\"Unrecognized data type for vector \"+name+\": \"+r)}}}function c(e){for(var n=[\"return function updateProperty(obj){\"],i=function t(e,r){if(\"object\"!=typeof r)return[[e,r]];var n=[];for(var i in r){var a=r[i],o=e;parseInt(i)+\"\"===i?o+=\"[\"+i+\"]\":o+=\".\"+i,\"object\"==typeof a?n.push.apply(n,t(o,a)):n.push([o,a])}return n}(\"\",e),a=0;a<i.length;++a){var o=i[a],c=o[0],u=o[1];s[u]&&n.push(l(c,u,r[u].type))}n.push(\"return obj}\");var f=new Function(\"gl\",\"locations\",n.join(\"\\n\"));return f(t,s)}function u(n,l,u){if(\"object\"==typeof u){var h=f(u);Object.defineProperty(n,l,{get:a(h),set:c(u),enumerable:!0,configurable:!1})}else s[u]?Object.defineProperty(n,l,{get:(p=u,new Function(\"gl\",\"wrapper\",\"locations\",\"return function(){return gl.getUniform(wrapper.program,locations[\"+p+\"])}\")(t,e,s)),set:c(u),enumerable:!0,configurable:!1}):n[l]=function(t){switch(t){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":case\"float\":return 0;default:var e=t.indexOf(\"vec\");if(0<=e&&e<=1&&t.length===4+e){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new i(\"\",\"Invalid data type\");return\"b\"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf(\"mat\")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new i(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+t);return o(r*r,0)}throw new i(\"\",\"Unknown uniform data type for \"+name+\": \"+t)}}(r[u].type);var p}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)u(e,r,t[r])}else for(var n in e={},t)u(e,n,t[n]);return e}var h=n(r,!0);return{get:a(f(h)),set:c(h),enumerable:!0,configurable:!0}}},{\"./GLError\":287,\"./reflect\":290}],290:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name,a=i.split(\".\"),o=r,s=0;s<a.length;++s){var l=a[s].split(\"[\");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var c=1;c<l.length;++c){var u=parseInt(l[c]);c<l.length-1||s<a.length-1?(u in o||(c<l.length-1?o[u]=[]:o[u]={}),o=o[u]):o[u]=e?n:t[n].type}}else s<a.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):o[l[0]]=e?n:t[n].type}return r}},{}],291:[function(t,e,r){\"use strict\";r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],i=0;i<r;++i){var o=t.getActiveUniform(e,i);if(o){var s=a(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)n.push({name:o.name.replace(\"[0]\",\"[\"+l+\"]\"),type:s});else n.push({name:o.name,type:s})}}return n},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],i=0;i<r;++i){var o=t.getActiveAttrib(e,i);o&&n.push({name:o.name,type:a(t,o.type)})}return n};var n={FLOAT:\"float\",FLOAT_VEC2:\"vec2\",FLOAT_VEC3:\"vec3\",FLOAT_VEC4:\"vec4\",INT:\"int\",INT_VEC2:\"ivec2\",INT_VEC3:\"ivec3\",INT_VEC4:\"ivec4\",BOOL:\"bool\",BOOL_VEC2:\"bvec2\",BOOL_VEC3:\"bvec3\",BOOL_VEC4:\"bvec4\",FLOAT_MAT2:\"mat2\",FLOAT_MAT3:\"mat3\",FLOAT_MAT4:\"mat4\",SAMPLER_2D:\"sampler2D\",SAMPLER_CUBE:\"samplerCube\"},i=null;function a(t,e){if(!i){var r=Object.keys(n);i={};for(var a=0;a<r.length;++a){var o=r[a];i[t[o]]=n[o]}}return i[e]}},{}],292:[function(t,e,r){\"use strict\";r.shader=function(t,e,r){return u(t).getShaderReference(e,r)},r.program=function(t,e,r,n,i){return u(t).getProgram(e,r,n,i)};var n=t(\"./GLError\"),i=t(\"gl-format-compiler-error\"),a=new(\"undefined\"==typeof WeakMap?t(\"weakmap-shim\"):WeakMap),o=0;function s(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function l(t){this.gl=t,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var c=l.prototype;function u(t){var e=a.get(t);return e||(e=new l(t),a.set(t,e)),e}c.getShaderReference=function(t,e){var r=this.gl,a=this.shaders[t===r.FRAGMENT_SHADER|0],l=a[e];if(l&&r.isShader(l.shader))l.count+=1;else{var c=function(t,e,r){var a=t.createShader(e);if(t.shaderSource(a,r),t.compileShader(a),!t.getShaderParameter(a,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(a);try{var s=i(o,r,e)}catch(t){throw console.warn(\"Failed to format compiler error: \"+t),new n(o,\"Error compiling shader:\\n\"+o)}throw new n(o,s.short,s.long)}return a}(r,t,e);l=a[e]=new s(o++,e,t,c,[],1,this)}return l},c.getProgram=function(t,e,r,i){var a=[t.id,e.id,r.join(\":\"),i.join(\":\")].join(\"@\"),o=this.programs[a];return o&&this.gl.isProgram(o)||(this.programs[a]=o=function(t,e,r,i,a){var o=t.createProgram();t.attachShader(o,e),t.attachShader(o,r);for(var s=0;s<i.length;++s)t.bindAttribLocation(o,a[s],i[s]);if(t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS)){var l=t.getProgramInfoLog(o);throw new n(l,\"Error linking program: \"+l)}return o}(this.gl,t.shader,e.shader,r,i),t.programs.push(a),e.programs.push(a)),o}},{\"./GLError\":287,\"gl-format-compiler-error\":239,\"weakmap-shim\":529}],293:[function(t,e,r){\"use strict\";function n(t){this.plot=t,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}e.exports=function(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r};var i=n.prototype;i.update=function(t){t=t||{},this.enable=(t.enable||[!0,!0,!1,!1]).slice(),this.width=(t.width||[1,1,1,1]).slice(),this.color=(t.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map(function(t){return t.slice()}),this.center=(t.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},i.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),c=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&a.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&&a.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&&a.drawLine(l,c,l,s[3],e[3],r[3])}},i.dispose=function(){this.plot.removeOverlay(this)}},{}],294:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=t(\"gl-shader\"),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec3 position, color;\\nattribute float weight;\\n\\nuniform mat4 model, view, projection;\\nuniform vec3 coordinates[3];\\nuniform vec4 colors[3];\\nuniform vec2 screenShape;\\nuniform float lineWidth;\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  vec3 vertexPosition = mix(coordinates[0],\\n    mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\\n\\n  vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\\n  vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\\n  vec2 delta = weight * clipOffset * screenShape;\\n  vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\\n\\n  gl_Position   = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\\n  fragColor     = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\\n}\\n\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n  gl_FragColor = fragColor;\\n}\"]);e.exports=function(t){return i(t,a,o,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec3\"},{name:\"weight\",type:\"float\"}])}},{\"gl-shader\":286,glslify:390}],295:[function(t,e,r){\"use strict\";var n=t(\"gl-buffer\"),i=t(\"gl-vao\"),a=t(\"./shaders/index\");e.exports=function(t,e){var r=[];function o(t,e,n,i,a,o){var s=[t,e,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,r.push.apply(r,s)}o(0,0,0,0,0,1),o(0,0,0,1,0,1),o(0,0,0,2,0,1),o(1,0,0,1,-1,1),o(1,0,0,2,-1,1),o(0,1,0,0,-1,1),o(0,1,0,2,-1,1),o(0,0,1,0,-1,1),o(0,0,1,1,-1,1);var l=n(t,r),c=i(t,[{type:t.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:l,size:1,offset:24,stride:28}]),u=a(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var f=new s(t,l,c,u);return f.update(e),f};var o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var l=s.prototype,c=[0,0,0],u=[0,0,0],f=[0,0];l.isTransparent=function(){return!1},l.drawTransparent=function(t){},l.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||o,s=t.view||o,l=t.projection||o;this.axes&&(i=this.axes.lastCubeProps.axis);for(var h=c,p=u,d=0;d<3;++d)i&&i[d]<0?(h[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(h[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=f;for(d=0;d<3;++d)n.uniforms.lineWidth=this.lineWidth[d]*this.pixelRatio,this.enabled[d]&&(r.draw(e.TRIANGLES,6,6*d),this.drawSides[d]&&r.draw(e.TRIANGLES,12,18+12*d));r.unbind()},l.update=function(t){t&&(\"bounds\"in t&&(this.bounds=t.bounds),\"position\"in t&&(this.position=t.position),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"colors\"in t&&(this.colors=t.colors),\"enabled\"in t&&(this.enabled=t.enabled),\"drawSides\"in t&&(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{\"./shaders/index\":294,\"gl-buffer\":229,\"gl-vao\":308}],296:[function(t,e,r){arguments[4][231][0].apply(r,arguments)},{barycentric:60,dup:231,\"polytope-closest-point/lib/closest_point_2d.js\":461}],297:[function(t,e,r){var n=t(\"glslify\"),i=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat inverse(float m) {\\n  return 1.0 / m;\\n}\\n\\nmat2 inverse(mat2 m) {\\n  return mat2(m[1][1],-m[0][1],\\n             -m[1][0], m[0][0]) / (m[0][0]*m[1][1] - m[0][1]*m[1][0]);\\n}\\n\\nmat3 inverse(mat3 m) {\\n  float a00 = m[0][0], a01 = m[0][1], a02 = m[0][2];\\n  float a10 = m[1][0], a11 = m[1][1], a12 = m[1][2];\\n  float a20 = m[2][0], a21 = m[2][1], a22 = m[2][2];\\n\\n  float b01 = a22 * a11 - a12 * a21;\\n  float b11 = -a22 * a10 + a12 * a20;\\n  float b21 = a21 * a10 - a11 * a20;\\n\\n  float det = a00 * b01 + a01 * b11 + a02 * b21;\\n\\n  return mat3(b01, (-a22 * a01 + a02 * a21), (a12 * a01 - a02 * a11),\\n              b11, (a22 * a00 - a02 * a20), (-a12 * a00 + a02 * a10),\\n              b21, (-a21 * a00 + a01 * a20), (a11 * a00 - a01 * a10)) / det;\\n}\\n\\nmat4 inverse(mat4 m) {\\n  float\\n      a00 = m[0][0], a01 = m[0][1], a02 = m[0][2], a03 = m[0][3],\\n      a10 = m[1][0], a11 = m[1][1], a12 = m[1][2], a13 = m[1][3],\\n      a20 = m[2][0], a21 = m[2][1], a22 = m[2][2], a23 = m[2][3],\\n      a30 = m[3][0], a31 = m[3][1], a32 = m[3][2], a33 = m[3][3],\\n\\n      b00 = a00 * a11 - a01 * a10,\\n      b01 = a00 * a12 - a02 * a10,\\n      b02 = a00 * a13 - a03 * a10,\\n      b03 = a01 * a12 - a02 * a11,\\n      b04 = a01 * a13 - a03 * a11,\\n      b05 = a02 * a13 - a03 * a12,\\n      b06 = a20 * a31 - a21 * a30,\\n      b07 = a20 * a32 - a22 * a30,\\n      b08 = a20 * a33 - a23 * a30,\\n      b09 = a21 * a32 - a22 * a31,\\n      b10 = a21 * a33 - a23 * a31,\\n      b11 = a22 * a33 - a23 * a32,\\n\\n      det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;\\n\\n  return mat4(\\n      a11 * b11 - a12 * b10 + a13 * b09,\\n      a02 * b10 - a01 * b11 - a03 * b09,\\n      a31 * b05 - a32 * b04 + a33 * b03,\\n      a22 * b04 - a21 * b05 - a23 * b03,\\n      a12 * b08 - a10 * b11 - a13 * b07,\\n      a00 * b11 - a02 * b08 + a03 * b07,\\n      a32 * b02 - a30 * b05 - a33 * b01,\\n      a20 * b05 - a22 * b02 + a23 * b01,\\n      a10 * b10 - a11 * b08 + a13 * b06,\\n      a01 * b08 - a00 * b10 - a03 * b06,\\n      a30 * b04 - a31 * b02 + a33 * b00,\\n      a21 * b02 - a20 * b04 - a23 * b00,\\n      a11 * b07 - a10 * b09 - a12 * b06,\\n      a00 * b09 - a01 * b07 + a02 * b06,\\n      a31 * b01 - a30 * b03 - a32 * b00,\\n      a20 * b03 - a21 * b01 + a22 * b00) / det;\\n}\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n  float segmentCount = 8.0;\\n\\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d);\\n  vec3 y = v * sin(angle) * length(d);\\n  vec3 v3 = x + y;\\n\\n  normal = normalize(v3);\\n\\n  return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 color, position;\\nattribute vec2 uv;\\nuniform float tubeScale;\\n\\nuniform mat4 model\\n           , view\\n           , projection;\\nuniform vec3 eyePosition\\n           , lightPosition;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  // Scale the vector magnitude to stay constant with\\n  // model & view changes.\\n  vec3 normal;\\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal), 0.0);\\n  normal = normalize(normal * inverse(mat3(model)));\\n\\n  vec4 t_position  = view * tubePosition;\\n  gl_Position      = projection * t_position;\\n  f_color          = color;\\n  f_normal         = normal;\\n  f_data           = tubePosition.xyz;\\n  f_eyeDirection   = eyePosition   - tubePosition.xyz;\\n  f_lightDirection = lightPosition - tubePosition.xyz;\\n  f_uv             = uv;\\n}\\n\"]),a=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat cookTorranceSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness,\\n  float fresnel) {\\n\\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\\n\\n  //Half angle vector\\n  vec3 H = normalize(lightDirection + viewDirection);\\n\\n  //Geometric term\\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\\n  float VdotH = max(dot(viewDirection, H), 0.000001);\\n  float LdotH = max(dot(lightDirection, H), 0.000001);\\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\\n  float G = min(1.0, min(G1, G2));\\n  \\n  //Distribution term\\n  float D = beckmannDistribution(NdotH, roughness);\\n\\n  //Fresnel term\\n  float F = pow(1.0 - VdotN, fresnel);\\n\\n  //Multiply terms and done\\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\\n}\\n\\nuniform vec3 clipBounds[2];\\nuniform float roughness\\n            , fresnel\\n            , kambient\\n            , kdiffuse\\n            , kspecular\\n            , opacity;\\nuniform sampler2D texture;\\n\\nvarying vec3 f_normal\\n           , f_lightDirection\\n           , f_eyeDirection\\n           , f_data;\\nvarying vec4 f_color;\\nvarying vec2 f_uv;\\n\\nvoid main() {\\n  vec3 N = normalize(f_normal);\\n  vec3 L = normalize(f_lightDirection);\\n  vec3 V = normalize(f_eyeDirection);\\n  \\n  if(!gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = cookTorranceSpecular(L, V, N, roughness, fresnel);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  vec4 surfaceColor =  texture2D(texture, f_uv);\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = litColor * opacity;\\n}\"]),o=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvec3 getOrthogonalVector(vec3 v) {\\n  // Return up-vector for only-z vector.\\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\\n  // Assign z = 0, x = -b, y = a:\\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\\n    return normalize(vec3(-v.y, v.x, 0.0));\\n  } else {\\n    return normalize(vec3(0.0, v.z, -v.y));\\n  }\\n}\\n\\n// Calculate the tube vertex and normal at the given index.\\n//\\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\\n//\\n// Each tube segment is made up of a ring of vertices.\\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\\n// The indexes of tube segments run from 0 to 8.\\n//\\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\\n  float segmentCount = 8.0;\\n\\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\\n\\n  vec3 u = getOrthogonalVector(d);\\n  vec3 v = normalize(cross(u, d));\\n\\n  vec3 x = u * cos(angle) * length(d);\\n  vec3 y = v * sin(angle) * length(d);\\n  vec3 v3 = x + y;\\n\\n  normal = normalize(v3);\\n\\n  return v3;\\n}\\n\\nattribute vec4 vector;\\nattribute vec4 position;\\nattribute vec4 id;\\n\\nuniform mat4 model, view, projection;\\nuniform float tubeScale;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  vec3 normal;\\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal), 0.0);\\n  gl_Position = projection * view * tubePosition;\\n  f_id        = id;\\n  f_position  = position.xyz;\\n}\\n\"]),s=n([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec3  clipBounds[2];\\nuniform float pickId;\\n\\nvarying vec3 f_position;\\nvarying vec4 f_id;\\n\\nvoid main() {\\n  gl_FragColor = vec4(pickId, f_id.xyz);\\n}\"]);r.meshShader={vertex:i,fragment:a,attributes:[{name:\"position\",type:\"vec4\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},{glslify:390}],298:[function(t,e,r){\"use strict\";var n=t(\"gl-shader\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"normals\"),l=t(\"gl-mat4/multiply\"),c=t(\"gl-mat4/invert\"),u=t(\"ndarray\"),f=t(\"colormap\"),h=t(\"simplicial-complex-contour\"),p=t(\"typedarray-pool\"),d=t(\"./shaders\"),g=(t(\"./closest-point\"),d.meshShader),m=d.pickShader,v=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function y(t,e,r,n,i,a,o,s,l,c,u,f,h,p,d,g,m,y,x,b,_,w,k,M,A,T,S,E){this.gl=t,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleVectors=c,this.triangleColors=f,this.triangleNormals=p,this.triangleUVs=h,this.triangleIds=u,this.triangleVAO=d,this.triangleCount=0,this.lineWidth=1,this.edgePositions=g,this.edgeColors=y,this.edgeUVs=x,this.edgeIds=m,this.edgeVAO=b,this.edgeCount=0,this.pointPositions=_,this.pointColors=k,this.pointUVs=M,this.pointSizes=A,this.pointIds=w,this.pointVAO=T,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=S,this.contourVAO=E,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!1,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.tubeScale=1,this._model=v,this._view=v,this._projection=v,this._resolution=[1,1]}var x=y.prototype;function b(t){var e=n(t,m.vertex,m.fragment,null,m.attributes);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.vector.location=5,e}x.isOpaque=function(){return this.opacity>=1},x.isTransparent=function(){return this.opacity<1},x.pickSlots=1,x.setPickBase=function(t){this.pickId=t},x.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var c=r[l],u=0;u<2;++u){var f=c[0];2===c.length&&(f=c[u]);for(var d=n[f][0],g=n[f][1],m=i[f],v=1-m,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=m*y[b]+v*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},x.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,\"contourEnable\"in t&&(this.contourEnable=t.contourEnable),\"contourColor\"in t&&(this.contourColor=t.contourColor),\"lineWidth\"in t&&(this.lineWidth=t.lineWidth),\"lightPosition\"in t&&(this.lightPosition=t.lightPosition),\"opacity\"in t&&(this.opacity=t.opacity),\"ambient\"in t&&(this.ambientLight=t.ambient),\"diffuse\"in t&&(this.diffuseLight=t.diffuse),\"specular\"in t&&(this.specularLight=t.specular),\"roughness\"in t&&(this.roughness=t.roughness),\"fresnel\"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=f({colormap:t,nshades:256,format:\"rgba\"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale);var a=[],l=[],c=[],h=[],p=[],d=[],g=[],m=[],v=[],y=[],x=[],b=[],_=[],w=[],k=[];this.cells=r,this.positions=n,this.vectors=i;var M=t.vertexNormals,A=t.cellNormals,T=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,S=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!A&&(A=s.faceNormals(r,n,S)),A||M||(M=s.vertexNormals(r,n,T));var E=t.vertexColors,C=t.cellColors,L=t.meshColor||[1,1,1,1],z=t.vertexUVs,P=t.vertexIntensity,O=t.cellUVs,I=t.cellIntensity,D=1/0,R=-1/0;if(!z&&!O)if(P)if(t.vertexIntensityBounds)D=+t.vertexIntensityBounds[0],R=+t.vertexIntensityBounds[1];else for(var B=0;B<P.length;++B){var F=P[B];D=Math.min(D,F),R=Math.max(R,F)}else if(I)for(B=0;B<I.length;++B){F=I[B];D=Math.min(D,F),R=Math.max(R,F)}else for(B=0;B<n.length;++B){F=n[B][2];D=Math.min(D,F),R=Math.max(R,F)}this.intensity=P||(I?function(t,e,r){for(var n=new Array(e),i=0;i<e;++i)n[i]=0;var a=t.length;for(i=0;i<a;++i)for(var o=t[i],s=0;s<o.length;++s)n[o[s]]=r[i];return n}(r,n.length,I):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var N=t.pointSizes,j=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(B=0;B<n.length;++B)for(var V=n[B],U=0;U<3;++U)!isNaN(V[U])&&isFinite(V[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],V[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],V[U]));var q=0,H=0,G=0;t:for(B=0;B<r.length;++B){var W=r[B];switch(W.length){case 1:for(V=n[X=W[0]],U=0;U<3;++U)if(isNaN(V[U])||!isFinite(V[U]))continue t;x.push(V[0],V[1],V[2],V[3]),3===(Z=E?E[X]:C?C[B]:L).length?b.push(Z[0],Z[1],Z[2],1):b.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],_.push($[0],$[1]),N?w.push(N[X]):w.push(j),k.push(B),G+=1;break;case 2:for(U=0;U<2;++U){V=n[X=W[U]];for(var Y=0;Y<3;++Y)if(isNaN(V[Y])||!isFinite(V[Y]))continue t}for(U=0;U<2;++U){V=n[X=W[U]];g.push(V[0],V[1],V[2]),3===(Z=E?E[X]:C?C[B]:L).length?m.push(Z[0],Z[1],Z[2],1):m.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],v.push($[0],$[1]),y.push(B)}H+=1;break;case 3:for(U=0;U<3;++U)for(V=n[X=W[U]],Y=0;Y<3;++Y)if(isNaN(V[Y])||!isFinite(V[Y]))continue t;for(U=0;U<3;++U){var X;V=n[X=W[U]];a.push(V[0],V[1],V[2],V[3]);var Z,$,J,K=i[X];l.push(K[0],K[1],K[2],K[3]),3===(Z=E?E[X]:C?C[B]:L).length?c.push(Z[0],Z[1],Z[2],1):c.push(Z[0],Z[1],Z[2],Z[3]),$=z?z[X]:P?[(P[X]-D)/(R-D),0]:O?O[B]:I?[(I[B]-D)/(R-D),0]:[(V[2]-D)/(R-D),0],p.push($[0],$[1]),J=M?M[X]:A[B],h.push(J[0],J[1],J[2]),d.push(B)}q+=1}}this.pointCount=G,this.edgeCount=H,this.triangleCount=q,this.pointPositions.update(x),this.pointColors.update(b),this.pointUVs.update(_),this.pointSizes.update(w),this.pointIds.update(new Uint32Array(k)),this.edgePositions.update(g),this.edgeColors.update(m),this.edgeUVs.update(v),this.edgeIds.update(new Uint32Array(y)),this.trianglePositions.update(a),this.triangleVectors.update(l),this.triangleColors.update(c),this.triangleUVs.update(p),this.triangleNormals.update(h),this.triangleIds.update(new Uint32Array(d))}},x.drawTransparent=x.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||v,n=t.view||v,i=t.projection||v,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,contourColor:this.contourColor,texture:0};this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var f,h=u[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},x.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||v,n=t.view||v,i=t.projection||v,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},x.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3);return{index:e,position:n,intensity:this.intensity[r[1]],velocity:this.vectors[r[1]].slice(0,3),divergence:this.vectors[r[1]][3],dataCoordinate:n}},x.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose()},e.exports=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=e.triShader||function(t){var e=n(t,g.vertex,g.fragment,null,g.attributes);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.vector.location=5,e}(t),s=b(t),l=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));l.generateMipmap(),l.minFilter=t.LINEAR_MIPMAP_LINEAR,l.magFilter=t.LINEAR;var c=i(t),f=i(t),h=i(t),p=i(t),d=i(t),m=i(t),v=a(t,[{buffer:c,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:h,type:t.FLOAT,size:4},{buffer:p,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:3},{buffer:f,type:t.FLOAT,size:4}]),x=i(t),_=i(t),w=i(t),k=i(t),M=a(t,[{buffer:x,type:t.FLOAT,size:3},{buffer:k,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2}]),A=i(t),T=i(t),S=i(t),E=i(t),C=i(t),L=a(t,[{buffer:A,type:t.FLOAT,size:3},{buffer:C,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:T,type:t.FLOAT,size:4},{buffer:S,type:t.FLOAT,size:2},{buffer:E,type:t.FLOAT,size:1}]),z=i(t),P=new y(t,l,r,null,null,s,null,null,c,f,m,h,p,d,v,x,k,_,w,M,A,C,T,S,E,L,z,a(t,[{buffer:z,type:t.FLOAT,size:3}]));return P.update(e),P}},{\"./closest-point\":296,\"./shaders\":297,colormap:113,\"gl-buffer\":229,\"gl-mat4/invert\":253,\"gl-mat4/multiply\":255,\"gl-shader\":286,\"gl-texture2d\":303,\"gl-vao\":308,ndarray:430,normals:433,\"simplicial-complex-contour\":491,\"typedarray-pool\":519}],299:[function(t,e,r){\"use strict\";var n=t(\"gl-vec3\"),i=t(\"gl-vec4\"),a=function(t,e,r,a){for(var o=0,s=0;s<t.length;s++)for(var l=t[s].velocities,c=0;c<l.length;c++){var u=n.length(l[c]);u>o&&(o=u)}var f=t.map(function(t){return function(t,e,r,a){var o,s,l,c=t.points,u=t.velocities,f=t.divergences;n.set(n.create(),0,1,0),n.create(),n.create();n.create();for(var h=[],p=[],d=[],g=[],m=[],v=[],y=0,x=0,b=i.create(),_=i.create(),w=0;w<c.length;w++){o=c[w],s=u[w],l=f[w],0===e&&(l=.05*r),x=n.length(s)/a,b=i.create(),n.copy(b,s),b[3]=l;for(var k=0;k<8;k++)m[k]=[o[0],o[1],o[2],k];if(g.length>0)for(k=0;k<8;k++){var M=(k+1)%8;h.push(g[k],m[k],m[M],m[M],g[M],g[k]),d.push(_,b,b,b,_,_),v.push(y,x,x,x,y,y),p.push([h.length-6,h.length-5,h.length-4],[h.length-3,h.length-2,h.length-1])}var A=g;g=m,m=A,A=_,_=b,b=A,A=y,y=x,x=A}return{positions:h,cells:p,vectors:d,vertexIntensity:v}}(t,r,a,o)}),h=[],p=[],d=[],g=[];for(s=0;s<f.length;s++){var m=f[s],v=h.length;h=h.concat(m.positions),d=d.concat(m.vectors),g=g.concat(m.vertexIntensity);for(c=0;c<m.cells.length;c++){var y=m.cells[c],x=[];p.push(x);for(var b=0;b<y.length;b++)x.push(y[b]+v)}}return{positions:h,cells:p,vectors:d,vertexIntensity:g,colormap:e}},o=function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=this.getVelocity(r);n.subtract(a,a,e),n.scale(a,a,1e4),n.add(r,t,[0,i,0]);var o=this.getVelocity(r);n.subtract(o,o,e),n.scale(o,o,1e4),n.add(r,t,[0,0,i]);var s=this.getVelocity(r);return n.subtract(s,s,e),n.scale(s,s,1e4),n.add(r,a,o),n.add(r,r,s),r},s=function(t){return h(t,this.vectors,this.meshgrid,this.clampBorders)},l=function(t,e){for(var r=0;r<t.length;r++){var n=t[r];if(n===e)return r;if(n>e)return r-1}return r},c=n.create(),u=n.create(),f=function(t,e,r){return t<e?e:t>r?r:t},h=function(t,e,r,i){var a=t[0],o=t[1],s=t[2],h=r[0].length,p=r[1].length,d=r[2].length,g=l(r[0],a),m=l(r[1],o),v=l(r[2],s),y=g+1,x=m+1,b=v+1;if(r[0][g]===a&&(y=g),r[1][m]===o&&(x=m),r[2][v]===s&&(b=v),i&&(g=f(g,0,h-1),y=f(y,0,h-1),m=f(m,0,p-1),x=f(x,0,p-1),v=f(v,0,d-1),b=f(b,0,d-1)),g<0||m<0||v<0||y>=h||x>=p||b>=d)return n.create();var _=(a-r[0][g])/(r[0][y]-r[0][g]),w=(o-r[1][m])/(r[1][x]-r[1][m]),k=(s-r[2][v])/(r[2][b]-r[2][v]);(_<0||_>1||isNaN(_))&&(_=0),(w<0||w>1||isNaN(w))&&(w=0),(k<0||k>1||isNaN(k))&&(k=0);var M=v*h*p,A=b*h*p,T=m*h,S=x*h,E=g,C=y,L=e[T+M+E],z=e[T+M+C],P=e[S+M+E],O=e[S+M+C],I=e[T+A+E],D=e[T+A+C],R=e[S+A+E],B=e[S+A+C],F=n.create();return n.lerp(F,L,z,_),n.lerp(c,P,O,_),n.lerp(F,F,c,w),n.lerp(c,I,D,_),n.lerp(u,R,B,_),n.lerp(c,c,u,w),n.lerp(F,F,c,k),F},p=function(t){var e=1/0;t.sort(function(t,e){return t-e});for(var r=1;r<t.length;r++){var n=Math.abs(t[r]-t[r-1]);n<e&&(e=n)}return e};e.exports=function(t,e){var r=t.startingPositions,i=t.maxLength||1e3,l=t.tubeSize||1,c=t.absoluteTubeSize;t.getDivergence||(t.getDivergence=o),t.getVelocity||(t.getVelocity=s),void 0===t.clampBorders&&(t.clampBorders=!0);var u=[],f=e[0][0],h=e[0][1],d=e[0][2],g=e[1][0],m=e[1][1],v=e[1][2],y=function(t,e){var r=e[0],n=e[1],i=e[2];return r>=f&&r<=g&&n>=h&&n<=m&&i>=d&&i<=v},x=10*n.distance(e[0],e[1])/i,b=x*x,_=1,w=0;n.create();r.length>=2&&(_=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=0;s<t.length;s++){var l=t[s],c=l[0],u=l[1],f=l[2];i[c]||(e.push(c),i[c]=!0),a[u]||(r.push(u),a[u]=!0),o[f]||(n.push(f),o[f]=!0)}var h=p(e),d=p(r),g=p(n),m=Math.min(h,d,g);return isFinite(m)?m:1}(r));for(var k=0;k<r.length;k++){var M=n.create();n.copy(M,r[k]);var A=[M],T=[],S=t.getVelocity(M),E=M;T.push(S);var C=[],L=t.getDivergence(M,S);(I=n.length(L))>w&&!isNaN(I)&&isFinite(I)&&(w=I),C.push(I),u.push({points:A,velocities:T,divergences:C});for(var z=0;z<100*i&&A.length<i&&y(0,M);){z++;var P=n.clone(S),O=n.squaredLength(P);if(0===O)break;if(O>b&&n.scale(P,P,x/Math.sqrt(O)),n.add(P,P,M),S=t.getVelocity(P),n.squaredDistance(E,P)-b>-1e-4*b){A.push(P),E=P,T.push(S);L=t.getDivergence(P,S);(I=n.length(L))>w&&!isNaN(I)&&isFinite(I)&&(w=I),C.push(I)}M=P}}for(k=0;k<C.length;k++){var I=C[k];!isNaN(I)&&isFinite(I)||(C[k]=w)}var D=a(u,t.colormap,w,_);return c?D.tubeScale=c:(0===w&&(w=1),D.tubeScale=.5*l*_/w),D},e.exports.createTubeMesh=t(\"./lib/tubemesh\")},{\"./lib/tubemesh\":298,\"gl-vec3\":327,\"gl-vec4\":363}],300:[function(t,e,r){var n=t(\"gl-shader\"),i=t(\"glslify\"),a=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute vec3 f;\\nattribute vec3 normal;\\n\\nuniform mat4 model, view, projection, inverseModel;\\nuniform vec3 lightPosition, eyePosition;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  worldCoordinate = vec3(uv.zw, f.x);\\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\\n  vec4 clipPosition = projection * view * worldPosition;\\n  gl_Position = clipPosition;\\n  kill = f.y;\\n  value = f.z;\\n  planeCoordinate = uv.xy;\\n\\n  vColor = texture2D(colormap, vec2(value, value));\\n\\n  //Lighting geometry parameters\\n  vec4 cameraCoordinate = view * worldPosition;\\n  cameraCoordinate.xyz /= cameraCoordinate.w;\\n  lightDirection = lightPosition - cameraCoordinate.xyz;\\n  eyeDirection   = eyePosition - cameraCoordinate.xyz;\\n  surfaceNormal  = normalize((vec4(normal,0) * inverseModel).xyz);\\n}\\n\"]),o=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nfloat beckmannDistribution(float x, float roughness) {\\n  float NdotH = max(x, 0.0001);\\n  float cos2Alpha = NdotH * NdotH;\\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\\n  float roughness2 = roughness * roughness;\\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\\n  return exp(tan2Alpha / roughness2) / denom;\\n}\\n\\nfloat beckmannSpecular(\\n  vec3 lightDirection,\\n  vec3 viewDirection,\\n  vec3 surfaceNormal,\\n  float roughness) {\\n  return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\\n}\\n\\nuniform vec3 lowerBound, upperBound;\\nuniform float contourTint;\\nuniform vec4 contourColor;\\nuniform sampler2D colormap;\\nuniform vec3 clipBounds[2];\\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\\nuniform float vertexColor;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  if (kill > 0.0 ||\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\n    discard;\\n  }\\n\\n  vec3 N = normalize(surfaceNormal);\\n  vec3 V = normalize(eyeDirection);\\n  vec3 L = normalize(lightDirection);\\n\\n  if(gl_FrontFacing) {\\n    N = -N;\\n  }\\n\\n  float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\\n\\n  //decide how to interpolate color \\u2014 in vertex or in fragment\\n  vec4 surfaceColor = step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) + step(.5, vertexColor) * vColor;\\n\\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\\n\\n  gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\\n}\\n\"]),s=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute vec4 uv;\\nattribute float f;\\n\\nuniform mat3 permutation;\\nuniform mat4 model, view, projection;\\nuniform float height, zOffset;\\nuniform sampler2D colormap;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\\nvarying vec4 vColor;\\n\\nvoid main() {\\n  vec3 dataCoordinate = permutation * vec3(uv.xy, height);\\n  vec4 worldPosition = model * vec4(dataCoordinate, 1.0);\\n\\n  vec4 clipPosition = projection * view * worldPosition;\\n  clipPosition.z = clipPosition.z + zOffset;\\n\\n  gl_Position = clipPosition;\\n  value = f;\\n  kill = -1.0;\\n  worldCoordinate = dataCoordinate;\\n  planeCoordinate = uv.zw;\\n\\n  vColor = texture2D(colormap, vec2(value, value));\\n\\n  //Don't do lighting for contours\\n  surfaceNormal   = vec3(1,0,0);\\n  eyeDirection    = vec3(0,1,0);\\n  lightDirection  = vec3(0,0,1);\\n}\\n\"]),l=i([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nuniform vec2 shape;\\nuniform vec3 clipBounds[2];\\nuniform float pickId;\\n\\nvarying float value, kill;\\nvarying vec3 worldCoordinate;\\nvarying vec2 planeCoordinate;\\nvarying vec3 surfaceNormal;\\n\\nvec2 splitFloat(float v) {\\n  float vh = 255.0 * v;\\n  float upper = floor(vh);\\n  float lower = fract(vh);\\n  return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\\n}\\n\\nvoid main() {\\n  if(kill > 0.0 ||\\n    any(lessThan(worldCoordinate, clipBounds[0])) || any(greaterThan(worldCoordinate, clipBounds[1]))) {\\n    discard;\\n  }\\n  vec2 ux = splitFloat(planeCoordinate.x / shape.x);\\n  vec2 uy = splitFloat(planeCoordinate.y / shape.y);\\n  gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\\n}\\n\"]);r.createShader=function(t){var e=n(t,a,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,a,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{\"gl-shader\":286,glslify:390}],301:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=i(e),u=a(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var m=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,f,h,p,d),v={levels:[[],[],[]]};for(var k in t)v[k]=t[k];return v.colormap=v.colormap||\"jet\",m.update(v),m};var n=t(\"bit-twiddle\"),i=t(\"gl-buffer\"),a=t(\"gl-vao\"),o=t(\"gl-texture2d\"),s=t(\"typedarray-pool\"),l=t(\"colormap\"),c=t(\"ndarray-ops\"),u=t(\"ndarray-pack\"),f=t(\"ndarray\"),h=t(\"surface-nets\"),p=t(\"gl-mat4/multiply\"),d=t(\"gl-mat4/invert\"),g=t(\"binary-search-bounds\"),m=t(\"ndarray-gradient\"),v=t(\"./lib/shaders\"),y=v.createShader,x=v.createContourShader,b=v.createPickShader,_=v.createPickContourShader,w=40,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],M=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function T(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,i,a,o,l,c,u,h,p,d,g){this.gl=t,this.shape=e,this.bounds=r,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new T([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var C=E.prototype;C.isTransparent=function(){return this.opacity<1},C.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},C.pickSlots=1,C.setPickBase=function(t){this.pickId=t};var L=[0,0,0],z={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function P(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||L,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=z.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var c=z.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return z.showSurface=o,z.showContour=s,z}var O={model:k,view:k,projection:k,inverseModel:k.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},I=k.slice(),D=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=O;n.model=t.model||k,n.view=t.view||k,n.projection=t.projection||k,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=I;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=P(n,this);if(u.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour&&!e){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]),o=0;o<this.contourLevels[i].length;++o)o===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),this._contourCounts[i][o]&&(f.uniforms.height=this.contourLevels[i][o],h.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(f.uniforms.model=u.projections[i],f.uniforms.clipBounds=u.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){f.uniforms.permutation=A[o],r.lineWidth(this.contourWidth[o]);for(var g=0;g<this.contourLevels[o].length;++g)g===this.highlightLevel[o]?(f.uniforms.contourColor=this.highlightColor[o],f.uniforms.contourTint=this.highlightTint[o]):0!==g&&g-1!==this.highlightLevel[o]||(f.uniforms.contourColor=this.contourColor[o],f.uniforms.contourTint=this.contourTint[o]),f.uniforms.height=this.contourLevels[o][g],h.draw(r.LINES,this._contourCounts[o][g],this._contourOffsets[o][g])}for(h.unbind(),(h=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=A[i],r.lineWidth(this.dynamicWidth[i]),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(f.uniforms.model=u.projections[o],f.uniforms.clipBounds=u.clipBounds[o],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));h.unbind()}}C.draw=function(t){return R.call(this,t,!1)},C.drawTransparent=function(t){return R.call(this,t,!0)};var B={model:k,view:k,projection:k,inverseModel:k,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function F(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))}function N(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function j(t){return Array.isArray(t)?3===t.length?[t[0],t[1],t[2],1]:[t[0],t[1],t[2],t[3]]:[0,0,0,1]}function V(t){if(Array.isArray(t)){if(Array.isArray(t))return[j(t[0]),j(t[1]),j(t[2])];var e=j(t);return[e.slice(),e.slice(),e.slice()]}}C.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=B;r.model=t.model||k,r.view=t.view||k,r.projection=t.projection||k,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.permutation=D;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var o=P(r,this);if(o.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]),s.uniforms.permutation=A[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=A[a],e.lineWidth(this.contourWidth[a]);for(var c=0;c<this.contourLevels[a].length;++c)this._contourCounts[a][c]&&(s.uniforms.height=this.contourLevels[a][c],l.draw(e.LINES,this._contourCounts[a][c],this._contourOffsets[a][c]))}l.unbind()}},C.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=this._field[2].shape,r=this._pickResult,n=e[0]*(t.value[0]+(t.value[2]>>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var f=u?a:1-a,h=0;h<2;++h)for(var p=i+u,d=s+h,m=f*(h?l:1-l),v=0;v<3;++v)c[v]+=this._field[v].get(p,d)*m;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=g.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]<this.contourLevels[x].length-1){var b=this.contourLevels[x][y[x]],_=this.contourLevels[x][y[x]+1];Math.abs(b-c[x])>Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],v=0;v<3;++v)r.dataCoordinate[v]=this._field[v].get(r.index[0],r.index[1]);return r},C.update=function(t){t=t||{},this.dirty=!0,\"contourWidth\"in t&&(this.contourWidth=N(t.contourWidth,Number)),\"showContour\"in t&&(this.showContour=N(t.showContour,Boolean)),\"showSurface\"in t&&(this.showSurface=!!t.showSurface),\"contourTint\"in t&&(this.contourTint=N(t.contourTint,Boolean)),\"contourColor\"in t&&(this.contourColor=V(t.contourColor)),\"contourProject\"in t&&(this.contourProject=N(t.contourProject,function(t){return N(t,Boolean)})),\"surfaceProject\"in t&&(this.surfaceProject=t.surfaceProject),\"dynamicColor\"in t&&(this.dynamicColor=V(t.dynamicColor)),\"dynamicTint\"in t&&(this.dynamicTint=N(t.dynamicTint,Number)),\"dynamicWidth\"in t&&(this.dynamicWidth=N(t.dynamicWidth,Number)),\"opacity\"in t&&(this.opacity=t.opacity),\"colorBounds\"in t&&(this.colorBounds=t.colorBounds),\"vertexColor\"in t&&(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),\"field\"in t||\"coords\"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),F(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var p=t.coords;if(!Array.isArray(p)||3!==p.length)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(o=0;o<2;++o){var d=p[o];for(b=0;b<2;++b)if(d.shape[b]!==a[b])throw new Error(\"gl-surface: coords have incorrect shape\");F(this._field[o],d)}}else if(t.ticks){var g=t.ticks;if(!Array.isArray(g)||2!==g.length)throw new Error(\"gl-surface: invalid ticks\");for(o=0;o<2;++o){var v=g[o];if((Array.isArray(v)||v.length)&&(v=f(v)),v.shape[0]!==a[o])throw new Error(\"gl-surface: invalid tick length\");var y=f(v.data,a);y.stride[o]=v.stride[0],y.stride[1^o]=0,F(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b<a[0];++b)this._field[0].set(b+1,0,b);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),b=0;b<a[1];++b)this._field[1].set(0,b+1,b);this._field[1].set(0,a[1]+1,a[1]-1)}var _=this._field,w=f(s.mallocFloat(3*_[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)m(w.pick(o),_[o],\"mirror\");var k=f(s.mallocFloat(3*_[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(b=0;b<a[1]+2;++b){var A=w.get(0,o,b,0),T=w.get(0,o,b,1),E=w.get(1,o,b,0),C=w.get(1,o,b,1),L=w.get(2,o,b,0),z=w.get(2,o,b,1),P=E*z-C*L,O=L*T-z*A,I=A*C-T*E,D=Math.sqrt(P*P+O*O+I*I);D<1e-8?(D=Math.max(Math.abs(P),Math.abs(O),Math.abs(I)))<1e-8?(I=1,O=P=0,D=1):D=1/D:D=1/Math.sqrt(D),k.set(o,b,0,P*D),k.set(o,b,1,O*D),k.set(o,b,2,I*D)}s.free(w.data);var R=[1/0,1/0,1/0],B=[-1/0,-1/0,-1/0],j=1/0,U=-1/0,q=(a[0]-1)*(a[1]-1)*6,H=s.mallocFloat(n.nextPow2(10*q)),G=0,W=0;for(o=0;o<a[0]-1;++o)t:for(b=0;b<a[1]-1;++b){for(var Y=0;Y<2;++Y)for(var X=0;X<2;++X)for(var Z=0;Z<3;++Z){var $=this._field[Z].get(1+o+Y,1+b+X);if(isNaN($)||!isFinite($))continue t}for(Z=0;Z<6;++Z){var J=o+M[Z][0],K=b+M[Z][1],Q=this._field[0].get(J+1,K+1),tt=this._field[1].get(J+1,K+1),et=$=this._field[2].get(J+1,K+1);P=k.get(J+1,K+1,0),O=k.get(J+1,K+1,1),I=k.get(J+1,K+1,2),t.intensity&&(et=t.intensity.get(J,K)),H[G++]=J,H[G++]=K,H[G++]=Q,H[G++]=tt,H[G++]=$,H[G++]=0,H[G++]=et,H[G++]=P,H[G++]=O,H[G++]=I,R[0]=Math.min(R[0],Q),R[1]=Math.min(R[1],tt),R[2]=Math.min(R[2],$),j=Math.min(j,et),B[0]=Math.max(B[0],Q),B[1]=Math.max(B[1],tt),B[2]=Math.max(B[2],$),U=Math.max(U,et),W+=1}}for(t.intensityBounds&&(j=+t.intensityBounds[0],U=+t.intensityBounds[1]),o=6;o<G;o+=10)H[o]=(H[o]-j)/(U-j);this._vertexCount=W,this._coordinateBuffer.update(H.subarray(0,G)),s.freeFloat(H),s.free(k.data),this.bounds=[R,B],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===j&&this.intensityBounds[1]===U||(r=!0),this.intensityBounds=[j,U]}if(\"levels\"in t){var rt=t.levels;for(rt=Array.isArray(rt[0])?rt.slice():[[],[],rt],o=0;o<3;++o)rt[o]=rt[o].slice(),rt.sort(function(t,e){return t-e});t:for(o=0;o<3;++o){if(rt[o].length!==this.contourLevels[o].length){r=!0;break}for(b=0;b<rt[o].length;++b)if(rt[o][b]!==this.contourLevels[o][b]){r=!0;break t}}this.contourLevels=rt}if(r){_=this._field,a=this.shape;for(var nt=[],it=0;it<3;++it){rt=this.contourLevels[it];var at=[],ot=[],st=[0,0,0];for(o=0;o<rt.length;++o){var lt=h(this._field[it],rt[o]);at.push(nt.length/5|0),W=0;t:for(b=0;b<lt.cells.length;++b){var ct=lt.cells[b];for(Z=0;Z<2;++Z){var ut=lt.positions[ct[Z]],ft=ut[0],ht=0|Math.floor(ft),pt=ft-ht,dt=ut[1],gt=0|Math.floor(dt),mt=dt-gt,vt=!1;e:for(var yt=0;yt<3;++yt){st[yt]=0;var xt=(it+yt+1)%3;for(Y=0;Y<2;++Y){var bt=Y?pt:1-pt;for(J=0|Math.min(Math.max(ht+Y,0),a[0]),X=0;X<2;++X){var _t=X?mt:1-mt;if(K=0|Math.min(Math.max(gt+X,0),a[1]),$=yt<2?this._field[xt].get(J,K):(this.intensity.get(J,K)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite($)||isNaN($)){vt=!0;break e}var wt=bt*_t;st[yt]+=wt*$}}}if(vt){if(Z>0){for(var kt=0;kt<5;++kt)nt.pop();W-=1}continue t}nt.push(st[0],st[1],ut[0],ut[1],st[2]),W+=1}}ot.push(W)}this._contourOffsets[it]=at,this._contourCounts[it]=ot}var Mt=s.mallocFloat(nt.length);for(o=0;o<nt.length;++o)Mt[o]=nt[o];this._contourBuffer.update(Mt),s.freeFloat(Mt)}t.colormap&&this._colorMap.setPixels(function(t){var e=u([l({colormap:t,nshades:S,format:\"rgba\"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return c.divseq(e,255),e}(t.colormap))},C.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},C.highlight=function(t){if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(var e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;var r;if(r=this.snapToData?t.dataCoordinate:t.position,this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,c=(o+2)%3,u=this._field[o],f=this._field[l],p=this._field[c],d=(this.intensity,h(u,r[o])),g=d.cells,m=d.positions;for(this._dynamicOffsets[o]=n,e=0;e<g.length;++e)for(var v=g[e],y=0;y<2;++y){var x=m[v[y]],b=+x[0],_=0|b,w=0|Math.min(_+1,i[0]),k=b-_,M=1-k,A=+x[1],T=0|A,S=0|Math.min(T+1,i[1]),E=A-T,C=1-E,L=M*C,z=M*E,P=k*C,O=k*E,I=L*f.get(_,T)+z*f.get(_,S)+P*f.get(w,T)+O*f.get(w,S),D=L*p.get(_,T)+z*p.get(_,S)+P*p.get(w,T)+O*p.get(w,S);if(isNaN(I)||isNaN(D)){y&&(n-=1);break}a[2*n+0]=I,a[2*n+1]=D,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),s.freeFloat(a)}}},{\"./lib/shaders\":300,\"binary-search-bounds\":78,\"bit-twiddle\":79,colormap:113,\"gl-buffer\":229,\"gl-mat4/invert\":253,\"gl-mat4/multiply\":255,\"gl-texture2d\":303,\"gl-vao\":308,ndarray:430,\"ndarray-gradient\":421,\"ndarray-ops\":424,\"ndarray-pack\":425,\"surface-nets\":505,\"typedarray-pool\":519}],302:[function(t,e,r){\"use strict\";var n=t(\"css-font\"),i=t(\"pick-by-alias\"),a=t(\"regl\"),o=t(\"gl-util/context\"),s=t(\"es6-weak-map\"),l=t(\"color-normalize\"),c=t(\"font-atlas\"),u=t(\"typedarray-pool\"),f=t(\"parse-rect\"),h=t(\"is-plain-obj\"),p=t(\"parse-unit\"),d=t(\"to-px\"),g=t(\"detect-kerning\"),m=t(\"object-assign\"),v=t(\"font-measure\"),y=t(\"flatten-vertex-data\"),x=t(\"bit-twiddle\").nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement(\"div\"));w.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var k=function(t){!function(t){return\"function\"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:\"uint8\",usage:\"stream\"}),this.sizeBuffer=this.regl.buffer({type:\"float\",usage:\"stream\"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};k.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop(\"count\"),offset:t.prop(\"offset\"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this(\"sizeBuffer\")},width:{offset:0,stride:8,buffer:t.this(\"sizeBuffer\")},char:t.this(\"charBuffer\"),position:t.this(\"position\")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop(\"color\"),opacity:t.prop(\"opacity\"),viewport:t.this(\"viewportArray\"),scale:t.this(\"scale\"),align:t.prop(\"align\"),baseline:t.prop(\"baseline\"),translate:t.this(\"translate\"),positionOffset:t.prop(\"positionOffset\")},primitive:\"points\",viewport:t.this(\"viewport\"),vert:\"\\n\\t\\t\\tprecision highp float;\\n\\t\\t\\tattribute float width, charOffset, char;\\n\\t\\t\\tattribute vec2 position;\\n\\t\\t\\tuniform float fontSize, charStep, em, align, baseline;\\n\\t\\t\\tuniform vec4 viewport;\\n\\t\\t\\tuniform vec4 color;\\n\\t\\t\\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\\n\\t\\t\\tvarying vec2 charCoord, charId;\\n\\t\\t\\tvarying float charWidth;\\n\\t\\t\\tvarying vec4 fontColor;\\n\\t\\t\\tvoid main () {\\n\\t\\t\\t\\t\"+(k.normalViewport?\"\":\"vec2 positionOffset = vec2(positionOffset.x,- positionOffset.y);\")+\"\\n\\n\\t\\t\\t\\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\\n\\t\\t\\t\\t\\t+ positionOffset))\\n\\t\\t\\t\\t\\t/ (viewport.zw * scale.xy);\\n\\n\\t\\t\\t\\tvec2 position = (position + translate) * scale;\\n\\t\\t\\t\\tposition += offset * scale;\\n\\n\\t\\t\\t\\t\"+(k.normalViewport?\"position.y = 1. - position.y;\":\"\")+\"\\n\\n\\t\\t\\t\\tcharCoord = position * viewport.zw + viewport.xy;\\n\\n\\t\\t\\t\\tgl_Position = vec4(position * 2. - 1., 0, 1);\\n\\n\\t\\t\\t\\tgl_PointSize = charStep;\\n\\n\\t\\t\\t\\tcharId.x = mod(char, atlasDim.x);\\n\\t\\t\\t\\tcharId.y = floor(char / atlasDim.x);\\n\\n\\t\\t\\t\\tcharWidth = width * em;\\n\\n\\t\\t\\t\\tfontColor = color / 255.;\\n\\t\\t\\t}\",frag:\"\\n\\t\\t\\tprecision highp float;\\n\\t\\t\\tuniform sampler2D atlas;\\n\\t\\t\\tuniform float fontSize, charStep, opacity;\\n\\t\\t\\tuniform vec2 atlasSize;\\n\\t\\t\\tuniform vec4 viewport;\\n\\t\\t\\tvarying vec4 fontColor;\\n\\t\\t\\tvarying vec2 charCoord, charId;\\n\\t\\t\\tvarying float charWidth;\\n\\n\\t\\t\\tfloat lightness(vec4 color) {\\n\\t\\t\\t\\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\\n\\t\\t\\t}\\n\\n\\t\\t\\tvoid main () {\\n\\t\\t\\t\\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\\n\\t\\t\\t\\tfloat halfCharStep = floor(charStep * .5 + .5);\\n\\n\\t\\t\\t\\t// invert y and shift by 1px (FF expecially needs that)\\n\\t\\t\\t\\tuv.y = charStep - uv.y;\\n\\n\\t\\t\\t\\t// ignore points outside of character bounding box\\n\\t\\t\\t\\tfloat halfCharWidth = ceil(charWidth * .5);\\n\\t\\t\\t\\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\\n\\t\\t\\t\\t\\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\\n\\n\\t\\t\\t\\tuv += charId * charStep;\\n\\t\\t\\t\\tuv = uv / atlasSize;\\n\\n\\t\\t\\t\\tvec4 color = fontColor;\\n\\t\\t\\t\\tvec4 mask = texture2D(atlas, uv);\\n\\n\\t\\t\\t\\tfloat maskY = lightness(mask);\\n\\t\\t\\t\\t// float colorY = lightness(color);\\n\\t\\t\\t\\tcolor.a *= maskY;\\n\\t\\t\\t\\tcolor.a *= opacity;\\n\\n\\t\\t\\t\\t// color.a += .1;\\n\\n\\t\\t\\t\\t// antialiasing, see yiq color space y-channel formula\\n\\t\\t\\t\\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\\n\\n\\t\\t\\t\\tgl_FragColor = color;\\n\\t\\t\\t}\"});return{regl:t,draw:e,atlas:{}}},k.prototype.update=function(t){var e=this;if(\"string\"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:\"position positions coord coords coordinates\",font:\"font fontFace fontface typeface cssFont css-font family fontFamily\",fontSize:\"fontSize fontsize size font-size\",text:\"text texts chars characters value values symbols\",align:\"align alignment textAlign textbaseline\",baseline:\"baseline textBaseline textbaseline\",direction:\"dir direction textDirection\",color:\"color colour fill fill-color fillColor textColor textcolor\",kerning:\"kerning kern\",range:\"range dataBox\",viewport:\"vp viewport viewBox viewbox viewPort\",opacity:\"opacity alpha transparency visible visibility opaque\",offset:\"offset positionOffset padding shift indent indentation\"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(t){return parseFloat(t)}):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),k.normalViewport&&(this.viewport.y=this.canvas.height-this.viewport.y-this.viewport.height),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&(\"number\"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=y(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=k.baseFontSize+\"px sans-serif\");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(t,r){if(\"string\"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(k.baseFontSize+\"px \"+t)}else t=n.parse(n.stringify(t));var i=n.stringify({size:k.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&i==e.font[r].baseString||(a=!0,e.font[r]=k.fonts[i],e.font[r]))){var c=t.family.join(\", \"),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:i,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:v(c,{origin:\"top\",fontSize:k.baseFontSize,fontStyle:u.join(\" \")})},k.fonts[i]=e.font[r]}}),(a||o)&&this.font.forEach(function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)}),\"string\"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h<s.length;h++)s[h]=t.text;t.text=s}if(null!=t.text||a){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var b=1;b<t.text.length;b++)e.textOffsets[b]=e.textOffsets[b-1]+t.text[b-1].length,e.count+=t.text[b].length,e.counts.push(t.text[b].length);this.text=t.text.join(\"\")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];r=[],this.font.forEach(function(t,n){k.atlasContext.font=t.baseString;for(var i=e.fontAtlas[n],a=0;a<e.text.length;a++){var o=e.text.charAt(a);if(null==i.ids[o]&&(i.ids[o]=i.chars.length,i.chars.push(o),r.push(o)),null==t.width[o]&&(t.width[o]=k.atlasContext.measureText(o).width/k.baseFontSize,e.kerning)){var s=[];for(var l in t.width)s.push(l+o,o+l);m(t.kerning,g(t.family,{pairs:s}))}}})}if(t.position)if(t.position.length>2){for(var w=!t.position[0].length,M=u.mallocFloat(2*this.count),A=0,T=0;A<this.counts.length;A++){var S=e.counts[A];if(w)for(var E=0;E<S;E++)M[T++]=t.position[2*A],M[T++]=t.position[2*A+1];else for(var C=0;C<S;C++)M[T++]=t.position[A][0],M[T++]=t.position[A][1]}this.position.call?this.position({type:\"float\",data:M}):this.position=this.regl.buffer({type:\"float\",data:M}),u.freeFloat(M)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||a){var L=u.mallocUint8(this.count),z=u.mallocFloat(2*this.count);this.textWidth=[];for(var P=0,O=0;P<this.counts.length;P++){for(var I=e.counts[P],D=e.font[P]||e.font[0],R=e.fontAtlas[P]||e.fontAtlas[0],B=0;B<I;B++){var F=e.text.charAt(O),N=e.text.charAt(O-1);if(L[O]=R.ids[F],z[2*O]=D.width[F],B){var j=z[2*O-2],V=z[2*O],U=z[2*O-1]+.5*j+.5*V;if(e.kerning){var q=D.kerning[N+F];q&&(U+=.001*q)}z[2*O+1]=U}else z[2*O+1]=.5*z[2*O];O++}e.textWidth.push(z.length?.5*z[2*O-2]+z[2*O-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:L,type:\"uint8\",usage:\"stream\"}),this.sizeBuffer({data:z,type:\"float\",usage:\"stream\"}),u.freeUint8(L),u.freeFloat(z),r.length&&this.font.forEach(function(t,r){var n=e.fontAtlas[r],i=n.step,a=Math.floor(k.maxAtlasSize/i),o=Math.min(a,n.chars.length),s=Math.ceil(n.chars.length/o),l=x(o*i),u=x(s*i);n.width=l,n.height=u,n.rows=s,n.cols=o,n.em&&n.texture({data:c({canvas:k.atlasCanvas,font:n.fontString,chars:n.chars,shape:[l,u],step:[i,i]})})})}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map(function(t,r){var n=Array.isArray(e.align)?e.align.length>1?e.align[r]:e.align[0]:e.align;if(\"number\"==typeof n)return n;switch(n){case\"right\":case\"end\":return-t;case\"center\":case\"centre\":case\"middle\":return.5*-t}return 0})),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,i+=\"number\"==typeof t?t-n.baseline:-n[t],k.normalViewport||(i*=-1),i})),null!=t.color)if(t.color||(t.color=\"transparent\"),\"string\"!=typeof t.color&&isNaN(t.color)){var H;if(\"number\"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var W=(t.color.subarray||t.color.slice).bind(t.color),Y=0;Y<G;Y+=4)H.set(l(W(Y,Y+4),\"uint8\"),Y)}else{var X=t.color.length;H=u.mallocUint8(4*X);for(var Z=0;Z<X;Z++)H.set(l(t.color[Z]||0,\"uint8\"),4*Z)}this.color=H}else this.color=l(t.color,\"uint8\");if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity)if(this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var $=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array($);for(var J=0;J<this.batch.length;J++)e.batch[J]={count:e.counts.length>1?e.counts[J]:e.counts[0],offset:e.textOffsets.length>1?e.textOffsets[J]:e.textOffsets[0],color:e.color?e.color.length<=4?e.color:e.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(e.opacity)?e.opacity[J]:e.opacity,baseline:null!=e.baselineOffset[J]?e.baselineOffset[J]:e.baselineOffset[0],align:e.align?null!=e.alignOffset[J]?e.alignOffset[J]:e.alignOffset[0]:0,atlas:e.fontAtlas[J]||e.fontAtlas[0],positionOffset:e.positionOffset.length>2?e.positionOffset.subarray(2*J,2*J+2):e.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},k.prototype.destroy=function(){},k.prototype.kerning=!0,k.prototype.position={constant:new Float32Array(2)},k.prototype.translate=null,k.prototype.scale=null,k.prototype.font=null,k.prototype.text=\"\",k.prototype.positionOffset=[0,0],k.prototype.opacity=1,k.prototype.color=new Uint8Array([0,0,0,255]),k.prototype.alignOffset=[0,0],k.normalViewport=!1,k.maxAtlasSize=1024,k.atlasCanvas=document.createElement(\"canvas\"),k.atlasContext=k.atlasCanvas.getContext(\"2d\",{alpha:!1}),k.baseFontSize=64,k.fonts={},e.exports=k},{\"bit-twiddle\":79,\"color-normalize\":107,\"css-font\":126,\"detect-kerning\":150,\"es6-weak-map\":208,\"flatten-vertex-data\":215,\"font-atlas\":216,\"font-measure\":217,\"gl-util/context\":304,\"is-plain-obj\":403,\"object-assign\":434,\"parse-rect\":439,\"parse-unit\":441,\"pick-by-alias\":445,regl:475,\"to-px\":513,\"typedarray-pool\":519}],303:[function(t,e,r){\"use strict\";var n=t(\"ndarray\"),i=t(\"ndarray-ops\"),a=t(\"typedarray-pool\");e.exports=function(t){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");o||function(t){o=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],s=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],l=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t);if(\"number\"==typeof arguments[1])return m(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return m(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(\"object\"==typeof arguments[1]){var e=arguments[1],r=c(e)?e:e.raw;if(r)return function(t,e,r,n,i,a){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new h(t,o,r,n,i,a)}(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return function(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error(\"gl-texture2d: Invalid texture size\");var l=d(o,e.stride.slice()),c=0;\"float32\"===r?c=t.FLOAT:\"float64\"===r?(c=t.FLOAT,l=!1,r=\"float32\"):\"uint8\"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r=\"uint8\");var f,p,m=0;if(2===o.length)m=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===o[2])m=t.ALPHA;else if(2===o[2])m=t.LUMINANCE_ALPHA;else if(3===o[2])m=t.RGB;else{if(4!==o[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");m=t.RGBA}}c!==t.FLOAT||t.getExtension(\"OES_texture_float\")||(c=t.UNSIGNED_BYTE,l=!1);var v=e.size;if(l)f=0===e.offset&&e.data.length===v?e.data:e.data.subarray(e.offset,e.offset+v);else{var y=[o[2],o[2]*o[0],1];p=a.malloc(v,r);var x=n(p,o,y,0);\"float32\"!==r&&\"float64\"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):u(x,e),f=p.subarray(0,v)}var b=g(t);t.texImage2D(t.TEXTURE_2D,0,m,o[0],o[1],0,m,c,f),l||a.free(p);return new h(t,b,o[0],o[1],m,c)}(t,e)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")};var o=null,s=null,l=null;function c(t){return\"undefined\"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||\"undefined\"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||\"undefined\"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||\"undefined\"!=typeof ImageData&&t instanceof ImageData}var u=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error(\"gl-texture2d: Invalid texture size\");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=h.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function g(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function m(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error(\"gl-texture2d: Invalid texture shape\");if(i===t.FLOAT&&!t.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension(\"OES_texture_float_linear\")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error(\"gl-texture2d: Invalid texture shape\")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error(\"gl-texture2d: Unsupported data type\");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");!function(t,e,r,o,s,l,c,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var g=0,m=0,v=d(p,f.stride.slice());\"float32\"===h?g=t.FLOAT:\"float64\"===h?(g=t.FLOAT,v=!1,h=\"float32\"):\"uint8\"===h?g=t.UNSIGNED_BYTE:(g=t.UNSIGNED_BYTE,v=!1,h=\"uint8\");if(2===p.length)m=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.offset);else{if(3!==p.length)throw new Error(\"gl-texture2d: Invalid shape for texture\");if(1===p[2])m=t.ALPHA;else if(2===p[2])m=t.LUMINANCE_ALPHA;else if(3===p[2])m=t.RGB;else{if(4!==p[2])throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");m=t.RGBA}p[2]}m!==t.LUMINANCE&&m!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(m=s);if(m!==s)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var y=f.size,x=c.indexOf(o)<0;x&&c.push(o);if(g===l&&v)0===f.offset&&f.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+y));else{var b;b=l===t.FLOAT?a.mallocFloat32(y):a.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);g===t.FLOAT&&l===t.UNSIGNED_BYTE?u(_,f):i.assign(_,f),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:430,\"ndarray-ops\":424,\"typedarray-pool\":519}],304:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\");function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*window.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*window.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return\"function\"==typeof t.getContext&&\"width\"in t&&\"height\"in t}e.exports=function(t){var e;if(t?\"string\"==typeof t&&(t={container:t}):t={},a(t)?t={container:t}:t=\"string\"==typeof(e=t).nodeName&&\"function\"==typeof e.appendChild&&\"function\"==typeof e.getBoundingClientRect?{container:t}:function(t){return\"function\"==typeof t.drawArrays||\"function\"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:\"container target element el canvas holder parent parentNode wrapper use ref root node\",gl:\"gl context webgl glContext\",attrs:\"attributes attrs contextAttributes\",pixelRatio:\"pixelRatio pxRatio px ratio pxratio pixelratio\"},!0),t.pixelRatio||(t.pixelRatio=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(\"string\"==typeof t.container){var r=document.querySelector(t.container);if(!r)throw Error(\"Element \"+t.container+\" is not found\");t.container=r}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=document.createElement(\"canvas\"),t.container.appendChild(t.canvas),i(t))}else t.canvas||(t.container=document.body||document.documentElement,t.canvas=document.createElement(\"canvas\"),t.canvas.style.position=\"absolute\",t.canvas.style.top=0,t.canvas.style.left=0,t.container.appendChild(t.canvas),i(t));if(!t.gl)try{t.gl=t.canvas.getContext(\"webgl\",t.attrs)}catch(e){try{t.gl=t.canvas.getContext(\"experimental-webgl\",t.attrs)}catch(e){t.gl=t.canvas.getContext(\"webgl-experimental\",t.attrs)}}return t.gl}},{\"pick-by-alias\":445}],305:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error(\"gl-vao: Too many vertex attributes\");for(var i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,c=!!a.normalized,u=a.stride||0,f=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,c,u,f)}else{if(\"number\"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error(\"gl-vao: Invalid vertex attribute\");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i<n;++i)t.disableVertexAttribArray(i)}},{}],306:[function(t,e,r){\"use strict\";var n=t(\"./do-bind.js\");function i(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},i.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.dispose=function(){},i.prototype.unbind=function(){},i.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._elements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t){return new i(t)}},{\"./do-bind.js\":305}],307:[function(t,e,r){\"use strict\";var n=t(\"./do-bind.js\");function i(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function a(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(t){switch(this.dimension){case 1:t.vertexAttrib1f(this.location,this.a);break;case 2:t.vertexAttrib2f(this.location,this.a,this.b);break;case 3:t.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:t.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},a.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},a.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},a.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},a.prototype.update=function(t,e,r){if(this.bind(),n(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var a=0;a<t.length;++a){var o=t[a];\"number\"==typeof o?this._attribs.push(new i(a,1,o)):Array.isArray(o)&&this._attribs.push(new i(a,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t,e){return new a(t,e,e.createVertexArrayOES())}},{\"./do-bind.js\":305}],308:[function(t,e,r){\"use strict\";var n=t(\"./lib/vao-native.js\"),i=t(\"./lib/vao-emulated.js\");function a(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}e.exports=function(t,e,r,o){var s,l=t.createVertexArray?new a(t):t.getExtension(\"OES_vertex_array_object\");return(s=l?n(t,l):i(t)).update(e,r,o),s}},{\"./lib/vao-emulated.js\":306,\"./lib/vao-native.js\":307}],309:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}},{}],310:[function(t,e,r){e.exports=function(t,e){var r=n(t[0],t[1],t[2]),o=n(e[0],e[1],e[2]);i(r,r),i(o,o);var s=a(r,o);return s>1?0:Math.acos(s)};var n=t(\"./fromValues\"),i=t(\"./normalize\"),a=t(\"./dot\")},{\"./dot\":320,\"./fromValues\":326,\"./normalize\":337}],311:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],312:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],313:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],314:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],315:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},{}],316:[function(t,e,r){e.exports=t(\"./distance\")},{\"./distance\":317}],317:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},{}],318:[function(t,e,r){e.exports=t(\"./divide\")},{\"./divide\":319}],319:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],320:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],321:[function(t,e,r){e.exports=1e-6},{}],322:[function(t,e,r){e.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=t(\"./epsilon\")},{\"./epsilon\":321}],323:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],324:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],325:[function(t,e,r){e.exports=function(t,e,r,i,a,o){var s,l;e||(e=3);r||(r=0);l=i?Math.min(i*e+r,t.length):t.length;for(s=r;s<l;s+=e)n[0]=t[s],n[1]=t[s+1],n[2]=t[s+2],a(n,n,o),t[s]=n[0],t[s+1]=n[1],t[s+2]=n[2];return t};var n=t(\"./create\")()},{\"./create\":314}],326:[function(t,e,r){e.exports=function(t,e,r){var n=new Float32Array(3);return n[0]=t,n[1]=e,n[2]=r,n}},{}],327:[function(t,e,r){e.exports={EPSILON:t(\"./epsilon\"),create:t(\"./create\"),clone:t(\"./clone\"),angle:t(\"./angle\"),fromValues:t(\"./fromValues\"),copy:t(\"./copy\"),set:t(\"./set\"),equals:t(\"./equals\"),exactEquals:t(\"./exactEquals\"),add:t(\"./add\"),subtract:t(\"./subtract\"),sub:t(\"./sub\"),multiply:t(\"./multiply\"),mul:t(\"./mul\"),divide:t(\"./divide\"),div:t(\"./div\"),min:t(\"./min\"),max:t(\"./max\"),floor:t(\"./floor\"),ceil:t(\"./ceil\"),round:t(\"./round\"),scale:t(\"./scale\"),scaleAndAdd:t(\"./scaleAndAdd\"),distance:t(\"./distance\"),dist:t(\"./dist\"),squaredDistance:t(\"./squaredDistance\"),sqrDist:t(\"./sqrDist\"),length:t(\"./length\"),len:t(\"./len\"),squaredLength:t(\"./squaredLength\"),sqrLen:t(\"./sqrLen\"),negate:t(\"./negate\"),inverse:t(\"./inverse\"),normalize:t(\"./normalize\"),dot:t(\"./dot\"),cross:t(\"./cross\"),lerp:t(\"./lerp\"),random:t(\"./random\"),transformMat4:t(\"./transformMat4\"),transformMat3:t(\"./transformMat3\"),transformQuat:t(\"./transformQuat\"),rotateX:t(\"./rotateX\"),rotateY:t(\"./rotateY\"),rotateZ:t(\"./rotateZ\"),forEach:t(\"./forEach\")}},{\"./add\":309,\"./angle\":310,\"./ceil\":311,\"./clone\":312,\"./copy\":313,\"./create\":314,\"./cross\":315,\"./dist\":316,\"./distance\":317,\"./div\":318,\"./divide\":319,\"./dot\":320,\"./epsilon\":321,\"./equals\":322,\"./exactEquals\":323,\"./floor\":324,\"./forEach\":325,\"./fromValues\":326,\"./inverse\":328,\"./len\":329,\"./length\":330,\"./lerp\":331,\"./max\":332,\"./min\":333,\"./mul\":334,\"./multiply\":335,\"./negate\":336,\"./normalize\":337,\"./random\":338,\"./rotateX\":339,\"./rotateY\":340,\"./rotateZ\":341,\"./round\":342,\"./scale\":343,\"./scaleAndAdd\":344,\"./set\":345,\"./sqrDist\":346,\"./sqrLen\":347,\"./squaredDistance\":348,\"./squaredLength\":349,\"./sub\":350,\"./subtract\":351,\"./transformMat3\":352,\"./transformMat4\":353,\"./transformQuat\":354}],328:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},{}],329:[function(t,e,r){e.exports=t(\"./length\")},{\"./length\":330}],330:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}},{}],331:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t}},{}],332:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}},{}],333:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}},{}],334:[function(t,e,r){e.exports=t(\"./multiply\")},{\"./multiply\":335}],335:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}},{}],336:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},{}],337:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a);return t}},{}],338:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},{}],339:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=i+o*c-s*l,t[2]=a+o*l+s*c,t}},{}],340:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+s*l+o*c,t[1]=e[1],t[2]=a+s*c-o*l,t}},{}],341:[function(t,e,r){e.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+o*c-s*l,t[1]=a+o*l+s*c,t[2]=e[2],t}},{}],342:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],343:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],344:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],345:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],346:[function(t,e,r){e.exports=t(\"./squaredDistance\")},{\"./squaredDistance\":348}],347:[function(t,e,r){e.exports=t(\"./squaredLength\")},{\"./squaredLength\":349}],348:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},{}],349:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],350:[function(t,e,r){e.exports=t(\"./subtract\")},{\"./subtract\":351}],351:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],352:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},{}],353:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},{}],354:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t}},{}],355:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],356:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],357:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],358:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],359:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},{}],360:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],361:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],362:[function(t,e,r){e.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},{}],363:[function(t,e,r){e.exports={create:t(\"./create\"),clone:t(\"./clone\"),fromValues:t(\"./fromValues\"),copy:t(\"./copy\"),set:t(\"./set\"),add:t(\"./add\"),subtract:t(\"./subtract\"),multiply:t(\"./multiply\"),divide:t(\"./divide\"),min:t(\"./min\"),max:t(\"./max\"),scale:t(\"./scale\"),scaleAndAdd:t(\"./scaleAndAdd\"),distance:t(\"./distance\"),squaredDistance:t(\"./squaredDistance\"),length:t(\"./length\"),squaredLength:t(\"./squaredLength\"),negate:t(\"./negate\"),inverse:t(\"./inverse\"),normalize:t(\"./normalize\"),dot:t(\"./dot\"),lerp:t(\"./lerp\"),random:t(\"./random\"),transformMat4:t(\"./transformMat4\"),transformQuat:t(\"./transformQuat\")}},{\"./add\":355,\"./clone\":356,\"./copy\":357,\"./create\":358,\"./distance\":359,\"./divide\":360,\"./dot\":361,\"./fromValues\":362,\"./inverse\":364,\"./length\":365,\"./lerp\":366,\"./max\":367,\"./min\":368,\"./multiply\":369,\"./negate\":370,\"./normalize\":371,\"./random\":372,\"./scale\":373,\"./scaleAndAdd\":374,\"./set\":375,\"./squaredDistance\":376,\"./squaredLength\":377,\"./subtract\":378,\"./transformMat4\":379,\"./transformQuat\":380}],364:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],365:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},{}],366:[function(t,e,r){e.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],367:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],368:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],369:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],370:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],371:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o);return t}},{}],372:[function(t,e,r){var n=t(\"./normalize\"),i=t(\"./scale\");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},{\"./normalize\":371,\"./scale\":373}],373:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],374:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],375:[function(t,e,r){e.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},{}],376:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},{}],377:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},{}],378:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],379:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},{}],380:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,f=c*i+l*n-o*a,h=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+f*-l-h*-s,t[1]=f*c+p*-s+h*-o-u*-l,t[2]=h*c+p*-l+u*-s-f*-o,t[3]=e[3],t}},{}],381:[function(t,e,r){e.exports=function(t,e,r,a){return n[0]=a,n[1]=r,n[2]=e,n[3]=t,i[0]};var n=new Uint8Array(4),i=new Float32Array(n.buffer)},{}],382:[function(t,e,r){var n=t(\"glsl-tokenizer\"),i=t(\"atob-lite\");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r<e.length;r++){var a=e[r];if(\"preprocessor\"===a.type){var o=a.data.match(/\\#define\\s+SHADER_NAME(_B64)?\\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},{\"atob-lite\":59,\"glsl-tokenizer\":389}],383:[function(t,e,r){e.exports=function(t){var e,r,k,M=0,A=0,T=l,S=[],E=[],C=1,L=0,z=0,P=!1,O=!1,I=\"\",D=a,R=n;\"300 es\"===(t=t||{}).version&&(D=s,R=o);return function(t){return E=[],null!==t?function(t){var r;M=0,k=(I+=t).length;for(;e=I[M],M<k;){switch(r=M,T){case u:M=V();break;case f:case h:M=j();break;case p:M=U();break;case d:M=G();break;case _:M=H();break;case g:M=W();break;case c:M=Y();break;case x:M=N();break;case l:M=F()}if(r!==M)switch(I[r]){case\"\\n\":L=0,++C;break;default:++L}}return A+=M,I=I.slice(M),E}(t.replace?t.replace(/\\r\\n/g,\"\\n\"):t):function(t){S.length&&B(S.join(\"\"));return T=b,B(\"(eof)\"),E}()};function B(t){t.length&&E.push({type:w[T],data:t,position:z,line:C,column:L})}function F(){return S=S.length?[]:S,\"/\"===r&&\"*\"===e?(z=A+M-1,T=u,r=e,M+1):\"/\"===r&&\"/\"===e?(z=A+M-1,T=f,r=e,M+1):\"#\"===e?(T=h,z=A+M,M):/\\s/.test(e)?(T=x,z=A+M,M):(P=/\\d/.test(e),O=/[^\\w_]/.test(e),z=A+M,T=P?d:O?p:c,M)}function N(){return/[^\\s]/g.test(e)?(B(S.join(\"\")),T=l,M):(S.push(e),r=e,M+1)}function j(){return\"\\r\"!==e&&\"\\n\"!==e||\"\\\\\"===r?(S.push(e),r=e,M+1):(B(S.join(\"\")),T=l,M)}function V(){return\"/\"===e&&\"*\"===r?(S.push(e),B(S.join(\"\")),T=l,M+1):(S.push(e),r=e,M+1)}function U(){if(\".\"===r&&/\\d/.test(e))return T=g,M;if(\"/\"===r&&\"*\"===e)return T=u,M;if(\"/\"===r&&\"/\"===e)return T=f,M;if(\".\"===e&&S.length){for(;q(S););return T=g,M}if(\";\"===e||\")\"===e||\"(\"===e){if(S.length)for(;q(S););return B(e),T=l,M+1}var t=2===S.length&&\"=\"!==e;if(/[\\w_\\d\\s]/.test(e)||t){for(;q(S););return T=l,M}return S.push(e),r=e,M+1}function q(t){for(var e,r,n=0;;){if(e=i.indexOf(t.slice(0,t.length+n).join(\"\")),r=i[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join(\"\")}return B(r),z+=r.length,(S=S.slice(r.length)).length}}function H(){return/[^a-fA-F0-9]/.test(e)?(B(S.join(\"\")),T=l,M):(S.push(e),r=e,M+1)}function G(){return\".\"===e?(S.push(e),T=g,r=e,M+1):/[eE]/.test(e)?(S.push(e),T=g,r=e,M+1):\"x\"===e&&1===S.length&&\"0\"===S[0]?(T=_,S.push(e),r=e,M+1):/[^\\d]/.test(e)?(B(S.join(\"\")),T=l,M):(S.push(e),r=e,M+1)}function W(){return\"f\"===e&&(S.push(e),r=e,M+=1),/[eE]/.test(e)?(S.push(e),r=e,M+1):\"-\"===e&&/[eE]/.test(r)?(S.push(e),r=e,M+1):/[^\\d]/.test(e)?(B(S.join(\"\")),T=l,M):(S.push(e),r=e,M+1)}function Y(){if(/[^\\d\\w_]/.test(e)){var t=S.join(\"\");return T=R.indexOf(t)>-1?y:D.indexOf(t)>-1?v:m,B(S.join(\"\")),T=l,M}return S.push(e),r=e,M+1}};var n=t(\"./lib/literals\"),i=t(\"./lib/operators\"),a=t(\"./lib/builtins\"),o=t(\"./lib/literals-300es\"),s=t(\"./lib/builtins-300es\"),l=999,c=9999,u=0,f=1,h=2,p=3,d=4,g=5,m=6,v=7,y=8,x=9,b=10,_=11,w=[\"block-comment\",\"line-comment\",\"preprocessor\",\"operator\",\"integer\",\"float\",\"ident\",\"builtin\",\"keyword\",\"whitespace\",\"eof\",\"integer\"]},{\"./lib/builtins\":385,\"./lib/builtins-300es\":384,\"./lib/literals\":387,\"./lib/literals-300es\":386,\"./lib/operators\":388}],384:[function(t,e,r){var n=t(\"./builtins\");n=n.slice().filter(function(t){return!/^(gl\\_|texture)/.test(t)}),e.exports=n.concat([\"gl_VertexID\",\"gl_InstanceID\",\"gl_Position\",\"gl_PointSize\",\"gl_FragCoord\",\"gl_FrontFacing\",\"gl_FragDepth\",\"gl_PointCoord\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexUniformVectors\",\"gl_MaxVertexOutputVectors\",\"gl_MaxFragmentInputVectors\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxTextureImageUnits\",\"gl_MaxFragmentUniformVectors\",\"gl_MaxDrawBuffers\",\"gl_MinProgramTexelOffset\",\"gl_MaxProgramTexelOffset\",\"gl_DepthRangeParameters\",\"gl_DepthRange\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"])},{\"./builtins\":385}],385:[function(t,e,r){e.exports=[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]},{}],386:[function(t,e,r){var n=t(\"./literals\");e.exports=n.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uint\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\"])},{\"./literals\":387}],387:[function(t,e,r){e.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"]},{}],388:[function(t,e,r){e.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},{}],389:[function(t,e,r){var n=t(\"./index\");e.exports=function(t,e){var r=n(e),i=[];return i=(i=i.concat(r(t))).concat(r(null))}},{\"./index\":383}],390:[function(t,e,r){e.exports=function(t){\"string\"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||\"\");return r.push(t[n]),r.join(\"\")}},{}],391:[function(t,e,r){(function(r){\"use strict\";var n,i=t(\"is-browser\");n=\"function\"==typeof r.matchMedia?!r.matchMedia(\"(hover: none)\").matches:i,e.exports=n}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"is-browser\":398}],392:[function(t,e,r){\"use strict\";var n=t(\"is-browser\");e.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"test\",null,e),window.removeEventListener(\"test\",null,e)}catch(e){t=!1}return t}()},{\"is-browser\":398}],393:[function(t,e,r){r.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},r.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],394:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error(\"Must have at least d+1 points\");var i=t[0].length;if(r<=i)throw new Error(\"Must input at least d+1 points\");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error(\"Input not in general position\");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);for(var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2),u=0;u<=i;++u){for(var d=l.slice(),g=0;g<=i;++g)g===u&&(d[g]=-1);var m=d[0];d[0]=d[1],d[1]=m;var v=new a(d,new Array(i+1),!0);h[u]=v,p[u]=v}p[i+1]=f;for(var u=0;u<=i;++u)for(var d=h[u].vertices,y=h[u].adjacent,g=0;g<=i;++g){var x=d[g];if(x<0)y[g]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(y[g]=h[b])}for(var _=new c(i,o,p),w=!!e,u=i+1;u<r;++u)_.insert(t[u],w);return _.boundary()};var n=t(\"robust-orientation\"),i=t(\"simplicial-complex\").compareCells;function a(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function o(t,e,r){this.vertices=t,this.cell=e,this.index=r}function s(t,e){return i(t.vertices,e.vertices)}a.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=t;var e=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=e};var l=[];function c(t,e,r){this.dimension=t,this.vertices=e,this.simplices=r,this.interior=r.filter(function(t){return!t.boundary}),this.tuple=new Array(t+1);for(var i=0;i<=t;++i)this.tuple[i]=this.vertices[i];var a=l[t];a||(a=l[t]=function(t){for(var e=[\"function orient(){var tuple=this.tuple;return test(\"],r=0;r<=t;++r)r>0&&e.push(\",\"),e.push(\"tuple[\",r,\"]\");e.push(\")}return orient\");var i=new Function(\"test\",e.join(\"\")),a=n[t+1];return a||(a=n),i(a)}(t)),this.orient=a}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,f=0;f<=r;++f){var h=u[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var f=c[u];if(!(f.lastVisited>=r)){var h=a[u];a[u]=t;var p=this.orient();if(a[u]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,g=p.indexOf(r);if(!(g<0))for(var m=0;m<=n;++m)if(m!==g){var v=d[m];if(v.boundary&&!(v.lastVisited>=r)){var y=v.vertices;if(v.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=i[y[b]];if(this.orient()>0){y[x]=r,v.boundary=!1,c.push(v),f.push(v),v.lastVisited=r;continue}v.lastVisited=-r}var _=v.adjacent,w=p.slice(),k=d.slice(),M=new a(w,k,!0);u.push(M);var A=_.indexOf(e);if(!(A<0)){_[A]=M,k[g]=v,w[m]=-1,k[m]=e,d[m]=M,M.flip();for(b=0;b<=n;++b){var T=w[b];if(!(T<0||T===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var L=w[C];L<0||C===b||(S[E++]=L)}h.push(new o(S,M,b))}}}}}}h.sort(s);for(m=0;m+1<h.length;m+=2){var z=h[m],P=h[m+1],O=z.index,I=P.index;O<0||I<0||(z.cell.adjacent[z.index]=P.cell,P.cell.adjacent[P.index]=z.cell)}},u.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.vertices,l=0,c=0,u=0;u<=t;++u)s[u]>=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},{\"robust-orientation\":483,\"simplicial-complex\":493}],395:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),i=0,a=1;function o(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new x(null);return new x(y(t))};var s=o.prototype;function l(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function c(t,e){var r=y(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function u(t,e){var r=t.intervals([]);r.push(e),c(t,r)}function f(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?i:(r.splice(n,1),c(t,r),a)}function h(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function p(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function d(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function g(t,e){return t-e}function m(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function v(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function y(t){if(0===t.length)return null;for(var e=[],r=0;r<t.length;++r)e.push(t[r][0],t[r][1]);e.sort(g);var n=e[e.length>>1],i=[],a=[],s=[];for(r=0;r<t.length;++r){var l=t[r];l[1]<n?i.push(l):n<l[0]?a.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(m),u.sort(v),new o(n,y(i),y(a),c,u)}function x(t){this.root=t}s.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},s.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?u(this,t):this.left.insert(t):this.left=y([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?u(this,t):this.right.insert(t):this.right=y([t]);else{var r=n.ge(this.leftPoints,t,m),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},s.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid)return this.left?4*(this.right?this.right.count:0)>3*(e-1)?f(this,t):2===(c=this.left.remove(t))?(this.left=null,this.count-=1,a):(c===a&&(this.count-=1),c):i;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?f(this,t):2===(c=this.right.remove(t))?(this.right=null,this.count-=1,a):(c===a&&(this.count-=1),c):i;if(1===this.count)return this.leftPoints[0]===t?2:i;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,o=this.left;o.right;)r=o,o=o.right;if(r===this)o.right=this.right;else{var s=this.left,c=this.right;r.count-=o.count,r.right=o.left,o.left=s,o.right=c}l(this,o),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?l(this,this.left):l(this,this.right);return a}for(s=n.ge(this.leftPoints,t,m);s<this.leftPoints.length&&this.leftPoints[s][0]===t[0];++s)if(this.leftPoints[s]===t){this.count-=1,this.leftPoints.splice(s,1);for(c=n.ge(this.rightPoints,t,v);c<this.rightPoints.length&&this.rightPoints[c][1]===t[1];++c)if(this.rightPoints[c]===t)return this.rightPoints.splice(c,1),a}return i},s.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return h(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return p(this.rightPoints,t,e)}return d(this.leftPoints,e)},s.queryInterval=function(t,e,r){var n;if(t<this.mid&&this.left&&(n=this.left.queryInterval(t,e,r)))return n;if(e>this.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return e<this.mid?h(this.leftPoints,e,r):t>this.mid?p(this.rightPoints,t,r):d(this.leftPoints,r)};var b=x.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new o(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==i}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,\"count\",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,\"intervals\",{get:function(){return this.root?this.root.intervals([]):[]}})},{\"binary-search-bounds\":78}],396:[function(t,e,r){\"use strict\";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e}},{}],397:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}},{}],398:[function(t,e,r){e.exports=!0},{}],399:[function(t,e,r){function n(t){return!!t.constructor&&\"function\"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}e.exports=function(t){return null!=t&&(n(t)||function(t){return\"function\"==typeof t.readFloatLE&&\"function\"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],400:[function(t,e,r){\"use strict\";e.exports=\"undefined\"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))},{}],401:[function(t,e,r){e.exports=function(t){t||\"undefined\"==typeof navigator||(t=navigator.userAgent);t&&t.headers&&\"string\"==typeof t.headers[\"user-agent\"]&&(t=t.headers[\"user-agent\"]);return\"string\"==typeof t&&(/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(t.substr(0,4)))}},{}],402:[function(t,e,r){\"use strict\";e.exports=function(t){var e=typeof t;return null!==t&&(\"object\"===e||\"function\"===e)}},{}],403:[function(t,e,r){\"use strict\";var n=Object.prototype.toString;e.exports=function(t){var e;return\"[object Object]\"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],404:[function(t,e,r){\"use strict\";e.exports=function(t){return\"string\"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}},{}],405:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],406:[function(t,e,r){(function(t){!function(t,n){\"object\"==typeof r&&\"undefined\"!=typeof e?e.exports=n():t.mapboxgl=n()}(this,function(){\"use strict\";var e,r,n;function i(t,i){if(e)if(r){var a=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+r+\")(sharedChunk);\",o={};e(o),(n=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:\"text/javascript\"}))}else r=i;else e=i}return i(0,function(e){var r=\"undefined\"!=typeof window?window:\"undefined\"!=typeof t?t:\"undefined\"!=typeof self?self:{};function n(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}function i(t,e){return t(e={exports:{}},e.exports),e.exports}var a=o;function o(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}o.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},o.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},o.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},o.prototype.solveCurveX=function(t,e){var r,n,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if((i=t)<(r=0))return r;if(i>(n=1))return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},o.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var s=function(t,e,r){this.column=t,this.row=e,this.zoom=r};s.prototype.clone=function(){return new s(this.column,this.row,this.zoom)},s.prototype.zoomTo=function(t){return this.clone()._zoomTo(t)},s.prototype.sub=function(t){return this.clone()._sub(t)},s.prototype._zoomTo=function(t){var e=Math.pow(2,t-this.zoom);return this.column*=e,this.row*=e,this.zoom=t,this},s.prototype._sub=function(t){return t=t.zoomTo(this.zoom),this.column-=t.column,this.row-=t.row,this};var l=c;function c(t,e){this.x=t,this.y=e}function u(t,e,r,n){var i=new a(t,e,r,n);return function(t){return i.solve(t)}}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(t){return t instanceof c?t:Array.isArray(t)?new c(t[0],t[1]):t};var f=u(.25,.1,.25,1);function h(t,e,r){return Math.min(r,Math.max(e,t))}function p(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}var d=1;function g(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})}function m(t,e){return-1!==t.indexOf(e,t.length-e.length)}function v(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function y(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function x(t){return Array.isArray(t)?t.map(x):\"object\"==typeof t&&t?v(t,x):t}var b={};function _(t){b[t]||(\"undefined\"!=typeof console&&console.warn(t),b[t]=!0)}function w(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)a=t[r],e+=((o=t[i]).x-a.x)*(a.y+o.y);return e}var M={Unknown:\"Unknown\",Style:\"Style\",Source:\"Source\",Tile:\"Tile\",Glyphs:\"Glyphs\",SpriteImage:\"SpriteImage\",SpriteJSON:\"SpriteJSON\",Image:\"Image\"};\"function\"==typeof Object.freeze&&Object.freeze(M);var A=function(t){function e(e,r,n){t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+\": \"+this.message+\" (\"+this.status+\"): \"+this.url},e}(Error);function T(t){var e=new self.XMLHttpRequest;for(var r in e.open(\"GET\",t.url,!0),t.headers)e.setRequestHeader(r,t.headers[r]);return e.withCredentials=\"include\"===t.credentials,e}var S=function(t,e){var r=T(t);return r.responseType=\"arraybuffer\",r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){var n=r.response;if(0===n.byteLength&&200===r.status)return e(new Error(\"http status 200 returned without content.\"));r.status>=200&&r.status<300&&r.response?e(null,{data:n,cacheControl:r.getResponseHeader(\"Cache-Control\"),expires:r.getResponseHeader(\"Expires\")}):e(new A(r.statusText,r.status,t.url))},r.send(),r};function E(t,e,r){r[t]=r[t]||[],r[t].push(e)}function C(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var L=function(t,e){void 0===e&&(e={}),p(this,e),this.type=t},z=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,\"error\",p({error:e},r))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(L),P=function(){};P.prototype.on=function(t,e){return this._listeners=this._listeners||{},E(t,e,this._listeners),this},P.prototype.off=function(t,e){return C(t,e,this._listeners),C(t,e,this._oneTimeListeners),this},P.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},E(t,e,this._oneTimeListeners),this},P.prototype.fire=function(t){\"string\"==typeof t&&(t=new L(t,arguments[1]||{}));var e=t.type;if(this.listens(e)){t.target=this;for(var r=0,n=this._listeners&&this._listeners[e]?this._listeners[e].slice():[];r<n.length;r+=1)n[r].call(this,t);for(var i=0,a=this._oneTimeListeners&&this._oneTimeListeners[e]?this._oneTimeListeners[e].slice():[];i<a.length;i+=1){var o=a[i];C(e,o,this._oneTimeListeners),o.call(this,t)}var s=this._eventedParent;s&&(p(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),s.fire(t))}else m(e,\"error\")?console.error(t&&t.error||t||\"Empty error event\"):m(e,\"warning\")&&console.warn(t&&t.warning||t||\"Empty warning event\");return this},P.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},P.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var O={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.0511,180,85.0511]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{}},default:\"mapbox\"},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},buffer:{type:\"number\",default:128,maximum:512,minimum:0},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},lineMetrics:{type:\"boolean\",default:!1}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_fill:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_circle:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_line:{\"line-cap\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{butt:{},round:{},square:{}},default:\"butt\"},\"line-join\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:{bevel:{},round:{},miter:{}},default:\"miter\"},\"line-miter-limit\":{type:\"number\",default:2,function:\"interpolated\",\"zoom-function\":!0,requires:[{\"line-join\":\"miter\"}]},\"line-round-limit\":{type:\"number\",default:1.05,function:\"interpolated\",\"zoom-function\":!0,requires:[{\"line-join\":\"round\"}]},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{point:{},line:{}},default:\"point\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,function:\"interpolated\",\"zoom-function\":!0,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}]},\"symbol-avoid-edges\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1},\"icon-allow-overlap\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\"]},\"icon-ignore-placement\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\"]},\"icon-optional\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\",\"text-field\"]},\"icon-rotation-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"]},\"icon-size\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,units:\"factor of the original icon size\",requires:[\"icon-image\"]},\"icon-text-fit\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"]},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",function:\"interpolated\",\"zoom-function\":!0,requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}]},\"icon-image\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,tokens:!0},\"icon-rotate\":{type:\"number\",default:0,period:360,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,units:\"degrees\",requires:[\"icon-image\"]},\"icon-padding\":{type:\"number\",default:2,minimum:0,function:\"interpolated\",\"zoom-function\":!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-keep-upright\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":\"line\"}]},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"icon-image\"]},\"icon-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"]},\"icon-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"]},\"text-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"]},\"text-rotation-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"]},\"text-field\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:\"\",tokens:!0},\"text-font\":{type:\"array\",value:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"]},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",function:\"interpolated\",\"zoom-function\":!0,requires:[\"text-field\"]},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-justify\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:{left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"]},\"text-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\"]},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",function:\"interpolated\",\"zoom-function\":!0,requires:[\"text-field\",{\"symbol-placement\":\"line\"}]},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,requires:[\"text-field\"]},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",function:\"interpolated\",\"zoom-function\":!0,requires:[\"text-field\"]},\"text-keep-upright\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":\"line\"}]},\"text-transform\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,\"property-function\":!0,values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"]},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,length:2,default:[0,0],requires:[\"text-field\"]},\"text-allow-overlap\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"text-field\"]},\"text-ignore-placement\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"text-field\"]},\"text-optional\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!1,requires:[\"text-field\",\"icon-image\"]},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function_stop:{type:\"array\",minimum:0,maximum:22,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},expression_name:{type:\"enum\",values:{let:{group:\"Variable binding\"},var:{group:\"Variable binding\"},literal:{group:\"Types\"},array:{group:\"Types\"},at:{group:\"Lookup\"},case:{group:\"Decision\"},match:{group:\"Decision\"},coalesce:{group:\"Decision\"},step:{group:\"Ramps, scales, curves\"},interpolate:{group:\"Ramps, scales, curves\"},ln2:{group:\"Math\"},pi:{group:\"Math\"},e:{group:\"Math\"},typeof:{group:\"Types\"},string:{group:\"Types\"},number:{group:\"Types\"},boolean:{group:\"Types\"},object:{group:\"Types\"},collator:{group:\"Types\"},\"to-string\":{group:\"Types\"},\"to-number\":{group:\"Types\"},\"to-boolean\":{group:\"Types\"},\"to-rgba\":{group:\"Color\"},\"to-color\":{group:\"Types\"},rgb:{group:\"Color\"},rgba:{group:\"Color\"},get:{group:\"Lookup\"},has:{group:\"Lookup\"},length:{group:\"Lookup\"},properties:{group:\"Feature data\"},\"geometry-type\":{group:\"Feature data\"},id:{group:\"Feature data\"},zoom:{group:\"Zoom\"},\"heatmap-density\":{group:\"Heatmap\"},\"line-progress\":{group:\"Heatmap\"},\"+\":{group:\"Math\"},\"*\":{group:\"Math\"},\"-\":{group:\"Math\"},\"/\":{group:\"Math\"},\"%\":{group:\"Math\"},\"^\":{group:\"Math\"},sqrt:{group:\"Math\"},log10:{group:\"Math\"},ln:{group:\"Math\"},log2:{group:\"Math\"},sin:{group:\"Math\"},cos:{group:\"Math\"},tan:{group:\"Math\"},asin:{group:\"Math\"},acos:{group:\"Math\"},atan:{group:\"Math\"},min:{group:\"Math\"},max:{group:\"Math\"},round:{group:\"Math\"},abs:{group:\"Math\"},ceil:{group:\"Math\"},floor:{group:\"Math\"},\"==\":{group:\"Decision\"},\"!=\":{group:\"Decision\"},\">\":{group:\"Decision\"},\"<\":{group:\"Decision\"},\">=\":{group:\"Decision\"},\"<=\":{group:\"Decision\"},all:{group:\"Decision\"},any:{group:\"Decision\"},\"!\":{group:\"Decision\"},\"is-supported-script\":{group:\"String\"},upcase:{group:\"String\"},downcase:{group:\"String\"},concat:{group:\"String\"},\"resolved-locale\":{group:\"String\"}}},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},transition:!1,\"zoom-function\":!0,\"property-function\":!1,function:\"piecewise-constant\"},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",transition:!0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1},color:{type:\"color\",default:\"#ffffff\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0},intensity:{type:\"number\",default:.5,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",function:\"piecewise-constant\",\"zoom-function\":!0,default:!0},\"fill-opacity\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:1,minimum:0,maximum:1,transition:!0},\"fill-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"fill-pattern\"}]},\"fill-outline-color\":{type:\"color\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}]},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\"},\"fill-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"]},\"fill-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0}},paint_line:{\"line-opacity\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:1,minimum:0,maximum:1,transition:!0},\"line-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"line-pattern\"}]},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\"},\"line-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"]},\"line-width\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-offset\":{type:\"number\",default:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-blur\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"line-dasharray\":{type:\"array\",value:\"number\",function:\"piecewise-constant\",\"zoom-function\":!0,minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}]},\"line-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0},\"line-gradient\":{type:\"color\",function:\"interpolated\",\"zoom-function\":!1,\"property-function\":!1,transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}]}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"circle-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-blur\":{type:\"number\",default:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\"},\"circle-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"]},\"circle-pitch-scale\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\"},\"circle-pitch-alignment\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"viewport\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!1},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],function:\"interpolated\",\"zoom-function\":!1,\"property-function\":!1,transition:!1},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,transition:!0}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"icon-image\"]},\"icon-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"icon-image\"]},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"icon-image\"]},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\",requires:[\"icon-image\"]},\"icon-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"]},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"text-field\"]},\"text-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"text-field\"]},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[\"text-field\"]},\"text-halo-width\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\",requires:[\"text-field\"]},\"text-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"]}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"degrees\"},\"raster-brightness-min\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,default:0,minimum:0,maximum:1,transition:!0},\"raster-brightness-max\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,default:1,minimum:0,maximum:1,transition:!0},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,function:\"interpolated\",\"zoom-function\":!0,transition:!1,units:\"milliseconds\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,function:\"interpolated\",\"zoom-function\":!0,transition:!1},\"hillshade-illumination-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"viewport\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",function:\"interpolated\",\"zoom-function\":!0,transition:!0},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,transition:!0}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,transition:!0,requires:[{\"!\":\"background-pattern\"}]},\"background-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,function:\"interpolated\",\"zoom-function\":!0,transition:!0}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\"}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!1,default:1,minimum:0,maximum:1,transition:!0},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}]},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],function:\"interpolated\",\"zoom-function\":!0,transition:!0,units:\"pixels\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",function:\"piecewise-constant\",\"zoom-function\":!0,values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"]},\"fill-extrusion-pattern\":{type:\"string\",function:\"piecewise-constant\",\"zoom-function\":!0,transition:!0},\"fill-extrusion-height\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:0,minimum:0,units:\"meters\",transition:!0},\"fill-extrusion-base\":{type:\"number\",function:\"interpolated\",\"zoom-function\":!0,\"property-function\":!0,default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"]}}},I=function(t,e,r,n){this.message=(t?t+\": \":\"\")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function D(t){var e=t.key,r=t.value;return r?[new I(e,r,\"constants have been deprecated as of v8\")]:[]}function R(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}function B(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function F(t){return Array.isArray(t)?t.map(F):B(t)}var N=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error),j=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r],a=i[0],o=i[1];this.bindings[a]=o}};j.prototype.concat=function(t){return new j(this,t)},j.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+\" not found in scope.\")},j.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)};var V={kind:\"null\"},U={kind:\"number\"},q={kind:\"string\"},H={kind:\"boolean\"},G={kind:\"color\"},W={kind:\"object\"},Y={kind:\"value\"},X={kind:\"collator\"};function Z(t,e){return{kind:\"array\",itemType:t,N:e}}function $(t){if(\"array\"===t.kind){var e=$(t.itemType);return\"number\"==typeof t.N?\"array<\"+e+\", \"+t.N+\">\":\"value\"===t.itemType.kind?\"array\":\"array<\"+e+\">\"}return t.kind}var J=[V,U,q,H,G,W,Z(Y)];function K(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&!K(t.itemType,e.itemType)&&(\"number\"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(var r=0,n=J;r<n.length;r+=1)if(!K(n[r],e))return null}return\"Expected \"+$(t)+\" but found \"+$(e)+\" instead.\"}var Q=i(function(t,e){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return\"%\"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return\"%\"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,\"\").toLowerCase();if(i in r)return r[i].slice();if(\"#\"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf(\"(\"),c=i.indexOf(\")\");if(-1!==l&&c+1===i.length){var u=i.substr(0,l),f=i.substr(l+1,c-(l+1)).split(\",\"),h=1;switch(u){case\"rgba\":if(4!==f.length)return null;h=o(f.pop());case\"rgb\":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case\"hsla\":if(4!==f.length)return null;h=o(f.pop());case\"hsl\":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),g=o(f[2]),m=g<=.5?g*(d+1):g+d-g*d,v=2*g-m;return[n(255*s(v,m,p+1/3)),n(255*s(v,m,p)),n(255*s(v,m,p-1/3)),h];default:return null}}return null}}catch(t){}}).parseCSSColor,tt=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};tt.parse=function(t){if(t){if(t instanceof tt)return t;if(\"string\"==typeof t){var e=Q(t);if(e)return new tt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},tt.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return\"rgba(\"+Math.round(e)+\",\"+Math.round(r)+\",\"+Math.round(n)+\",\"+i+\")\"},tt.prototype.toArray=function(){var t=this.r,e=this.g,r=this.b,n=this.a;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]},tt.black=new tt(0,0,0,1),tt.white=new tt(1,1,1,1),tt.transparent=new tt(0,0,0,0);var et=function(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};et.prototype.compare=function(t,e){return this.collator.compare(t,e)},et.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var rt=function(t,e,r){this.type=X,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e};function nt(t,e,r,n){return\"number\"==typeof t&&t>=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:\"Invalid rgba value [\"+[t,e,r,n].join(\", \")+\"]: 'a' must be between 0 and 1.\":\"Invalid rgba value [\"+(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}function it(t){if(null===t)return V;if(\"string\"==typeof t)return q;if(\"boolean\"==typeof t)return H;if(\"number\"==typeof t)return U;if(t instanceof tt)return G;if(t instanceof et)return X;if(Array.isArray(t)){for(var e,r=t.length,n=0,i=t;n<i.length;n+=1){var a=it(i[n]);if(e){if(e===a)continue;e=Y;break}e=a}return Z(e||Y,r)}return W}rt.parse=function(t,e){if(2!==t.length)return e.error(\"Expected one argument.\");var r=t[1];if(\"object\"!=typeof r||Array.isArray(r))return e.error(\"Collator options argument must be an object.\");var n=e.parse(void 0!==r[\"case-sensitive\"]&&r[\"case-sensitive\"],1,H);if(!n)return null;var i=e.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,H);if(!i)return null;var a=null;return r.locale&&!(a=e.parse(r.locale,1,q))?null:new rt(n,i,a)},rt.prototype.evaluate=function(t){return new et(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},rt.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)},rt.prototype.possibleOutputs=function(){return[void 0]},rt.prototype.serialize=function(){var t={};return t[\"case-sensitive\"]=this.caseSensitive.serialize(),t[\"diacritic-sensitive\"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),[\"collator\",t]};var at=function(t,e){this.type=t,this.value=e};at.parse=function(t,e){if(2!==t.length)return e.error(\"'literal' expression requires exactly one argument, but found \"+(t.length-1)+\" instead.\");if(!function t(e){if(null===e)return!0;if(\"string\"==typeof e)return!0;if(\"boolean\"==typeof e)return!0;if(\"number\"==typeof e)return!0;if(e instanceof tt)return!0;if(e instanceof et)return!0;if(Array.isArray(e)){for(var r=0,n=e;r<n.length;r+=1)if(!t(n[r]))return!1;return!0}if(\"object\"==typeof e){for(var i in e)if(!t(e[i]))return!1;return!0}return!1}(t[1]))return e.error(\"invalid value\");var r=t[1],n=it(r),i=e.expectedType;return\"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new at(n,r)},at.prototype.evaluate=function(){return this.value},at.prototype.eachChild=function(){},at.prototype.possibleOutputs=function(){return[this.value]},at.prototype.serialize=function(){return\"array\"===this.type.kind||\"object\"===this.type.kind?[\"literal\",this.value]:this.value instanceof tt?[\"rgba\"].concat(this.value.toArray()):this.value};var ot=function(t){this.name=\"ExpressionEvaluationError\",this.message=t};ot.prototype.toJSON=function(){return this.message};var st={string:q,number:U,boolean:H,object:W},lt=function(t,e){this.type=t,this.args=e};lt.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");for(var r=t[0],n=st[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,Y);if(!o)return null;i.push(o)}return new lt(n,i)},lt.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!K(this.type,it(r)))return r;if(e===this.args.length-1)throw new ot(\"Expected value to be of type \"+$(this.type)+\", but found \"+$(it(r))+\" instead.\")}return null},lt.prototype.eachChild=function(t){this.args.forEach(t)},lt.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},lt.prototype.serialize=function(){return[this.type.kind].concat(this.args.map(function(t){return t.serialize()}))};var ct={string:q,number:U,boolean:H},ut=function(t,e){this.type=t,this.input=e};ut.parse=function(t,e){if(t.length<2||t.length>4)return e.error(\"Expected 1, 2, or 3 arguments, but found \"+(t.length-1)+\" instead.\");var r,n;if(t.length>2){var i=t[1];if(\"string\"!=typeof i||!(i in ct))return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);r=ct[i]}else r=Y;if(t.length>3){if(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2]))return e.error('The length argument to \"array\" must be a positive integer literal',2);n=t[2]}var a=Z(r,n),o=e.parse(t[t.length-1],t.length-1,Y);return o?new ut(a,o):null},ut.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(K(this.type,it(e)))throw new ot(\"Expected value to be of type \"+$(this.type)+\", but found \"+$(it(e))+\" instead.\");return e},ut.prototype.eachChild=function(t){t(this.input)},ut.prototype.possibleOutputs=function(){return this.input.possibleOutputs()},ut.prototype.serialize=function(){var t=[\"array\"],e=this.type.itemType;if(\"string\"===e.kind||\"number\"===e.kind||\"boolean\"===e.kind){t.push(e.kind);var r=this.type.N;\"number\"==typeof r&&t.push(r)}return t.push(this.input.serialize()),t};var ft={\"to-number\":U,\"to-color\":G},ht=function(t,e){this.type=t,this.args=e};ht.parse=function(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");for(var r=t[0],n=ft[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,Y);if(!o)return null;i.push(o)}return new ht(n,i)},ht.prototype.evaluate=function(t){if(\"color\"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1)if(r=null,\"string\"==typeof(e=i[n].evaluate(t))){var a=t.parseColor(e);if(a)return a}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?\"Invalid rbga value \"+JSON.stringify(e)+\": expected an array containing either three or four numeric values.\":nt(e[0],e[1],e[2],e[3])))return new tt(e[0]/255,e[1]/255,e[2]/255,e[3]);throw new ot(r||\"Could not parse color from value '\"+(\"string\"==typeof e?e:JSON.stringify(e))+\"'\")}for(var o=null,s=0,l=this.args;s<l.length;s+=1)if(null!==(o=l[s].evaluate(t))){var c=Number(o);if(!isNaN(c))return c}throw new ot(\"Could not convert \"+JSON.stringify(o)+\" to number.\")},ht.prototype.eachChild=function(t){this.args.forEach(t)},ht.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},ht.prototype.serialize=function(){var t=[\"to-\"+this.type.kind];return this.eachChild(function(e){t.push(e.serialize())}),t};var pt=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],dt=function(){this._parseColorCache={}};dt.prototype.id=function(){return this.feature&&\"id\"in this.feature?this.feature.id:null},dt.prototype.geometryType=function(){return this.feature?\"number\"==typeof this.feature.type?pt[this.feature.type]:this.feature.type:null},dt.prototype.properties=function(){return this.feature&&this.feature.properties||{}},dt.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=tt.parse(t)),e};var gt=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n};function mt(t){if(t instanceof gt){if(\"get\"===t.name&&1===t.args.length)return!1;if(\"has\"===t.name&&1===t.args.length)return!1;if(\"properties\"===t.name||\"geometry-type\"===t.name||\"id\"===t.name)return!1;if(/^filter-/.test(t.name))return!1}var e=!0;return t.eachChild(function(t){e&&!mt(t)&&(e=!1)}),e}function vt(t,e){if(t instanceof gt&&e.indexOf(t.name)>=0)return!1;var r=!0;return t.eachChild(function(t){r&&!vt(t,e)&&(r=!1)}),r}gt.prototype.evaluate=function(t){return this._evaluate(t,this.args)},gt.prototype.eachChild=function(t){this.args.forEach(t)},gt.prototype.possibleOutputs=function(){return[void 0]},gt.prototype.serialize=function(){return[this.name].concat(this.args.map(function(t){return t.serialize()}))},gt.parse=function(t,e){var r=t[0],n=gt.definitions[r];if(!n)return e.error('Unknown expression \"'+r+'\". If you wanted a literal array, use [\"literal\", [...]].',0);for(var i=Array.isArray(n)?n[0]:n.type,a=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=a.filter(function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1}),s=[],l=1;l<t.length;l++){var c=t[l],u=void 0;if(1===o.length){var f=o[0][0];u=Array.isArray(f)?f[l-1]:f.type}var h=e.parse(c,1+s.length,u);if(!h)return null;s.push(h)}for(var p=null,d=0,g=o;d<g.length;d+=1){var m=g[d],v=m[0],y=m[1];if(p=new xt(e.registry,e.path,null,e.scope),Array.isArray(v)&&v.length!==s.length)p.error(\"Expected \"+v.length+\" arguments, but found \"+s.length+\" instead.\");else{for(var x=0;x<s.length;x++){var b=Array.isArray(v)?v[x]:v.type,_=s[x];p.concat(x+1).checkSubtype(b,_.type)}if(0===p.errors.length)return new gt(r,i,y,s)}}if(1===o.length)e.errors.push.apply(e.errors,p.errors);else{var w=(o.length?o:a).map(function(t){var e;return e=t[0],Array.isArray(e)?\"(\"+e.map($).join(\", \")+\")\":\"(\"+$(e.type)+\"...)\"}).join(\" | \"),k=s.map(function(t){return $(t.type)}).join(\", \");e.error(\"Expected arguments of type \"+w+\", but found (\"+k+\") instead.\")}return null},gt.register=function(t,e){for(var r in gt.definitions=e,e)t[r]=gt};var yt=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e};yt.parse=function(t,e){if(2!==t.length||\"string\"!=typeof t[1])return e.error(\"'var' expression requires exactly one string literal argument.\");var r=t[1];return e.scope.has(r)?new yt(r,e.scope.get(r)):e.error('Unknown variable \"'+r+'\". Make sure \"'+r+'\" has been bound in an enclosing \"let\" expression before using it.',1)},yt.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},yt.prototype.eachChild=function(){},yt.prototype.possibleOutputs=function(){return[void 0]},yt.prototype.serialize=function(){return[\"var\",this.name]};var xt=function(t,e,r,n,i){void 0===e&&(e=[]),void 0===n&&(n=new j),void 0===i&&(i=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return\"[\"+t+\"]\"}).join(\"\"),this.scope=n,this.errors=i,this.expectedType=r};function bt(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)],n=t[o+1],e===r||e>r&&e<n)return o;if(r<e)i=o+1;else{if(!(r>e))throw new ot(\"Input is not a number.\");a=o-1}}return Math.max(o-1,0)}xt.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},xt.prototype._parse=function(t,e){if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var r=t[0];if(\"string\"!=typeof r)return this.error(\"Expression name must be a string, but found \"+typeof r+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var n=this.registry[r];if(n){var i=n.parse(t,this);if(!i)return null;if(this.expectedType){var a=this.expectedType,o=i.type;if(\"string\"!==a.kind&&\"number\"!==a.kind&&\"boolean\"!==a.kind&&\"object\"!==a.kind||\"value\"!==o.kind)if(\"array\"===a.kind&&\"value\"===o.kind)e.omitTypeAnnotations||(i=new ut(a,i));else if(\"color\"!==a.kind||\"value\"!==o.kind&&\"string\"!==o.kind){if(this.checkSubtype(this.expectedType,i.type))return null}else e.omitTypeAnnotations||(i=new ht(a,[i]));else e.omitTypeAnnotations||(i=new lt(a,[i]))}if(!(i instanceof at)&&function t(e){if(e instanceof yt)return t(e.boundExpression);if(e instanceof gt&&\"error\"===e.name)return!1;if(e instanceof rt)return!1;var r=e instanceof ht||e instanceof lt||e instanceof ut,n=!0;return e.eachChild(function(e){n=r?n&&t(e):n&&e instanceof at}),!!n&&(mt(e)&&vt(e,[\"zoom\",\"heatmap-density\",\"line-progress\",\"is-supported-script\"]))}(i)){var s=new dt;try{i=new at(i.type,i.evaluate(s))}catch(t){return this.error(t.message),null}}return i}return this.error('Unknown expression \"'+r+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}return void 0===t?this.error(\"'undefined' value invalid. Use null instead.\"):\"object\"==typeof t?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof t+\" instead.\")},xt.prototype.concat=function(t,e,r){var n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new xt(this.registry,n,e||null,i,this.errors)},xt.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=\"\"+this.key+e.map(function(t){return\"[\"+t+\"]\"}).join(\"\");this.errors.push(new N(n,t))},xt.prototype.checkSubtype=function(t,e){var r=K(t,e);return r&&this.error(r),r};var _t=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[0],s=a[1];this.labels.push(o),this.outputs.push(s)}};function wt(t,e,r){return t*(1-r)+e*r}_t.parse=function(t,e){var r=t[1],n=t.slice(2);if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(r=e.parse(r,1,U)))return null;var i=[],a=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(a=e.expectedType),n.unshift(-1/0);for(var o=0;o<n.length;o+=2){var s=n[o],l=n[o+1],c=o+1,u=o+2;if(\"number\"!=typeof s)return e.error('Input/output pairs for \"step\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',c);if(i.length&&i[i.length-1][0]>=s)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',c);var f=e.parse(l,u,a);if(!f)return null;a=a||f.type,i.push([s,f])}return new _t(a,r,i)},_t.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[bt(e,n)].evaluate(t)},_t.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},_t.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},_t.prototype.serialize=function(){for(var t=[\"step\",this.input.serialize()],e=0;e<this.labels.length;e++)e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var kt=Object.freeze({number:wt,color:function(t,e,r){return new tt(wt(t.r,e.r,r),wt(t.g,e.g,r),wt(t.b,e.b,r),wt(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,n){return wt(t,e[n],r)})}}),Mt=function(t,e,r,n){this.type=t,this.interpolation=e,this.input=r,this.labels=[],this.outputs=[];for(var i=0,a=n;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1];this.labels.push(s),this.outputs.push(l)}};function At(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}Mt.interpolationFactor=function(t,e,r,n){var i=0;if(\"exponential\"===t.name)i=At(e,t.base,r,n);else if(\"linear\"===t.name)i=At(e,1,r,n);else if(\"cubic-bezier\"===t.name){var o=t.controlPoints;i=new a(o[0],o[1],o[2],o[3]).solve(At(e,1,r,n))}return i},Mt.parse=function(t,e){var r=t[1],n=t[2],i=t.slice(3);if(!Array.isArray(r)||0===r.length)return e.error(\"Expected an interpolation type expression.\",1);if(\"linear\"===r[0])r={name:\"linear\"};else if(\"exponential\"===r[0]){var a=r[1];if(\"number\"!=typeof a)return e.error(\"Exponential interpolation requires a numeric base.\",1,1);r={name:\"exponential\",base:a}}else{if(\"cubic-bezier\"!==r[0])return e.error(\"Unknown interpolation type \"+String(r[0]),1,0);var o=r.slice(1);if(4!==o.length||o.some(function(t){return\"number\"!=typeof t||t<0||t>1}))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);r={name:\"cubic-bezier\",controlPoints:o}}if(t.length-1<4)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(!(n=e.parse(n,2,U)))return null;var s=[],l=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(l=e.expectedType);for(var c=0;c<i.length;c+=2){var u=i[c],f=i[c+1],h=c+3,p=c+4;if(\"number\"!=typeof u)return e.error('Input/output pairs for \"interpolate\" expressions must be defined using literal numeric values (not computed expressions) for the input values.',h);if(s.length&&s[s.length-1][0]>=u)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',h);var d=e.parse(f,p,l);if(!d)return null;l=l||d.type,s.push([u,d])}return\"number\"===l.kind||\"color\"===l.kind||\"array\"===l.kind&&\"number\"===l.itemType.kind&&\"number\"==typeof l.N?new Mt(l,r,n,s):e.error(\"Type \"+$(l)+\" is not interpolatable.\")},Mt.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=bt(e,n),o=e[a],s=e[a+1],l=Mt.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(t),u=r[a+1].evaluate(t);return kt[this.type.kind.toLowerCase()](c,u,l)},Mt.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},Mt.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}));var t},Mt.prototype.serialize=function(){for(var t=[\"interpolate\",\"linear\"===this.interpolation.name?[\"linear\"]:\"exponential\"===this.interpolation.name?1===this.interpolation.base?[\"linear\"]:[\"exponential\",this.interpolation.base]:[\"cubic-bezier\"].concat(this.interpolation.controlPoints),this.input.serialize()],e=0;e<this.labels.length;e++)t.push(this.labels[e],this.outputs[e].serialize());return t};var Tt=function(t,e){this.type=t,this.args=e};Tt.parse=function(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");var r=null,n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);for(var i=[],a=0,o=t.slice(1);a<o.length;a+=1){var s=o[a],l=e.parse(s,1+i.length,r,void 0,{omitTypeAnnotations:!0});if(!l)return null;r=r||l.type,i.push(l)}var c=n&&i.some(function(t){return K(n,t.type)});return new Tt(c?Y:r,i)},Tt.prototype.evaluate=function(t){for(var e=null,r=0,n=this.args;r<n.length&&null===(e=n[r].evaluate(t));r+=1);return e},Tt.prototype.eachChild=function(t){this.args.forEach(t)},Tt.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}));var t},Tt.prototype.serialize=function(){var t=[\"coalesce\"];return this.eachChild(function(e){t.push(e.serialize())}),t};var St=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};St.prototype.evaluate=function(t){return this.result.evaluate(t)},St.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},St.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found \"+(t.length-1)+\" instead.\");for(var r=[],n=1;n<t.length-1;n+=2){var i=t[n];if(\"string\"!=typeof i)return e.error(\"Expected string, but found \"+typeof i+\" instead.\",n);if(/[^a-zA-Z0-9_]/.test(i))return e.error(\"Variable names must contain only alphanumeric characters or '_'.\",n);var a=e.parse(t[n+1],n+1);if(!a)return null;r.push([i,a])}var o=e.parse(t[t.length-1],t.length-1,void 0,r);return o?new St(r,o):null},St.prototype.possibleOutputs=function(){return this.result.possibleOutputs()},St.prototype.serialize=function(){for(var t=[\"let\"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t.push(i,a.serialize())}return t.push(this.result.serialize()),t};var Et=function(t,e,r){this.type=t,this.index=e,this.input=r};Et.parse=function(t,e){if(3!==t.length)return e.error(\"Expected 2 arguments, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1,U),n=e.parse(t[2],2,Z(e.expectedType||Y));if(!r||!n)return null;var i=n.type;return new Et(i.itemType,r,n)},Et.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new ot(\"Array index out of bounds: \"+e+\" < 0.\");if(e>=r.length)throw new ot(\"Array index out of bounds: \"+e+\" > \"+(r.length-1)+\".\");if(e!==Math.floor(e))throw new ot(\"Array index must be an integer, but found \"+e+\" instead.\");return r[e]},Et.prototype.eachChild=function(t){t(this.index),t(this.input)},Et.prototype.possibleOutputs=function(){return[void 0]},Et.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var Ct=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Ct.parse=function(t,e){if(t.length<5)return e.error(\"Expected at least 4 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");var r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;o<t.length-1;o+=2){var s=t[o],l=t[o+1];Array.isArray(s)||(s=[s]);var c=e.concat(o);if(0===s.length)return c.error(\"Expected at least one branch label.\");for(var u=0,f=s;u<f.length;u+=1){var h=f[u];if(\"number\"!=typeof h&&\"string\"!=typeof h)return c.error(\"Branch labels must be numbers or strings.\");if(\"number\"==typeof h&&Math.abs(h)>Number.MAX_SAFE_INTEGER)return c.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(\"number\"==typeof h&&Math.floor(h)!==h)return c.error(\"Numeric branch labels must be integer values.\");if(r){if(c.checkSubtype(r,it(h)))return null}else r=it(h);if(void 0!==i[String(h)])return c.error(\"Branch labels must be unique.\");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,r);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?new Ct(r,n,d,i,a,g):null},Ct.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Ct.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Ct.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},Ct.prototype.serialize=function(){for(var t=this,e=[\"match\",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i<a.length;i+=1){var o=a[i],s=n[t.cases[o]];void 0===s?(n[t.cases[o]]=r.length,r.push([t.cases[o],[o]])):r[s][1].push(o)}for(var l=function(e){return\"number\"===t.input.type.kind?Number(e):e},c=0,u=r;c<u.length;c+=1){var f=u[c],h=f[0],p=f[1];1===p.length?e.push(l(p[0])):e.push(p.map(l)),e.push(t.outputs[h].serialize())}return e.push(this.otherwise.serialize()),e};var Lt=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};function zt(t){return\"string\"===t.kind||\"number\"===t.kind||\"boolean\"===t.kind||\"null\"===t.kind}function Pt(t,e){return function(){function r(t,e,r){this.type=H,this.lhs=t,this.rhs=e,this.collator=r}return r.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");var n=e.parse(t[1],1,Y);if(!n)return null;var i=e.parse(t[2],2,Y);if(!i)return null;if(!zt(n.type)&&!zt(i.type))return e.error(\"Expected at least one argument to be a string, number, boolean, or null, but found (\"+$(n.type)+\", \"+$(i.type)+\") instead.\");if(n.type.kind!==i.type.kind&&\"value\"!==n.type.kind&&\"value\"!==i.type.kind)return e.error(\"Cannot compare \"+$(n.type)+\" and \"+$(i.type)+\".\");var a=null;if(4===t.length){if(\"string\"!==n.type.kind&&\"string\"!==i.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(!(a=e.parse(t[3],3,X)))return null}return new r(n,i,a)},r.prototype.evaluate=function(t){var r=this.collator?0===this.collator.evaluate(t).compare(this.lhs.evaluate(t),this.rhs.evaluate(t)):this.lhs.evaluate(t)===this.rhs.evaluate(t);return e?!r:r},r.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)},r.prototype.possibleOutputs=function(){return[!0,!1]},r.prototype.serialize=function(){var e=[t];return this.eachChild(function(t){e.push(t.serialize())}),e},r}()}Lt.parse=function(t,e){if(t.length<4)return e.error(\"Expected at least 3 arguments, but found only \"+(t.length-1)+\".\");if(t.length%2!=0)return e.error(\"Expected an odd number of arguments.\");var r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],i=1;i<t.length-1;i+=2){var a=e.parse(t[i],i,H);if(!a)return null;var o=e.parse(t[i+1],i+1,r);if(!o)return null;n.push([a,o]),r=r||o.type}var s=e.parse(t[t.length-1],t.length-1,r);return s?new Lt(r,n,s):null},Lt.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];if(i.evaluate(t))return a.evaluate(t)}return this.otherwise.evaluate(t)},Lt.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t(i),t(a)}t(this.otherwise)},Lt.prototype.possibleOutputs=function(){return(t=[]).concat.apply(t,this.branches.map(function(t){return t[0],t[1].possibleOutputs()})).concat(this.otherwise.possibleOutputs());var t},Lt.prototype.serialize=function(){var t=[\"case\"];return this.eachChild(function(e){t.push(e.serialize())}),t};var Ot=Pt(\"==\",!1),It=Pt(\"!=\",!0),Dt=function(t){this.type=U,this.input=t};Dt.parse=function(t,e){if(2!==t.length)return e.error(\"Expected 1 argument, but found \"+(t.length-1)+\" instead.\");var r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(\"Expected argument of type string or array, but found \"+$(r.type)+\" instead.\"):new Dt(r):null},Dt.prototype.evaluate=function(t){var e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new ot(\"Expected value to be of type string or array, but found \"+$(it(e))+\" instead.\")},Dt.prototype.eachChild=function(t){t(this.input)},Dt.prototype.possibleOutputs=function(){return[void 0]},Dt.prototype.serialize=function(){var t=[\"length\"];return this.eachChild(function(e){t.push(e.serialize())}),t};var Rt={\"==\":Ot,\"!=\":It,array:ut,at:Et,boolean:lt,case:Lt,coalesce:Tt,collator:rt,interpolate:Mt,length:Dt,let:St,literal:at,match:Ct,number:lt,object:lt,step:_t,string:lt,\"to-color\":ht,\"to-number\":ht,var:yt};function Bt(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=nt(r,n,i,o);if(s)throw new ot(s);return new tt(r/255*o,n/255*o,i/255*o,o)}function Ft(t,e){return t in e}function Nt(t,e){var r=e[t];return void 0===r?null:r}function jt(t,e){var r=e[0],n=e[1];return r.evaluate(t)<n.evaluate(t)}function Vt(t,e){var r=e[0],n=e[1];return r.evaluate(t)>n.evaluate(t)}function Ut(t,e){var r=e[0],n=e[1];return r.evaluate(t)<=n.evaluate(t)}function qt(t,e){var r=e[0],n=e[1];return r.evaluate(t)>=n.evaluate(t)}function Ht(t){return{type:t}}function Gt(t){return{result:\"success\",value:t}}function Wt(t){return{result:\"error\",value:t}}gt.register(Rt,{error:[{kind:\"error\"},[q],function(t,e){var r=e[0];throw new ot(r.evaluate(t))}],typeof:[q,[Y],function(t,e){return $(it(e[0].evaluate(t)))}],\"to-string\":[q,[Y],function(t,e){var r=e[0],n=typeof(r=r.evaluate(t));return null===r?\"\":\"string\"===n||\"number\"===n||\"boolean\"===n?String(r):r instanceof tt?r.toString():JSON.stringify(r)}],\"to-boolean\":[H,[Y],function(t,e){var r=e[0];return Boolean(r.evaluate(t))}],\"to-rgba\":[Z(U,4),[G],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[G,[U,U,U],Bt],rgba:[G,[U,U,U,U],Bt],has:{type:H,overloads:[[[q],function(t,e){return Ft(e[0].evaluate(t),t.properties())}],[[q,W],function(t,e){var r=e[0],n=e[1];return Ft(r.evaluate(t),n.evaluate(t))}]]},get:{type:Y,overloads:[[[q],function(t,e){return Nt(e[0].evaluate(t),t.properties())}],[[q,W],function(t,e){var r=e[0],n=e[1];return Nt(r.evaluate(t),n.evaluate(t))}]]},properties:[W,[],function(t){return t.properties()}],\"geometry-type\":[q,[],function(t){return t.geometryType()}],id:[Y,[],function(t){return t.id()}],zoom:[U,[],function(t){return t.globals.zoom}],\"heatmap-density\":[U,[],function(t){return t.globals.heatmapDensity||0}],\"line-progress\":[U,[],function(t){return t.globals.lineProgress||0}],\"+\":[U,Ht(U),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],\"*\":[U,Ht(U),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],\"-\":{type:U,overloads:[[[U,U],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[U],function(t,e){return-e[0].evaluate(t)}]]},\"/\":[U,[U,U],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],\"%\":[U,[U,U],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[U,[],function(){return Math.LN2}],pi:[U,[],function(){return Math.PI}],e:[U,[],function(){return Math.E}],\"^\":[U,[U,U],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[U,[U],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[U,[U],function(t,e){var r=e[0];return Math.log10(r.evaluate(t))}],ln:[U,[U],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[U,[U],function(t,e){var r=e[0];return Math.log2(r.evaluate(t))}],sin:[U,[U],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[U,[U],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[U,[U],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[U,[U],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[U,[U],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[U,[U],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[U,Ht(U),function(t,e){return Math.min.apply(Math,e.map(function(e){return e.evaluate(t)}))}],max:[U,Ht(U),function(t,e){return Math.max.apply(Math,e.map(function(e){return e.evaluate(t)}))}],abs:[U,[U],function(t,e){var r=e[0];return Math.abs(r.evaluate(t))}],round:[U,[U],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[U,[U],function(t,e){var r=e[0];return Math.floor(r.evaluate(t))}],ceil:[U,[U],function(t,e){var r=e[0];return Math.ceil(r.evaluate(t))}],\"filter-==\":[H,[q,Y],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],\"filter-id-==\":[H,[Y],function(t,e){var r=e[0];return t.id()===r.value}],\"filter-type-==\":[H,[q],function(t,e){var r=e[0];return t.geometryType()===r.value}],\"filter-<\":[H,[q,Y],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],\"filter-id-<\":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],\"filter->\":[H,[q,Y],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],\"filter-id->\":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],\"filter-<=\":[H,[q,Y],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],\"filter-id-<=\":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],\"filter->=\":[H,[q,Y],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],\"filter-id->=\":[H,[Y],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],\"filter-has\":[H,[Y],function(t,e){return e[0].value in t.properties()}],\"filter-has-id\":[H,[],function(t){return null!==t.id()}],\"filter-type-in\":[H,[Z(q)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],\"filter-id-in\":[H,[Z(Y)],function(t,e){return e[0].value.indexOf(t.id())>=0}],\"filter-in-small\":[H,[q,Z(Y)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],\"filter-in-large\":[H,[q,Z(Y)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],\">\":{type:H,overloads:[[[U,U],Vt],[[q,q],Vt],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))>0}]]},\"<\":{type:H,overloads:[[[U,U],jt],[[q,q],jt],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))<0}]]},\">=\":{type:H,overloads:[[[U,U],qt],[[q,q],qt],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))>=0}]]},\"<=\":{type:H,overloads:[[[U,U],Ut],[[q,q],Ut],[[q,q,X],function(t,e){var r=e[0],n=e[1];return e[2].evaluate(t).compare(r.evaluate(t),n.evaluate(t))<=0}]]},all:{type:H,overloads:[[[H,H],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Ht(H),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return!1;return!0}]]},any:{type:H,overloads:[[[H,H],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[Ht(H),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},\"!\":[H,[H],function(t,e){return!e[0].evaluate(t)}],\"is-supported-script\":[H,[q],function(t,e){var r=e[0],n=t.globals&&t.globals.isSupportedScript;return!n||n(r.evaluate(t))}],upcase:[q,[q],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[q,[q],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[q,Ht(q),function(t,e){return e.map(function(e){return e.evaluate(t)}).join(\"\")}],\"resolved-locale\":[q,[X],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var Yt=.95047,Xt=1,Zt=1.08883,$t=4/29,Jt=6/29,Kt=3*Jt*Jt,Qt=Jt*Jt*Jt,te=Math.PI/180,ee=180/Math.PI;function re(t){return t>Qt?Math.pow(t,1/3):t/Kt+$t}function ne(t){return t>Jt?t*t*t:Kt*(t-$t)}function ie(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ae(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function oe(t){var e=ae(t.r),r=ae(t.g),n=ae(t.b),i=re((.4124564*e+.3575761*r+.1804375*n)/Yt),a=re((.2126729*e+.7151522*r+.072175*n)/Xt);return{l:116*a-16,a:500*(i-a),b:200*(a-re((.0193339*e+.119192*r+.9503041*n)/Zt)),alpha:t.a}}function se(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=Xt*ne(e),r=Yt*ne(r),n=Zt*ne(n),new tt(ie(3.2404542*r-1.5371385*e-.4985314*n),ie(-.969266*r+1.8760108*e+.041556*n),ie(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var le={forward:oe,reverse:se,interpolate:function(t,e,r){return{l:wt(t.l,e.l,r),a:wt(t.a,e.a,r),b:wt(t.b,e.b,r),alpha:wt(t.alpha,e.alpha,r)}}},ce={forward:function(t){var e=oe(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*ee;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*te,r=t.c;return se({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:wt(t.c,e.c,r),l:wt(t.l,e.l,r),alpha:wt(t.alpha,e.alpha,r)}}},ue=Object.freeze({lab:le,hcl:ce});function fe(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function he(t){return\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function pe(t){return t}function de(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function ge(t,e,r,n,i){return de(typeof r===i?n[r]:void 0,t.default,e.default)}function me(t,e,r){if(\"number\"!==fe(r))return de(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var i=xe(t.stops,r);return t.stops[i][1]}function ve(t,e,r){var n=void 0!==t.base?t.base:1;if(\"number\"!==fe(r))return de(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=xe(t.stops,r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],c=kt[e.type]||pe;if(t.colorSpace&&\"rgb\"!==t.colorSpace){var u=ue[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return\"function\"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function ye(t,e,r){return\"color\"===e.type?r=tt.parse(r):fe(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0),de(r,t.default,e.default)}function xe(t,e){for(var r,n,i=0,a=t.length-1,o=0;i<=a;){if(r=t[o=Math.floor((i+a)/2)][0],n=t[o+1][0],e===r||e>r&&e<n)return o;r<e?i=o+1:r>e&&(a=o-1)}return Math.max(o-1,0)}var be=function(t,e){var r;this.expression=t,this._warningHistory={},this._defaultValue=\"color\"===(r=e).type&&he(r.default)?new tt(0,0,0,0):\"color\"===r.type?tt.parse(r.default)||null:void 0===r.default?null:r.default,\"enum\"===e.type&&(this._enumValues=e.values)};function _e(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in Rt}function we(t,e){var r=new xt(Rt,[],function(t){var e={color:G,string:q,number:U,enum:q,boolean:H};return\"array\"===t.type?Z(e[t.value]||Y,t.length):e[t.type]||null}(e)),n=r.parse(t);return n?Gt(new be(n,e)):Wt(r.errors)}be.prototype.evaluateWithoutErrorHandling=function(t,e){return this._evaluator||(this._evaluator=new dt),this._evaluator.globals=t,this._evaluator.feature=e,this.expression.evaluate(this._evaluator)},be.prototype.evaluate=function(t,e){this._evaluator||(this._evaluator=new dt),this._evaluator.globals=t,this._evaluator.feature=e;try{var r=this.expression.evaluate(this._evaluator);if(null==r)return this._defaultValue;if(this._enumValues&&!(r in this._enumValues))throw new ot(\"Expected value to be one of \"+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(\", \")+\", but found \"+JSON.stringify(r)+\" instead.\");return r}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}};var ke=function(t,e){this.kind=t,this._styleExpression=e};ke.prototype.evaluateWithoutErrorHandling=function(t,e){return this._styleExpression.evaluateWithoutErrorHandling(t,e)},ke.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)};var Me=function(t,e,r){this.kind=t,this.zoomStops=r.labels,this._styleExpression=e,r instanceof Mt&&(this._interpolationType=r.interpolation)};function Ae(t,e){if(\"error\"===(t=we(t,e)).result)return t;var r=t.value.expression,n=mt(r);if(!n&&!e[\"property-function\"])return Wt([new N(\"\",\"property expressions not supported\")]);var i=vt(r,[\"zoom\"]);if(!i&&!1===e[\"zoom-function\"])return Wt([new N(\"\",\"zoom expressions not supported\")]);var a=function t(e){var r=null;if(e instanceof St)r=t(e.result);else if(e instanceof Tt)for(var n=0,i=e.args;n<i.length;n+=1){var a=i[n];if(r=t(a))break}else(e instanceof _t||e instanceof Mt)&&e.input instanceof gt&&\"zoom\"===e.input.name&&(r=e);return r instanceof N?r:(e.eachChild(function(e){var n=t(e);n instanceof N?r=n:!r&&n?r=new N(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):r&&n&&r!==n&&(r=new N(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),r)}(r);return a||i?a instanceof N?Wt([a]):a instanceof Mt&&\"piecewise-constant\"===e.function?Wt([new N(\"\",'\"interpolate\" expressions cannot be used with this property')]):Gt(a?new Me(n?\"camera\":\"composite\",t.value,a):new ke(n?\"constant\":\"source\",t.value)):Wt([new N(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}Me.prototype.evaluateWithoutErrorHandling=function(t,e){return this._styleExpression.evaluateWithoutErrorHandling(t,e)},Me.prototype.evaluate=function(t,e){return this._styleExpression.evaluate(t,e)},Me.prototype.interpolationFactor=function(t,e,r){return this._interpolationType?Mt.interpolationFactor(this._interpolationType,t,e,r):0};var Te=function(t,e){this._parameters=t,this._specification=e,R(this,function t(e,r){var n,i,a,o=\"color\"===r.type,s=e.stops&&\"object\"==typeof e.stops[0][0],l=s||void 0!==e.property,c=s||!l,u=e.type||(\"interpolated\"===r.function?\"exponential\":\"interval\");if(o&&((e=R({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],tt.parse(t[1])]})),e.default?e.default=tt.parse(e.default):e.default=tt.parse(r.default)),e.colorSpace&&\"rgb\"!==e.colorSpace&&!ue[e.colorSpace])throw new Error(\"Unknown color space: \"+e.colorSpace);if(\"exponential\"===u)n=ve;else if(\"interval\"===u)n=me;else if(\"categorical\"===u){n=ge,i=Object.create(null);for(var f=0,h=e.stops;f<h.length;f+=1){var p=h[f];i[p[0]]=p[1]}a=typeof e.stops[0][0]}else{if(\"identity\"!==u)throw new Error('Unknown function type \"'+u+'\"');n=ye}if(s){for(var d={},g=[],m=0;m<e.stops.length;m++){var v=e.stops[m],y=v[0].zoom;void 0===d[y]&&(d[y]={zoom:y,type:e.type,property:e.property,default:e.default,stops:[]},g.push(y)),d[y].stops.push([v[0].value,v[1]])}for(var x=[],b=0,_=g;b<_.length;b+=1){var w=_[b];x.push([d[w].zoom,t(d[w],r)])}return{kind:\"composite\",interpolationFactor:Mt.interpolationFactor.bind(void 0,{name:\"linear\"}),zoomStops:x.map(function(t){return t[0]}),evaluate:function(t,n){var i=t.zoom;return ve({stops:x,base:e.base},r,i).evaluate(i,n)}}}return c?{kind:\"camera\",interpolationFactor:\"exponential\"===u?Mt.interpolationFactor.bind(void 0,{name:\"exponential\",base:void 0!==e.base?e.base:1}):function(){return 0},zoomStops:e.stops.map(function(t){return t[0]}),evaluate:function(t){var o=t.zoom;return n(e,r,o,i,a)}}:{kind:\"source\",evaluate:function(t,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?de(e.default,r.default):n(e,r,s,i,a)}}}(this._parameters,this._specification))};function Se(t,e){if(he(t))return new Te(t,e);if(_e(t)){var r=Ae(t,e);if(\"error\"===r.result)throw new Error(r.value.map(function(t){return t.key+\": \"+t.message}).join(\", \"));return r.value}var n=t;return\"string\"==typeof t&&\"color\"===e.type&&(n=tt.parse(t)),{kind:\"constant\",evaluate:function(){return n}}}function Ee(t){var e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},a=t.style,o=t.styleSpec,s=[],l=fe(r);if(\"object\"!==l)return[new I(e,r,\"object expected, \"+l+\" found\")];for(var c in r){var u=c.split(\".\")[0],f=n[u]||n[\"*\"],h=void 0;if(i[u])h=i[u];else if(n[u])h=Ke;else if(i[\"*\"])h=i[\"*\"];else{if(!n[\"*\"]){s.push(new I(e,r[c],'unknown property \"'+c+'\"'));continue}h=Ke}s=s.concat(h({key:(e?e+\".\":e)+c,value:r[c],valueSpec:f,style:a,styleSpec:o,object:r,objectKey:c},r))}for(var p in n)i[p]||n[p].required&&void 0===n[p].default&&void 0===r[p]&&s.push(new I(e,r,'missing required property \"'+p+'\"'));return s}function Ce(t){var e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,a=t.key,o=t.arrayElementValidator||Ke;if(\"array\"!==fe(e))return[new I(a,e,\"array expected, \"+fe(e)+\" found\")];if(r.length&&e.length!==r.length)return[new I(a,e,\"array length \"+r.length+\" expected, length \"+e.length+\" found\")];if(r[\"min-length\"]&&e.length<r[\"min-length\"])return[new I(a,e,\"array length at least \"+r[\"min-length\"]+\" expected, length \"+e.length+\" found\")];var s={type:r.value};i.$version<7&&(s.function=r.function),\"object\"===fe(r.value)&&(s=r.value);for(var l=[],c=0;c<e.length;c++)l=l.concat(o({array:e,arrayIndex:c,value:e[c],valueSpec:s,style:n,styleSpec:i,key:a+\"[\"+c+\"]\"}));return l}function Le(t){var e=t.key,r=t.value,n=t.valueSpec,i=fe(r);return\"number\"!==i?[new I(e,r,\"number expected, \"+i+\" found\")]:\"minimum\"in n&&r<n.minimum?[new I(e,r,r+\" is less than the minimum value \"+n.minimum)]:\"maximum\"in n&&r>n.maximum?[new I(e,r,r+\" is greater than the maximum value \"+n.maximum)]:[]}function ze(t){var e,r,n,i=t.valueSpec,a=B(t.value.type),o={},s=\"categorical\"!==a&&void 0===t.value.property,l=!s,c=\"array\"===fe(t.value.stops)&&\"array\"===fe(t.value.stops[0])&&\"object\"===fe(t.value.stops[0][0]),u=Ee({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===a)return[new I(t.key,t.value,'identity function may not have a \"stops\" property')];var e=[],r=t.value;return e=e.concat(Ce({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),\"array\"===fe(r)&&0===r.length&&e.push(new I(t.key,r,\"array must have at least one stop\")),e},default:function(t){return Ke({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return\"identity\"===a&&s&&u.push(new I(t.key,t.value,'missing required property \"property\"')),\"identity\"===a||t.value.stops||u.push(new I(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===a&&\"piecewise-constant\"===t.valueSpec.function&&u.push(new I(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!t.valueSpec[\"property-function\"]?u.push(new I(t.key,t.value,\"property functions not supported\")):s&&!t.valueSpec[\"zoom-function\"]&&\"heatmap-color\"!==t.objectKey&&\"line-gradient\"!==t.objectKey&&u.push(new I(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==a&&!c||void 0!==t.value.property||u.push(new I(t.key,t.value,'\"property\" property is required')),u;function f(t){var e=[],a=t.value,s=t.key;if(\"array\"!==fe(a))return[new I(s,a,\"array expected, \"+fe(a)+\" found\")];if(2!==a.length)return[new I(s,a,\"array length 2 expected, length \"+a.length+\" found\")];if(c){if(\"object\"!==fe(a[0]))return[new I(s,a,\"object expected, \"+fe(a[0])+\" found\")];if(void 0===a[0].zoom)return[new I(s,a,\"object stop key must have zoom\")];if(void 0===a[0].value)return[new I(s,a,\"object stop key must have value\")];if(n&&n>B(a[0].zoom))return[new I(s,a[0].zoom,\"stop zoom values must appear in ascending order\")];B(a[0].zoom)!==n&&(n=B(a[0].zoom),r=void 0,o={}),e=e.concat(Ee({key:s+\"[0]\",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Le,value:h}}))}else e=e.concat(h({key:s+\"[0]\",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return e.concat(Ke({key:s+\"[1]\",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=fe(t.value),l=B(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new I(t.key,c,s+\" stop domain type must match previous stop domain type \"+e)]}else e=s;if(\"number\"!==s&&\"string\"!==s&&\"boolean\"!==s)return[new I(t.key,c,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==s&&\"categorical\"!==a){var u=\"number expected, \"+s+\" found\";return i[\"property-function\"]&&void 0===a&&(u+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new I(t.key,c,u)]}return\"categorical\"!==a||\"number\"!==s||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==a&&\"number\"===s&&void 0!==r&&l<r?[new I(t.key,c,\"stop domain values must appear in ascending order\")]:(r=l,\"categorical\"===a&&l in o?[new I(t.key,c,\"stop domain values must be unique\")]:(o[l]=!0,[])):[new I(t.key,c,\"integer expected, found \"+l)]}}function Pe(t){var e=(\"property\"===t.expressionContext?Ae:we)(F(t.value),t.valueSpec);return\"error\"===e.result?e.value.map(function(e){return new I(\"\"+t.key+e.key,t.value,e.message)}):\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&-1!==e.value._styleExpression.expression.possibleOutputs().indexOf(void 0)?[new I(t.key,t.value,'Invalid data expression for \"text-font\". Output values must be contained as literals within the expression.')]:[]}function Oe(t){var e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(B(r))&&i.push(new I(e,r,\"expected one of [\"+n.values.join(\", \")+\"], \"+JSON.stringify(r)+\" found\")):-1===Object.keys(n.values).indexOf(B(r))&&i.push(new I(e,r,\"expected one of [\"+Object.keys(n.values).join(\", \")+\"], \"+JSON.stringify(r)+\" found\")),i}function Ie(t){if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case\"has\":return t.length>=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3===t.length&&(Array.isArray(t[1])||Array.isArray(t[2]));case\"any\":case\"all\":for(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!Ie(n)&&\"boolean\"!=typeof n)return!1}return!0;default:return!0}}Te.deserialize=function(t){return new Te(t._parameters,t._specification)},Te.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}};var De={type:\"boolean\",default:!1,function:!0,\"property-function\":!0,\"zoom-function\":!0};function Re(t){if(!t)return function(){return!0};Ie(t)||(t=Fe(t));var e=we(t,De);if(\"error\"===e.result)throw new Error(e.value.map(function(t){return t.key+\": \"+t.message}).join(\", \"));return function(t,r){return e.value.evaluate(t,r)}}function Be(t,e){return t<e?-1:t>e?1:0}function Fe(t){if(!t)return!0;var e,r=t[0];return t.length<=1?\"any\"!==r:\"==\"===r?Ne(t[1],t[2],\"==\"):\"!=\"===r?Ue(Ne(t[1],t[2],\"==\")):\"<\"===r||\">\"===r||\"<=\"===r||\">=\"===r?Ne(t[1],t[2],r):\"any\"===r?(e=t.slice(1),[\"any\"].concat(e.map(Fe))):\"all\"===r?[\"all\"].concat(t.slice(1).map(Fe)):\"none\"===r?[\"all\"].concat(t.slice(1).map(Fe).map(Ue)):\"in\"===r?je(t[1],t.slice(2)):\"!in\"===r?Ue(je(t[1],t.slice(2))):\"has\"===r?Ve(t[1]):\"!has\"!==r||Ue(Ve(t[1]))}function Ne(t,e,r){switch(t){case\"$type\":return[\"filter-type-\"+r,e];case\"$id\":return[\"filter-id-\"+r,e];default:return[\"filter-\"+r,t,e]}}function je(t,e){if(0===e.length)return!1;switch(t){case\"$type\":return[\"filter-type-in\",[\"literal\",e]];case\"$id\":return[\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some(function(t){return typeof t!=typeof e[0]})?[\"filter-in-large\",t,[\"literal\",e.sort(Be)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function Ve(t){switch(t){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",t]}}function Ue(t){return[\"!\",t]}function qe(t){return Ie(F(t.value))?Pe(R({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):function t(e){var r=e.value,n=e.key;if(\"array\"!==fe(r))return[new I(n,r,\"array expected, \"+fe(r)+\" found\")];var i,a=e.styleSpec,o=[];if(r.length<1)return[new I(n,r,\"filter array must have at least 1 element\")];switch(o=o.concat(Oe({key:n+\"[0]\",value:r[0],valueSpec:a.filter_operator,style:e.style,styleSpec:e.styleSpec})),B(r[0])){case\"<\":case\"<=\":case\">\":case\">=\":r.length>=2&&\"$type\"===B(r[1])&&o.push(new I(n,r,'\"$type\" cannot be use with operator \"'+r[0]+'\"'));case\"==\":case\"!=\":3!==r.length&&o.push(new I(n,r,'filter array for operator \"'+r[0]+'\" must have 3 elements'));case\"in\":case\"!in\":r.length>=2&&\"string\"!==(i=fe(r[1]))&&o.push(new I(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"));for(var s=2;s<r.length;s++)i=fe(r[s]),\"$type\"===B(r[1])?o=o.concat(Oe({key:n+\"[\"+s+\"]\",value:r[s],valueSpec:a.geometry_type,style:e.style,styleSpec:e.styleSpec})):\"string\"!==i&&\"number\"!==i&&\"boolean\"!==i&&o.push(new I(n+\"[\"+s+\"]\",r[s],\"string, number, or boolean expected, \"+i+\" found\"));break;case\"any\":case\"all\":case\"none\":for(var l=1;l<r.length;l++)o=o.concat(t({key:n+\"[\"+l+\"]\",value:r[l],style:e.style,styleSpec:e.styleSpec}));break;case\"has\":case\"!has\":i=fe(r[1]),2!==r.length?o.push(new I(n,r,'filter array for \"'+r[0]+'\" operator must have 2 elements')):\"string\"!==i&&o.push(new I(n+\"[1]\",r[1],\"string expected, \"+i+\" found\"))}return o}(t)}function He(t,e){var r=t.key,n=t.style,i=t.styleSpec,a=t.value,o=t.objectKey,s=i[e+\"_\"+t.layerType];if(!s)return[];var l=o.match(/^(.*)-transition$/);if(\"paint\"===e&&l&&s[l[1]]&&s[l[1]].transition)return Ke({key:r,value:a,valueSpec:i.transition,style:n,styleSpec:i});var c,u=t.valueSpec||s[o];if(!u)return[new I(r,a,'unknown property \"'+o+'\"')];if(\"string\"===fe(a)&&u[\"property-function\"]&&!u.tokens&&(c=/^{([^}]+)}$/.exec(a)))return[new I(r,a,'\"'+o+'\" does not support interpolation syntax\\nUse an identity property function instead: `{ \"type\": \"identity\", \"property\": '+JSON.stringify(c[1])+\" }`.\")];var f=[];return\"symbol\"===t.layerType&&(\"text-field\"===o&&n&&!n.glyphs&&f.push(new I(r,a,'use of \"text-field\" requires a style \"glyphs\" property')),\"text-font\"===o&&he(F(a))&&\"identity\"===B(a.type)&&f.push(new I(r,a,'\"text-font\" does not support identity functions'))),f.concat(Ke({key:t.key,value:a,valueSpec:u,style:n,styleSpec:i,expressionContext:\"property\",propertyKey:o}))}function Ge(t){return He(t,\"paint\")}function We(t){return He(t,\"layout\")}function Ye(t){var e=[],r=t.value,n=t.key,i=t.style,a=t.styleSpec;r.type||r.ref||e.push(new I(n,r,'either \"type\" or \"ref\" is required'));var o,s=B(r.type),l=B(r.ref);if(r.id)for(var c=B(r.id),u=0;u<t.arrayIndex;u++){var f=i.layers[u];B(f.id)===c&&e.push(new I(n,r.id,'duplicate layer id \"'+r.id+'\", previously used at line '+f.id.__line__))}if(\"ref\"in r)[\"type\",\"source\",\"source-layer\",\"filter\",\"layout\"].forEach(function(t){t in r&&e.push(new I(n,r[t],'\"'+t+'\" is prohibited for ref layers'))}),i.layers.forEach(function(t){B(t.id)===l&&(o=t)}),o?o.ref?e.push(new I(n,r.ref,\"ref cannot reference another ref layer\")):s=B(o.type):e.push(new I(n,r.ref,'ref layer \"'+l+'\" not found'));else if(\"background\"!==s)if(r.source){var h=i.sources&&i.sources[r.source],p=h&&B(h.type);h?\"vector\"===p&&\"raster\"===s?e.push(new I(n,r.source,'layer \"'+r.id+'\" requires a raster source')):\"raster\"===p&&\"raster\"!==s?e.push(new I(n,r.source,'layer \"'+r.id+'\" requires a vector source')):\"vector\"!==p||r[\"source-layer\"]?\"raster-dem\"===p&&\"hillshade\"!==s?e.push(new I(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==s||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===p&&h.lineMetrics||e.push(new I(n,r,'layer \"'+r.id+'\" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new I(n,r,'layer \"'+r.id+'\" must specify a \"source-layer\"')):e.push(new I(n,r.source,'source \"'+r.source+'\" not found'))}else e.push(new I(n,r,'missing required property \"source\"'));return e=e.concat(Ee({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(){return[]},type:function(){return Ke({key:n+\".type\",value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:\"type\"})},filter:qe,layout:function(t){return Ee({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return We(R({layerType:s},t))}}})},paint:function(t){return Ee({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{\"*\":function(t){return Ge(R({layerType:s},t))}}})}}}))}function Xe(t){var e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return[new I(r,e,'\"type\" is required')];var a=B(e.type),o=[];switch(a){case\"vector\":case\"raster\":case\"raster-dem\":if(o=o.concat(Ee({key:r,value:e,valueSpec:n[\"source_\"+a.replace(\"-\",\"_\")],style:t.style,styleSpec:n})),\"url\"in e)for(var s in e)[\"type\",\"url\",\"tileSize\"].indexOf(s)<0&&o.push(new I(r+\".\"+s,e[s],'a source with a \"url\" property may not include a \"'+s+'\" property'));return o;case\"geojson\":return Ee({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n});case\"video\":return Ee({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case\"image\":return Ee({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case\"canvas\":return o.push(new I(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")),o;default:return Oe({key:r+\".type\",value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,styleSpec:n})}}function Ze(t){var e=t.value,r=t.styleSpec,n=r.light,i=t.style,a=[],o=fe(e);if(void 0===e)return a;if(\"object\"!==o)return a.concat([new I(\"light\",e,\"object expected, \"+o+\" found\")]);for(var s in e){var l=s.match(/^(.*)-transition$/);a=l&&n[l[1]]&&n[l[1]].transition?a.concat(Ke({key:s,value:e[s],valueSpec:r.transition,style:i,styleSpec:r})):n[s]?a.concat(Ke({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r})):a.concat([new I(s,e[s],'unknown property \"'+s+'\"')])}return a}function $e(t){var e=t.value,r=t.key,n=fe(e);return\"string\"!==n?[new I(r,e,\"string expected, \"+n+\" found\")]:[]}var Je={\"*\":function(){return[]},array:Ce,boolean:function(t){var e=t.value,r=t.key,n=fe(e);return\"boolean\"!==n?[new I(r,e,\"boolean expected, \"+n+\" found\")]:[]},number:Le,color:function(t){var e=t.key,r=t.value,n=fe(r);return\"string\"!==n?[new I(e,r,\"color expected, \"+n+\" found\")]:null===Q(r)?[new I(e,r,'color expected, \"'+r+'\" found')]:[]},constants:D,enum:Oe,filter:qe,function:ze,layer:Ye,object:Ee,source:Xe,light:Ze,string:$e};function Ke(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.function&&he(B(e))?ze(t):r.function&&_e(F(e))?Pe(t):r.type&&Je[r.type]?Je[r.type](t):Ee(R({},t,{valueSpec:r.type?n[r.type]:r}))}function Qe(t){var e=t.value,r=t.key,n=$e(t);return n.length?n:(-1===e.indexOf(\"{fontstack}\")&&n.push(new I(r,e,'\"glyphs\" url must include a \"{fontstack}\" token')),-1===e.indexOf(\"{range}\")&&n.push(new I(r,e,'\"glyphs\" url must include a \"{range}\" token')),n)}function tr(t,e){e=e||O;var r=[];return r=r.concat(Ke({key:\"\",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Qe,\"*\":function(){return[]}}})),t.constants&&(r=r.concat(D({key:\"constants\",value:t.constants,style:t,styleSpec:e}))),er(r)}function er(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function rr(t){return function(){return er(t.apply(this,arguments))}}tr.source=rr(Xe),tr.light=rr(Ze),tr.layer=rr(Ye),tr.filter=rr(qe),tr.paintProperty=rr(Ge),tr.layoutProperty=rr(We);var nr=tr,ir=tr.light,ar=tr.paintProperty,or=tr.layoutProperty;function sr(t,e){var r=!1;if(e&&e.length)for(var n=0,i=e;n<i.length;n+=1){var a=i[n];t.fire(new z(new Error(a.message))),r=!0}return r}var lr=ur,cr=3;function ur(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var i=new Int32Array(this.arrayBuffer);t=i[0],e=i[1],r=i[2],this.d=e+2*r;for(var a=0;a<this.d*this.d;a++){var o=i[cr+a],s=i[cr+a+1];n.push(o===s?null:i.subarray(o,s))}var l=i[cr+n.length],c=i[cr+n.length+1];this.keys=i.subarray(l,c),this.bboxes=i.subarray(c),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var u=0;u<this.d*this.d;u++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var f=r/e*t;this.min=-f,this.max=t+f}ur.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},ur.prototype._insertReadonly=function(){throw\"Cannot insert into a GridIndex created from an ArrayBuffer.\"},ur.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},ur.prototype.query=function(t,e,r,n){var i=this.min,a=this.max;if(t<=i&&e<=i&&a<=r&&a<=n)return Array.prototype.slice.call(this.keys);var o=[];return this._forEachCell(t,e,r,n,this._queryCell,o,{}),o},ur.prototype._queryCell=function(t,e,r,n,i,a,o){var s=this.cells[i];if(null!==s)for(var l=this.keys,c=this.bboxes,u=0;u<s.length;u++){var f=s[u];if(void 0===o[f]){var h=4*f;t<=c[h+2]&&e<=c[h+3]&&r>=c[h+0]&&n>=c[h+1]?(o[f]=!0,a.push(l[f])):o[f]=!1}}},ur.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToCellCoord(t),l=this._convertToCellCoord(e),c=this._convertToCellCoord(r),u=this._convertToCellCoord(n),f=s;f<=c;f++)for(var h=l;h<=u;h++){var p=this.d*h+f;if(i.call(this,t,e,r,n,p,a,o))return}},ur.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},ur.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=cr+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var i=new Int32Array(e+r+this.keys.length+this.bboxes.length);i[0]=this.extent,i[1]=this.n,i[2]=this.padding;for(var a=e,o=0;o<t.length;o++){var s=t[o];i[cr+o]=a,i.set(s,a),a+=s.length}return i[cr+t.length]=a,i.set(this.keys,a),a+=this.keys.length,i[cr+t.length+1]=a,i.set(this.bboxes,a),a+=this.bboxes.length,i.buffer};var fr=self.ImageData,hr={};function pr(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,\"_classRegistryKey\",{value:t,writeable:!1}),hr[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}for(var dr in pr(\"Object\",Object),lr.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),r},lr.deserialize=function(t){return new lr(t)},pr(\"Grid\",lr),pr(\"Color\",tt),pr(\"Error\",Error),pr(\"StylePropertyFunction\",Te),pr(\"StyleExpression\",be,{omit:[\"_evaluator\"]}),pr(\"ZoomDependentExpression\",Me),pr(\"ZoomConstantExpression\",ke),pr(\"CompoundExpression\",gt,{omit:[\"_evaluate\"]}),Rt)Rt[dr]._classRegistryKey||pr(\"Expression_\"+dr,Rt[dr]);function gr(t,e){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp)return t;if(t instanceof ArrayBuffer)return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof fr)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],i=0,a=t;i<a.length;i+=1){var o=a[i];n.push(gr(o,e))}return n}if(\"object\"==typeof t){var s=t.constructor,l=s._classRegistryKey;if(!l)throw new Error(\"can't serialize object of unregistered class\");var c={};if(s.serialize)c._serialized=s.serialize(t,e);else{for(var u in t)if(t.hasOwnProperty(u)&&!(hr[l].omit.indexOf(u)>=0)){var f=t[u];c[u]=hr[l].shallow.indexOf(u)>=0?f:gr(f,e)}t instanceof Error&&(c.message=t.message)}return{name:l,properties:c}}throw new Error(\"can't serialize object of type \"+typeof t)}function mr(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof ArrayBuffer||ArrayBuffer.isView(t)||t instanceof fr)return t;if(Array.isArray(t))return t.map(function(t){return mr(t)});if(\"object\"==typeof t){var e=t,r=e.name,n=e.properties;if(!r)throw new Error(\"can't deserialize object of anonymous class\");var i=hr[r].klass;if(!i)throw new Error(\"can't deserialize unregistered class \"+r);if(i.deserialize)return i.deserialize(n._serialized);for(var a=Object.create(i.prototype),o=0,s=Object.keys(n);o<s.length;o+=1){var l=s[o];a[l]=hr[r].shallow.indexOf(l)>=0?n[l]:mr(n[l])}return a}throw new Error(\"can't deserialize object of type \"+typeof t)}var vr=function(){this.first=!0};vr.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var yr={\"Latin-1 Supplement\":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},\"Arabic Supplement\":function(t){return t>=1872&&t<=1919},\"Arabic Extended-A\":function(t){return t>=2208&&t<=2303},\"Hangul Jamo\":function(t){return t>=4352&&t<=4607},\"Unified Canadian Aboriginal Syllabics\":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(t){return t>=6320&&t<=6399},\"General Punctuation\":function(t){return t>=8192&&t<=8303},\"Letterlike Symbols\":function(t){return t>=8448&&t<=8527},\"Number Forms\":function(t){return t>=8528&&t<=8591},\"Miscellaneous Technical\":function(t){return t>=8960&&t<=9215},\"Control Pictures\":function(t){return t>=9216&&t<=9279},\"Optical Character Recognition\":function(t){return t>=9280&&t<=9311},\"Enclosed Alphanumerics\":function(t){return t>=9312&&t<=9471},\"Geometric Shapes\":function(t){return t>=9632&&t<=9727},\"Miscellaneous Symbols\":function(t){return t>=9728&&t<=9983},\"Miscellaneous Symbols and Arrows\":function(t){return t>=11008&&t<=11263},\"CJK Radicals Supplement\":function(t){return t>=11904&&t<=12031},\"Kangxi Radicals\":function(t){return t>=12032&&t<=12255},\"Ideographic Description Characters\":function(t){return t>=12272&&t<=12287},\"CJK Symbols and Punctuation\":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},\"Hangul Compatibility Jamo\":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},\"Bopomofo Extended\":function(t){return t>=12704&&t<=12735},\"CJK Strokes\":function(t){return t>=12736&&t<=12783},\"Katakana Phonetic Extensions\":function(t){return t>=12784&&t<=12799},\"Enclosed CJK Letters and Months\":function(t){return t>=12800&&t<=13055},\"CJK Compatibility\":function(t){return t>=13056&&t<=13311},\"CJK Unified Ideographs Extension A\":function(t){return t>=13312&&t<=19903},\"Yijing Hexagram Symbols\":function(t){return t>=19904&&t<=19967},\"CJK Unified Ideographs\":function(t){return t>=19968&&t<=40959},\"Yi Syllables\":function(t){return t>=40960&&t<=42127},\"Yi Radicals\":function(t){return t>=42128&&t<=42191},\"Hangul Jamo Extended-A\":function(t){return t>=43360&&t<=43391},\"Hangul Syllables\":function(t){return t>=44032&&t<=55215},\"Hangul Jamo Extended-B\":function(t){return t>=55216&&t<=55295},\"Private Use Area\":function(t){return t>=57344&&t<=63743},\"CJK Compatibility Ideographs\":function(t){return t>=63744&&t<=64255},\"Arabic Presentation Forms-A\":function(t){return t>=64336&&t<=65023},\"Vertical Forms\":function(t){return t>=65040&&t<=65055},\"CJK Compatibility Forms\":function(t){return t>=65072&&t<=65103},\"Small Form Variants\":function(t){return t>=65104&&t<=65135},\"Arabic Presentation Forms-B\":function(t){return t>=65136&&t<=65279},\"Halfwidth and Fullwidth Forms\":function(t){return t>=65280&&t<=65519}};function xr(t){for(var e=0,r=t;e<r.length;e+=1)if(_r(r[e].charCodeAt(0)))return!0;return!1}function br(t){return!(yr.Arabic(t)||yr[\"Arabic Supplement\"](t)||yr[\"Arabic Extended-A\"](t)||yr[\"Arabic Presentation Forms-A\"](t)||yr[\"Arabic Presentation Forms-B\"](t))}function _r(t){return!!(746===t||747===t||!(t<4352)&&(yr[\"Bopomofo Extended\"](t)||yr.Bopomofo(t)||yr[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||yr[\"CJK Compatibility Ideographs\"](t)||yr[\"CJK Compatibility\"](t)||yr[\"CJK Radicals Supplement\"](t)||yr[\"CJK Strokes\"](t)||!(!yr[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||yr[\"CJK Unified Ideographs Extension A\"](t)||yr[\"CJK Unified Ideographs\"](t)||yr[\"Enclosed CJK Letters and Months\"](t)||yr[\"Hangul Compatibility Jamo\"](t)||yr[\"Hangul Jamo Extended-A\"](t)||yr[\"Hangul Jamo Extended-B\"](t)||yr[\"Hangul Jamo\"](t)||yr[\"Hangul Syllables\"](t)||yr.Hiragana(t)||yr[\"Ideographic Description Characters\"](t)||yr.Kanbun(t)||yr[\"Kangxi Radicals\"](t)||yr[\"Katakana Phonetic Extensions\"](t)||yr.Katakana(t)&&12540!==t||!(!yr[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!yr[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||yr[\"Unified Canadian Aboriginal Syllabics\"](t)||yr[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||yr[\"Vertical Forms\"](t)||yr[\"Yijing Hexagram Symbols\"](t)||yr[\"Yi Syllables\"](t)||yr[\"Yi Radicals\"](t)))}function wr(t){return!(_r(t)||function(t){return!!(yr[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||yr[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||yr[\"Letterlike Symbols\"](t)||yr[\"Number Forms\"](t)||yr[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||yr[\"Control Pictures\"](t)&&9251!==t||yr[\"Optical Character Recognition\"](t)||yr[\"Enclosed Alphanumerics\"](t)||yr[\"Geometric Shapes\"](t)||yr[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||yr[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||yr[\"CJK Symbols and Punctuation\"](t)||yr.Katakana(t)||yr[\"Private Use Area\"](t)||yr[\"CJK Compatibility Forms\"](t)||yr[\"Small Form Variants\"](t)||yr[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function kr(t,e){return!(!e&&(t>=1424&&t<=2303||yr[\"Arabic Presentation Forms-A\"](t)||yr[\"Arabic Presentation Forms-B\"](t))||t>=2304&&t<=3583||t>=3840&&t<=4255||yr.Khmer(t))}var Mr,Ar=!1,Tr=null,Sr=!1,Er=new P,Cr={applyArabicShaping:null,processBidirectionalText:null,isLoaded:function(){return Sr||null!=Cr.applyArabicShaping}},Lr=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new vr,this.transition={})};Lr.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1)if(!kr(n[r].charCodeAt(0),e))return!1;return!0}(t,Cr.isLoaded())},Lr.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)};var zr=function(t,e){this.property=t,this.value=e,this.expression=Se(void 0===e?t.specification.default:e,t.specification)};zr.prototype.isDataDriven=function(){return\"source\"===this.expression.kind||\"composite\"===this.expression.kind},zr.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var Pr=function(t){this.property=t,this.value=new zr(t,void 0)};Pr.prototype.transitioned=function(t,e){return new Ir(this.property,this.value,e,p({},t.transition,this.transition),t.now)},Pr.prototype.untransitioned=function(){return new Ir(this.property,this.value,null,{},0)};var Or=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Or.prototype.getValue=function(t){return x(this._values[t].value.value)},Or.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Pr(this._values[t].property)),this._values[t].value=new zr(this._values[t].property,null===e?void 0:x(e))},Or.prototype.getTransition=function(t){return x(this._values[t].transition)},Or.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Pr(this._values[t].property)),this._values[t].transition=x(e)||void 0},Or.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);var a=this.getTransition(n);void 0!==a&&(t[n+\"-transition\"]=a)}return t},Or.prototype.transitioned=function(t,e){for(var r=new Dr(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a])}return r},Or.prototype.untransitioned=function(){for(var t=new Dr(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned()}return t};var Ir=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};Ir.prototype.possiblyEvaluate=function(t){var e=t.now||0,r=this.value.possiblyEvaluate(t),n=this.prior;if(n){if(e>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e<this.begin)return n.possiblyEvaluate(t);var i=(e-this.begin)/(this.end-this.begin);return this.property.interpolate(n.possiblyEvaluate(t),r,function(t){if(i<=0)return 0;if(i>=1)return 1;var e=i*i,r=e*i;return 4*(i<.5?r:3*(i-e)+r-.75)}())}return r};var Dr=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Dr.prototype.possiblyEvaluate=function(t){for(var e=new Fr(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e},Dr.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var Rr=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};Rr.prototype.getValue=function(t){return x(this._values[t].value)},Rr.prototype.setValue=function(t,e){this._values[t]=new zr(this._values[t].property,null===e?void 0:x(e))},Rr.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i)}return t},Rr.prototype.possiblyEvaluate=function(t){for(var e=new Fr(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var i=n[r];e._values[i]=this._values[i].possiblyEvaluate(t)}return e};var Br=function(t,e,r){this.property=t,this.value=e,this.globals=r};Br.prototype.isConstant=function(){return\"constant\"===this.value.kind},Br.prototype.constantOr=function(t){return\"constant\"===this.value.kind?this.value.value:t},Br.prototype.evaluate=function(t){return this.property.evaluate(this.value,this.globals,t)};var Fr=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};Fr.prototype.get=function(t){return this._values[t]};var Nr=function(t){this.specification=t};Nr.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},Nr.prototype.interpolate=function(t,e,r){var n=kt[this.specification.type];return n?n(t,e,r):t};var jr=function(t){this.specification=t};jr.prototype.possiblyEvaluate=function(t,e){return\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?new Br(this,{kind:\"constant\",value:t.expression.evaluate(e)},e):new Br(this,t.expression,e)},jr.prototype.interpolate=function(t,e,r){if(\"constant\"!==t.value.kind||\"constant\"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new Br(this,{kind:\"constant\",value:void 0},t.globals);var n=kt[this.specification.type];return n?new Br(this,{kind:\"constant\",value:n(t.value.value,e.value.value,r)},t.globals):t},jr.prototype.evaluate=function(t,e,r){return\"constant\"===t.kind?t.value:t.evaluate(e,r)};var Vr=function(t){this.specification=t};Vr.prototype.possiblyEvaluate=function(t,e){if(void 0!==t.value){if(\"constant\"===t.expression.kind){var r=t.expression.evaluate(e);return this._calculate(r,r,r,e)}return this._calculate(t.expression.evaluate(new Lr(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Lr(Math.floor(e.zoom),e)),t.expression.evaluate(new Lr(Math.floor(e.zoom+1),e)),e)}},Vr.prototype._calculate=function(t,e,r,n){var i=n.zoom,a=i-Math.floor(i),o=n.crossFadingFactor();return i>n.zoomHistory.lastIntegerZoom?{from:t,to:e,fromScale:2,toScale:1,t:a+(1-a)*o}:{from:r,to:e,fromScale:.5,toScale:1,t:1-(1-o)*a}},Vr.prototype.interpolate=function(t){return t};var Ur=function(t){this.specification=t};Ur.prototype.possiblyEvaluate=function(t,e){return!!t.expression.evaluate(e)},Ur.prototype.interpolate=function(){return!1};var qr=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},t){var r=t[e],n=this.defaultPropertyValues[e]=new zr(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Pr(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};pr(\"DataDrivenProperty\",jr),pr(\"DataConstantProperty\",Nr),pr(\"CrossFadedProperty\",Vr),pr(\"ColorRampProperty\",Ur);var Hr=function(t){function e(e,r){for(var n in t.call(this),this.id=e.id,this.metadata=e.metadata,this.type=e.type,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,this.visibility=\"visible\",\"background\"!==e.type&&(this.source=e.source,this.sourceLayer=e[\"source-layer\"],this.filter=e.filter),this._featureFilter=function(){return!0},r.layout&&(this._unevaluatedLayout=new Rr(r.layout)),this._transitionablePaint=new Or(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getLayoutProperty=function(t){return\"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(null!=e){var n=\"layers.\"+this.id+\".layout.\"+t;if(this._validate(or,n,t,e,r))return}\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=\"none\"===e?e:\"visible\"},e.prototype.getPaintProperty=function(t){return m(t,\"-transition\")?this._transitionablePaint.getTransition(t.slice(0,-\"-transition\".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(null!=e){var n=\"layers.\"+this.id+\".paint.\"+t;if(this._validate(ar,n,t,e,r))return}m(t,\"-transition\")?this._transitionablePaint.setTransition(t.slice(0,-\"-transition\".length),e||void 0):this._transitionablePaint.setValue(t,e)},e.prototype.isHidden=function(t){return!!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||\"none\"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t){this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return\"none\"===this.visibility&&(t.layout=t.layout||{},t.layout.visibility=\"none\"),y(t,function(t,e){return!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)})},e.prototype._validate=function(t,e,r,n,i){return(!i||!1!==i.validate)&&sr(this,t.call(nr,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:O,style:{glyphs:!0,sprite:!0}}))},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e}(P),Gr={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Wr=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Yr=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Xr(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map(function(t){var i,a=(i=t.type,Gr[i].BYTES_PER_ELEMENT),o=r=Zr(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}}),size:Zr(r,Math.max(n,e)),alignment:e}}function Zr(t,e){return Math.ceil(t/e)*e}Yr.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Yr.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Yr.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Yr.prototype.clear=function(){this.length=0},Yr.prototype.resize=function(t){this.reserve(t),this.length=t},Yr.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Yr.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};var $r=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.int16[n+0]=t,this.int16[n+1]=e,r},e}(Yr);$r.prototype.bytesPerElement=4,pr(\"StructArrayLayout2i4\",$r);var Jr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;this.resize(i+1);var a=4*i;return this.int16[a+0]=t,this.int16[a+1]=e,this.int16[a+2]=r,this.int16[a+3]=n,i},e}(Yr);Jr.prototype.bytesPerElement=8,pr(\"StructArrayLayout4i8\",Jr);var Kr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(Yr);Kr.prototype.bytesPerElement=12,pr(\"StructArrayLayout2i4i12\",Kr);var Qr=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s){var l=this.length;this.resize(l+1);var c=6*l,u=12*l;return this.int16[c+0]=t,this.int16[c+1]=e,this.int16[c+2]=r,this.int16[c+3]=n,this.uint8[u+8]=i,this.uint8[u+9]=a,this.uint8[u+10]=o,this.uint8[u+11]=s,l},e}(Yr);Qr.prototype.bytesPerElement=12,pr(\"StructArrayLayout4i4ub12\",Qr);var tn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s){var l=this.length;this.resize(l+1);var c=8*l;return this.int16[c+0]=t,this.int16[c+1]=e,this.int16[c+2]=r,this.int16[c+3]=n,this.uint16[c+4]=i,this.uint16[c+5]=a,this.uint16[c+6]=o,this.uint16[c+7]=s,l},e}(Yr);tn.prototype.bytesPerElement=16,pr(\"StructArrayLayout4i4ui16\",tn);var en=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.float32[i+0]=t,this.float32[i+1]=e,this.float32[i+2]=r,n},e}(Yr);en.prototype.bytesPerElement=12,pr(\"StructArrayLayout3f12\",en);var rn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;this.resize(e+1);var r=1*e;return this.uint32[r+0]=t,e},e}(Yr);rn.prototype.bytesPerElement=4,pr(\"StructArrayLayout1ul4\",rn);var nn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u){var f=this.length;this.resize(f+1);var h=12*f,p=6*f;return this.int16[h+0]=t,this.int16[h+1]=e,this.int16[h+2]=r,this.int16[h+3]=n,this.int16[h+4]=i,this.int16[h+5]=a,this.uint32[p+3]=o,this.uint16[h+8]=s,this.uint16[h+9]=l,this.int16[h+10]=c,this.int16[h+11]=u,f},e}(Yr);nn.prototype.bytesPerElement=24,pr(\"StructArrayLayout6i1ul2ui2i24\",nn);var an=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;this.resize(o+1);var s=6*o;return this.int16[s+0]=t,this.int16[s+1]=e,this.int16[s+2]=r,this.int16[s+3]=n,this.int16[s+4]=i,this.int16[s+5]=a,o},e}(Yr);an.prototype.bytesPerElement=12,pr(\"StructArrayLayout2i2i2i12\",an);var on=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=4*r;return this.uint8[n+0]=t,this.uint8[n+1]=e,r},e}(Yr);on.prototype.bytesPerElement=4,pr(\"StructArrayLayout2ub4\",on);var sn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,f,h,p){var d=this.length;this.resize(d+1);var g=20*d,m=10*d,v=40*d;return this.int16[g+0]=t,this.int16[g+1]=e,this.uint16[g+2]=r,this.uint16[g+3]=n,this.uint32[m+2]=i,this.uint32[m+3]=a,this.uint32[m+4]=o,this.uint16[g+10]=s,this.uint16[g+11]=l,this.uint16[g+12]=c,this.float32[m+7]=u,this.float32[m+8]=f,this.uint8[v+36]=h,this.uint8[v+37]=p,d},e}(Yr);sn.prototype.bytesPerElement=40,pr(\"StructArrayLayout2i2ui3ul3ui2f2ub40\",sn);var ln=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;this.resize(e+1);var r=1*e;return this.float32[r+0]=t,e},e}(Yr);ln.prototype.bytesPerElement=4,pr(\"StructArrayLayout1f4\",ln);var cn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.int16[i+0]=t,this.int16[i+1]=e,this.int16[i+2]=r,n},e}(Yr);cn.prototype.bytesPerElement=6,pr(\"StructArrayLayout3i6\",cn);var un=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=2*n,a=4*n;return this.uint32[i+0]=t,this.uint16[a+2]=e,this.uint16[a+3]=r,n},e}(Yr);un.prototype.bytesPerElement=8,pr(\"StructArrayLayout1ul2ui8\",un);var fn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;this.resize(n+1);var i=3*n;return this.uint16[i+0]=t,this.uint16[i+1]=e,this.uint16[i+2]=r,n},e}(Yr);fn.prototype.bytesPerElement=6,pr(\"StructArrayLayout3ui6\",fn);var hn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.uint16[n+0]=t,this.uint16[n+1]=e,r},e}(Yr);hn.prototype.bytesPerElement=4,pr(\"StructArrayLayout2ui4\",hn);var pn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;this.resize(r+1);var n=2*r;return this.float32[n+0]=t,this.float32[n+1]=e,r},e}(Yr);pn.prototype.bytesPerElement=8,pr(\"StructArrayLayout2f8\",pn);var dn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;this.resize(i+1);var a=4*i;return this.float32[a+0]=t,this.float32[a+1]=e,this.float32[a+2]=r,this.float32[a+3]=n,i},e}(Yr);dn.prototype.bytesPerElement=16,pr(\"StructArrayLayout4f16\",dn);var gn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},radius:{configurable:!0},signedDistanceFromAnchor:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new l(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Wr);gn.prototype.size=24;var mn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new gn(this,t)},e}(nn);pr(\"CollisionBoxArray\",mn);var vn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},hidden:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+37]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+37]=t},Object.defineProperties(e.prototype,r),e}(Wr);vn.prototype.size=40;var yn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new vn(this,t)},e}(sn);pr(\"PlacedSymbolArray\",yn);var xn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={offsetX:{configurable:!0}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(Wr);xn.prototype.size=4;var bn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new xn(this,t)},e}(ln);pr(\"GlyphOffsetArray\",bn);var _n=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={x:{configurable:!0},y:{configurable:!0},tileUnitDistanceFromAnchor:{configurable:!0}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(Wr);_n.prototype.size=6;var wn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e.prototype.get=function(t){return new _n(this,t)},e}(cn);pr(\"SymbolLineVertexArray\",wn);var kn=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(Wr);kn.prototype.size=8;var Mn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new kn(this,t)},e}(un);pr(\"FeatureIndexArray\",Mn);var An=Xr([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,Tn=function(t){void 0===t&&(t=[]),this.segments=t};Tn.prototype.prepareSegment=function(t,e,r){var n=this.segments[this.segments.length-1];return t>Tn.MAX_VERTEX_ARRAY_LENGTH&&_(\"Max vertices per segment is \"+Tn.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+t),(!n||n.vertexLength+t>Tn.MAX_VERTEX_ARRAY_LENGTH)&&(n={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},this.segments.push(n)),n},Tn.prototype.get=function(){return this.segments},Tn.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy()}},Tn.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,pr(\"SegmentVector\",Tn);var Sn=function(t,e){return 256*(t=h(Math.floor(t),0,255))+h(Math.floor(e),0,255)};function En(t){return[Sn(255*t.r,255*t.g),Sn(255*t.b,255*t.a)]}var Cn=function(t,e,r){this.value=t,this.name=e,this.type=r,this.statistics={max:-1/0}};Cn.prototype.defines=function(){return[\"#define HAS_UNIFORM_u_\"+this.name]},Cn.prototype.populatePaintArray=function(){},Cn.prototype.upload=function(){},Cn.prototype.destroy=function(){},Cn.prototype.setUniforms=function(t,e,r,n){var i=n.constantOr(this.value),a=t.gl;\"color\"===this.type?a.uniform4f(e.uniforms[\"u_\"+this.name],i.r,i.g,i.b,i.a):a.uniform1f(e.uniforms[\"u_\"+this.name],i)};var Ln=function(t,e,r){this.expression=t,this.name=e,this.type=r,this.statistics={max:-1/0};var n=\"color\"===r?pn:ln;this.paintVertexAttributes=[{name:\"a_\"+e,type:\"Float32\",components:\"color\"===r?2:1,offset:0}],this.paintVertexArray=new n};Ln.prototype.defines=function(){return[]},Ln.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,n=r.length;r.reserve(t);var i=this.expression.evaluate(new Lr(0),e);if(\"color\"===this.type)for(var a=En(i),o=n;o<t;o++)r.emplaceBack(a[0],a[1]);else{for(var s=n;s<t;s++)r.emplaceBack(i);this.statistics.max=Math.max(this.statistics.max,i)}},Ln.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},Ln.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},Ln.prototype.setUniforms=function(t,e){t.gl.uniform1f(e.uniforms[\"a_\"+this.name+\"_t\"],0)};var zn=function(t,e,r,n,i){this.expression=t,this.name=e,this.type=r,this.useIntegerZoom=n,this.zoom=i,this.statistics={max:-1/0};var a=\"color\"===r?dn:pn;this.paintVertexAttributes=[{name:\"a_\"+e,type:\"Float32\",components:\"color\"===r?4:2,offset:0}],this.paintVertexArray=new a};zn.prototype.defines=function(){return[]},zn.prototype.populatePaintArray=function(t,e){var r=this.paintVertexArray,n=r.length;r.reserve(t);var i=this.expression.evaluate(new Lr(this.zoom),e),a=this.expression.evaluate(new Lr(this.zoom+1),e);if(\"color\"===this.type)for(var o=En(i),s=En(a),l=n;l<t;l++)r.emplaceBack(o[0],o[1],s[0],s[1]);else{for(var c=n;c<t;c++)r.emplaceBack(i,a);this.statistics.max=Math.max(this.statistics.max,i,a)}},zn.prototype.upload=function(t){this.paintVertexArray&&(this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes))},zn.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},zn.prototype.interpolationFactor=function(t){return this.useIntegerZoom?this.expression.interpolationFactor(Math.floor(t),this.zoom,this.zoom+1):this.expression.interpolationFactor(t,this.zoom,this.zoom+1)},zn.prototype.setUniforms=function(t,e,r){t.gl.uniform1f(e.uniforms[\"a_\"+this.name+\"_t\"],this.interpolationFactor(r.zoom))};var Pn=function(){this.binders={},this.cacheKey=\"\",this._buffers=[]};Pn.createDynamic=function(t,e,r){var n=new Pn,i=[];for(var a in t.paint._values)if(r(a)){var o=t.paint.get(a);if(o instanceof Br&&o.property.specification[\"property-function\"]){var s=In(a,t.type),l=o.property.specification.type,c=o.property.useIntegerZoom;\"constant\"===o.value.kind?(n.binders[a]=new Cn(o.value,s,l),i.push(\"/u_\"+s)):\"source\"===o.value.kind?(n.binders[a]=new Ln(o.value,s,l),i.push(\"/a_\"+s)):(n.binders[a]=new zn(o.value,s,l,c,e),i.push(\"/z_\"+s))}}return n.cacheKey=i.sort().join(\"\"),n},Pn.prototype.populatePaintArrays=function(t,e){for(var r in this.binders)this.binders[r].populatePaintArray(t,e)},Pn.prototype.defines=function(){var t=[];for(var e in this.binders)t.push.apply(t,this.binders[e].defines());return t},Pn.prototype.setUniforms=function(t,e,r,n){for(var i in this.binders)this.binders[i].setUniforms(t,e,n,r.get(i))},Pn.prototype.getPaintVertexBuffers=function(){return this._buffers},Pn.prototype.upload=function(t){for(var e in this.binders)this.binders[e].upload(t);var r=[];for(var n in this.binders){var i=this.binders[n];(i instanceof Ln||i instanceof zn)&&i.paintVertexBuffer&&r.push(i.paintVertexBuffer)}this._buffers=r},Pn.prototype.destroy=function(){for(var t in this.binders)this.binders[t].destroy()};var On=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=e;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=Pn.createDynamic(o,r,n),this.programConfigurations[o.id].layoutAttributes=t}};function In(t,e){return{\"text-opacity\":\"opacity\",\"icon-opacity\":\"opacity\",\"text-color\":\"fill_color\",\"icon-color\":\"fill_color\",\"text-halo-color\":\"halo_color\",\"icon-halo-color\":\"halo_color\",\"text-halo-blur\":\"halo_blur\",\"icon-halo-blur\":\"halo_blur\",\"text-halo-width\":\"halo_width\",\"icon-halo-width\":\"halo_width\",\"line-gap-width\":\"gapwidth\"}[t]||t.replace(e+\"-\",\"\").replace(/-/g,\"_\")}On.prototype.populatePaintArrays=function(t,e){for(var r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e)},On.prototype.get=function(t){return this.programConfigurations[t]},On.prototype.upload=function(t){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t)},On.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},pr(\"ConstantBinder\",Cn),pr(\"SourceExpressionBinder\",Ln),pr(\"CompositeExpressionBinder\",zn),pr(\"ProgramConfiguration\",Pn,{omit:[\"_buffers\"]}),pr(\"ProgramConfigurationSet\",On);var Dn=8192,Rn=(16,{min:-1*Math.pow(2,15),max:Math.pow(2,15)-1});function Bn(t){for(var e=Dn/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var i=r[n],a=0;a<i.length;a++){var o=i[a];o.x=Math.round(o.x*e),o.y=Math.round(o.y*e),(o.x<Rn.min||o.x>Rn.max||o.y<Rn.min||o.y>Rn.max)&&_(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return r}function Fn(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var Nn=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new $r,this.indexArray=new fn,this.segments=new Tn,this.programConfigurations=new On(An,t.layers,t.zoom)};function jn(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if(Zn(i,e))return!0;if(Wn(e,i,r))return!0}return!1}function Vn(t,e){if(1===t.length&&1===t[0].length)return Xn(e,t[0][0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(Xn(t,n[i]))return!0;for(var a=0;a<t.length;a++){for(var o=t[a],s=0;s<o.length;s++)if(Xn(e,o[s]))return!0;for(var l=0;l<e.length;l++)if(Hn(o,e[l]))return!0}return!1}function Un(t,e,r){for(var n=0;n<e.length;n++)for(var i=e[n],a=0;a<t.length;a++){var o=t[a];if(o.length>=3)for(var s=0;s<i.length;s++)if(Zn(o,i[s]))return!0;if(qn(o,i,r))return!0}return!1}function qn(t,e,r){if(t.length>1){if(Hn(t,e))return!0;for(var n=0;n<e.length;n++)if(Wn(e[n],t,r))return!0}for(var i=0;i<t.length;i++)if(Wn(t[i],e,r))return!0;return!1}function Hn(t,e){if(0===t.length||0===e.length)return!1;for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++)if(Gn(n,i,e[a],e[a+1]))return!0;return!1}function Gn(t,e,r,n){return w(t,r,n)!==w(e,r,n)&&w(t,e,r)!==w(t,e,n)}function Wn(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++)if(Yn(t,e[i-1],e[i])<n)return!0;return!1}function Yn(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i<0?t.distSqr(e):i>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function Xn(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++)for(var s=0,l=(r=t[o]).length-1;s<r.length;l=s++)n=r[s],i=r[l],n.y>e.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Zn(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function $n(t,e,r){var n=e.paint.get(t).value;return\"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].statistics.max}function Jn(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Kn(t,e,r,n,i){if(!e[0]&&!e[1])return t;var a=l.convert(e);\"viewport\"===r&&a._rotate(-n);for(var o=[],s=0;s<t.length;s++){for(var c=t[s],u=[],f=0;f<c.length;f++)u.push(c[f].sub(a._mult(i)));o.push(u)}return o}Nn.prototype.populate=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.feature,o=i.index,s=i.sourceLayerIndex;if(this.layers[0]._featureFilter(new Lr(this.zoom),a)){var l=Bn(a);this.addFeature(a,l),e.featureIndex.insert(a,l,o,s,this.index)}}},Nn.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Nn.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,An),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},Nn.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Nn.prototype.addFeature=function(t,e){for(var r=0,n=e;r<n.length;r+=1)for(var i=0,a=n[r];i<a.length;i+=1){var o=a[i],s=o.x,l=o.y;if(!(s<0||s>=Dn||l<0||l>=Dn)){var c=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),u=c.vertexLength;Fn(this.layoutVertexArray,s,l,-1,-1),Fn(this.layoutVertexArray,s,l,1,-1),Fn(this.layoutVertexArray,s,l,1,1),Fn(this.layoutVertexArray,s,l,-1,1),this.indexArray.emplaceBack(u,u+1,u+2),this.indexArray.emplaceBack(u,u+3,u+2),c.vertexLength+=4,c.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},pr(\"CircleBucket\",Nn,{omit:[\"layers\"]});var Qn={paint:new qr({\"circle-radius\":new jr(O.paint_circle[\"circle-radius\"]),\"circle-color\":new jr(O.paint_circle[\"circle-color\"]),\"circle-blur\":new jr(O.paint_circle[\"circle-blur\"]),\"circle-opacity\":new jr(O.paint_circle[\"circle-opacity\"]),\"circle-translate\":new Nr(O.paint_circle[\"circle-translate\"]),\"circle-translate-anchor\":new Nr(O.paint_circle[\"circle-translate-anchor\"]),\"circle-pitch-scale\":new Nr(O.paint_circle[\"circle-pitch-scale\"]),\"circle-pitch-alignment\":new Nr(O.paint_circle[\"circle-pitch-alignment\"]),\"circle-stroke-width\":new jr(O.paint_circle[\"circle-stroke-width\"]),\"circle-stroke-color\":new jr(O.paint_circle[\"circle-stroke-color\"]),\"circle-stroke-opacity\":new jr(O.paint_circle[\"circle-stroke-opacity\"])})},ti=i(function(t,e){var r;t.exports=((r=new Float32Array(3))[0]=0,r[1]=0,r[2]=0,function(){var t=new Float32Array(4);t[0]=0,t[1]=0,t[2]=0,t[3]=0}(),{vec3:{transformMat3:function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},vec4:{transformMat4:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},mat2:{create:function(){var t=new Float32Array(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},rotate:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},scale:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=r[0],l=r[1];return t[0]=n*s,t[1]=i*s,t[2]=a*l,t[3]=o*l,t}},mat3:{create:function(){var t=new Float32Array(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},fromRotation:function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}},mat4:{create:function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},identity:function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},translate:function(t,e,r){var n,i,a,o,s,l,c,u,f,h,p,d,g=r[0],m=r[1],v=r[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*v+e[12],t[13]=e[1]*g+e[5]*m+e[9]*v+e[13],t[14]=e[2]*g+e[6]*m+e[10]*v+e[14],t[15]=e[3]*g+e[7]*m+e[11]*v+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*g+s*m+f*v+e[12],t[13]=i*g+l*m+h*v+e[13],t[14]=a*g+c*m+p*v+e[14],t[15]=o*g+u*m+d*v+e[15]),t},scale:function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},multiply:function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],f=e[8],h=e[9],p=e[10],d=e[11],g=e[12],m=e[13],v=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*g,t[1]=x*i+b*l+_*h+w*m,t[2]=x*a+b*c+_*p+w*v,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*g,t[5]=x*i+b*l+_*h+w*m,t[6]=x*a+b*c+_*p+w*v,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*g,t[9]=x*i+b*l+_*h+w*m,t[10]=x*a+b*c+_*p+w*v,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*g,t[13]=x*i+b*l+_*h+w*m,t[14]=x*a+b*c+_*p+w*v,t[15]=x*o+b*u+_*d+w*y,t},perspective:function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t},rotateX:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t},rotateZ:function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t},invert:function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],f=e[9],h=e[10],p=e[11],d=e[12],g=e[13],m=e[14],v=e[15],y=r*s-n*o,x=r*l-i*o,b=r*c-a*o,_=n*l-i*s,w=n*c-a*s,k=i*c-a*l,M=u*g-f*d,A=u*m-h*d,T=u*v-p*d,S=f*m-h*g,E=f*v-p*g,C=h*v-p*m,L=y*C-x*E+b*S+_*T-w*A+k*M;return L?(L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(g*k-m*w+v*_)*L,t[3]=(h*w-f*k-p*_)*L,t[4]=(l*T-o*C-c*A)*L,t[5]=(r*C-i*T+a*A)*L,t[6]=(m*b-d*k-v*x)*L,t[7]=(u*k-h*b+p*x)*L,t[8]=(o*E-s*T+c*M)*L,t[9]=(n*T-r*E-a*M)*L,t[10]=(d*w-g*b+v*y)*L,t[11]=(f*b-u*w-p*y)*L,t[12]=(s*A-o*S-l*M)*L,t[13]=(r*S-n*A+i*M)*L,t[14]=(g*x-d*_-m*y)*L,t[15]=(u*_-f*x+h*y)*L,t):null},ortho:function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t}}})}),ei=(ti.vec3,ti.vec4),ri=(ti.mat2,ti.mat3,ti.mat4),ni=function(t){function e(e){t.call(this,e,Qn)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Nn(t)},e.prototype.queryRadius=function(t){var e=t;return $n(\"circle-radius\",this,e)+$n(\"circle-stroke-width\",this,e)+Jn(this.paint.get(\"circle-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o){for(var s=Kn(t,this.paint.get(\"circle-translate\"),this.paint.get(\"circle-translate-anchor\"),i.angle,a),l=this.paint.get(\"circle-radius\").evaluate(e)+this.paint.get(\"circle-stroke-width\").evaluate(e),c=\"map\"===this.paint.get(\"circle-pitch-alignment\"),u=c?s:function(t,e,r){return s.map(function(t){return t.map(function(t){return ii(t,e,r)})})}(0,o,i),f=c?l*a:l,h=0,p=r;h<p.length;h+=1)for(var d=0,g=p[h];d<g.length;d+=1){var m=g[d],v=c?m:ii(m,o,i),y=f,x=ei.transformMat4([],[m.x,m.y,0,1],o);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?y*=x[3]/i.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(y*=i.cameraToCenterDistance/x[3]),jn(u,v,y))return!0}return!1},e}(Hr);function ii(t,e,r){var n=ei.transformMat4([],[t.x,t.y,0,1],e);return new l((n[0]/n[3]+1)*r.width*.5,(n[1]/n[3]+1)*r.height*.5)}var ai=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Nn);function oi(t,e,r,n){var i=e.width,a=e.height;if(n){if(n.length!==i*a*r)throw new RangeError(\"mismatched image size\")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function si(t,e,r){var n=e.width,i=e.height;if(n!==t.width||i!==t.height){var a=oi({},{width:n,height:i},r);li(t,a,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,i)},r),t.width=n,t.height=i,t.data=a.data}}function li(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var o=t.data,s=e.data,l=0;l<i.height;l++)for(var c=((r.y+l)*t.width+r.x)*a,u=((n.y+l)*e.width+n.x)*a,f=0;f<i.width*a;f++)s[u+f]=o[c+f];return e}pr(\"HeatmapBucket\",ai,{omit:[\"layers\"]});var ci=function(t,e){oi(this,t,1,e)};ci.prototype.resize=function(t){si(this,t,1)},ci.prototype.clone=function(){return new ci({width:this.width,height:this.height},new Uint8Array(this.data))},ci.copy=function(t,e,r,n,i){li(t,e,r,n,i,1)};var ui=function(t,e){oi(this,t,4,e)};ui.prototype.resize=function(t){si(this,t,4)},ui.prototype.clone=function(){return new ui({width:this.width,height:this.height},new Uint8Array(this.data))},ui.copy=function(t,e,r,n,i){li(t,e,r,n,i,4)},pr(\"AlphaImage\",ci),pr(\"RGBAImage\",ui);var fi={paint:new qr({\"heatmap-radius\":new jr(O.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new jr(O.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Nr(O.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Ur(O.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Nr(O.paint_heatmap[\"heatmap-opacity\"])})};function hi(t,e){for(var r=new Uint8Array(1024),n={},i=0,a=0;i<256;i++,a+=4){n[e]=i/255;var o=t.evaluate(n);r[a+0]=Math.floor(255*o.r/o.a),r[a+1]=Math.floor(255*o.g/o.a),r[a+2]=Math.floor(255*o.b/o.a),r[a+3]=Math.floor(255*o.a)}return new ui({width:256,height:1},r)}var pi=function(t){function e(e){t.call(this,e,fi),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new ai(t)},e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),\"heatmap-color\"===e&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){var t=this._transitionablePaint._values[\"heatmap-color\"].value.expression;this.colorRamp=hi(t,\"heatmapDensity\"),this.colorRampTexture=null},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"heatmap-opacity\")&&\"none\"!==this.visibility},e}(Hr),di={paint:new qr({\"hillshade-illumination-direction\":new Nr(O.paint_hillshade[\"hillshade-illumination-direction\"]),\"hillshade-illumination-anchor\":new Nr(O.paint_hillshade[\"hillshade-illumination-anchor\"]),\"hillshade-exaggeration\":new Nr(O.paint_hillshade[\"hillshade-exaggeration\"]),\"hillshade-shadow-color\":new Nr(O.paint_hillshade[\"hillshade-shadow-color\"]),\"hillshade-highlight-color\":new Nr(O.paint_hillshade[\"hillshade-highlight-color\"]),\"hillshade-accent-color\":new Nr(O.paint_hillshade[\"hillshade-accent-color\"])})},gi=function(t){function e(e){t.call(this,e,di)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"hillshade-exaggeration\")&&\"none\"!==this.visibility},e}(Hr),mi=Xr([{name:\"a_pos\",components:2,type:\"Int16\"}],4).members,vi=xi,yi=xi;function xi(t,e,r){r=r||2;var n,i,a,o,s,l,c,u=e&&e.length,f=u?e[0]*r:t.length,h=bi(t,0,f,r,!0),p=[];if(!h)return p;if(u&&(h=function(t,e,r,n){var i,a,o,s=[];for(i=0,a=e.length;i<a;i++)(o=bi(t,e[i]*n,i<a-1?e[i+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(Li(o));for(s.sort(Si),i=0;i<s.length;i++)Ei(s[i],r),r=_i(r,r.next);return r}(t,e,h,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var d=r;d<f;d+=r)(s=t[d])<n&&(n=s),(l=t[d+1])<i&&(i=l),s>a&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return wi(h,p,r,n,i,c),p}function bi(t,e,r,n,i){var a,o;if(i===Vi(t,e,r,n)>0)for(a=e;a<r;a+=n)o=Fi(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=Fi(a,t[a],t[a+1],o);return o&&Ii(o,o.next)&&(Ni(o),o=o.next),o}function _i(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ii(n,n.next)&&0!==Oi(n.prev,n,n.next))n=n.next;else{if(Ni(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function wi(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=Ci(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?Mi(t,n,i,a):ki(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Ni(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?wi(t=Ai(t,e,r),e,r,n,i,a,2):2===o&&Ti(t,e,r,n,i,a):wi(_i(t),e,r,n,i,a,1);break}}}function ki(t){var e=t.prev,r=t,n=t.next;if(Oi(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(zi(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&Oi(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function Mi(t,e,r,n){var i=t.prev,a=t,o=t.next;if(Oi(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,c=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=Ci(s,l,e,r,n),h=Ci(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Oi(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Oi(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&Oi(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&zi(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&Oi(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function Ai(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ii(i,a)&&Di(i,n,n.next,a)&&Ri(i,a)&&Ri(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Ni(n),Ni(n.next),n=t=a),n=n.next}while(n!==t);return n}function Ti(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&Pi(o,s)){var l=Bi(o,s);return o=_i(o,o.next),l=_i(l,l.next),wi(o,e,r,n,i,a),void wi(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function Si(t,e){return t.x-e.x}function Ei(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r.prev;var l,c=r,u=r.x,f=r.y,h=1/0;for(n=r.next;n!==c;)i>=n.x&&n.x>=u&&i!==n.x&&zi(a<f?i:o,a,u,f,a<f?o:i,a,n.x,n.y)&&((l=Math.abs(a-n.y)/(i-n.x))<h||l===h&&n.x>r.x)&&Ri(n,t)&&(r=n,h=l),n=n.next;return r}(t,e)){var r=Bi(e,t);_i(r,r.next)}}function Ci(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Li(t){var e=t,r=t;do{e.x<r.x&&(r=e),e=e.next}while(e!==t);return r}function zi(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function Pi(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Di(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&Ri(t,e)&&Ri(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)}function Oi(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ii(t,e){return t.x===e.x&&t.y===e.y}function Di(t,e,r,n){return!!(Ii(t,e)&&Ii(r,n)||Ii(t,n)&&Ii(r,e))||Oi(t,e,r)>0!=Oi(t,e,n)>0&&Oi(r,n,t)>0!=Oi(r,n,e)>0}function Ri(t,e){return Oi(t.prev,t,t.next)<0?Oi(t,e,t.next)>=0&&Oi(t,t.prev,e)>=0:Oi(t,e,t.prev)<0||Oi(t,t.next,e)<0}function Bi(t,e){var r=new ji(t.i,t.x,t.y),n=new ji(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Fi(t,e,r,n){var i=new ji(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Ni(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function ji(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Vi(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}xi.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(Vi(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(Vi(t,c,u,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},xi.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r},vi.default=yi;var Ui=Hi,qi=Hi;function Hi(t,e,r,n,i){!function t(e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}var f=e[r],h=n,p=i;for(Gi(e,n,r),a(e[i],f)>0&&Gi(e,n,i);h<p;){for(Gi(e,h,p),h++,p--;a(e[h],f)<0;)h++;for(;a(e[p],f)>0;)p--}0===a(e[n],f)?Gi(e,n,p):Gi(e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}(t,e,r||0,n||t.length-1,i||Wi)}function Gi(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Wi(t,e){return t<e?-1:t>e?1:0}function Yi(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o<r;o++){var s=k(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===i&&(i=s<0),i===s<0?(n&&a.push(n),n=[t[o]]):n.push(t[o]))}if(n&&a.push(n),e>1)for(var l=0;l<a.length;l++)a[l].length<=e||(Ui(a[l],e,1,a[l].length-1,Xi),a[l]=a[l].slice(0,e));return a}function Xi(t,e){return e.area-t.area}Ui.default=qi;var Zi=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new $r,this.indexArray=new fn,this.indexArray2=new hn,this.programConfigurations=new On(mi,t.layers,t.zoom),this.segments=new Tn,this.segments2=new Tn};Zi.prototype.populate=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.feature,o=i.index,s=i.sourceLayerIndex;if(this.layers[0]._featureFilter(new Lr(this.zoom),a)){var l=Bn(a);this.addFeature(a,l),e.featureIndex.insert(a,l,o,s,this.index)}}},Zi.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Zi.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,mi),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2),this.programConfigurations.upload(t)},Zi.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},Zi.prototype.addFeature=function(t,e){for(var r=0,n=Yi(e,500);r<n.length;r+=1){for(var i=n[r],a=0,o=0,s=i;o<s.length;o+=1)a+=s[o].length;for(var l=this.segments.prepareSegment(a,this.layoutVertexArray,this.indexArray),c=l.vertexLength,u=[],f=[],h=0,p=i;h<p.length;h+=1){var d=p[h];if(0!==d.length){d!==i[0]&&f.push(u.length/2);var g=this.segments2.prepareSegment(d.length,this.layoutVertexArray,this.indexArray2),m=g.vertexLength;this.layoutVertexArray.emplaceBack(d[0].x,d[0].y),this.indexArray2.emplaceBack(m+d.length-1,m),u.push(d[0].x),u.push(d[0].y);for(var v=1;v<d.length;v++)this.layoutVertexArray.emplaceBack(d[v].x,d[v].y),this.indexArray2.emplaceBack(m+v-1,m+v),u.push(d[v].x),u.push(d[v].y);g.vertexLength+=d.length,g.primitiveLength+=d.length}}for(var y=vi(u,f),x=0;x<y.length;x+=3)this.indexArray.emplaceBack(c+y[x],c+y[x+1],c+y[x+2]);l.vertexLength+=a,l.primitiveLength+=y.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},pr(\"FillBucket\",Zi,{omit:[\"layers\"]});var $i={paint:new qr({\"fill-antialias\":new Nr(O.paint_fill[\"fill-antialias\"]),\"fill-opacity\":new jr(O.paint_fill[\"fill-opacity\"]),\"fill-color\":new jr(O.paint_fill[\"fill-color\"]),\"fill-outline-color\":new jr(O.paint_fill[\"fill-outline-color\"]),\"fill-translate\":new Nr(O.paint_fill[\"fill-translate\"]),\"fill-translate-anchor\":new Nr(O.paint_fill[\"fill-translate-anchor\"]),\"fill-pattern\":new Vr(O.paint_fill[\"fill-pattern\"])})},Ji=function(t){function e(e){t.call(this,e,$i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(t){this.paint=this._transitioningPaint.possiblyEvaluate(t);var e=this.paint._values[\"fill-outline-color\"];\"constant\"===e.value.kind&&void 0===e.value.value&&(this.paint._values[\"fill-outline-color\"]=this.paint._values[\"fill-color\"])},e.prototype.createBucket=function(t){return new Zi(t)},e.prototype.queryRadius=function(){return Jn(this.paint.get(\"fill-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a){return Vn(Kn(t,this.paint.get(\"fill-translate\"),this.paint.get(\"fill-translate-anchor\"),i.angle,a),r)},e}(Hr),Ki=Xr([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_normal_ed\",components:4,type:\"Int16\"}],4).members,Qi=Math.pow(2,13);function ta(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*Qi)+o,i*Qi*2,a*Qi*2,Math.round(s))}var ea=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new Kr,this.indexArray=new fn,this.programConfigurations=new On(Ki,t.layers,t.zoom),this.segments=new Tn};function ra(t,e){return t.x===e.x&&(t.x<0||t.x>Dn)||t.y===e.y&&(t.y<0||t.y>Dn)}function na(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>Dn})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>Dn})}ea.prototype.populate=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.feature,o=i.index,s=i.sourceLayerIndex;if(this.layers[0]._featureFilter(new Lr(this.zoom),a)){var l=Bn(a);this.addFeature(a,l),e.featureIndex.insert(a,l,o,s,this.index)}}},ea.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ea.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ki),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},ea.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},ea.prototype.addFeature=function(t,e){for(var r=0,n=Yi(e,500);r<n.length;r+=1){for(var i=n[r],a=0,o=0,s=i;o<s.length;o+=1)a+=s[o].length;for(var l=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),c=0,u=i;c<u.length;c+=1){var f=u[c];if(0!==f.length&&!na(f))for(var h=0,p=0;p<f.length;p++){var d=f[p];if(p>=1){var g=f[p-1];if(!ra(d,g)){l.vertexLength+4>Tn.MAX_VERTEX_ARRAY_LENGTH&&(l=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var m=d.sub(g)._perp()._unit(),v=g.dist(d);h+v>32768&&(h=0),ta(this.layoutVertexArray,d.x,d.y,m.x,m.y,0,0,h),ta(this.layoutVertexArray,d.x,d.y,m.x,m.y,0,1,h),h+=v,ta(this.layoutVertexArray,g.x,g.y,m.x,m.y,0,0,h),ta(this.layoutVertexArray,g.x,g.y,m.x,m.y,0,1,h);var y=l.vertexLength;this.indexArray.emplaceBack(y,y+1,y+2),this.indexArray.emplaceBack(y+1,y+2,y+3),l.vertexLength+=4,l.primitiveLength+=2}}}}l.vertexLength+a>Tn.MAX_VERTEX_ARRAY_LENGTH&&(l=this.segments.prepareSegment(a,this.layoutVertexArray,this.indexArray));for(var x=[],b=[],_=l.vertexLength,w=0,k=i;w<k.length;w+=1){var M=k[w];if(0!==M.length){M!==i[0]&&b.push(x.length/2);for(var A=0;A<M.length;A++){var T=M[A];ta(this.layoutVertexArray,T.x,T.y,0,0,1,1,0),x.push(T.x),x.push(T.y)}}}for(var S=vi(x,b),E=0;E<S.length;E+=3)this.indexArray.emplaceBack(_+S[E],_+S[E+1],_+S[E+2]);l.primitiveLength+=S.length/3,l.vertexLength+=a}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t)},pr(\"FillExtrusionBucket\",ea,{omit:[\"layers\"]});var ia={paint:new qr({\"fill-extrusion-opacity\":new Nr(O[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new jr(O[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Nr(O[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Nr(O[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Vr(O[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new jr(O[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new jr(O[\"paint_fill-extrusion\"][\"fill-extrusion-base\"])})},aa=function(t){function e(e){t.call(this,e,ia)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new ea(t)},e.prototype.queryRadius=function(){return Jn(this.paint.get(\"fill-extrusion-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a){return Vn(Kn(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),i.angle,a),r)},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get(\"fill-extrusion-opacity\")&&\"none\"!==this.visibility},e.prototype.resize=function(){this.viewportFrame&&(this.viewportFrame.destroy(),this.viewportFrame=null)},e}(Hr),oa=Xr([{name:\"a_pos_normal\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint8\"}],4).members,sa=la;function la(t,e,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=i,t.readFields(ca,this,e)}function ca(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function ua(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}la.types=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"],la.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,a=0,o=0,s=[];t.pos<r;){if(i<=0){var c=t.readVarint();n=7&c,i=c>>3}if(i--,1===n||2===n)a+=t.readSVarint(),o+=t.readSVarint(),1===n&&(e&&s.push(e),e=[]),e.push(new l(a,o));else{if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone())}}return e&&s.push(e),s},la.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos<e;){if(n<=0){var u=t.readVarint();r=7&u,n=u>>3}if(n--,1===r||2===r)(i+=t.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=t.readSVarint())<l&&(l=a),a>c&&(c=a);else if(7!==r)throw new Error(\"unknown command \"+r)}return[o,l,s,c]},la.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=la.types[this.type];function u(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+s)/a;t[e]=[360*(r.x+o)/a-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}switch(this.type){case 1:var f=[];for(n=0;n<l.length;n++)f[n]=l[n][0];u(l=f);break;case 2:for(n=0;n<l.length;n++)u(l[n]);break;case 3:for(l=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],a=0;a<e;a++){var o=ua(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]))}return r&&i.push(r),i}(l),n=0;n<l.length;n++)for(i=0;i<l[n].length;i++)u(l[n][i])}1===l.length?l=l[0]:c=\"Multi\"+c;var h={type:\"Feature\",geometry:{type:c,coordinates:l},properties:this.properties};return\"id\"in this&&(h.id=this.id),h};var fa=ha;function ha(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(pa,this,e),this.length=this._features.length}function pa(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function da(t,e,r){if(3===t){var n=new fa(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}ha.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new sa(this._pbf,e,this.extent,this._keys,this._values)};var ga={VectorTile:function(t,e){this.layers=t.readFields(da,{},e)},VectorTileFeature:sa,VectorTileLayer:fa},ma=ga.VectorTileFeature.types,va=63,ya=Math.cos(Math.PI/180*37.5),xa=.5,ba=Math.pow(2,14)/xa;function _a(t,e,r,n,i,a,o){t.emplaceBack(e.x,e.y,n?1:0,i?1:-1,Math.round(va*r.x)+128,Math.round(va*r.y)+128,1+(0===a?0:a<0?-1:1)|(o*xa&63)<<2,o*xa>>6)}var wa=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.layoutVertexArray=new Qr,this.indexArray=new fn,this.programConfigurations=new On(oa,t.layers,t.zoom),this.segments=new Tn};function ka(t,e){return(t/e.tileTotal*(e.end-e.start)+e.start)*(ba-1)}wa.prototype.populate=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.feature,o=i.index,s=i.sourceLayerIndex;if(this.layers[0]._featureFilter(new Lr(this.zoom),a)){var l=Bn(a);this.addFeature(a,l),e.featureIndex.insert(a,l,o,s,this.index)}}},wa.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},wa.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,oa),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.programConfigurations.upload(t)},wa.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},wa.prototype.addFeature=function(t,e){for(var r=this.layers[0].layout,n=r.get(\"line-join\").evaluate(t),i=r.get(\"line-cap\"),a=r.get(\"line-miter-limit\"),o=r.get(\"line-round-limit\"),s=0,l=e;s<l.length;s+=1){var c=l[s];this.addLine(c,t,n,i,a,o)}},wa.prototype.addLine=function(t,e,r,n,i,a){var o=null;e.properties&&e.properties.hasOwnProperty(\"mapbox_clip_start\")&&e.properties.hasOwnProperty(\"mapbox_clip_end\")&&(o={start:e.properties.mapbox_clip_start,end:e.properties.mapbox_clip_end,tileTotal:void 0});for(var s=\"Polygon\"===ma[e.type],l=t.length;l>=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;c<l-1&&t[c].equals(t[c+1]);)c++;if(!(l<(s?3:2))){o&&(o.tileTotal=function(t,e,r){for(var n,i,a=0,o=c;o<r-1;o++)n=t[o],i=t[o+1],a+=n.dist(i);return a}(t,0,l)),\"bevel\"===r&&(i=1.05);var u=Dn/(512*this.overscaling)*15,f=t[c],h=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray);this.distance=0;var p,d,g,m=n,v=s?\"butt\":n,y=!0,x=void 0,b=void 0,_=void 0,w=void 0;this.e1=this.e2=this.e3=-1,s&&(p=t[l-2],w=f.sub(p)._unit()._perp());for(var k=c;k<l;k++)if(!(b=s&&k===l-1?t[c+1]:t[k+1])||!t[k].equals(b)){w&&(_=w),p&&(x=p),p=t[k],w=b?b.sub(p)._unit()._perp():_;var M=(_=_||w).add(w);0===M.x&&0===M.y||M._unit();var A=M.x*w.x+M.y*w.y,T=0!==A?1/A:1/0,S=A<ya&&x&&b;if(S&&k>c){var E=p.dist(x);if(E>2*u){var C=p.sub(p.sub(x)._mult(u/E)._round());this.distance+=C.dist(x),this.addCurrentVertex(C,this.distance,_.mult(1),0,0,!1,h,o),x=C}}var L=x&&b,z=L?r:b?m:v;if(L&&\"round\"===z&&(T<a?z=\"miter\":T<=2&&(z=\"fakeround\")),\"miter\"===z&&T>i&&(z=\"bevel\"),\"bevel\"===z&&(T>2&&(z=\"flipbevel\"),T<i&&(z=\"miter\")),x&&(this.distance+=p.dist(x)),\"miter\"===z)M._mult(T),this.addCurrentVertex(p,this.distance,M,0,0,!1,h,o);else if(\"flipbevel\"===z){if(T>100)M=w.clone().mult(-1);else{var P=_.x*w.y-_.y*w.x>0?-1:1,O=T*_.add(w).mag()/_.sub(w).mag();M._perp()._mult(O*P)}this.addCurrentVertex(p,this.distance,M,0,0,!1,h,o),this.addCurrentVertex(p,this.distance,M.mult(-1),0,0,!1,h,o)}else if(\"bevel\"===z||\"fakeround\"===z){var I=_.x*w.y-_.y*w.x>0,D=-Math.sqrt(T*T-1);if(I?(g=0,d=D):(d=0,g=D),y||this.addCurrentVertex(p,this.distance,_,d,g,!1,h,o),\"fakeround\"===z){for(var R=Math.floor(8*(.5-(A-.5))),B=void 0,F=0;F<R;F++)B=w.mult((F+1)/(R+1))._add(_)._unit(),this.addPieSliceVertex(p,this.distance,B,I,h,o);this.addPieSliceVertex(p,this.distance,M,I,h,o);for(var N=R-1;N>=0;N--)B=_.mult((N+1)/(R+1))._add(w)._unit(),this.addPieSliceVertex(p,this.distance,B,I,h,o)}b&&this.addCurrentVertex(p,this.distance,w,-d,-g,!1,h,o)}else\"butt\"===z?(y||this.addCurrentVertex(p,this.distance,_,0,0,!1,h,o),b&&this.addCurrentVertex(p,this.distance,w,0,0,!1,h,o)):\"square\"===z?(y||(this.addCurrentVertex(p,this.distance,_,1,1,!1,h,o),this.e1=this.e2=-1),b&&this.addCurrentVertex(p,this.distance,w,-1,-1,!1,h,o)):\"round\"===z&&(y||(this.addCurrentVertex(p,this.distance,_,0,0,!1,h,o),this.addCurrentVertex(p,this.distance,_,1,1,!0,h,o),this.e1=this.e2=-1),b&&(this.addCurrentVertex(p,this.distance,w,-1,-1,!0,h,o),this.addCurrentVertex(p,this.distance,w,0,0,!1,h,o)));if(S&&k<l-1){var j=p.dist(b);if(j>2*u){var V=p.add(b.sub(p)._mult(u/j)._round());this.distance+=V.dist(p),this.addCurrentVertex(V,this.distance,w.mult(1),0,0,!1,h,o),p=V}}y=!1}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e)}},wa.prototype.addCurrentVertex=function(t,e,r,n,i,a,o,s){var l,c=this.layoutVertexArray,u=this.indexArray;s&&(e=ka(e,s)),l=r.clone(),n&&l._sub(r.perp()._mult(n)),_a(c,t,l,a,!1,n,e),this.e3=o.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),o.primitiveLength++),this.e1=this.e2,this.e2=this.e3,l=r.mult(-1),i&&l._sub(r.perp()._mult(i)),_a(c,t,l,a,!0,-i,e),this.e3=o.vertexLength++,this.e1>=0&&this.e2>=0&&(u.emplaceBack(this.e1,this.e2,this.e3),o.primitiveLength++),this.e1=this.e2,this.e2=this.e3,e>ba/2&&!s&&(this.distance=0,this.addCurrentVertex(t,this.distance,r,n,i,a,o))},wa.prototype.addPieSliceVertex=function(t,e,r,n,i,a){r=r.mult(n?-1:1);var o=this.layoutVertexArray,s=this.indexArray;a&&(e=ka(e,a)),_a(o,t,r,!1,n,0,e),this.e3=i.vertexLength++,this.e1>=0&&this.e2>=0&&(s.emplaceBack(this.e1,this.e2,this.e3),i.primitiveLength++),n?this.e2=this.e3:this.e1=this.e3},pr(\"LineBucket\",wa,{omit:[\"layers\"]});var Ma=new qr({\"line-cap\":new Nr(O.layout_line[\"line-cap\"]),\"line-join\":new jr(O.layout_line[\"line-join\"]),\"line-miter-limit\":new Nr(O.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Nr(O.layout_line[\"line-round-limit\"])}),Aa={paint:new qr({\"line-opacity\":new jr(O.paint_line[\"line-opacity\"]),\"line-color\":new jr(O.paint_line[\"line-color\"]),\"line-translate\":new Nr(O.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Nr(O.paint_line[\"line-translate-anchor\"]),\"line-width\":new jr(O.paint_line[\"line-width\"]),\"line-gap-width\":new jr(O.paint_line[\"line-gap-width\"]),\"line-offset\":new jr(O.paint_line[\"line-offset\"]),\"line-blur\":new jr(O.paint_line[\"line-blur\"]),\"line-dasharray\":new Vr(O.paint_line[\"line-dasharray\"]),\"line-pattern\":new Vr(O.paint_line[\"line-pattern\"]),\"line-gradient\":new Ur(O.paint_line[\"line-gradient\"])}),layout:Ma},Ta=new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Lr(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n)},e}(jr))(Aa.paint.properties[\"line-width\"].specification);Ta.useIntegerZoom=!0;var Sa=function(t){function e(e){t.call(this,e,Aa)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setPaintProperty=function(e,r,n){t.prototype.setPaintProperty.call(this,e,r,n),\"line-gradient\"===e&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.gradient=hi(t,\"lineProgress\"),this.gradientTexture=null},e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values[\"line-floorwidth\"]=Ta.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,e)},e.prototype.createBucket=function(t){return new wa(t)},e.prototype.queryRadius=function(t){var e=t,r=Ea($n(\"line-width\",this,e),$n(\"line-gap-width\",this,e)),n=$n(\"line-offset\",this,e);return r/2+Math.abs(n)+Jn(this.paint.get(\"line-translate\"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a){var o=Kn(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),i.angle,a),s=a/2*Ea(this.paint.get(\"line-width\").evaluate(e),this.paint.get(\"line-gap-width\").evaluate(e)),c=this.paint.get(\"line-offset\").evaluate(e);return c&&(r=function(t,e){for(var r=[],n=new l(0,0),i=0;i<t.length;i++){for(var a=t[i],o=[],s=0;s<a.length;s++){var c=a[s-1],u=a[s],f=a[s+1],h=0===s?n:u.sub(c)._unit()._perp(),p=s===a.length-1?n:f.sub(u)._unit()._perp(),d=h._add(p)._unit(),g=d.x*p.x+d.y*p.y;d._mult(1/g),o.push(d._mult(e)._add(u))}r.push(o)}return r}(r,c*a)),Un(o,r,s)},e}(Hr);function Ea(t,e){return e>0?e+2*t:t}var Ca=Xr([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"}]),La=Xr([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4),za=(Xr([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4),Xr([{name:\"a_placed\",components:2,type:\"Uint8\"}],4)),Pa=(Xr([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"},{type:\"Int16\",name:\"radius\"},{type:\"Int16\",name:\"signedDistanceFromAnchor\"}]),Xr([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4)),Oa=Xr([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4);function Ia(t,e,r){var n=e.layout.get(\"text-transform\").evaluate(r);return\"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),Cr.applyArabicShaping&&(t=Cr.applyArabicShaping(t)),t}Xr([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"hidden\"}]),Xr([{type:\"Float32\",name:\"offsetX\"}]),Xr([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]);var Da={\"!\":\"\\ufe15\",\"#\":\"\\uff03\",$:\"\\uff04\",\"%\":\"\\uff05\",\"&\":\"\\uff06\",\"(\":\"\\ufe35\",\")\":\"\\ufe36\",\"*\":\"\\uff0a\",\"+\":\"\\uff0b\",\",\":\"\\ufe10\",\"-\":\"\\ufe32\",\".\":\"\\u30fb\",\"/\":\"\\uff0f\",\":\":\"\\ufe13\",\";\":\"\\ufe14\",\"<\":\"\\ufe3f\",\"=\":\"\\uff1d\",\">\":\"\\ufe40\",\"?\":\"\\ufe16\",\"@\":\"\\uff20\",\"[\":\"\\ufe47\",\"\\\\\":\"\\uff3c\",\"]\":\"\\ufe48\",\"^\":\"\\uff3e\",_:\"\\ufe33\",\"`\":\"\\uff40\",\"{\":\"\\ufe37\",\"|\":\"\\u2015\",\"}\":\"\\ufe38\",\"~\":\"\\uff5e\",\"\\xa2\":\"\\uffe0\",\"\\xa3\":\"\\uffe1\",\"\\xa5\":\"\\uffe5\",\"\\xa6\":\"\\uffe4\",\"\\xac\":\"\\uffe2\",\"\\xaf\":\"\\uffe3\",\"\\u2013\":\"\\ufe32\",\"\\u2014\":\"\\ufe31\",\"\\u2018\":\"\\ufe43\",\"\\u2019\":\"\\ufe44\",\"\\u201c\":\"\\ufe41\",\"\\u201d\":\"\\ufe42\",\"\\u2026\":\"\\ufe19\",\"\\u2027\":\"\\u30fb\",\"\\u20a9\":\"\\uffe6\",\"\\u3001\":\"\\ufe11\",\"\\u3002\":\"\\ufe12\",\"\\u3008\":\"\\ufe3f\",\"\\u3009\":\"\\ufe40\",\"\\u300a\":\"\\ufe3d\",\"\\u300b\":\"\\ufe3e\",\"\\u300c\":\"\\ufe41\",\"\\u300d\":\"\\ufe42\",\"\\u300e\":\"\\ufe43\",\"\\u300f\":\"\\ufe44\",\"\\u3010\":\"\\ufe3b\",\"\\u3011\":\"\\ufe3c\",\"\\u3014\":\"\\ufe39\",\"\\u3015\":\"\\ufe3a\",\"\\u3016\":\"\\ufe17\",\"\\u3017\":\"\\ufe18\",\"\\uff01\":\"\\ufe15\",\"\\uff08\":\"\\ufe35\",\"\\uff09\":\"\\ufe36\",\"\\uff0c\":\"\\ufe10\",\"\\uff0d\":\"\\ufe32\",\"\\uff0e\":\"\\u30fb\",\"\\uff1a\":\"\\ufe13\",\"\\uff1b\":\"\\ufe14\",\"\\uff1c\":\"\\ufe3f\",\"\\uff1e\":\"\\ufe40\",\"\\uff1f\":\"\\ufe16\",\"\\uff3b\":\"\\ufe47\",\"\\uff3d\":\"\\ufe48\",\"\\uff3f\":\"\\ufe33\",\"\\uff5b\":\"\\ufe37\",\"\\uff5c\":\"\\u2015\",\"\\uff5d\":\"\\ufe38\",\"\\uff5f\":\"\\ufe35\",\"\\uff60\":\"\\ufe36\",\"\\uff61\":\"\\ufe12\",\"\\uff62\":\"\\ufe41\",\"\\uff63\":\"\\ufe42\"},Ra=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(l);function Ba(t,e){var r=e.expression;if(\"constant\"===r.kind)return{functionType:\"constant\",layoutSize:r.evaluate(new Lr(t+1))};if(\"source\"===r.kind)return{functionType:\"source\"};for(var n=r.zoomStops,i=0;i<n.length&&n[i]<=t;)i++;for(var a=i=Math.max(0,i-1);a<n.length&&n[a]<t+1;)a++;a=Math.min(n.length-1,a);var o={min:n[i],max:n[a]};return\"composite\"===r.kind?{functionType:\"composite\",zoomRange:o,propertyValue:e.value}:{functionType:\"camera\",layoutSize:r.evaluate(new Lr(t+1)),zoomRange:o,sizeRange:{min:r.evaluate(new Lr(o.min)),max:r.evaluate(new Lr(o.max))},propertyValue:e.value}}pr(\"Anchor\",Ra);var Fa=ga.VectorTileFeature.types,Na=[{name:\"a_fade_opacity\",components:1,type:\"Uint8\",offset:0}];function ja(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,Math.round(32*n),Math.round(32*i),a,o,s?s[0]:0,s?s[1]:0)}function Va(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}var Ua=function(t){this.layoutVertexArray=new tn,this.indexArray=new fn,this.programConfigurations=t,this.segments=new Tn,this.dynamicLayoutVertexArray=new en,this.opacityVertexArray=new rn,this.placedSymbolArray=new yn};Ua.prototype.upload=function(t,e){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ca.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.programConfigurations.upload(t),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,La.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,Na,!0),this.opacityVertexBuffer.itemSize=1},Ua.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},pr(\"SymbolBuffers\",Ua);var qa=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new Tn,this.collisionVertexArray=new on};qa.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,za.members,!0)},qa.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},pr(\"CollisionBuffers\",qa);var Ha=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Ba(this.zoom,e[\"text-size\"]),this.iconSizeData=Ba(this.zoom,e[\"icon-size\"]);var r=this.layers[0].layout;this.sortFeaturesByY=r.get(\"text-allow-overlap\")||r.get(\"icon-allow-overlap\")||r.get(\"text-ignore-placement\")||r.get(\"icon-ignore-placement\")};Ha.prototype.createArrays=function(){this.text=new Ua(new On(Ca.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new Ua(new On(Ca.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new qa(an,Pa.members,hn),this.collisionCircle=new qa(an,Oa.members,fn),this.glyphOffsetArray=new bn,this.lineVertexArray=new wn},Ha.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,i=n.get(\"text-font\"),a=n.get(\"text-field\"),o=n.get(\"icon-image\"),s=(\"constant\"!==a.value.kind||a.value.value.length>0)&&(\"constant\"!==i.value.kind||i.value.value.length>0),l=\"constant\"!==o.value.kind||o.value.value&&o.value.value.length>0;if(this.features=[],s||l){for(var c=e.iconDependencies,u=e.glyphDependencies,f=new Lr(this.zoom),h=0,p=t;h<p.length;h+=1){var d=p[h],g=d.feature,m=d.index,v=d.sourceLayerIndex;if(r._featureFilter(f,g)){var y=void 0;s&&(y=Ia(y=r.getValueAndResolveTokens(\"text-field\",g),r,g));var x=void 0;if(l&&(x=r.getValueAndResolveTokens(\"icon-image\",g)),y||x){var b={text:y,icon:x,index:m,sourceLayerIndex:v,geometry:Bn(g),properties:g.properties,type:Fa[g.type]};if(void 0!==g.id&&(b.id=g.id),this.features.push(b),x&&(c[x]=!0),y)for(var _=i.evaluate(g).join(\",\"),w=u[_]=u[_]||{},k=\"map\"===n.get(\"text-rotation-alignment\")&&\"line\"===n.get(\"symbol-placement\"),M=xr(y),A=0;A<y.length;A++)if(w[y.charCodeAt(A)]=!0,k&&M){var T=Da[y.charAt(A)];T&&(w[T.charCodeAt(0)]=!0)}}}}\"line\"===n.get(\"symbol-placement\")&&(this.features=function(t){var e={},r={},n=[],i=0;function a(e){n.push(t[e]),i++}function o(t,e,i){var a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(t,r,i){var a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+\":\"+n.x+\":\"+n.y}for(var c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.text;if(h){var p=l(h,f),d=l(h,f,!0);if(p in r&&d in e&&r[p]!==e[d]){var g=s(p,d,f),m=o(p,d,n[g].geometry);delete e[p],delete r[d],r[l(h,n[m].geometry,!0)]=m,n[g].geometry=null}else p in r?o(p,d,f):d in e?s(p,d,f):(a(c),e[p]=i-1,r[d]=i-1)}else a(c)}return n.filter(function(t){return t.geometry})}(this.features))}},Ha.prototype.isEmpty=function(){return 0===this.symbolInstances.length},Ha.prototype.upload=function(t){this.text.upload(t,this.sortFeaturesByY),this.icon.upload(t,this.sortFeaturesByY),this.collisionBox.upload(t),this.collisionCircle.upload(t)},Ha.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.collisionBox.destroy(),this.collisionCircle.destroy()},Ha.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var c=a[l];this.lineVertexArray.emplaceBack(c.x,c.y,c.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},Ha.prototype.addSymbols=function(t,e,r,n,i,a,o,s,l,c){for(var u=t.indexArray,f=t.layoutVertexArray,h=t.dynamicLayoutVertexArray,p=t.segments.prepareSegment(4*e.length,t.layoutVertexArray,t.indexArray),d=this.glyphOffsetArray.length,g=p.vertexLength,m=0,v=e;m<v.length;m+=1){var y=v[m],x=y.tl,b=y.tr,_=y.bl,w=y.br,k=y.tex,M=p.vertexLength,A=y.glyphOffset[1];ja(f,s.x,s.y,x.x,A+x.y,k.x,k.y,r),ja(f,s.x,s.y,b.x,A+b.y,k.x+k.w,k.y,r),ja(f,s.x,s.y,_.x,A+_.y,k.x,k.y+k.h,r),ja(f,s.x,s.y,w.x,A+w.y,k.x+k.w,k.y+k.h,r),Va(h,s,0),u.emplaceBack(M,M+1,M+2),u.emplaceBack(M+1,M+2,M+3),p.vertexLength+=4,p.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(y.glyphOffset[0])}t.placedSymbolArray.emplaceBack(s.x,s.y,d,this.glyphOffsetArray.length-d,g,l,c,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,!1),t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,a)},Ha.prototype._addCollisionDebugVertex=function(t,e,r,n,i){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n.x,n.y,Math.round(i.x),Math.round(i.y))},Ha.prototype.addCollisionDebugVertices=function(t,e,r,n,i,a,o,s){var c=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),u=c.vertexLength,f=i.layoutVertexArray,h=i.collisionVertexArray;if(this._addCollisionDebugVertex(f,h,a,o.anchor,new l(t,e)),this._addCollisionDebugVertex(f,h,a,o.anchor,new l(r,e)),this._addCollisionDebugVertex(f,h,a,o.anchor,new l(r,n)),this._addCollisionDebugVertex(f,h,a,o.anchor,new l(t,n)),c.vertexLength+=4,s){var p=i.indexArray;p.emplaceBack(u,u+1,u+2),p.emplaceBack(u,u+2,u+3),c.primitiveLength+=2}else{var d=i.indexArray;d.emplaceBack(u,u+1),d.emplaceBack(u+1,u+2),d.emplaceBack(u+2,u+3),d.emplaceBack(u+3,u),c.primitiveLength+=4}},Ha.prototype.generateCollisionDebugBuffers=function(){for(var t=0,e=this.symbolInstances;t<e.length;t+=1){var r=e[t];r.textCollisionFeature={boxStartIndex:r.textBoxStartIndex,boxEndIndex:r.textBoxEndIndex},r.iconCollisionFeature={boxStartIndex:r.iconBoxStartIndex,boxEndIndex:r.iconBoxEndIndex};for(var n=0;n<2;n++){var i=r[0===n?\"textCollisionFeature\":\"iconCollisionFeature\"];if(i)for(var a=i.boxStartIndex;a<i.boxEndIndex;a++){var o=this.collisionBoxArray.get(a),s=o.x1,l=o.y1,c=o.x2,u=o.y2,f=o.radius>0;this.addCollisionDebugVertices(s,l,c,u,f?this.collisionCircle:this.collisionBox,o.anchorPoint,r,f)}}}},Ha.prototype.deserializeCollisionBoxes=function(t,e,r,n,i){for(var a={},o=e;o<r;o++){var s=t.get(o);if(0===s.radius){a.textBox={x1:s.x1,y1:s.y1,x2:s.x2,y2:s.y2,anchorPointX:s.anchorPointX,anchorPointY:s.anchorPointY},a.textFeatureIndex=s.featureIndex;break}a.textCircles||(a.textCircles=[],a.textFeatureIndex=s.featureIndex),a.textCircles.push(s.anchorPointX,s.anchorPointY,s.radius,s.signedDistanceFromAnchor,1)}for(var l=n;l<i;l++){var c=t.get(l);if(0===c.radius){a.iconBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},a.iconFeatureIndex=c.featureIndex;break}}return a},Ha.prototype.hasTextData=function(){return this.text.segments.get().length>0},Ha.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Ha.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},Ha.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},Ha.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&(this.sortedAngle=t,!(this.text.segments.get().length>1||this.icon.segments.get().length>1))){for(var r=[],n=0;n<this.symbolInstances.length;n++)r.push(n);var i=Math.sin(t),a=Math.cos(t);r.sort(function(t,r){var n=e.symbolInstances[t],o=e.symbolInstances[r];return(i*n.anchor.x+a*n.anchor.y|0)-(i*o.anchor.x+a*o.anchor.y|0)||o.featureIndex-n.featureIndex}),this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var o=0,s=r;o<s.length;o+=1){var l=s[o],c=e.symbolInstances[l];e.featureSortOrder.push(c.featureIndex);for(var u=0,f=c.placedTextSymbolIndices;u<f.length;u+=1)for(var h=f[u],p=e.text.placedSymbolArray.get(h),d=p.vertexStartIndex+4*p.numGlyphs,g=p.vertexStartIndex;g<d;g+=4)e.text.indexArray.emplaceBack(g,g+1,g+2),e.text.indexArray.emplaceBack(g+1,g+2,g+3);var m=e.icon.placedSymbolArray.get(l);if(m.numGlyphs){var v=m.vertexStartIndex;e.icon.indexArray.emplaceBack(v,v+1,v+2),e.icon.indexArray.emplaceBack(v+1,v+2,v+3)}}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},pr(\"SymbolBucket\",Ha,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"],shallow:[\"symbolInstances\"]}),Ha.MAX_GLYPHS=65535,Ha.addDynamicAttributes=Va;var Ga=new qr({\"symbol-placement\":new Nr(O.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Nr(O.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Nr(O.layout_symbol[\"symbol-avoid-edges\"]),\"icon-allow-overlap\":new Nr(O.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new Nr(O.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Nr(O.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Nr(O.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new jr(O.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Nr(O.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Nr(O.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new jr(O.layout_symbol[\"icon-image\"]),\"icon-rotate\":new jr(O.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new Nr(O.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Nr(O.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new jr(O.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new jr(O.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Nr(O.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Nr(O.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Nr(O.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new jr(O.layout_symbol[\"text-field\"]),\"text-font\":new jr(O.layout_symbol[\"text-font\"]),\"text-size\":new jr(O.layout_symbol[\"text-size\"]),\"text-max-width\":new jr(O.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Nr(O.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new jr(O.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new jr(O.layout_symbol[\"text-justify\"]),\"text-anchor\":new jr(O.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Nr(O.layout_symbol[\"text-max-angle\"]),\"text-rotate\":new jr(O.layout_symbol[\"text-rotate\"]),\"text-padding\":new Nr(O.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Nr(O.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new jr(O.layout_symbol[\"text-transform\"]),\"text-offset\":new jr(O.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Nr(O.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new Nr(O.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Nr(O.layout_symbol[\"text-optional\"])}),Wa={paint:new qr({\"icon-opacity\":new jr(O.paint_symbol[\"icon-opacity\"]),\"icon-color\":new jr(O.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new jr(O.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new jr(O.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new jr(O.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Nr(O.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Nr(O.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new jr(O.paint_symbol[\"text-opacity\"]),\"text-color\":new jr(O.paint_symbol[\"text-color\"]),\"text-halo-color\":new jr(O.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new jr(O.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new jr(O.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Nr(O.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Nr(O.paint_symbol[\"text-translate-anchor\"])}),layout:Ga},Ya=function(t){function e(e){t.call(this,e,Wa)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(\"line\"===this.layout.get(\"symbol-placement\")?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(\"line\"===this.layout.get(\"symbol-placement\")?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\"))},e.prototype.getValueAndResolveTokens=function(t,e){var r,n=this.layout.get(t).evaluate(e),i=this._unevaluatedLayout._values[t];return i.isDataDriven()||_e(i.value)?n:(r=e.properties,n.replace(/{([^{}]+)}/g,function(t,e){return e in r?String(r[e]):\"\"}))},e.prototype.createBucket=function(t){return new Ha(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e}(Hr),Xa={paint:new qr({\"background-color\":new Nr(O.paint_background[\"background-color\"]),\"background-pattern\":new Vr(O.paint_background[\"background-pattern\"]),\"background-opacity\":new Nr(O.paint_background[\"background-opacity\"])})},Za=function(t){function e(e){t.call(this,e,Xa)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Hr),$a={paint:new qr({\"raster-opacity\":new Nr(O.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Nr(O.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Nr(O.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Nr(O.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Nr(O.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Nr(O.paint_raster[\"raster-contrast\"]),\"raster-fade-duration\":new Nr(O.paint_raster[\"raster-fade-duration\"])})},Ja={circle:ni,heatmap:pi,hillshade:gi,fill:Ji,\"fill-extrusion\":aa,line:Sa,symbol:Ya,background:Za,raster:function(t){function e(e){t.call(this,e,$a)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Hr)},Ka=i(function(t,e){t.exports=function(){function t(t,e,r){r=r||{},this.w=t||64,this.h=e||64,this.autoResize=!!r.autoResize,this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0}function e(t,e,r){this.x=0,this.y=t,this.w=this.free=e,this.h=r}return t.prototype.pack=function(t,e){t=[].concat(t),e=e||{};for(var r,n,i,a,o=[],s=0;s<t.length;s++)if(r=t[s].w||t[s].width,n=t[s].h||t[s].height,i=t[s].id,r&&n){if(!(a=this.packOne(r,n,i)))continue;e.inPlace&&(t[s].x=a.x,t[s].y=a.y,t[s].id=a.id),o.push(a)}return this.shrink(),o},t.prototype.packOne=function(t,r,n){var i,a,o,s,l,c,u,f,h={freebin:-1,shelf:-1,waste:1/0},p=0;if(\"string\"==typeof n||\"number\"==typeof n){if(i=this.getBin(n))return this.ref(i),i;\"number\"==typeof n&&(this.maxId=Math.max(n,this.maxId))}else n=++this.maxId;for(s=0;s<this.freebins.length;s++){if(r===(i=this.freebins[s]).maxh&&t===i.maxw)return this.allocFreebin(s,t,r,n);r>i.maxh||t>i.maxw||r<=i.maxh&&t<=i.maxw&&(o=i.maxw*i.maxh-t*r)<h.waste&&(h.waste=o,h.freebin=s)}for(s=0;s<this.shelves.length;s++)if(p+=(a=this.shelves[s]).h,!(t>a.free)){if(r===a.h)return this.allocShelf(s,t,r,n);r>a.h||r<a.h&&(o=(a.h-r)*t)<h.waste&&(h.freebin=-1,h.waste=o,h.shelf=s)}return-1!==h.freebin?this.allocFreebin(h.freebin,t,r,n):-1!==h.shelf?this.allocShelf(h.shelf,t,r,n):r<=this.h-p&&t<=this.w?(a=new e(p,this.w,r),this.allocShelf(this.shelves.push(a)-1,t,r,n)):this.autoResize?(l=c=this.h,((u=f=this.w)<=l||t>u)&&(f=2*Math.max(t,u)),(l<u||r>l)&&(c=2*Math.max(r,l)),this.resize(f,c),this.packOne(t,r,n)):null},t.prototype.allocFreebin=function(t,e,r,n){var i=this.freebins.splice(t,1)[0];return i.id=n,i.w=e,i.h=r,i.refcount=0,this.bins[n]=i,this.ref(i),i},t.prototype.allocShelf=function(t,e,r,n){var i=this.shelves[t].alloc(e,r,n);return this.bins[n]=i,this.ref(i),i},t.prototype.shrink=function(){if(this.shelves.length>0){for(var t=0,e=0,r=0;r<this.shelves.length;r++){var n=this.shelves[r];e+=n.h,t=Math.max(n.w-n.free,t)}this.resize(t,e)}},t.prototype.getBin=function(t){return this.bins[t]},t.prototype.ref=function(t){if(1==++t.refcount){var e=t.h;this.stats[e]=1+(0|this.stats[e])}return t.refcount},t.prototype.unref=function(t){return 0===t.refcount?0:(0==--t.refcount&&(this.stats[t.h]--,delete this.bins[t.id],this.freebins.push(t)),t.refcount)},t.prototype.clear=function(){this.shelves=[],this.freebins=[],this.stats={},this.bins={},this.maxId=0},t.prototype.resize=function(t,e){this.w=t,this.h=e;for(var r=0;r<this.shelves.length;r++)this.shelves[r].resize(t);return!0},e.prototype.alloc=function(t,e,r){if(t>this.free||e>this.h)return null;var n=this.x;return this.x+=t,this.free-=t,new function(t,e,r,n,i,a,o){this.id=t,this.x=e,this.y=r,this.w=n,this.h=i,this.maxw=a||n,this.maxh=o||i,this.refcount=0}(r,n,this.y,t,e,t,this.h)},e.prototype.resize=function(t){return this.free+=t-this.w,this.w=t,!0},t}()}),Qa=function(t,e){var r=e.pixelRatio;this.paddedRect=t,this.pixelRatio=r},to={tl:{configurable:!0},br:{configurable:!0},displaySize:{configurable:!0}};to.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},to.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},to.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(Qa.prototype,to);var eo=function(t){var e=new ui({width:0,height:0}),r={},n=new Ka(0,0,{autoResize:!0});for(var i in t){var a=t[i],o=n.packOne(a.data.width+2,a.data.height+2);e.resize({width:n.w,height:n.h}),ui.copy(a.data,e,{x:0,y:0},{x:o.x+1,y:o.y+1},a.data),r[i]=new Qa(o,a)}n.shrink(),e.resize({width:n.w,height:n.h}),this.image=e,this.positions=r};pr(\"ImagePosition\",Qa),pr(\"ImageAtlas\",eo);var ro=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,c=l>>1,u=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+f],f+=h,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+f],f+=h,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},no=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<<c)-1,f=u>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=u?(s=0,o=u):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,c+=i;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g},io=ao;function ao(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function oo(t){return t.type===ao.Bytes?t.readVarint()+t.pos:t.pos+1}function so(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function lo(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.ceil(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function co(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function uo(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function fo(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function ho(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function po(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function go(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function mo(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function vo(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function yo(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function xo(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function bo(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function _o(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}ao.Varint=0,ao.Fixed64=1,ao.Bytes=2,ao.Fixed32=5,ao.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=xo(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=_o(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=xo(this.buf,this.pos)+4294967296*xo(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=xo(this.buf,this.pos)+4294967296*_o(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=ro(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=ro(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return so(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return so(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return so(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=function(t,e,r){for(var n=\"\",i=e;i<r;){var a,o,s,l=t[i],c=null,u=l>239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){var r=oo(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){var e=oo(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===ao.Varint)for(;this.buf[this.pos++]>127;);else if(e===ao.Bytes)this.pos=this.readVarint()+this.pos;else if(e===ao.Fixed32)this.pos+=4;else{if(e!==ao.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),bo(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),bo(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),bo(this.buf,-1&t,this.pos),bo(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),bo(this.buf,-1&t,this.pos),bo(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&lo(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),no(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),no(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&lo(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,ao.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){this.writeMessage(t,co,e)},writePackedSVarint:function(t,e){this.writeMessage(t,uo,e)},writePackedBoolean:function(t,e){this.writeMessage(t,po,e)},writePackedFloat:function(t,e){this.writeMessage(t,fo,e)},writePackedDouble:function(t,e){this.writeMessage(t,ho,e)},writePackedFixed32:function(t,e){this.writeMessage(t,go,e)},writePackedSFixed32:function(t,e){this.writeMessage(t,mo,e)},writePackedFixed64:function(t,e){this.writeMessage(t,vo,e)},writePackedSFixed64:function(t,e){this.writeMessage(t,yo,e)},writeBytesField:function(t,e){this.writeTag(t,ao.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,ao.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,ao.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,ao.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,ao.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,ao.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,ao.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,ao.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,ao.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,ao.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var wo=3;function ko(t,e,r){1===t&&r.readMessage(Mo,e)}function Mo(t,e,r){if(3===t){var n=r.readMessage(Ao,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;e.push({id:i,bitmap:new ci({width:o+2*wo,height:s+2*wo},a),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function Ao(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var To=wo,So=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.callbackID=0,g([\"receive\"],this),this.target.addEventListener(\"message\",this.receive,!1)};So.prototype.send=function(t,e,r,n){var i=r?this.mapId+\":\"+this.callbackID++:null;r&&(this.callbacks[i]=r);var a=[];this.target.postMessage({targetMapId:n,sourceMapId:this.mapId,type:t,id:String(i),data:gr(e,a)},a)},So.prototype.receive=function(t){var e,r=this,n=t.data,i=n.id;if(!n.targetMapId||this.mapId===n.targetMapId){var a=function(t,e){var n=[];r.target.postMessage({sourceMapId:r.mapId,type:\"<response>\",id:String(i),error:t?gr(t):null,data:gr(e,n)},n)};if(\"<response>\"===n.type)e=this.callbacks[n.id],delete this.callbacks[n.id],e&&n.error?e(mr(n.error)):e&&e(null,mr(n.data));else if(void 0!==n.id&&this.parent[n.type])this.parent[n.type](n.sourceMapId,mr(n.data),a);else if(void 0!==n.id&&this.parent.getWorkerSource){var o=n.type.split(\".\");this.parent.getWorkerSource(n.sourceMapId,o[0],o[1])[o[2]](mr(n.data),a)}else this.parent[n.type](mr(n.data))}},So.prototype.remove=function(){this.target.removeEventListener(\"message\",this.receive,!1)};var Eo=n(i(function(t,e){!function(t){function e(t,e,n){var i=r(256*t,256*(e=Math.pow(2,n)-e-1),n),a=r(256*(t+1),256*(e+1),n);return i[0]+\",\"+i[1]+\",\"+a[0]+\",\"+a[1]}function r(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}t.getURL=function(t,r,n,i,a,o){return o=o||{},t+\"?\"+[\"bbox=\"+e(n,i,a),\"format=\"+(o.format||\"image/png\"),\"service=\"+(o.service||\"WMS\"),\"version=\"+(o.version||\"1.1.1\"),\"request=\"+(o.request||\"GetMap\"),\"srs=\"+(o.srs||\"EPSG:3857\"),\"width=\"+(o.width||256),\"height=\"+(o.height||256),\"layers=\"+r].join(\"&\")},t.getTileBBox=e,t.getMercCoords=r,Object.defineProperty(t,\"__esModule\",{value:!0})}(e)})),Co=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Po(0,t,e,r)};Co.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Co.prototype.url=function(t,e){var r=Eo.getTileBBox(this.x,this.y,this.z),n=function(t,e,r){for(var n,i=\"\",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(\"tms\"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",n).replace(\"{bbox-epsg-3857}\",r)};var Lo=function(t,e){this.wrap=t,this.canonical=e,this.key=Po(t,e.z,e.x,e.y)},zo=function(t,e,r,n,i){this.overscaledZ=t,this.wrap=e,this.canonical=new Co(r,+n,+i),this.key=Po(e,t,n,i)};function Po(t,e,r,n){(t*=2)<0&&(t=-1*t-1);var i=1<<e;return 32*(i*i*t+i*n+r)+e}zo.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},zo.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new zo(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new zo(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},zo.prototype.isChildOf=function(t){var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},zo.prototype.children=function(t){if(this.overscaledZ>=t)return[new zo(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new zo(e,this.wrap,e,r,n),new zo(e,this.wrap,e,r+1,n),new zo(e,this.wrap,e,r,n+1),new zo(e,this.wrap,e,r+1,n+1)]},zo.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},zo.prototype.wrapped=function(){return new zo(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},zo.prototype.unwrapTo=function(t){return new zo(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},zo.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},zo.prototype.toUnwrapped=function(){return new Lo(this.wrap,this.canonical)},zo.prototype.toString=function(){return this.overscaledZ+\"/\"+this.canonical.x+\"/\"+this.canonical.y},zo.prototype.toCoordinate=function(){return new s(this.canonical.x+Math.pow(2,this.wrap),this.canonical.y,this.canonical.z)},pr(\"CanonicalTileID\",Co),pr(\"OverscaledTileID\",zo,{omit:[\"posMatrix\"]});var Oo=function(t,e,r){if(t<=0)throw new RangeError(\"Level must have positive dimension\");this.dim=t,this.border=e,this.stride=this.dim+2*this.border,this.data=r||new Int32Array((this.dim+2*this.border)*(this.dim+2*this.border))};Oo.prototype.set=function(t,e,r){this.data[this._idx(t,e)]=r+65536},Oo.prototype.get=function(t,e){return this.data[this._idx(t,e)]-65536},Oo.prototype._idx=function(t,e){if(t<-this.border||t>=this.dim+this.border||e<-this.border||e>=this.dim+this.border)throw new RangeError(\"out of range source coordinates for DEM data\");return(e+this.border)*this.stride+(t+this.border)},pr(\"Level\",Oo);var Io=function(t,e,r){this.uid=t,this.scale=e||1,this.level=r||new Oo(256,512),this.loaded=!!r};Io.prototype.loadFromImage=function(t,e){if(t.height!==t.width)throw new RangeError(\"DEM tiles must be square\");if(e&&\"mapbox\"!==e&&\"terrarium\"!==e)return _('\"'+e+'\" is not a valid encoding type. Valid types include \"mapbox\" and \"terrarium\".');var r=this.level=new Oo(t.width,t.width/2),n=t.data;this._unpackData(r,n,e||\"mapbox\");for(var i=0;i<r.dim;i++)r.set(-1,i,r.get(0,i)),r.set(r.dim,i,r.get(r.dim-1,i)),r.set(i,-1,r.get(i,0)),r.set(i,r.dim,r.get(i,r.dim-1));r.set(-1,-1,r.get(0,0)),r.set(r.dim,-1,r.get(r.dim-1,0)),r.set(-1,r.dim,r.get(0,r.dim-1)),r.set(r.dim,r.dim,r.get(r.dim-1,r.dim-1)),this.loaded=!0},Io.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Io.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Io.prototype._unpackData=function(t,e,r){for(var n={mapbox:this._unpackMapbox,terrarium:this._unpackTerrarium}[r],i=0;i<t.dim;i++)for(var a=0;a<t.dim;a++){var o=4*(i*t.dim+a);t.set(a,i,this.scale*n(e[o],e[o+1],e[o+2]))}},Io.prototype.getPixels=function(){return new ui({width:this.level.dim+2*this.level.border,height:this.level.dim+2*this.level.border},new Uint8Array(this.level.data.buffer))},Io.prototype.backfillBorder=function(t,e,r){var n=this.level,i=t.level;if(n.dim!==i.dim)throw new Error(\"level mismatch (dem dimension)\");var a=e*n.dim,o=e*n.dim+n.dim,s=r*n.dim,l=r*n.dim+n.dim;switch(e){case-1:a=o-1;break;case 1:o=a+1}switch(r){case-1:s=l-1;break;case 1:l=s+1}for(var c=h(a,-n.border,n.dim+n.border),u=h(o,-n.border,n.dim+n.border),f=h(s,-n.border,n.dim+n.border),p=h(l,-n.border,n.dim+n.border),d=-e*n.dim,g=-r*n.dim,m=f;m<p;m++)for(var v=c;v<u;v++)n.set(v,m,i.get(v+d,m+g))},pr(\"DEMData\",Io);var Do=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}};Do.prototype.encode=function(t){return this._stringToNumber[t]},Do.prototype.decode=function(t){return this._numberToString[t]};var Ro=function(t,e,r,n){this.type=\"Feature\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},Bo={geometry:{configurable:!0}};Bo.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Bo.geometry.set=function(t){this._geometry=t},Ro.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]);return t},Object.defineProperties(Ro.prototype,Bo);var Fo=function(t,e,r){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=e||new lr(Dn,16,0),this.featureIndexArray=r||new Mn};function No(t,e){return e-t}Fo.prototype.insert=function(t,e,r,n,i){var a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var o=0;o<e.length;o++){for(var s=e[o],l=[1/0,1/0,-1/0,-1/0],c=0;c<s.length;c++){var u=s[c];l[0]=Math.min(l[0],u.x),l[1]=Math.min(l[1],u.y),l[2]=Math.max(l[2],u.x),l[3]=Math.max(l[3],u.y)}l[0]<Dn&&l[1]<Dn&&l[2]>=0&&l[3]>=0&&this.grid.insert(a,l[0],l[1],l[2],l[3])}},Fo.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new ga.VectorTile(new io(this.rawTileData)).layers,this.sourceLayerCoder=new Do(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},Fo.prototype.query=function(t,e){var r=this;this.loadVTLayers();for(var n=t.params||{},i=Dn/t.tileSize/t.scale,a=Re(n.filter),o=t.queryGeometry,s=t.queryPadding*i,l=1/0,c=1/0,u=-1/0,f=-1/0,h=0;h<o.length;h++)for(var p=o[h],d=0;d<p.length;d++){var g=p[d];l=Math.min(l,g.x),c=Math.min(c,g.y),u=Math.max(u,g.x),f=Math.max(f,g.y)}var m=this.grid.query(l-s,c-s,u+s,f+s);m.sort(No);for(var v,y={},x=function(s){var l=m[s];if(l!==v){v=l;var c=r.featureIndexArray.get(l),u=null;r.loadMatchingFeature(y,c.bucketIndex,c.sourceLayerIndex,c.featureIndex,a,n.layers,e,function(e,n){return u||(u=Bn(e)),n.queryIntersectsFeature(o,e,u,r.z,t.transform,i,t.posMatrix)})}},b=0;b<m.length;b++)x(b);return y},Fo.prototype.loadMatchingFeature=function(t,e,r,n,i,a,o,s){var l=this.bucketLayerIDs[e];if(!a||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1}(a,l)){var c=this.sourceLayerCoder.decode(r),u=this.vtLayers[c].feature(n);if(i(new Lr(this.tileID.overscaledZ),u))for(var f=0;f<l.length;f++){var h=l[f];if(!(a&&a.indexOf(h)<0)){var p=o[h];if(p&&(!s||s(u,p))){var d=new Ro(u,this.z,this.x,this.y);d.layer=p.serialize();var g=t[h];void 0===g&&(g=t[h]=[]),g.push({featureIndex:n,feature:d})}}}}},Fo.prototype.lookupSymbolFeatures=function(t,e,r,n,i,a){var o={};this.loadVTLayers();for(var s=Re(n),l=0,c=t;l<c.length;l+=1){var u=c[l];this.loadMatchingFeature(o,e,r,u,s,i,a)}return o},Fo.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1)if(t===i[n])return!0;return!1},pr(\"FeatureIndex\",Fo,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});var jo={horizontal:1,vertical:2,horizontalOnly:3},Vo={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Uo={};function qo(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function Ho(t,e){var r=0;return 10===t&&(r-=1e4),40!==t&&65288!==t||(r+=50),41!==e&&65289!==e||(r+=50),r}function Go(t,e,r,n,i,a){for(var o=null,s=qo(e,r,i,a),l=0,c=n;l<c.length;l+=1){var u=c[l],f=qo(e-u.x,r,i,a)+u.badness;f<=s&&(o=u,s=f)}return{index:t,x:e,priorBreak:o,badness:s}}function Wo(t,e,r,n){if(!r)return[];if(!t)return[];for(var i,a=[],o=function(t,e,r,n){for(var i=0,a=0;a<t.length;a++){var o=n[t.charCodeAt(a)];o&&(i+=o.metrics.advance+e)}return i/Math.max(1,Math.ceil(i/r))}(t,e,r,n),s=0,l=0;l<t.length;l++){var c=t.charCodeAt(l),u=n[c];u&&!Vo[c]&&(s+=u.metrics.advance+e),l<t.length-1&&(Uo[c]||!((i=c)<11904)&&(yr[\"Bopomofo Extended\"](i)||yr.Bopomofo(i)||yr[\"CJK Compatibility Forms\"](i)||yr[\"CJK Compatibility Ideographs\"](i)||yr[\"CJK Compatibility\"](i)||yr[\"CJK Radicals Supplement\"](i)||yr[\"CJK Strokes\"](i)||yr[\"CJK Symbols and Punctuation\"](i)||yr[\"CJK Unified Ideographs Extension A\"](i)||yr[\"CJK Unified Ideographs\"](i)||yr[\"Enclosed CJK Letters and Months\"](i)||yr[\"Halfwidth and Fullwidth Forms\"](i)||yr.Hiragana(i)||yr[\"Ideographic Description Characters\"](i)||yr[\"Kangxi Radicals\"](i)||yr[\"Katakana Phonetic Extensions\"](i)||yr.Katakana(i)||yr[\"Vertical Forms\"](i)||yr[\"Yi Radicals\"](i)||yr[\"Yi Syllables\"](i)))&&a.push(Go(l+1,s,o,a,Ho(c,t.charCodeAt(l+1)),!1))}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(Go(t.length,s,o,a,0,!0))}function Yo(t){var e=.5,r=.5;switch(t){case\"right\":case\"top-right\":case\"bottom-right\":e=1;break;case\"left\":case\"top-left\":case\"bottom-left\":e=0}switch(t){case\"bottom\":case\"bottom-right\":case\"bottom-left\":r=1;break;case\"top\":case\"top-right\":case\"top-left\":r=0}return{horizontalAlign:e,verticalAlign:r}}function Xo(t,e,r,n,i){if(i){var a=e[t[n].glyph];if(a)for(var o=a.metrics.advance,s=(t[n].x+o)*i,l=r;l<=n;l++)t[l].x-=s}}Uo[10]=!0,Uo[32]=!0,Uo[38]=!0,Uo[40]=!0,Uo[41]=!0,Uo[43]=!0,Uo[45]=!0,Uo[47]=!0,Uo[173]=!0,Uo[183]=!0,Uo[8203]=!0,Uo[8208]=!0,Uo[8211]=!0,Uo[8231]=!0,e.commonjsGlobal=r,e.unwrapExports=n,e.createCommonjsModule=i,e.default=self,e.default$1=l,e.getJSON=function(t,e){var r=T(t);return r.setRequestHeader(\"Accept\",\"application/json\"),r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if(r.status>=200&&r.status<300&&r.response){var n;try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n)}else 401===r.status&&t.url.match(/mapbox.com/)?e(new A(r.statusText+\": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens\",r.status,t.url)):e(new A(r.statusText,r.status,t.url))},r.send(),r},e.getImage=function(t,e){return S(t,function(t,r){if(t)e(t);else if(r){var n=new self.Image,i=self.URL||self.webkitURL;n.onload=function(){e(null,n),i.revokeObjectURL(n.src)};var a=new self.Blob([new Uint8Array(r.data)],{type:\"image/png\"});n.cacheControl=r.cacheControl,n.expires=r.expires,n.src=r.data.byteLength?i.createObjectURL(a):\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\"}})},e.ResourceType=M,e.RGBAImage=ui,e.default$2=Ka,e.ImagePosition=Qa,e.getArrayBuffer=S,e.default$3=function(t){return new io(t).readFields(ko,[])},e.default$4=yr,e.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach(function(t,o){e(t,function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)})})},e.AlphaImage=ci,e.default$5=O,e.endsWith=m,e.extend=p,e.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},e.Evented=P,e.validateStyle=nr,e.validateLight=ir,e.emitValidationErrors=sr,e.default$6=tt,e.number=wt,e.Properties=qr,e.Transitionable=Or,e.Transitioning=Dr,e.PossiblyEvaluated=Fr,e.DataConstantProperty=Nr,e.warnOnce=_,e.uniqueId=function(){return d++},e.default$7=So,e.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r},e.wrap=function(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i},e.clamp=h,e.Event=L,e.ErrorEvent=z,e.OverscaledTileID=zo,e.default$8=Dn,e.createLayout=Xr,e.getCoordinatesCenter=function(t){for(var e=1/0,r=1/0,n=-1/0,i=-1/0,a=0;a<t.length;a++)e=Math.min(e,t[a].column),r=Math.min(r,t[a].row),n=Math.max(n,t[a].column),i=Math.max(i,t[a].row);var o=n-e,l=i-r,c=Math.max(o,l),u=Math.max(0,Math.floor(-Math.log(c)/Math.LN2));return new s((e+n)/2,(r+i)/2,0).zoomTo(u)},e.CanonicalTileID=Co,e.RasterBoundsArray=Jr,e.getVideo=function(t,e){var r,n,i=self.document.createElement(\"video\");i.onloadstart=function(){e(null,i)};for(var a=0;a<t.length;a++){var o=self.document.createElement(\"source\");r=t[a],n=void 0,(n=self.document.createElement(\"a\")).href=r,(n.protocol!==self.document.location.protocol||n.host!==self.document.location.host)&&(i.crossOrigin=\"Anonymous\"),o.src=t[a],i.appendChild(o)}return i},e.default$9=I,e.bindAll=g,e.default$10=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n<e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if(\"object\"==typeof e&&null!==e&&null!==r){if(\"object\"!=typeof r)return!1;if(Object.keys(e).length!==Object.keys(r).length)return!1;for(var i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r},e.parseCacheControl=function(t){var e={};if(t.replace(/(?:^|(?:\\s*\\,\\s*))([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),\"\"}),e[\"max-age\"]){var r=parseInt(e[\"max-age\"],10);isNaN(r)?delete e[\"max-age\"]:e[\"max-age\"]=r}return e},e.default$11=Fo,e.default$12=Ro,e.default$13=Re,e.default$14=Ha,e.CollisionBoxArray=mn,e.default$15=Tn,e.TriangleIndexArray=fn,e.default$16=Lr,e.default$17=s,e.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},e.default$18=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"],e.mat4=ri,e.vec4=ei,e.getSizeData=Ba,e.evaluateSizeForFeature=function(t,e,r){var n=e;return\"source\"===t.functionType?r.lowerSize/10:\"composite\"===t.functionType?wt(r.lowerSize/10,r.upperSize/10,n.uSizeT):n.uSize},e.evaluateSizeForZoom=function(t,e,r){if(\"constant\"===t.functionType)return{uSizeT:0,uSize:t.layoutSize};if(\"source\"===t.functionType)return{uSizeT:0,uSize:0};if(\"camera\"===t.functionType){var n=t.propertyValue,i=t.zoomRange,a=t.sizeRange,o=h(Se(n,r.specification).interpolationFactor(e,i.min,i.max),0,1);return{uSizeT:0,uSize:a.min+o*(a.max-a.min)}}var s=t.propertyValue,l=t.zoomRange;return{uSizeT:h(Se(s,r.specification).interpolationFactor(e,l.min,l.max),0,1),uSize:0}},e.addDynamicAttributes=Va,e.default$19=Wa,e.WritingMode=jo,e.multiPolygonIntersectsBufferedPoint=jn,e.multiPolygonIntersectsMultiPolygon=Vn,e.multiPolygonIntersectsBufferedMultiLine=Un,e.polygonIntersectsPolygon=function(t,e){for(var r=0;r<t.length;r++)if(Zn(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(Zn(t,e[n]))return!0;return!!Hn(t,e)},e.distToSegmentSquared=Yn,e.default$20=ti,e.default$21=Hr,e.default$22=function(t){return new Ja[t.type](t)},e.clone=x,e.filterObject=y,e.mapObject=v,e.registerForPluginAvailability=function(t){return Tr?t({pluginURL:Tr,completionCallback:Mr}):Er.once(\"pluginAvailable\",t),t},e.evented=Er,e.default$23=vr,e.default$24=Pn,e.PosArray=$r,e.UnwrappedTileID=Lo,e.ease=f,e.bezier=u,e.setRTLTextPlugin=function(t,e){if(Ar)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");Ar=!0,Tr=t,Mr=function(t){t?(Ar=!1,Tr=null,e&&e(t)):Sr=!0},Er.fire(new L(\"pluginAvailable\",{pluginURL:Tr,completionCallback:Mr}))},e.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},e.default$25=Ra,e.register=pr,e.GLYPH_PBF_BORDER=To,e.shapeText=function(t,e,r,n,i,a,o,s,l,c){var u=t.trim();c===jo.vertical&&(u=function(t){for(var e=\"\",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,i=t.charCodeAt(r-1)||null;n&&wr(n)&&!Da[t[r+1]]||i&&wr(i)&&!Da[t[r-1]]||!Da[t[r]]?e+=t[r]:e+=Da[t[r]]}return e}(u));var f=[],h={positionedGlyphs:f,text:u,top:s[1],bottom:s[1],left:s[0],right:s[0],writingMode:c},p=Cr.processBidirectionalText;return function(t,e,r,n,i,a,o,s,l){for(var c=0,u=-17,f=0,h=t.positionedGlyphs,p=\"right\"===a?1:\"left\"===a?0:.5,d=0,g=r;d<g.length;d+=1){var m=g[d];if((m=m.trim()).length){for(var v=h.length,y=0;y<m.length;y++){var x=m.charCodeAt(y),b=e[x];b&&(_r(x)&&o!==jo.horizontal?(h.push({glyph:x,x:c,y:0,vertical:!0}),c+=l+s):(h.push({glyph:x,x:c,y:u,vertical:!1}),c+=b.metrics.advance+s))}if(h.length!==v){var _=c-s;f=Math.max(_,f),Xo(h,e,v,h.length-1,p)}c=0,u+=n}else u+=n}var w=Yo(i),k=w.horizontalAlign,M=w.verticalAlign;!function(t,e,r,n,i,a,o){for(var s=(e-r)*i,l=(-n*o+.5)*a,c=0;c<t.length;c++)t[c].x+=s,t[c].y+=l}(h,p,k,M,f,n,r.length);var A=r.length*n;t.top+=-M*A,t.bottom=t.top+A,t.left+=-k*f,t.right=t.left+f}(h,e,p?p(u,Wo(u,o,r,e)):function(t,e){for(var r=[],n=0,i=0,a=e;i<a.length;i+=1){var o=a[i];r.push(t.substring(n,o)),n=o}return n<t.length&&r.push(t.substring(n,t.length)),r}(u,Wo(u,o,r,e)),n,i,a,c,o,l),!!f.length&&h},e.shapeIcon=function(t,e,r){var n=Yo(r),i=n.horizontalAlign,a=n.verticalAlign,o=e[0],s=e[1],l=o-t.displaySize[0]*i,c=l+t.displaySize[0],u=s-t.displaySize[1]*a;return{image:t,top:u,bottom:u+t.displaySize[1],left:l,right:c}},e.allowsVerticalWritingMode=xr,e.allowsLetterSpacing=function(t){for(var e=0,r=t;e<r.length;e+=1)if(!br(r[e].charCodeAt(0)))return!1;return!0},e.default$26=Yi,e.default$27=Do,e.default$28=eo,e.default$29=ga,e.default$30=io,e.default$31=Io,e.__moduleExports=ga,e.default$32=l,e.__moduleExports$1=io,e.plugin=Cr}),i(0,function(t){function e(t){var r=typeof t;if(\"number\"===r||\"boolean\"===r||\"string\"===r||null==t)return JSON.stringify(t);if(Array.isArray(t)){for(var n=\"[\",i=0,a=t;i<a.length;i+=1)n+=e(a[i])+\",\";return n+\"]\"}for(var o=Object.keys(t).sort(),s=\"{\",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+\":\"+e(t[o[l]])+\",\";return s+\"}\"}function r(r){for(var n=\"\",i=0,a=t.default$18;i<a.length;i+=1)n+=\"/\"+e(r[a[i]]);return n}var n=function(t){t&&this.replace(t)};function i(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;s<r/2;){var u=t[o-1],f=t[o],h=t[o+1];if(!h)return!1;var p=u.angleTo(f)-f.angleTo(h);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),c+=p;s-l[0].distance>n;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=f.dist(h)}return!0}function a(e,r,n,a,o,s,l,c,u){var f=a?.6*s*l:0,h=Math.max(a?a.right-a.left:0,o?o.right-o.left:0),p=0===e[0].x||e[0].x===u||0===e[0].y||e[0].y===u;return r-h*l<r/4&&(r=h*l+r/4),function e(r,n,a,o,s,l,c,u,f){for(var h=l/2,p=0,d=0;d<r.length-1;d++)p+=r[d].dist(r[d+1]);for(var g=0,m=n-a,v=[],y=0;y<r.length-1;y++){for(var x=r[y],b=r[y+1],_=x.dist(b),w=b.angleTo(x);m+a<g+_;){var k=((m+=a)-g)/_,M=t.number(x.x,b.x,k),A=t.number(x.y,b.y,k);if(M>=0&&M<f&&A>=0&&A<f&&m-h>=0&&m+h<=p){var T=new t.default$25(M,A,w,y);T._round(),o&&!i(r,T,l,o,s)||v.push(T)}}g+=_}return u||v.length||c||(v=e(r,g/2,a,o,s,l,c,!0,f)),v}(e,p?r/2*c%r:(h/2+2*s)*l*c%r,r,f,n,h*l,p,!1,u)}n.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},n.prototype.update=function(e,n){for(var i=this,a=0,o=e;a<o.length;a+=1){var s=o[a];i._layerConfigs[s.id]=s;var l=i._layers[s.id]=t.default$22(s);l._featureFilter=t.default$13(l.filter)}for(var c=0,u=n;c<u.length;c+=1){var f=u[c];delete i._layerConfigs[f],delete i._layers[f]}this.familiesBySource={};for(var h=0,p=function(t){for(var e={},n=0;n<t.length;n++){var i=r(t[n]),a=e[i];a||(a=e[i]=[]),a.push(t[n])}var o=[];for(var s in e)o.push(e[s]);return o}(t.values(this._layerConfigs));h<p.length;h+=1){var d=p[h].map(function(t){return i._layers[t.id]}),g=d[0];if(\"none\"!==g.visibility){var m=g.source||\"\",v=i.familiesBySource[m];v||(v=i.familiesBySource[m]={});var y=g.sourceLayer||\"_geojsonTileLayer\",x=v[y];x||(x=v[y]=[]),x.push(d)}}};var o=function(){this.opacity=0,this.targetOpacity=0,this.time=0};o.prototype.clone=function(){var t=new o;return t.opacity=this.opacity,t.targetOpacity=this.targetOpacity,t.time=this.time,t},t.register(\"OpacityState\",o);var s=function(t,e,r,n,i,a,o,s,l,c,u){var f=o.top*s-l,h=o.bottom*s+l,p=o.left*s-l,d=o.right*s+l;if(this.boxStartIndex=t.length,c){var g=h-f,m=d-p;g>0&&(g=Math.max(10*s,g),this._addLineCollisionCircles(t,e,r,r.segment,m,g,n,i,a,u))}else t.emplaceBack(r.x,r.y,p,f,d,h,n,i,a,0,0);this.boxEndIndex=t.length};s.prototype._addLineCollisionCircles=function(t,e,r,n,i,a,o,s,l,c){var u=a/2,f=Math.floor(i/u),h=1+.4*Math.log(c)/Math.LN2,p=Math.floor(f*h/2),d=-a/2,g=r,m=n+1,v=d,y=-i/2,x=y-i/4;do{if(--m<0){if(v>y)return;m=0;break}v-=e[m].dist(g),g=e[m]}while(v>x);for(var b=e[m].dist(e[m+1]),_=-p;_<f+p;_++){var w=_*u,k=y+w;if(w<0&&(k+=w),w>i&&(k+=w-i),!(k<v)){for(;v+b<k;){if(v+=b,++m+1>=e.length)return;b=e[m].dist(e[m+1])}var M=k-v,A=e[m],T=e[m+1].sub(A)._unit()._mult(M)._add(A)._round(),S=Math.abs(k-d)<u?0:.8*(k-d);t.emplaceBack(T.x,T.y,-a/2,-a/2,a/2,a/2,o,s,l,a/2,S)}}};var l=u,c=u;function u(t,e){if(!(this instanceof u))return new u(t,e);if(this.data=t||[],this.length=this.data.length,this.compare=e||f,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)}function f(t,e){return t<e?-1:t>e?1:0}function h(e,r,n){void 0===r&&(r=1),void 0===n&&(n=!1);for(var i=1/0,a=1/0,o=-1/0,s=-1/0,c=e[0],u=0;u<c.length;u++){var f=c[u];(!u||f.x<i)&&(i=f.x),(!u||f.y<a)&&(a=f.y),(!u||f.x>o)&&(o=f.x),(!u||f.y>s)&&(s=f.y)}var h=o-i,g=s-a,m=Math.min(h,g),v=m/2,y=new l(null,p);if(0===m)return new t.default$1(i,a);for(var x=i;x<o;x+=m)for(var b=a;b<s;b+=m)y.push(new d(x+v,b+v,v,e));for(var _=function(t){for(var e=0,r=0,n=0,i=t[0],a=0,o=i.length,s=o-1;a<o;s=a++){var l=i[a],c=i[s],u=l.x*c.y-c.x*l.y;r+=(l.x+c.x)*u,n+=(l.y+c.y)*u,e+=3*u}return new d(r/e,n/e,0,t)}(e),w=y.length;y.length;){var k=y.pop();(k.d>_.d||!_.d)&&(_=k,n&&console.log(\"found best %d after %d probes\",Math.round(1e4*k.d)/1e4,w)),k.max-_.d<=r||(v=k.h/2,y.push(new d(k.p.x-v,k.p.y-v,v,e)),y.push(new d(k.p.x+v,k.p.y-v,v,e)),y.push(new d(k.p.x-v,k.p.y+v,v,e)),y.push(new d(k.p.x+v,k.p.y+v,v,e)),w+=4)}return n&&(console.log(\"num probes: \"+w),console.log(\"best distance: \"+_.d)),_.p}function p(t,e){return e.max-t.max}function d(e,r,n,i){this.p=new t.default$1(e,r),this.h=n,this.d=function(e,r){for(var n=!1,i=1/0,a=0;a<r.length;a++)for(var o=r[a],s=0,l=o.length,c=l-1;s<l;c=s++){var u=o[s],f=o[c];u.y>e.y!=f.y>e.y&&e.x<(f.x-u.x)*(e.y-u.y)/(f.y-u.y)+u.x&&(n=!n),i=Math.min(i,t.distToSegmentSquared(e,u,f))}return(n?1:-1)*Math.sqrt(i)}(this.p,i),this.max=this.d+this.h*Math.SQRT2}function g(e,r,n,i,a,o){e.createArrays(),e.symbolInstances=[];var s=512*e.overscaling;e.tilePixelRatio=t.default$8/s,e.compareText={},e.iconsNeedLinear=!1;var l=e.layers[0].layout,c=e.layers[0]._unevaluatedLayout._values,u={};if(\"composite\"===e.textSizeData.functionType){var f=e.textSizeData.zoomRange,h=f.min,p=f.max;u.compositeTextSizes=[c[\"text-size\"].possiblyEvaluate(new t.default$16(h)),c[\"text-size\"].possiblyEvaluate(new t.default$16(p))]}if(\"composite\"===e.iconSizeData.functionType){var d=e.iconSizeData.zoomRange,g=d.min,v=d.max;u.compositeIconSizes=[c[\"icon-size\"].possiblyEvaluate(new t.default$16(g)),c[\"icon-size\"].possiblyEvaluate(new t.default$16(v))]}u.layoutTextSize=c[\"text-size\"].possiblyEvaluate(new t.default$16(e.zoom+1)),u.layoutIconSize=c[\"icon-size\"].possiblyEvaluate(new t.default$16(e.zoom+1)),u.textMaxSize=c[\"text-size\"].possiblyEvaluate(new t.default$16(18));for(var y=24*l.get(\"text-line-height\"),x=\"map\"===l.get(\"text-rotation-alignment\")&&\"line\"===l.get(\"symbol-placement\"),b=l.get(\"text-keep-upright\"),_=0,w=e.features;_<w.length;_+=1){var k=w[_],M=l.get(\"text-font\").evaluate(k).join(\",\"),A=r[M]||{},T=n[M]||{},S={},E=k.text;if(E){var C=l.get(\"text-offset\").evaluate(k).map(function(t){return 24*t}),L=24*l.get(\"text-letter-spacing\").evaluate(k),z=t.allowsLetterSpacing(E)?L:0,P=l.get(\"text-anchor\").evaluate(k),O=l.get(\"text-justify\").evaluate(k),I=\"line\"!==l.get(\"symbol-placement\")?24*l.get(\"text-max-width\").evaluate(k):0;S.horizontal=t.shapeText(E,A,I,y,P,O,z,C,24,t.WritingMode.horizontal),t.allowsVerticalWritingMode(E)&&x&&b&&(S.vertical=t.shapeText(E,A,I,y,P,O,z,C,24,t.WritingMode.vertical))}var D=void 0;if(k.icon){var R=i[k.icon];R&&(D=t.shapeIcon(a[k.icon],l.get(\"icon-offset\").evaluate(k),l.get(\"icon-anchor\").evaluate(k)),void 0===e.sdfIcons?e.sdfIcons=R.sdf:e.sdfIcons!==R.sdf&&t.warnOnce(\"Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer\"),R.pixelRatio!==e.pixelRatio?e.iconsNeedLinear=!0:0!==l.get(\"icon-rotate\").constantOr(1)&&(e.iconsNeedLinear=!0))}(S.horizontal||D)&&m(e,k,S,D,T,u)}o&&e.generateCollisionDebugBuffers()}function m(e,r,n,i,l,c){var u=c.layoutTextSize.evaluate(r),f=c.layoutIconSize.evaluate(r),p=c.textMaxSize.evaluate(r);void 0===p&&(p=u);var d=e.layers[0].layout,g=d.get(\"text-offset\").evaluate(r),m=d.get(\"icon-offset\").evaluate(r),x=u/24,b=e.tilePixelRatio*x,_=e.tilePixelRatio*p/24,w=e.tilePixelRatio*f,k=e.tilePixelRatio*d.get(\"symbol-spacing\"),M=d.get(\"text-padding\")*e.tilePixelRatio,A=d.get(\"icon-padding\")*e.tilePixelRatio,T=d.get(\"text-max-angle\")/180*Math.PI,S=\"map\"===d.get(\"text-rotation-alignment\")&&\"line\"===d.get(\"symbol-placement\"),E=\"map\"===d.get(\"icon-rotation-alignment\")&&\"line\"===d.get(\"symbol-placement\"),C=k/2,L=function(a,u){u.x<0||u.x>=t.default$8||u.y<0||u.y>=t.default$8||e.symbolInstances.push(function(e,r,n,i,a,l,c,u,f,h,p,d,g,m,y,x,b,_,w,k,M){var A,T,S=e.addToLineVertexArray(r,n),E=0,C=0,L=0,z=i.horizontal?i.horizontal.text:\"\",P=[];i.horizontal&&(A=new s(c,n,r,u,f,h,i.horizontal,p,d,g,e.overscaling),C+=v(e,r,i.horizontal,l,g,w,m,S,i.vertical?t.WritingMode.horizontal:t.WritingMode.horizontalOnly,P,k,M),i.vertical&&(L+=v(e,r,i.vertical,l,g,w,m,S,t.WritingMode.vertical,P,k,M)));var O=A?A.boxStartIndex:e.collisionBoxArray.length,I=A?A.boxEndIndex:e.collisionBoxArray.length;if(a){var D=function(e,r,n,i,a,o){var s,l,c,u,f=r.image,h=n.layout,p=r.top-1/f.pixelRatio,d=r.left-1/f.pixelRatio,g=r.bottom+1/f.pixelRatio,m=r.right+1/f.pixelRatio;if(\"none\"!==h.get(\"icon-text-fit\")&&a){var v=m-d,y=g-p,x=h.get(\"text-size\").evaluate(o)/24,b=a.left*x,_=a.right*x,w=a.top*x,k=_-b,M=a.bottom*x-w,A=h.get(\"icon-text-fit-padding\")[0],T=h.get(\"icon-text-fit-padding\")[1],S=h.get(\"icon-text-fit-padding\")[2],E=h.get(\"icon-text-fit-padding\")[3],C=\"width\"===h.get(\"icon-text-fit\")?.5*(M-y):0,L=\"height\"===h.get(\"icon-text-fit\")?.5*(k-v):0,z=\"width\"===h.get(\"icon-text-fit\")||\"both\"===h.get(\"icon-text-fit\")?k:v,P=\"height\"===h.get(\"icon-text-fit\")||\"both\"===h.get(\"icon-text-fit\")?M:y;s=new t.default$1(b+L-E,w+C-A),l=new t.default$1(b+L+T+z,w+C-A),c=new t.default$1(b+L+T+z,w+C+S+P),u=new t.default$1(b+L-E,w+C+S+P)}else s=new t.default$1(d,p),l=new t.default$1(m,p),c=new t.default$1(m,g),u=new t.default$1(d,g);var O=n.layout.get(\"icon-rotate\").evaluate(o)*Math.PI/180;if(O){var I=Math.sin(O),D=Math.cos(O),R=[D,-I,I,D];s._matMult(R),l._matMult(R),u._matMult(R),c._matMult(R)}return[{tl:s,tr:l,bl:u,br:c,tex:f.paddedRect,writingMode:void 0,glyphOffset:[0,0]}]}(0,a,l,0,i.horizontal,w);T=new s(c,n,r,u,f,h,a,y,x,!1,e.overscaling),E=4*D.length;var R=e.iconSizeData,B=null;\"source\"===R.functionType?B=[10*l.layout.get(\"icon-size\").evaluate(w)]:\"composite\"===R.functionType&&(B=[10*M.compositeIconSizes[0].evaluate(w),10*M.compositeIconSizes[1].evaluate(w)]),e.addSymbols(e.icon,D,B,_,b,w,!1,r,S.lineStartIndex,S.lineLength)}var F=T?T.boxStartIndex:e.collisionBoxArray.length,N=T?T.boxEndIndex:e.collisionBoxArray.length;return e.glyphOffsetArray.length>=t.default$14.MAX_GLYPHS&&t.warnOnce(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),{key:z,textBoxStartIndex:O,textBoxEndIndex:I,iconBoxStartIndex:F,iconBoxEndIndex:N,textOffset:m,iconOffset:_,anchor:r,line:n,featureIndex:u,feature:w,numGlyphVertices:C,numVerticalGlyphVertices:L,numIconVertices:E,textOpacityState:new o,iconOpacityState:new o,isDuplicate:!1,placedTextSymbolIndices:P,crossTileID:0}}(e,u,a,n,i,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,b,M,S,g,w,A,E,m,r,l,c))};if(\"line\"===d.get(\"symbol-placement\"))for(var z=0,P=function(e,r,n,i,a){for(var o=[],s=0;s<e.length;s++)for(var l=e[s],c=void 0,u=0;u<l.length-1;u++){var f=l[u],h=l[u+1];f.x<0&&h.x<0||(f.x<0?f=new t.default$1(0,f.y+(h.y-f.y)*((0-f.x)/(h.x-f.x)))._round():h.x<0&&(h=new t.default$1(0,f.y+(h.y-f.y)*((0-f.x)/(h.x-f.x)))._round()),f.y<0&&h.y<0||(f.y<0?f=new t.default$1(f.x+(h.x-f.x)*((0-f.y)/(h.y-f.y)),0)._round():h.y<0&&(h=new t.default$1(f.x+(h.x-f.x)*((0-f.y)/(h.y-f.y)),0)._round()),f.x>=i&&h.x>=i||(f.x>=i?f=new t.default$1(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round():h.x>=i&&(h=new t.default$1(i,f.y+(h.y-f.y)*((i-f.x)/(h.x-f.x)))._round()),f.y>=a&&h.y>=a||(f.y>=a?f=new t.default$1(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round():h.y>=a&&(h=new t.default$1(f.x+(h.x-f.x)*((a-f.y)/(h.y-f.y)),a)._round()),c&&f.equals(c[c.length-1])||(c=[f],o.push(c)),c.push(h)))))}return o}(r.geometry,0,0,t.default$8,t.default$8);z<P.length;z+=1)for(var O=P[z],I=0,D=a(O,k,T,n.vertical||n.horizontal,i,24,_,e.overscaling,t.default$8);I<D.length;I+=1){var R=D[I],B=n.horizontal;B&&y(e,B.text,C,R)||L(O,R)}else if(\"Polygon\"===r.type)for(var F=0,N=t.default$26(r.geometry,0);F<N.length;F+=1){var j=N[F],V=h(j,16);L(j[0],new t.default$25(V.x,V.y,0))}else if(\"LineString\"===r.type)for(var U=0,q=r.geometry;U<q.length;U+=1){var H=q[U];L(H,new t.default$25(H[0].x,H[0].y,0))}else if(\"Point\"===r.type)for(var G=0,W=r.geometry;G<W.length;G+=1)for(var Y=0,X=W[G];Y<X.length;Y+=1){var Z=X[Y];L([Z],new t.default$25(Z.x,Z.y,0))}}function v(e,r,n,i,a,o,s,l,c,u,f,h){var p=function(e,r,n,i,a,o){for(var s=n.layout.get(\"text-rotate\").evaluate(a)*Math.PI/180,l=n.layout.get(\"text-offset\").evaluate(a).map(function(t){return 24*t}),c=r.positionedGlyphs,u=[],f=0;f<c.length;f++){var h=c[f],p=o[h.glyph];if(p){var d=p.rect;if(d){var g=t.GLYPH_PBF_BORDER+1,m=p.metrics.advance/2,v=i?[h.x+m,h.y]:[0,0],y=i?[0,0]:[h.x+m+l[0],h.y+l[1]],x=p.metrics.left-g-m+y[0],b=-p.metrics.top-g+y[1],_=x+d.w,w=b+d.h,k=new t.default$1(x,b),M=new t.default$1(_,b),A=new t.default$1(x,w),T=new t.default$1(_,w);if(i&&h.vertical){var S=new t.default$1(-m,m),E=-Math.PI/2,C=new t.default$1(5,0);k._rotateAround(E,S)._add(C),M._rotateAround(E,S)._add(C),A._rotateAround(E,S)._add(C),T._rotateAround(E,S)._add(C)}if(s){var L=Math.sin(s),z=Math.cos(s),P=[z,-L,L,z];k._matMult(P),M._matMult(P),A._matMult(P),T._matMult(P)}u.push({tl:k,tr:M,bl:A,br:T,tex:d,writingMode:r.writingMode,glyphOffset:v})}}}return u}(0,n,i,a,o,f),d=e.textSizeData,g=null;return\"source\"===d.functionType?g=[10*i.layout.get(\"text-size\").evaluate(o)]:\"composite\"===d.functionType&&(g=[10*h.compositeTextSizes[0].evaluate(o),10*h.compositeTextSizes[1].evaluate(o)]),e.addSymbols(e.text,p,g,s,a,o,c,r,l.lineStartIndex,l.lineLength),u.push(e.text.placedSymbolArray.length-1),4*p.length}function y(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return!0}else i[e]=[];return i[e].push(n),!1}u.prototype={push:function(t){this.data.push(t),this.length++,this._up(this.length-1)},pop:function(){if(0!==this.length){var t=this.data[0];return this.length--,this.length>0&&(this.data[0]=this.data[this.length],this._down(0)),this.data.pop(),t}},peek:function(){return this.data[0]},_up:function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},_down:function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t<n;){var a=1+(t<<1),o=a+1,s=e[a];if(o<this.length&&r(e[o],s)<0&&(a=o,s=e[o]),r(s,i)>=0)break;e[t]=s,t=a}e[t]=i}},l.default=c;var x=function(e){var r=new t.AlphaImage({width:0,height:0}),n={},i=new t.default$2(0,0,{autoResize:!0});for(var a in e){var o=e[a],s=n[a]={};for(var l in o){var c=o[+l];if(c&&0!==c.bitmap.width&&0!==c.bitmap.height){var u=i.packOne(c.bitmap.width+2,c.bitmap.height+2);r.resize({width:i.w,height:i.h}),t.AlphaImage.copy(c.bitmap,r,{x:0,y:0},{x:u.x+1,y:u.y+1},c.bitmap),s[l]={rect:u,metrics:c.metrics}}}}i.shrink(),r.resize({width:i.w,height:i.h}),this.image=r,this.positions=n};t.register(\"GlyphAtlas\",x);var b=function(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming};function _(e,r){for(var n=new t.default$16(r),i=0,a=e;i<a.length;i+=1)a[i].recalculate(n)}b.prototype.parse=function(e,r,n,i){var a=this;this.status=\"parsing\",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;var o=new t.default$27(Object.keys(e.layers).sort()),s=new t.default$11(this.tileID);s.bucketLayerIDs=[];var l,c,u,f={},h={featureIndex:s,iconDependencies:{},glyphDependencies:{}},p=r.familiesBySource[this.source];for(var d in p){var m=e.layers[d];if(m){1===m.version&&t.warnOnce('Vector tile source \"'+a.source+'\" layer \"'+d+'\" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var v=o.encode(d),y=[],b=0;b<m.length;b++){var w=m.feature(b);y.push({feature:w,index:b,sourceLayerIndex:v})}for(var k=0,M=p[d];k<M.length;k+=1){var A=M[k],T=A[0];T.minzoom&&a.zoom<Math.floor(T.minzoom)||T.maxzoom&&a.zoom>=T.maxzoom||\"none\"!==T.visibility&&(_(A,a.zoom),(f[T.id]=T.createBucket({index:s.bucketLayerIDs.length,layers:A,zoom:a.zoom,pixelRatio:a.pixelRatio,overscaling:a.overscaling,collisionBoxArray:a.collisionBoxArray,sourceLayerIndex:v})).populate(y,h),s.bucketLayerIDs.push(A.map(function(t){return t.id})))}}}var S=t.mapObject(h.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(S).length?n.send(\"getGlyphs\",{uid:this.uid,stacks:S},function(t,e){l||(l=t,c=e,C.call(a))}):c={};var E=Object.keys(h.iconDependencies);function C(){if(l)return i(l);if(c&&u){var e=new x(c),r=new t.default$28(u);for(var n in f){var a=f[n];a instanceof t.default$14&&(_(a.layers,this.zoom),g(a,c,e.positions,u,r.positions,this.showCollisionBoxes))}this.status=\"done\",i(null,{buckets:t.values(f).filter(function(t){return!t.isEmpty()}),featureIndex:s,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,iconAtlasImage:r.image})}}E.length?n.send(\"getImages\",{icons:E},function(t,e){l||(l=t,u=e,C.call(a))}):u={},C.call(this)};var w=function(t){return!(!performance||!performance.getEntriesByName)&&performance.getEntriesByName(t)};function k(e,r){var n=t.getArrayBuffer(e.request,function(e,n){e?r(e):n&&r(null,{vectorTile:new t.default$29.VectorTile(new t.default$30(n.data)),rawData:n.data,cacheControl:n.cacheControl,expires:n.expires})});return function(){n.abort(),r()}}var M=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||k,this.loading={},this.loaded={}};M.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var a=this.loading[i]=new b(e);a.abort=this.loadVectorData(e,function(o,s){if(delete n.loading[i],o||!s)return r(o);var l=s.rawData,c={};s.expires&&(c.expires=s.expires),s.cacheControl&&(c.cacheControl=s.cacheControl);var u={};if(e.request&&e.request.collectResourceTiming){var f=w(e.request.url);f&&(u.resourceTiming=JSON.parse(JSON.stringify(f)))}a.vectorTile=s.vectorTile,a.parse(s.vectorTile,n.layerIndex,n.actor,function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))}),n.loaded=n.loaded||{},n.loaded[i]=a})},M.prototype.reloadTile=function(t,e){var r=this.loaded,n=t.uid,i=this;if(r&&r[n]){var a=r[n];a.showCollisionBoxes=t.showCollisionBoxes;var o=function(t,r){var n=a.reloadCallback;n&&(delete a.reloadCallback,a.parse(a.vectorTile,i.layerIndex,i.actor,n)),e(t,r)};\"parsing\"===a.status?a.reloadCallback=o:\"done\"===a.status&&a.parse(a.vectorTile,this.layerIndex,this.actor,o)}},M.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},M.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var A=function(){this.loading={},this.loaded={}};A.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=new t.default$31(n);this.loading[n]=a,a.loadFromImage(e.rawImageData,i),delete this.loading[n],this.loaded=this.loaded||{},this.loaded[n]=a,r(null,a)},A.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var T={RADIUS:6378137,FLATTENING:1/298.257223563,POLAR_RADIUS:6356752.3142};function S(t){var e=0;if(t&&t.length>0){e+=Math.abs(E(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(E(t[r]))}return e}function E(t){var e,r,n,i,a,o,s=0,l=t.length;if(l>2){for(o=0;o<l;o++)o===l-2?(n=l-2,i=l-1,a=0):o===l-1?(n=l-1,i=0,a=1):(n=o,i=o+1,a=o+2),e=t[n],r=t[i],s+=(C(t[a][0])-C(e[0]))*Math.sin(C(r[1]));s=s*T.RADIUS*T.RADIUS/2}return s}function C(t){return t*Math.PI/180}var L={geometry:function t(e){var r,n=0;switch(e.type){case\"Polygon\":return S(e.coordinates);case\"MultiPolygon\":for(r=0;r<e.coordinates.length;r++)n+=S(e.coordinates[r]);return n;case\"Point\":case\"MultiPoint\":case\"LineString\":case\"MultiLineString\":return 0;case\"GeometryCollection\":for(r=0;r<e.geometries.length;r++)n+=t(e.geometries[r]);return n}},ring:E};function z(t,e){return function(r){return t(r,e)}}function P(t,e){e=!!e,t[0]=O(t[0],e);for(var r=1;r<t.length;r++)t[r]=O(t[r],!e);return t}function O(t,e){return function(t){return L.ring(t)>=0}(t)===e?t:t.reverse()}var I=t.default$29.VectorTileFeature.prototype.toGeoJSON,D=function(e){this._feature=e,this.extent=t.default$8,this.type=e.type,this.properties=e.tags,\"id\"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};D.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r<n.length;r+=1){var i=n[r];e.push([new t.default$1(i[0],i[1])])}return e}for(var a=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],c=0,u=s[o];c<u.length;c+=1){var f=u[c];l.push(new t.default$1(f[0],f[1]))}a.push(l)}return a},D.prototype.toGeoJSON=function(t,e,r){return I.call(this,t,e,r)};var R=function(e){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=t.default$8,this.length=e.length,this._features=e};R.prototype.feature=function(t){return new D(this._features[t])};var B=t.__moduleExports.VectorTileFeature,F=N;function N(t,e){this.options=e||{},this.features=t,this.length=t.length}function j(t,e){this.id=\"number\"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}N.prototype.feature=function(t){return new j(this.features[t],this.options.extent)},j.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var r=0;r<e.length;r++){for(var n=e[r],i=[],a=0;a<n.length;a++)i.push(new t.default$32(n[a][0],n[a][1]));this.geometry.push(i)}return this.geometry},j.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.y)}return[e,n,r,i]},j.prototype.toGeoJSON=B.prototype.toGeoJSON;var V=H,U=H,q=F;function H(e){var r=new t.__moduleExports$1;return function(t,e){for(var r in t.layers)e.writeMessage(3,G,t.layers[r])}(e,r),r.finish()}function G(t,e){var r;e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||\"\"),e.writeVarintField(5,t.extent||4096);var n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,W,n);var i=n.keys;for(r=0;r<i.length;r++)e.writeStringField(3,i[r]);var a=n.values;for(r=0;r<a.length;r++)e.writeMessage(4,J,a[r])}function W(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,Y,t),e.writeVarintField(3,r.type),e.writeMessage(4,$,r)}function Y(t,e){var r=t.feature,n=t.keys,i=t.values,a=t.keycache,o=t.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),l=n.length-1,a[s]=l),e.writeVarint(l);var c=r.properties[s],u=typeof c;\"string\"!==u&&\"boolean\"!==u&&\"number\"!==u&&(c=JSON.stringify(c));var f=u+\":\"+c,h=o[f];void 0===h&&(i.push(c),h=i.length-1,o[f]=h),e.writeVarint(h)}}function X(t,e){return(e<<3)+(7&t)}function Z(t){return t<<1^t>>31}function $(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s<o;s++){var l=r[s],c=1;1===n&&(c=l.length),e.writeVarint(X(1,c));for(var u=3===n?l.length-1:l.length,f=0;f<u;f++){1===f&&1!==n&&e.writeVarint(X(2,u-1));var h=l[f].x-i,p=l[f].y-a;e.writeVarint(Z(h)),e.writeVarint(Z(p)),i+=h,a+=p}3===n&&e.writeVarint(X(7,0))}}function J(t,e){var r=typeof t;\"string\"===r?e.writeStringField(1,t):\"boolean\"===r?e.writeBooleanField(7,t):\"number\"===r&&(t%1!=0?e.writeDoubleField(3,t):t<0?e.writeSVarintField(6,t):e.writeVarintField(5,t))}V.fromVectorTileJs=U,V.fromGeojsonVt=function(t,e){e=e||{};var r={};for(var n in t)r[n]=new F(t[n].features,e),r[n].name=n,r[n].version=e.version,r[n].extent=e.extent;return H({layers:r})},V.GeoJSONWrapper=q;var K=function t(e,r,n,i,a,o){if(!(a-i<=n)){var s=Math.floor((i+a)/2);!function t(e,r,n,i,a,o){for(;a>i;){if(a-i>600){var s=a-i+1,l=n-i+1,c=Math.log(s),u=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1);t(e,r,n,Math.max(i,Math.floor(n-l*u/s+f)),Math.min(a,Math.floor(n+(s-l)*u/s+f)),o)}var h=r[2*n+o],p=i,d=a;for(Q(e,r,i,n),r[2*a+o]>h&&Q(e,r,i,a);p<d;){for(Q(e,r,p,d),p++,d--;r[2*p+o]<h;)p++;for(;r[2*d+o]>h;)d--}r[2*i+o]===h?Q(e,r,i,d):Q(e,r,++d,a),d<=n&&(i=d+1),n<=d&&(a=d-1)}}(e,r,s,i,a,o%2),t(e,r,n,i,s-1,o+1),t(e,r,n,s+1,a,o+1)}};function Q(t,e,r,n){tt(t,r,n),tt(e,2*r,2*n),tt(e,2*r+1,2*n+1)}function tt(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function et(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}var rt=function(t,e,r,n,i){return new nt(t,e,r,n,i)};function nt(t,e,r,n,i){e=e||it,r=r||at,i=i||Array,this.nodeSize=n||64,this.points=t,this.ids=new i(t.length),this.coords=new i(2*t.length);for(var a=0;a<t.length;a++)this.ids[a]=a,this.coords[2*a]=e(t[a]),this.coords[2*a+1]=r(t[a]);K(this.ids,this.coords,this.nodeSize,0,this.ids.length-1,0)}function it(t){return t[0]}function at(t){return t[1]}nt.prototype={range:function(t,e,r,n){return function(t,e,r,n,i,a,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var f=c.pop(),h=c.pop(),p=c.pop();if(h-p<=o)for(var d=p;d<=h;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var g=Math.floor((p+h)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[g]);var m=(f+1)%2;(0===f?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(m)),(0===f?i>=s:a>=l)&&(c.push(g+1),c.push(h),c.push(m))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},within:function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var c=o.pop(),u=o.pop(),f=o.pop();if(u-f<=a)for(var h=f;h<=u;h++)et(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+u)/2),d=e[2*p],g=e[2*p+1];et(d,g,r,n)<=l&&s.push(t[p]);var m=(c+1)%2;(0===c?r-i<=d:n-i<=g)&&(o.push(f),o.push(p-1),o.push(m)),(0===c?r+i>=d:n+i>=g)&&(o.push(p+1),o.push(u),o.push(m))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)}};function ot(t){this.options=pt(Object.create(this.options),t),this.trees=new Array(this.options.maxZoom+1)}function st(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:n,properties:i,parentId:-1,numPoints:r}}function lt(t,e){var r=t.geometry.coordinates;return{x:ft(r[0]),y:ht(r[1]),zoom:1/0,id:e,parentId:-1}}function ct(t){return{type:\"Feature\",properties:ut(t),geometry:{type:\"Point\",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function ut(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+\"k\":e>=1e3?Math.round(e/100)/10+\"k\":e;return pt(pt({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function ft(t){return t/360+.5}function ht(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function pt(t,e){for(var r in e)t[r]=e[r];return t}function dt(t){return t.x}function gt(t){return t.y}function mt(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function vt(t,e,r,n){var i={id:t||null,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)yt(t,e);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var n=0;n<e.length;n++)yt(t,e[n]);else if(\"MultiPolygon\"===r)for(n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)yt(t,e[n][i])}(i),i}function yt(t,e){for(var r=0;r<e.length;r+=3)t.minX=Math.min(t.minX,e[r]),t.minY=Math.min(t.minY,e[r+1]),t.maxX=Math.max(t.maxX,e[r]),t.maxY=Math.max(t.maxY,e[r+1])}function xt(t,e,r){if(e.geometry){var n=e.geometry.coordinates,i=e.geometry.type,a=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),o=[];if(\"Point\"===i)bt(n,o);else if(\"MultiPoint\"===i)for(var s=0;s<n.length;s++)bt(n[s],o);else if(\"LineString\"===i)_t(n,o,a,!1);else if(\"MultiLineString\"===i)if(r.lineMetrics)for(s=0;s<n.length;s++)return o=[],_t(n[s],o,a,!1),void t.push(vt(e.id,\"LineString\",o,e.properties));else wt(n,o,a,!1);else if(\"Polygon\"===i)wt(n,o,a,!0);else{if(\"MultiPolygon\"!==i){if(\"GeometryCollection\"===i){for(s=0;s<e.geometry.geometries.length;s++)xt(t,{id:e.id,geometry:e.geometry.geometries[s],properties:e.properties},r);return}throw new Error(\"Input data is not a valid GeoJSON object.\")}for(s=0;s<n.length;s++){var l=[];wt(n[s],l,a,!0),o.push(l)}}t.push(vt(e.id,i,o,e.properties))}}function bt(t,e){e.push(kt(t[0])),e.push(Mt(t[1])),e.push(0)}function _t(t,e,r,n){for(var i,a,o=0,s=0;s<t.length;s++){var l=kt(t[s][0]),c=Mt(t[s][1]);e.push(l),e.push(c),e.push(0),s>0&&(o+=n?(i*c-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=e.length-3;e[2]=1,function t(e,r,n,i){for(var a,o=i,s=e[r],l=e[r+1],c=e[n],u=e[n+1],f=r+3;f<n;f+=3){var h=mt(e[f],e[f+1],s,l,c,u);h>o&&(a=f,o=h)}o>i&&(a-r>3&&t(e,r,a,i),e[a+2]=o,n-a>3&&t(e,a,n,i))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function wt(t,e,r,n){for(var i=0;i<t.length;i++){var a=[];_t(t[i],a,r,n),e.push(a)}}function kt(t){return t/360+.5}function Mt(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function At(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o<=n)return t;if(a>n||o<r)return null;for(var l=[],c=0;c<t.length;c++){var u=t[c],f=u.geometry,h=u.type,p=0===i?u.minX:u.minY,d=0===i?u.maxX:u.maxY;if(p>=r&&d<=n)l.push(u);else if(!(p>n||d<r)){var g=[];if(\"Point\"===h||\"MultiPoint\"===h)Tt(f,g,r,n,i);else if(\"LineString\"===h)St(f,g,r,n,i,!1,s.lineMetrics);else if(\"MultiLineString\"===h)Ct(f,g,r,n,i,!1);else if(\"Polygon\"===h)Ct(f,g,r,n,i,!0);else if(\"MultiPolygon\"===h)for(var m=0;m<f.length;m++){var v=[];Ct(f[m],v,r,n,i,!0),v.length&&g.push(v)}if(g.length){if(s.lineMetrics&&\"LineString\"===h){for(m=0;m<g.length;m++)l.push(vt(u.id,h,g[m],u.tags));continue}\"LineString\"!==h&&\"MultiLineString\"!==h||(1===g.length?(h=\"LineString\",g=g[0]):h=\"MultiLineString\"),\"Point\"!==h&&\"MultiPoint\"!==h||(h=3===g.length?\"Point\":\"MultiPoint\"),l.push(vt(u.id,h,g,u.tags))}}}return l.length?l:null}function Tt(t,e,r,n,i){for(var a=0;a<t.length;a+=3){var o=t[a+i];o>=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function St(t,e,r,n,i,a,o){for(var s,l,c=Et(t),u=0===i?zt:Pt,f=t.start,h=0;h<t.length-3;h+=3){var p=t[h],d=t[h+1],g=t[h+2],m=t[h+3],v=t[h+4],y=0===i?p:d,x=0===i?m:v,b=!1;o&&(s=Math.sqrt(Math.pow(p-m,2)+Math.pow(d-v,2))),y<r?x>=r&&(l=u(c,p,d,m,v,r),o&&(c.start=f+s*l)):y>n?x<=n&&(l=u(c,p,d,m,v,n),o&&(c.start=f+s*l)):Lt(c,p,d,g),x<r&&y>=r&&(l=u(c,p,d,m,v,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,m,v,n),b=!0),!a&&b&&(o&&(c.end=f+s*l),e.push(c),c=Et(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],g=t[_+2],(y=0===i?p:d)>=r&&y<=n&&Lt(c,p,d,g),_=c.length-3,a&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&Lt(c,c[0],c[1],c[2]),c.length&&e.push(c)}function Et(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function Ct(t,e,r,n,i,a){for(var o=0;o<t.length;o++)St(t[o],e,r,n,i,a,!1)}function Lt(t,e,r,n){t.push(e),t.push(r),t.push(n)}function zt(t,e,r,n,i,a){var o=(a-e)/(n-e);return t.push(a),t.push(r+(i-r)*o),t.push(1),o}function Pt(t,e,r,n,i,a){var o=(a-r)/(i-r);return t.push(e+(n-e)*o),t.push(a),t.push(1),o}function Ot(t,e){for(var r=[],n=0;n<t.length;n++){var i,a=t[n],o=a.type;if(\"Point\"===o||\"MultiPoint\"===o||\"LineString\"===o)i=It(a.geometry,e);else if(\"MultiLineString\"===o||\"Polygon\"===o){i=[];for(var s=0;s<a.geometry.length;s++)i.push(It(a.geometry[s],e))}else if(\"MultiPolygon\"===o)for(i=[],s=0;s<a.geometry.length;s++){for(var l=[],c=0;c<a.geometry[s].length;c++)l.push(It(a.geometry[s][c],e));i.push(l)}r.push(vt(a.id,o,i,a.tags))}return r}function It(t,e){var r=[];r.size=t.size,void 0!==t.start&&(r.start=t.start,r.end=t.end);for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}function Dt(t,e){if(t.transformed)return t;var r,n,i,a=1<<t.z,o=t.x,s=t.y;for(r=0;r<t.features.length;r++){var l=t.features[r],c=l.geometry,u=l.type;if(l.geometry=[],1===u)for(n=0;n<c.length;n+=2)l.geometry.push(Rt(c[n],c[n+1],e,a,o,s));else for(n=0;n<c.length;n++){var f=[];for(i=0;i<c[n].length;i+=2)f.push(Rt(c[n][i],c[n][i+1],e,a,o,s));l.geometry.push(f)}}return t.transformed=!0,t}function Rt(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}function Bt(t,e,r,n,i){for(var a=e===i.maxZoom?0:i.tolerance/((1<<e)*i.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<t.length;s++){o.numFeatures++,Ft(o,t[s],a,i);var l=t[s].minX,c=t[s].minY,u=t[s].maxX,f=t[s].maxY;l<o.minX&&(o.minX=l),c<o.minY&&(o.minY=c),u>o.maxX&&(o.maxX=u),f>o.maxY&&(o.maxY=f)}return o}function Ft(t,e,r,n){var i=e.geometry,a=e.type,o=[];if(\"Point\"===a||\"MultiPoint\"===a)for(var s=0;s<i.length;s+=3)o.push(i[s]),o.push(i[s+1]),t.numPoints++,t.numSimplified++;else if(\"LineString\"===a)Nt(o,i,t,r,!1,!1);else if(\"MultiLineString\"===a||\"Polygon\"===a)for(s=0;s<i.length;s++)Nt(o,i[s],t,r,\"Polygon\"===a,0===s);else if(\"MultiPolygon\"===a)for(var l=0;l<i.length;l++){var c=i[l];for(s=0;s<c.length;s++)Nt(o,c[s],t,r,!0,0===s)}if(o.length){var u=e.tags||null;if(\"LineString\"===a&&n.lineMetrics){for(var f in u={},e.tags)u[f]=e.tags[f];u.mapbox_clip_start=i.start/i.size,u.mapbox_clip_end=i.end/i.size}var h={geometry:o,type:\"Polygon\"===a||\"MultiPolygon\"===a?3:\"LineString\"===a||\"MultiLineString\"===a?2:1,tags:u};null!==e.id&&(h.id=e.id),t.features.push(h)}}function Nt(t,e,r,n,i,a){var o=n*n;if(n>0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;l<e.length;l+=3)(0===n||e[l+2]>o)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n<i;a=n,n+=2)r+=(t[n]-t[a])*(t[n+1]+t[a+1]);if(r>0===e)for(n=0,i=t.length;n<i/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[i-2-n],t[n+1]=t[i-1-n],t[i-2-n]=o,t[i-1-n]=s}}(s,a),t.push(s)}}function jt(t,e){var r=(e=this.options=function(t,e){for(var r in e)t[r]=e[r];return t}(Object.create(this.options),e)).debug;if(r&&console.time(\"preprocess data\"),e.maxZoom<0||e.maxZoom>24)throw new Error(\"maxZoom should be in the 0-24 range\");var n=function(t,e){var r=[];if(\"FeatureCollection\"===t.type)for(var n=0;n<t.features.length;n++)xt(r,t.features[n],e);else\"Feature\"===t.type?xt(r,t,e):xt(r,{geometry:t},e);return r}(t,e);this.tiles={},this.tileCoords=[],r&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",e.indexMaxZoom,e.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),(n=function(t,e){var r=e.buffer/e.extent,n=t,i=At(t,1,-1-r,r,0,-1,2,e),a=At(t,1,1-r,2+r,0,-1,2,e);return(i||a)&&(n=At(t,1,-r,1+r,0,-1,2,e)||[],i&&(n=Ot(i,1).concat(n)),a&&(n=n.concat(Ot(a,-1)))),n}(n,e)).length&&this.splitTile(n,0,0,0),r&&(n.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}function Vt(t,e,r){return 32*((1<<t)*r+e)+t}function Ut(t,e){var r=t.tileID.canonical;if(!this._geoJSONIndex)return e(null,null);var n=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!n)return e(null,null);var i=new R(n.features),a=V(i);0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),e(null,{vectorTile:i,rawData:a.buffer})}ot.prototype={options:{minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,initial:function(){return{}},map:function(t){return t}},load:function(t){var e=this.options.log;e&&console.time(\"total time\");var r=\"prepare \"+t.length+\" points\";e&&console.time(r),this.points=t;var n=t.map(lt);e&&console.timeEnd(r);for(var i=this.options.maxZoom;i>=this.options.minZoom;i--){var a=+Date.now();this.trees[i+1]=rt(n,dt,gt,this.options.nodeSize,Float32Array),n=this._cluster(n,i),e&&console.log(\"z%d: %d clusters in %dms\",i,n.length,+Date.now()-a)}return this.trees[this.options.minZoom]=rt(n,dt,gt,this.options.nodeSize,Float32Array),e&&console.timeEnd(\"total time\"),this},getClusters:function(t,e){for(var r=this.trees[this._limitZoom(e)],n=r.range(ft(t[0]),ht(t[3]),ft(t[2]),ht(t[1])),i=[],a=0;a<n.length;a++){var o=r.points[n[a]];i.push(o.numPoints?ct(o):this.points[o.id])}return i},getChildren:function(t,e){for(var r=this.trees[e+1].points[t],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=this.trees[e+1].within(r.x,r.y,n),a=[],o=0;o<i.length;o++){var s=this.trees[e+1].points[i[o]];s.parentId===t&&a.push(s.numPoints?ct(s):this.points[s.id])}return a},getLeaves:function(t,e,r,n){r=r||10,n=n||0;var i=[];return this._appendLeaves(i,t,e,r,n,0),i},getTile:function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options.extent,o=this.options.radius/a,s=(r-o)/i,l=(r+1+o)/i,c={features:[]};return this._addTileFeatures(n.range((e-o)/i,s,(e+1+o)/i,l),n.points,e,r,i,c),0===e&&this._addTileFeatures(n.range(1-o/i,s,1,l),n.points,i,r,i,c),e===i-1&&this._addTileFeatures(n.range(0,s,o/i,l),n.points,-1,r,i,c),c.features.length?c:null},getClusterExpansionZoom:function(t,e){for(;e<this.options.maxZoom;){var r=this.getChildren(t,e);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},_appendLeaves:function(t,e,r,n,i,a){for(var o=this.getChildren(e,r),s=0;s<o.length;s++){var l=o[s].properties;if(l.cluster?a+l.point_count<=i?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r+1,n,i,a):a<i?a++:t.push(o[s]),t.length===n)break}return a},_addTileFeatures:function(t,e,r,n,i,a){for(var o=0;o<t.length;o++){var s=e[t[o]];a.features.push({type:1,geometry:[[Math.round(this.options.extent*(s.x*i-r)),Math.round(this.options.extent*(s.y*i-n))]],tags:s.numPoints?ut(s):this.points[s.id].properties})}},_limitZoom:function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},_cluster:function(t,e){for(var r=[],n=this.options.radius/(this.options.extent*Math.pow(2,e)),i=0;i<t.length;i++){var a=t[i];if(!(a.zoom<=e)){a.zoom=e;var o=this.trees[e+1],s=o.within(a.x,a.y,n),l=a.numPoints||1,c=a.x*l,u=a.y*l,f=null;this.options.reduce&&(f=this.options.initial(),this._accumulate(f,a));for(var h=0;h<s.length;h++){var p=o.points[s[h]];if(e<p.zoom){var d=p.numPoints||1;p.zoom=e,c+=p.x*d,u+=p.y*d,l+=d,p.parentId=i,this.options.reduce&&this._accumulate(f,p)}}1===l?r.push(a):(a.parentId=i,r.push(st(c/l,u/l,l,i,f)))}}return r},_accumulate:function(t,e){var r=e.numPoints?e.properties:this.options.map(this.points[e.id].properties);this.options.reduce(t,r)}},jt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,debug:0},jt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<<e,f=Vt(e,r,n),h=this.tiles[f];if(!h&&(c>1&&console.time(\"creation\"),h=this.tiles[f]=Bt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd(\"creation\"));var p=\"z\"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<<i-e;if(r!==Math.floor(a/d)||n!==Math.floor(o/d))continue}else if(e===l.indexMaxZoom||h.numPoints<=l.indexMaxPoints)continue;if(h.source=null,0!==t.length){c>1&&console.time(\"clipping\");var g,m,v,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,k=.5+_,M=1+_;g=m=v=y=null,x=At(t,u,r-_,r+k,0,h.minX,h.maxX,l),b=At(t,u,r+w,r+M,0,h.minX,h.maxX,l),t=null,x&&(g=At(x,u,n-_,n+k,1,h.minY,h.maxY,l),m=At(x,u,n+w,n+M,1,h.minY,h.maxY,l),x=null),b&&(v=At(b,u,n-_,n+k,1,h.minY,h.maxY,l),y=At(b,u,n+w,n+M,1,h.minY,h.maxY,l),b=null),c>1&&console.timeEnd(\"clipping\"),s.push(g||[],e+1,2*r,2*n),s.push(m||[],e+1,2*r,2*n+1),s.push(v||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},jt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<<t,s=Vt(t,e=(e%o+o)%o,r);if(this.tiles[s])return Dt(this.tiles[s],i);a>1&&console.log(\"drilling down to z%d-%d-%d\",t,e,r);for(var l,c=t,u=e,f=r;!l&&c>0;)c--,u=Math.floor(u/2),f=Math.floor(f/2),l=this.tiles[Vt(c,u,f)];return l&&l.source?(a>1&&console.log(\"found parent tile z%d-%d-%d\",c,u,f),a>1&&console.time(\"drilling down\"),this.splitTile(l.source,c,u,f,t,e,r),a>1&&console.timeEnd(\"drilling down\"),this.tiles[s]?Dt(this.tiles[s],i):null):null};var qt=function(e){function r(t,r,n){e.call(this,t,r,Ut),n&&(this.loadGeoJSON=n)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&\"Idle\"!==this._state?this._state=\"NeedsLoadData\":(this._state=\"Coalescing\",this._loadData())},r.prototype._loadData=function(){var t=this;if(this._pendingCallback&&this._pendingLoadDataParams){var e=this._pendingCallback,r=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams,this.loadGeoJSON(r,function(n,i){if(n||!i)return e(n);if(\"object\"!=typeof i)return e(new Error(\"Input data is not a valid GeoJSON object.\"));!function t(e,r){switch(e&&e.type||null){case\"FeatureCollection\":return e.features=e.features.map(z(t,r)),e;case\"Feature\":return e.geometry=t(e.geometry,r),e;case\"Polygon\":case\"MultiPolygon\":return function(t,e){return\"Polygon\"===t.type?t.coordinates=P(t.coordinates,e):\"MultiPolygon\"===t.type&&(t.coordinates=t.coordinates.map(z(P,e))),t}(e,r);default:return e}}(i,!0);try{t._geoJSONIndex=r.cluster?function(t){return new ot(t)}(r.superclusterOptions).load(i.features):new jt(i,r.geojsonVtOptions)}catch(n){return e(n)}t.loaded={};var a={};if(r.request&&r.request.collectResourceTiming){var o=w(r.request.url);o&&(a.resourceTiming={},a.resourceTiming[r.source]=JSON.parse(JSON.stringify(o)))}e(null,a)})}},r.prototype.coalesce=function(){\"Coalescing\"===this._state?this._state=\"Idle\":\"NeedsLoadData\"===this._state&&(this._state=\"Coalescing\",this._loadData())},r.prototype.reloadTile=function(t,r){var n=this.loaded,i=t.uid;return n&&n[i]?e.prototype.reloadTile.call(this,t,r):this.loadTile(t,r)},r.prototype.loadGeoJSON=function(e,r){if(e.request)t.getJSON(e.request,r);else{if(\"string\"!=typeof e.data)return r(new Error(\"Input data is not a valid GeoJSON object.\"));try{return r(null,JSON.parse(e.data))}catch(t){return r(new Error(\"Input data is not a valid GeoJSON object.\"))}}},r.prototype.removeSource=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()},r}(M),Ht=function(e){var r=this;this.self=e,this.actor=new t.default$7(e,this),this.layerIndexes={},this.workerSourceTypes={vector:M,geojson:qt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,e){if(r.workerSourceTypes[t])throw new Error('Worker source with name \"'+t+'\" already registered.');r.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=function(e){if(t.plugin.isLoaded())throw new Error(\"RTL text plugin already registered.\");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText}};return Ht.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},Ht.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},Ht.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).loadTile(e,r)},Ht.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t,e.source).loadTile(e,r)},Ht.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).reloadTile(e,r)},Ht.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).abortTile(e,r)},Ht.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).removeTile(e,r)},Ht.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)},Ht.prototype.removeSource=function(t,e,r){if(this.workerSources[t]&&this.workerSources[t][e.type]&&this.workerSources[t][e.type][e.source]){var n=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==n.removeSource?n.removeSource(e,r):r()}},Ht.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t.toString())}},Ht.prototype.loadRTLTextPlugin=function(e,r,n){try{t.plugin.isLoaded()||(this.self.importScripts(r),n(t.plugin.isLoaded()?null:new Error(\"RTL Text Plugin failed to import scripts from \"+r)))}catch(t){n(t.toString())}},Ht.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e},Ht.prototype.getWorkerSource=function(t,e,r){var n=this;if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][r]){var i={send:function(e,r,i){n.actor.send(e,r,i,t)}};this.workerSources[t][e][r]=new this.workerSourceTypes[e](i,this.getLayerIndex(t))}return this.workerSources[t][e][r]},Ht.prototype.getDEMWorkerSource=function(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new A),this.demWorkerSources[t][e]},\"undefined\"!=typeof WorkerGlobalScope&&\"undefined\"!=typeof self&&self instanceof WorkerGlobalScope&&new Ht(self),Ht}),i(0,function(t){var e=t.createCommonjsModule(function(t){function e(t){return!!(\"undefined\"!=typeof window&&\"undefined\"!=typeof document&&Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray&&Function.prototype&&Function.prototype.bind&&Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions&&\"JSON\"in window&&\"parse\"in JSON&&\"stringify\"in JSON&&function(){if(!(\"Worker\"in window&&\"Blob\"in window&&\"URL\"in window))return!1;var t,e,r=new Blob([\"\"],{type:\"text/javascript\"}),n=URL.createObjectURL(r);try{e=new Worker(n),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(n),t}()&&\"Uint8ClampedArray\"in window&&function(t){return void 0===r[t]&&(r[t]=function(t){var r=document.createElement(\"canvas\"),n=Object.create(e.webGLContextAttributes);return n.failIfMajorPerformanceCaveat=t,r.probablySupportsContext?r.probablySupportsContext(\"webgl\",n)||r.probablySupportsContext(\"experimental-webgl\",n):r.supportsContext?r.supportsContext(\"webgl\",n)||r.supportsContext(\"experimental-webgl\",n):r.getContext(\"webgl\",n)||r.getContext(\"experimental-webgl\",n)}(t)),r[t]}(t&&t.failIfMajorPerformanceCaveat))}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e);var r={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}}),r=t.default.performance&&t.default.performance.now?t.default.performance.now.bind(t.default.performance):Date.now.bind(Date),n=t.default.requestAnimationFrame||t.default.mozRequestAnimationFrame||t.default.webkitRequestAnimationFrame||t.default.msRequestAnimationFrame,i=t.default.cancelAnimationFrame||t.default.mozCancelAnimationFrame||t.default.webkitCancelAnimationFrame||t.default.msCancelAnimationFrame,a={now:r,frame:function(t){return n(t)},cancelFrame:function(t){return i(t)},getImageData:function(e){var r=t.default.document.createElement(\"canvas\"),n=r.getContext(\"2d\");if(!n)throw new Error(\"failed to create canvas 2d context\");return r.width=e.width,r.height=e.height,n.drawImage(e,0,0,e.width,e.height),n.getImageData(0,0,e.width,e.height)},hardwareConcurrency:t.default.navigator.hardwareConcurrency||4,get devicePixelRatio(){return t.default.devicePixelRatio},supportsWebp:!1};if(t.default.document){var o=t.default.document.createElement(\"img\");o.onload=function(){a.supportsWebp=!0},o.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"}var s={create:function(e,r,n){var i=t.default.document.createElement(e);return r&&(i.className=r),n&&n.appendChild(i),i},createNS:function(e,r){return t.default.document.createElementNS(e,r)}},l=t.default.document?t.default.document.documentElement.style:null;function c(t){if(!l)return null;for(var e=0;e<t.length;e++)if(t[e]in l)return t[e];return t[0]}var u,f=c([\"userSelect\",\"MozUserSelect\",\"WebkitUserSelect\",\"msUserSelect\"]);s.disableDrag=function(){l&&f&&(u=l[f],l[f]=\"none\")},s.enableDrag=function(){l&&f&&(l[f]=u)};var h=c([\"transform\",\"WebkitTransform\"]);s.setTransform=function(t,e){t.style[h]=e};var p=!1;try{var d=Object.defineProperty({},\"passive\",{get:function(){p=!0}});t.default.addEventListener(\"test\",d,d),t.default.removeEventListener(\"test\",d,d)}catch(t){p=!1}s.addEventListener=function(t,e,r,n){void 0===n&&(n={}),\"passive\"in n&&p?t.addEventListener(e,r,n):t.addEventListener(e,r,n.capture)},s.removeEventListener=function(t,e,r,n){void 0===n&&(n={}),\"passive\"in n&&p?t.removeEventListener(e,r,n):t.removeEventListener(e,r,n.capture)};var g=function(e){e.preventDefault(),e.stopPropagation(),t.default.removeEventListener(\"click\",g,!0)};s.suppressClick=function(){t.default.addEventListener(\"click\",g,!0),t.default.setTimeout(function(){t.default.removeEventListener(\"click\",g,!0)},0)},s.mousePos=function(e,r){var n=e.getBoundingClientRect();return r=r.touches?r.touches[0]:r,new t.default$1(r.clientX-n.left-e.clientLeft,r.clientY-n.top-e.clientTop)},s.touchPos=function(e,r){for(var n=e.getBoundingClientRect(),i=[],a=\"touchend\"===r.type?r.changedTouches:r.touches,o=0;o<a.length;o++)i.push(new t.default$1(a[o].clientX-n.left-e.clientLeft,a[o].clientY-n.top-e.clientTop));return i},s.mouseButton=function(e){return void 0!==t.default.InstallTrigger&&2===e.button&&e.ctrlKey&&t.default.navigator.platform.toUpperCase().indexOf(\"MAC\")>=0?0:e.button},s.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var m={API_URL:\"https://api.mapbox.com\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null},v=\"See https://www.mapbox.com/api-documentation/#access-tokens\";function y(t,e){var r=A(m.API_URL);if(t.protocol=r.protocol,t.authority=r.authority,\"/\"!==r.path&&(t.path=\"\"+r.path+t.path),!m.REQUIRE_ACCESS_TOKEN)return T(t);if(!(e=e||m.ACCESS_TOKEN))throw new Error(\"An API access token is required to use Mapbox GL. \"+v);if(\"s\"===e[0])throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+v);return t.params.push(\"access_token=\"+e),T(t)}function x(t){return 0===t.indexOf(\"mapbox:\")}var b=function(t,e){if(!x(t))return t;var r=A(t);return r.path=\"/v4/\"+r.authority+\".json\",r.params.push(\"secure\"),y(r,e)},_=function(t,e,r,n){var i=A(t);return x(t)?(i.path=\"/styles/v1\"+i.path+\"/sprite\"+e+r,y(i,n)):(i.path+=\"\"+e+r,T(i))},w=/(\\.(png|jpg)\\d*)(?=$)/,k=function(t,e,r){if(!e||!x(e))return t;var n=A(t),i=a.devicePixelRatio>=2||512===r?\"@2x\":\"\",o=a.supportsWebp?\".webp\":\"$1\";return n.path=n.path.replace(w,\"\"+i+o),function(t){for(var e=0;e<t.length;e++)0===t[e].indexOf(\"access_token=tk.\")&&(t[e]=\"access_token=\"+(m.ACCESS_TOKEN||\"\"))}(n.params),T(n)},M=/^(\\w+):\\/\\/([^\\/?]*)(\\/[^?]+)?\\??(.+)?/;function A(t){var e=t.match(M);if(!e)throw new Error(\"Unable to parse URL object\");return{protocol:e[1],authority:e[2],path:e[3]||\"/\",params:e[4]?e[4].split(\"&\"):[]}}function T(t){var e=t.params.length?\"?\"+t.params.join(\"&\"):\"\";return t.protocol+\"://\"+t.authority+t.path+e}var S=t.default.HTMLImageElement,E=t.default.HTMLCanvasElement,C=t.default.HTMLVideoElement,L=t.default.ImageData,z=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};z.prototype.update=function(t,e){var r=t.width,n=t.height,i=!this.size||this.size[0]!==r||this.size[1]!==n,a=this.context,o=a.gl;this.useMipmap=Boolean(e&&e.useMipmap),o.bindTexture(o.TEXTURE_2D,this.texture),i?(this.size=[r,n],a.pixelStoreUnpack.set(1),this.format!==o.RGBA||e&&!1===e.premultiply||a.pixelStoreUnpackPremultiplyAlpha.set(!0),t instanceof S||t instanceof E||t instanceof C||t instanceof L?o.texImage2D(o.TEXTURE_2D,0,this.format,this.format,o.UNSIGNED_BYTE,t):o.texImage2D(o.TEXTURE_2D,0,this.format,r,n,0,this.format,o.UNSIGNED_BYTE,t.data)):t instanceof S||t instanceof E||t instanceof C||t instanceof L?o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,t):o.texSubImage2D(o.TEXTURE_2D,0,0,0,r,n,o.RGBA,o.UNSIGNED_BYTE,t.data),this.useMipmap&&this.isSizePowerOfTwo()&&o.generateMipmap(o.TEXTURE_2D)},z.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)},z.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},z.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null};var P=function(){this.images={},this.loaded=!1,this.requestors=[],this.shelfPack=new t.default$2(64,64,{autoResize:!0}),this.patterns={},this.atlasImage=new t.RGBAImage({width:64,height:64}),this.dirty=!0};P.prototype.isLoaded=function(){return this.loaded},P.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e<r.length;e+=1){var n=r[e],i=n.ids,a=n.callback;this._notify(i,a)}this.requestors=[]}},P.prototype.getImage=function(t){return this.images[t]},P.prototype.addImage=function(t,e){this.images[t]=e},P.prototype.removeImage=function(t){delete this.images[t];var e=this.patterns[t];e&&(this.shelfPack.unref(e.bin),delete this.patterns[t])},P.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.images[a]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},P.prototype._notify=function(t,e){for(var r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=this.images[a];o&&(r[a]={data:o.data.clone(),pixelRatio:o.pixelRatio,sdf:o.sdf})}e(null,r)},P.prototype.getPixelSize=function(){return{width:this.shelfPack.w,height:this.shelfPack.h}},P.prototype.getPattern=function(e){var r=this.patterns[e];if(r)return r.position;var n=this.getImage(e);if(!n)return null;var i=n.data.width+2,a=n.data.height+2,o=this.shelfPack.packOne(i,a);if(!o)return null;this.atlasImage.resize(this.getPixelSize());var s=n.data,l=this.atlasImage,c=o.x+1,u=o.y+1,f=s.width,h=s.height;t.RGBAImage.copy(s,l,{x:0,y:0},{x:c,y:u},{width:f,height:h}),t.RGBAImage.copy(s,l,{x:0,y:h-1},{x:c,y:u-1},{width:f,height:1}),t.RGBAImage.copy(s,l,{x:0,y:0},{x:c,y:u+h},{width:f,height:1}),t.RGBAImage.copy(s,l,{x:f-1,y:0},{x:c-1,y:u},{width:1,height:h}),t.RGBAImage.copy(s,l,{x:0,y:0},{x:c+f,y:u},{width:1,height:h}),this.dirty=!0;var p=new t.ImagePosition(o,n);return this.patterns[e]={bin:o,position:p},p},P.prototype.bind=function(t){var e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new z(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)};var O=D,I=1e20;function D(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||\"sans-serif\",this.fontWeight=a||\"normal\",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement(\"canvas\"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext(\"2d\"),this.ctx.font=this.fontWeight+\" \"+this.fontSize+\"px \"+this.fontFamily,this.ctx.textBaseline=\"middle\",this.ctx.fillStyle=\"black\",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf(\"Gecko/\")>=0?1.2:1))}function R(t,e,r,n,i,a,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(B(n,i,a,o,r),l=0;l<r;l++)t[l*e+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(B(n,i,a,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(i[s])}}function B(t,e,r,n,i){r[0]=0,n[0]=-I,n[1]=+I;for(var a=1,o=0;a<i;a++){for(var s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);r[++o]=a,n[o]=s,n[o+1]=+I}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;e[a]=(a-r[o])*(a-r[o])+t[r[o]]}}D.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var i=e.data[4*n+3]/255;this.gridOuter[n]=1===i?0:0===i?I:Math.pow(Math.max(0,.5-i),2),this.gridInner[n]=1===i?I:0===i?0:Math.pow(Math.max(0,i-.5),2)}for(R(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),R(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var a=this.gridOuter[n]-this.gridInner[n];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(a/this.radius+this.cutoff))))}return r};var F=function(t,e){this.requestTransform=t,this.localIdeographFontFamily=e,this.entries={}};F.prototype.setURL=function(t){this.url=t},F.prototype.getGlyphs=function(e,r){var n=this,i=[];for(var a in e)for(var o=0,s=e[a];o<s.length;o+=1){var l=s[o];i.push({stack:a,id:l})}t.asyncAll(i,function(t,e){var r=t.stack,i=t.id,a=n.entries[r];a||(a=n.entries[r]={glyphs:{},requests:{}});var o=a.glyphs[i];if(void 0===o)if(o=n._tinySDF(a,r,i))e(null,{stack:r,id:i,glyph:o});else{var s=Math.floor(i/256);if(256*s>65535)e(new Error(\"glyphs > 65535 not supported\"));else{var l=a.requests[s];l||(l=a.requests[s]=[],F.loadGlyphRange(r,s,n.url,n.requestTransform,function(t,e){if(e)for(var r in e)a.glyphs[+r]=e[+r];for(var n=0,i=l;n<i.length;n+=1)(0,i[n])(t,e);delete a.requests[s]})),l.push(function(t,n){t?e(t):n&&e(null,{stack:r,id:i,glyph:n[i]||null})})}}else e(null,{stack:r,id:i,glyph:o})},function(t,e){if(t)r(t);else if(e){for(var n={},i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.stack,l=o.id,c=o.glyph;(n[s]||(n[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics}}r(null,n)}})},F.prototype._tinySDF=function(e,r,n){var i=this.localIdeographFontFamily;if(i&&(t.default$4[\"CJK Unified Ideographs\"](n)||t.default$4[\"Hangul Syllables\"](n))){var a=e.tinySDF;if(!a){var o=\"400\";/bold/i.test(r)?o=\"900\":/medium/i.test(r)?o=\"500\":/light/i.test(r)&&(o=\"200\"),a=e.tinySDF=new F.TinySDF(24,3,8,.25,i,o)}return{id:n,bitmap:new t.AlphaImage({width:30,height:30},a.draw(String.fromCharCode(n))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},F.loadGlyphRange=function(e,r,n,i,a){var o=256*r,s=o+255,l=i(function(t,e){if(!x(t))return t;var r=A(t);return r.path=\"/fonts/v1\"+r.path,y(r,e)}(n).replace(\"{fontstack}\",e).replace(\"{range}\",o+\"-\"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,function(e,r){if(e)a(e);else if(r){for(var n={},i=0,o=t.default$3(r.data);i<o.length;i+=1){var s=o[i];n[s.id]=s}a(null,n)}})},F.TinySDF=O;var N=function(){this.specification=t.default$5.light.position};N.prototype.possiblyEvaluate=function(e,r){return t.sphericalToCartesian(e.expression.evaluate(r))},N.prototype.interpolate=function(e,r,n){return{x:t.number(e.x,r.x,n),y:t.number(e.y,r.y,n),z:t.number(e.z,r.z,n)}};var j=new t.Properties({anchor:new t.DataConstantProperty(t.default$5.light.anchor),position:new N,color:new t.DataConstantProperty(t.default$5.light.color),intensity:new t.DataConstantProperty(t.default$5.light.intensity)}),V=function(e){function r(r){e.call(this),this._transitionable=new t.Transitionable(j),this.setLight(r),this._transitioning=this._transitionable.untransitioned()}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getLight=function(){return this._transitionable.serialize()},r.prototype.setLight=function(e){if(!this._validate(t.validateLight,e))for(var r in e){var n=e[r];t.endsWith(r,\"-transition\")?this._transitionable.setTransition(r.slice(0,-\"-transition\".length),n):this._transitionable.setValue(r,n)}},r.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},r.prototype.hasTransition=function(){return this._transitioning.hasTransition()},r.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},r.prototype._validate=function(e,r){return t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:r,style:{glyphs:!0,sprite:!0},styleSpec:t.default$5})))},r}(t.Evented),U=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};U.prototype.getDash=function(t,e){var r=t.join(\",\")+String(e);return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},U.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce(\"LineAtlas out of space\"),null;for(var a=0,o=0;o<e.length;o++)a+=e[o];for(var s=this.width/a,l=s/2,c=e.length%2==1,u=-n;u<=n;u++)for(var f=this.nextRow+n+u,h=this.width*f,p=c?-e[e.length-1]:0,d=e[0],g=1,m=0;m<this.width;m++){for(;d<m/s;)p=d,d+=e[g],c&&g===e.length-1&&(d+=e[0]),g++;var v=Math.abs(m-p*s),y=Math.abs(m-d*s),x=Math.min(v,y),b=g%2==1,_=void 0;if(r){var w=n?u/n*(l+1):0;if(b){var k=l-Math.abs(w);_=Math.sqrt(x*x+k*k)}else _=l-Math.sqrt(x*x+w*w)}else _=(b?1:-1)*x;this.data[3+4*(h+m)]=Math.max(0,Math.min(255,_+128))}var M={y:(this.nextRow+n+.5)/this.height,height:2*n/this.height,width:a};return this.nextRow+=i,this.dirty=!0,M},U.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.RGBA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,this.data))};var q=function e(r,n){this.workerPool=r,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var i=this.workerPool.acquire(this.id),a=0;a<i.length;a++){var o=i[a],s=new e.Actor(o,n,this.id);s.name=\"Worker \"+a,this.actors.push(s)}};function H(e,r,n){var i=function(e,r){if(e)return n(e);if(r){var i=t.pick(r,[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"mapbox_logo\",\"bounds\"]);r.vector_layers&&(i.vectorLayers=r.vector_layers,i.vectorLayerIds=i.vectorLayers.map(function(t){return t.id})),n(null,i)}};e.url?t.getJSON(r(b(e.url),t.ResourceType.Source),i):a.frame(function(){return i(null,e)})}q.prototype.broadcast=function(e,r,n){n=n||function(){},t.asyncAll(this.actors,function(t,n){t.send(e,r,n)},n)},q.prototype.send=function(t,e,r,n){return(\"number\"!=typeof n||isNaN(n))&&(n=this.currentActor=(this.currentActor+1)%this.actors.length),this.actors[n].send(t,e,r),n},q.prototype.remove=function(){this.actors.forEach(function(t){t.remove()}),this.actors=[],this.workerPool.release(this.id)},q.Actor=t.default$7;var G=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid LngLat object: (\"+t+\", \"+e+\")\");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};G.prototype.wrap=function(){return new G(t.wrap(this.lng,-180,180),this.lat)},G.prototype.toArray=function(){return[this.lng,this.lat]},G.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},G.prototype.toBounds=function(t){var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new W(new G(this.lng-r,this.lat-e),new G(this.lng+r,this.lat+e))},G.convert=function(t){if(t instanceof G)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new G(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new G(Number(t.lng),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]\")};var W=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};W.prototype.setNorthEast=function(t){return this._ne=t instanceof G?new G(t.lng,t.lat):G.convert(t),this},W.prototype.setSouthWest=function(t){return this._sw=t instanceof G?new G(t.lng,t.lat):G.convert(t),this},W.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof G)e=t,r=t;else{if(!(t instanceof W))return Array.isArray(t)?t.every(Array.isArray)?this.extend(W.convert(t)):this.extend(G.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new G(e.lng,e.lat),this._ne=new G(r.lng,r.lat)),this},W.prototype.getCenter=function(){return new G((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},W.prototype.getSouthWest=function(){return this._sw},W.prototype.getNorthEast=function(){return this._ne},W.prototype.getNorthWest=function(){return new G(this.getWest(),this.getNorth())},W.prototype.getSouthEast=function(){return new G(this.getEast(),this.getSouth())},W.prototype.getWest=function(){return this._sw.lng},W.prototype.getSouth=function(){return this._sw.lat},W.prototype.getEast=function(){return this._ne.lng},W.prototype.getNorth=function(){return this._ne.lat},W.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},W.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},W.prototype.isEmpty=function(){return!(this._sw&&this._ne)},W.convert=function(t){return!t||t instanceof W?t:new W(t)};var Y=function(t,e,r){this.bounds=W.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=r||24};Y.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},Y.prototype.contains=function(t){var e=Math.floor(this.lngX(this.bounds.getWest(),t.z)),r=Math.floor(this.latY(this.bounds.getNorth(),t.z)),n=Math.ceil(this.lngX(this.bounds.getEast(),t.z)),i=Math.ceil(this.latY(this.bounds.getSouth(),t.z));return t.x>=e&&t.x<n&&t.y>=r&&t.y<i},Y.prototype.lngX=function(t,e){return(t+180)*(Math.pow(2,e)/360)},Y.prototype.latY=function(e,r){var n=t.clamp(Math.sin(Math.PI/180*e),-.9999,.9999),i=Math.pow(2,r)/(2*Math.PI);return Math.pow(2,r-1)+.5*Math.log((1+n)/(1-n))*-i};var X=function(e){function r(r,n,i,a){if(e.call(this),this.id=r,this.dispatcher=i,this.type=\"vector\",this.minzoom=0,this.maxzoom=22,this.scheme=\"xyz\",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,t.extend(this,t.pick(n,[\"url\",\"scheme\",\"tileSize\"])),this._options=t.extend({type:\"vector\"},n),this._collectResourceTiming=n.collectResourceTiming,512!==this.tileSize)throw new Error(\"vector tile sources must have a tileSize of 512\");this.setEventedParent(a)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),H(this._options,this.map._transformRequest,function(r,n){r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new Y(n.bounds,e.minzoom,e.maxzoom)),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.loadTile=function(e,r){var n=k(e.tileID.canonical.url(this.tiles,this.scheme),this.url),i={request:this.map._transformRequest(n,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:a.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes};function o(t,n){return e.aborted?r(null):t?r(t):(n&&n.resourceTiming&&(e.resourceTiming=n.resourceTiming),this.map._refreshExpiredTiles&&e.setExpiryData(n),e.loadVectorData(n,this.map.painter),r(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}i.request.collectResourceTiming=this._collectResourceTiming,void 0===e.workerID||\"expired\"===e.state?e.workerID=this.dispatcher.send(\"loadTile\",i,o.bind(this)):\"loading\"===e.state?e.reloadCallback=r:this.dispatcher.send(\"reloadTile\",i,o.bind(this),e.workerID)},r.prototype.abortTile=function(t){this.dispatcher.send(\"abortTile\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},void 0,t.workerID)},r.prototype.hasTransition=function(){return!1},r}(t.Evented),Z=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.dispatcher=i,this.setEventedParent(a),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=t.extend({},n),t.extend(this,t.pick(n,[\"url\",\"scheme\",\"tileSize\"]))}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),H(this._options,this.map._transformRequest,function(r,n){r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new Y(n.bounds,e.minzoom,e.maxzoom)),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),e.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))})},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.loadTile=function(e,r){var n=this,i=k(e.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);e.request=t.getImage(this.map._transformRequest(i,t.ResourceType.Tile),function(t,i){if(delete e.request,e.aborted)e.state=\"unloaded\",r(null);else if(t)e.state=\"errored\",r(t);else if(i){n.map._refreshExpiredTiles&&e.setExpiryData(i),delete i.cacheControl,delete i.expires;var a=n.map.painter.context,o=a.gl;e.texture=n.map.painter.getTileTexture(i.width),e.texture?e.texture.update(i,{useMipmap:!0}):(e.texture=new z(a,i,o.RGBA,{useMipmap:!0}),e.texture.bind(o.LINEAR,o.CLAMP_TO_EDGE,o.LINEAR_MIPMAP_NEAREST),a.extTextureFilterAnisotropic&&o.texParameterf(o.TEXTURE_2D,a.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,a.extTextureFilterAnisotropicMax)),e.state=\"loaded\",r(null)}})},r.prototype.abortTile=function(t,e){t.request&&(t.request.abort(),delete t.request),e()},r.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},r.prototype.hasTransition=function(){return!1},r}(t.Evented),$=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),this.type=\"raster-dem\",this.maxzoom=22,this._options=t.extend({},n),this.encoding=n.encoding||\"mapbox\"}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.serialize=function(){return{type:\"raster-dem\",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},r.prototype.loadTile=function(e,r){var n=k(e.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);e.request=t.getImage(this.map._transformRequest(n,t.ResourceType.Tile),function(t,n){if(delete e.request,e.aborted)e.state=\"unloaded\",r(null);else if(t)e.state=\"errored\",r(t);else if(n){this.map._refreshExpiredTiles&&e.setExpiryData(n),delete n.cacheControl,delete n.expires;var i=a.getImageData(n),o={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.workerID&&\"expired\"!==e.state||(e.workerID=this.dispatcher.send(\"loadDEMTile\",o,function(t,n){t&&(e.state=\"errored\",r(t)),n&&(e.dem=n,e.needsHillshadePrepare=!0,e.state=\"loaded\",r(null))}.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)},r.prototype._getNeighboringTiles=function(e){var r=e.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+1<n&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y+1).key]={backfilled:!1}),l},r.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state=\"unloaded\",this.dispatcher.send(\"removeDEMTile\",{uid:t.uid,source:this.id},void 0,t.workerID)},r}(Z),J=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.type=\"geojson\",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this.dispatcher=i,this.setEventedParent(a),this._data=n.data,this._options=t.extend({},n),this._collectResourceTiming=n.collectResourceTiming,this._resourceTiming=[],void 0!==n.maxzoom&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type);var o=t.default$8/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:(void 0!==n.buffer?n.buffer:128)*o,tolerance:(void 0!==n.tolerance?n.tolerance:.375)*o,extent:t.default$8,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1},superclusterOptions:{maxZoom:void 0!==n.clusterMaxZoom?Math.min(n.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:t.default$8,radius:(n.clusterRadius||50)*o,log:!1}},n.workerOptions)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function(r){if(r)e.fire(new t.ErrorEvent(r));else{var n={dataType:\"source\",sourceDataType:\"metadata\"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event(\"data\",n))}})},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function(e){if(e)return r.fire(new t.ErrorEvent(e));var n={dataType:\"source\",sourceDataType:\"content\"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event(\"data\",n))}),this},r.prototype._updateWorkerData=function(e){var r,n,i=this,a=t.extend({},this.workerOptions),o=this._data;\"string\"==typeof o?(a.request=this.map._transformRequest((r=o,(n=t.default.document.createElement(\"a\")).href=r,n.href),t.ResourceType.Source),a.request.collectResourceTiming=this._collectResourceTiming):a.data=JSON.stringify(o),this.workerID=this.dispatcher.send(this.type+\".\"+a.source+\".loadData\",a,function(t,r){i._removed||r&&r.abandoned||(i._loaded=!0,r&&r.resourceTiming&&r.resourceTiming[i.id]&&(i._resourceTiming=r.resourceTiming[i.id].slice(0)),i.dispatcher.send(i.type+\".\"+a.source+\".coalesce\",null,null,i.workerID),e(t))},this.workerID)},r.prototype.loadTile=function(t,e){var r=this,n=void 0===t.workerID?\"loadTile\":\"reloadTile\",i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:a.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes};t.workerID=this.dispatcher.send(n,i,function(i,a){return t.unloadVectorData(),t.aborted?e(null):i?e(i):(t.loadVectorData(a,r.map.painter,\"reloadTile\"===n),e(null))},this.workerID)},r.prototype.abortTile=function(t){t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.dispatcher.send(\"removeTile\",{uid:t.uid,type:this.type,source:this.id},null,t.workerID)},r.prototype.onRemove=function(){this._removed=!0,this.dispatcher.send(\"removeSource\",{type:this.type,source:this.id},null,this.workerID)},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),K=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),Q=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Q.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c<n.length;c++)this.boundPaintVertexBuffers[c]!==n[c]&&(l=!0);var u=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||u?this.freshBind(e,r,n,i,a,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind())},Q.prototype.freshBind=function(t,e,r,n,i,a,o){var s,l=t.numAttributes,c=this.context,u=c.gl;if(c.extVertexArrayObject)this.vao&&this.destroy(),this.vao=c.extVertexArrayObject.createVertexArrayOES(),c.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=c.currentNumAttributes||0;for(var f=l;f<s;f++)u.disableVertexAttribArray(f)}e.enableAttributes(u,t);for(var h=0,p=r;h<p.length;h+=1)p[h].enableAttributes(u,t);a&&a.enableAttributes(u,t),o&&o.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,i);for(var d=0,g=r;d<g.length;d+=1){var m=g[d];m.bind(),m.setVertexAttribPointers(u,t,i)}a&&(a.bind(),a.setVertexAttribPointers(u,t,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,t,i)),c.currentNumAttributes=l},Q.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};var tt=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,t.getImage(this.map._transformRequest(this.url,t.ResourceType.Image),function(r,n){r?e.fire(new t.ErrorEvent(r)):n&&(e.image=a.getImageData(n),e._finishLoading())})},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){this.coordinates=e;var r=this.map,n=e.map(function(t){return r.transform.locationCoordinate(G.convert(t)).zoomTo(0)}),i=this.centerCoord=t.getCoordinatesCenter(n);i.column=Math.floor(i.column),i.row=Math.floor(i.row),this.tileID=new t.CanonicalTileID(i.zoom,i.column,i.row),this.minzoom=this.maxzoom=i.zoom;var a=n.map(function(e){var r=e.zoomTo(i.zoom);return new t.default$1(Math.round((r.column-i.column)*t.default$8),Math.round((r.row-i.row)*t.default$8))});return this._boundsArray=new t.RasterBoundsArray,this._boundsArray.emplaceBack(a[0].x,a[0].y,0,0),this._boundsArray.emplaceBack(a[1].x,a[1].y,t.default$8,0),this._boundsArray.emplaceBack(a[3].x,a[3].y,0,t.default$8),this._boundsArray.emplaceBack(a[2].x,a[2].y,t.default$8,t.default$8),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},r.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var t=this.map.painter.context,e=t.gl;for(var r in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,K.members)),this.boundsVAO||(this.boundsVAO=new Q),this.texture||(this.texture=new z(t,this.image,e.RGBA),this.texture.bind(e.LINEAR,e.CLAMP_TO_EDGE)),this.tiles){var n=this.tiles[r];\"loaded\"!==n.state&&(n.state=\"loaded\",n.texture=this.texture)}}},r.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state=\"errored\",e(null))},r.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return!1},r}(t.Evented),et=function(e){function r(t,r,n,i){e.call(this,t,r,n,i),this.roundZoom=!0,this.type=\"video\",this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this,r=this.options;this.urls=[];for(var n=0,i=r.urls;n<i.length;n+=1){var a=i[n];e.urls.push(e.map._transformRequest(a,t.ResourceType.Source).url)}t.getVideo(this.urls,function(r,n){r?e.fire(new t.ErrorEvent(r)):n&&(e.video=n,e.video.loop=!0,e.video.addEventListener(\"playing\",function(){e.map._rerender()}),e.map&&e.video.play(),e._finishLoading())})},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var t=this.map.painter.context,e=t.gl;for(var r in this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,K.members)),this.boundsVAO||(this.boundsVAO=new Q),this.texture?this.video.paused||(this.texture.bind(e.LINEAR,e.CLAMP_TO_EDGE),e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,this.video)):(this.texture=new z(t,this.video,e.RGBA),this.texture.bind(e.LINEAR,e.CLAMP_TO_EDGE)),this.tiles){var n=this.tiles[r];\"loaded\"!==n.state&&(n.state=\"loaded\",n.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(tt),rt=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some(function(t){return!Array.isArray(t)||2!==t.length||t.some(function(t){return\"number\"!=typeof t})})||this.fire(new t.ErrorEvent(new t.default$9(\"sources.\"+r,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.default$9(\"sources.\"+r,null,'missing required property \"coordinates\"'))),n.animate&&\"boolean\"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.default$9(\"sources.\"+r,null,'optional \"animate\" property must be a boolean value'))),n.canvas?\"string\"==typeof n.canvas||n.canvas instanceof t.default.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.default$9(\"sources.\"+r,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.default$9(\"sources.\"+r,null,'missing required property \"canvas\"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this.canvas||(this.canvas=this.options.canvas instanceof t.default.HTMLCanvasElement?this.options.canvas:t.default.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map._rerender()},this.pause=function(){this._playing=!1},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,K.members)),this.boundsVAO||(this.boundsVAO=new Q),this.texture?t?this.texture.update(this.canvas):this._playing&&(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.canvas)):(this.texture=new z(e,this.canvas,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];\"loaded\"!==i.state&&(i.state=\"loaded\",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var r=e[t];if(isNaN(r)||r<=0)return!0}return!1},r}(tt),nt={vector:X,raster:Z,\"raster-dem\":$,geojson:J,video:et,image:tt,canvas:rt},it=function(e,r,n,i){var a=new nt[r.type](e,r,n,i);if(a.id!==e)throw new Error(\"Expected Source id to be \"+e+\" instead of \"+a.id);return t.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],a),a};function at(t,e,r,n,i){var a=i.maxPitchScaleFactor(),o=t.tilesIn(r,a);o.sort(ot);for(var s=[],l=0,c=o;l<c.length;l+=1){var u=c[l];s.push({wrappedTileID:u.tileID.wrapped().key,queryResults:u.tile.queryRenderedFeatures(e,u.queryGeometry,u.scale,n,i,a,t.transform.calculatePosMatrix(u.tileID.toUnwrapped()))})}return function(t){for(var e={},r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var c in o)for(var u=o[c],f=l[c]=l[c]||{},h=e[c]=e[c]||[],p=0,d=u;p<d.length;p+=1){var g=d[p];f[g.featureIndex]||(f[g.featureIndex]=!0,h.push(g.feature))}}return e}(s)}function ot(t,e){var r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}var st=function(e,r){this.tileID=e,this.uid=t.uniqueId(),this.uses=0,this.tileSize=r,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.expiredRequestCount=0,this.state=\"loading\"};st.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<a.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},st.prototype.wasRequested=function(){return\"errored\"===this.state||\"loaded\"===this.state||\"reloading\"===this.state},st.prototype.loadVectorData=function(e,r,n){if(this.hasData()&&this.unloadVectorData(),this.state=\"loaded\",e){if(e.featureIndex&&(this.latestFeatureIndex=e.featureIndex,e.rawTileData?(this.latestRawTileData=e.rawTileData,this.latestFeatureIndex.rawTileData=e.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=e.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e)return r;for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.layerIds.map(function(t){return e.getLayer(t)}).filter(Boolean);if(0!==o.length){a.layers=o;for(var s=0,l=o;s<l.length;s+=1)r[l[s].id]=a}}return r}(e.buckets,r.style),n)for(var i in this.buckets){var a=this.buckets[i];a instanceof t.default$14&&(a.justReloaded=!0)}for(var o in this.queryPadding=0,this.buckets){var s=this.buckets[o];this.queryPadding=Math.max(this.queryPadding,r.style.getLayer(s.layerIds[0]).queryRadius(s))}e.iconAtlasImage&&(this.iconAtlasImage=e.iconAtlasImage),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new t.CollisionBoxArray},st.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.iconAtlasTexture&&this.iconAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"},st.prototype.unloadDEMData=function(){this.dem=null,this.neighboringTiles=null,this.state=\"unloaded\"},st.prototype.getBucket=function(t){return this.buckets[t.id]},st.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploaded||(r.upload(t),r.uploaded=!0)}var n=t.gl;this.iconAtlasImage&&(this.iconAtlasTexture=new z(t,this.iconAtlasImage,n.RGBA),this.iconAtlasImage=null),this.glyphAtlasImage&&(this.glyphAtlasTexture=new z(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},st.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:e,scale:r,tileSize:this.tileSize,posMatrix:o,transform:i,params:n,queryPadding:this.queryPadding*a},t):{}},st.prototype.querySourceFeatures=function(e,r){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData){var n=this.latestFeatureIndex.loadVTLayers(),i=r?r.sourceLayer:\"\",a=n._geojsonTileLayer||n[i];if(a)for(var o=t.default$13(r&&r.filter),s={z:this.tileID.overscaledZ,x:this.tileID.canonical.x,y:this.tileID.canonical.y},l=0;l<a.length;l++){var c=a.feature(l);if(o(new t.default$16(this.tileID.overscaledZ),c)){var u=new t.default$12(c,s.z,s.x,s.y);u.tile=s,e.push(u)}}}},st.prototype.clearMask=function(){this.segments&&(this.segments.destroy(),delete this.segments),this.maskedBoundsBuffer&&(this.maskedBoundsBuffer.destroy(),delete this.maskedBoundsBuffer),this.maskedIndexBuffer&&(this.maskedIndexBuffer.destroy(),delete this.maskedIndexBuffer)},st.prototype.setMask=function(e,r){if(!t.default$10(this.mask,e)&&(this.mask=e,this.clearMask(),!t.default$10(e,{0:!0}))){var n=new t.RasterBoundsArray,i=new t.TriangleIndexArray;this.segments=new t.default$15,this.segments.prepareSegment(0,n,i);for(var a=Object.keys(e),o=0;o<a.length;o++){var s=e[a[o]],l=t.default$8>>s.z,c=new t.default$1(s.x*l,s.y*l),u=new t.default$1(c.x+l,c.y+l),f=this.segments.prepareSegment(4,n,i);n.emplaceBack(c.x,c.y,c.x,c.y),n.emplaceBack(u.x,c.y,u.x,c.y),n.emplaceBack(c.x,u.y,c.x,u.y),n.emplaceBack(u.x,u.y,u.x,u.y);var h=f.vertexLength;i.emplaceBack(h,h+1,h+2),i.emplaceBack(h+1,h+2,h+3),f.vertexLength+=4,f.primitiveLength+=2}this.maskedBoundsBuffer=r.createVertexBuffer(n,K.members),this.maskedIndexBuffer=r.createIndexBuffer(i)}},st.prototype.hasData=function(){return\"loaded\"===this.state||\"reloading\"===this.state||\"expired\"===this.state},st.prototype.setExpiryData=function(e){var r=this.expirationTime;if(e.cacheControl){var n=t.parseCacheControl(e.cacheControl);n[\"max-age\"]&&(this.expirationTime=Date.now()+1e3*n[\"max-age\"])}else e.expires&&(this.expirationTime=new Date(e.expires).getTime());if(this.expirationTime){var i=Date.now(),a=!1;if(this.expirationTime>i)a=!1;else if(r)if(this.expirationTime<r)a=!0;else{var o=this.expirationTime-r;o?this.expirationTime=i+Math.max(o,3e4):a=!0}else a=!0;a?(this.expiredRequestCount++,this.state=\"expired\"):this.expiredRequestCount=0}},st.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)};var lt=function(t,e){this.max=t,this.onRemove=e,this.reset()};lt.prototype.reset=function(){for(var t in this.data)for(var e=0,r=this.data[t];e<r.length;e+=1){var n=r[e];n.timeout&&clearTimeout(n.timeout),this.onRemove(n.value)}return this.data={},this.order=[],this},lt.prototype.add=function(t,e,r){var n=this,i=t.wrapped().key;void 0===this.data[i]&&(this.data[i]=[]);var a={value:e,timeout:void 0};if(void 0!==r&&(a.timeout=setTimeout(function(){n.remove(t,a)},r)),this.data[i].push(a),this.order.push(i),this.order.length>this.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},lt.prototype.has=function(t){return t.wrapped().key in this.data},lt.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},lt.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},lt.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},lt.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},lt.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this};var ct=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};ct.prototype.unbindVAO=function(){this.context.extVertexArrayObject&&this.context.bindVertexArrayOES.set(null)},ct.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},ct.prototype.updateData=function(t){var e=this.context.gl;this.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},ct.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var ut={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"},ft=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};ft.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},ft.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},ft.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],i=e.attributes[n.name];void 0!==i&&t.enableVertexAttribArray(i)}},ft.prototype.setVertexAttribPointers=function(t,e,r){for(var n=0;n<this.attributes.length;n++){var i=this.attributes[n],a=e.attributes[i.name];void 0!==a&&t.vertexAttribPointer(a,i.components,t[ut[i.type]],!1,this.itemSize,i.offset+this.itemSize*(r||0))}},ft.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var ht=function(e){this.context=e,this.current=t.default$6.transparent};ht.prototype.get=function(){return this.current},ht.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t)};var pt=function(t){this.context=t,this.current=1};pt.prototype.get=function(){return this.current},pt.prototype.set=function(t){this.current!==t&&(this.context.gl.clearDepth(t),this.current=t)};var dt=function(t){this.context=t,this.current=0};dt.prototype.get=function(){return this.current},dt.prototype.set=function(t){this.current!==t&&(this.context.gl.clearStencil(t),this.current=t)};var gt=function(t){this.context=t,this.current=[!0,!0,!0,!0]};gt.prototype.get=function(){return this.current},gt.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t)};var mt=function(t){this.context=t,this.current=!0};mt.prototype.get=function(){return this.current},mt.prototype.set=function(t){this.current!==t&&(this.context.gl.depthMask(t),this.current=t)};var vt=function(t){this.context=t,this.current=255};vt.prototype.get=function(){return this.current},vt.prototype.set=function(t){this.current!==t&&(this.context.gl.stencilMask(t),this.current=t)};var yt=function(t){this.context=t,this.current={func:t.gl.ALWAYS,ref:0,mask:255}};yt.prototype.get=function(){return this.current},yt.prototype.set=function(t){var e=this.current;t.func===e.func&&t.ref===e.ref&&t.mask===e.mask||(this.context.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t)};var xt=function(t){this.context=t;var e=this.context.gl;this.current=[e.KEEP,e.KEEP,e.KEEP]};xt.prototype.get=function(){return this.current},xt.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]||(this.context.gl.stencilOp(t[0],t[1],t[2]),this.current=t)};var bt=function(t){this.context=t,this.current=!1};bt.prototype.get=function(){return this.current},bt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t}};var _t=function(t){this.context=t,this.current=[0,1]};_t.prototype.get=function(){return this.current},_t.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.depthRange(t[0],t[1]),this.current=t)};var wt=function(t){this.context=t,this.current=!1};wt.prototype.get=function(){return this.current},wt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t}};var kt=function(t){this.context=t,this.current=t.gl.LESS};kt.prototype.get=function(){return this.current},kt.prototype.set=function(t){this.current!==t&&(this.context.gl.depthFunc(t),this.current=t)};var Mt=function(t){this.context=t,this.current=!1};Mt.prototype.get=function(){return this.current},Mt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t}};var At=function(t){this.context=t;var e=this.context.gl;this.current=[e.ONE,e.ZERO]};At.prototype.get=function(){return this.current},At.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]||(this.context.gl.blendFunc(t[0],t[1]),this.current=t)};var Tt=function(e){this.context=e,this.current=t.default$6.transparent};Tt.prototype.get=function(){return this.current},Tt.prototype.set=function(t){var e=this.current;t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a||(this.context.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t)};var St=function(t){this.context=t,this.current=null};St.prototype.get=function(){return this.current},St.prototype.set=function(t){this.current!==t&&(this.context.gl.useProgram(t),this.current=t)};var Et=function(t){this.context=t,this.current=1};Et.prototype.get=function(){return this.current},Et.prototype.set=function(e){var r=this.context.lineWidthRange,n=t.clamp(e,r[0],r[1]);this.current!==n&&(this.context.gl.lineWidth(n),this.current=e)};var Ct=function(t){this.context=t,this.current=t.gl.TEXTURE0};Ct.prototype.get=function(){return this.current},Ct.prototype.set=function(t){this.current!==t&&(this.context.gl.activeTexture(t),this.current=t)};var Lt=function(t){this.context=t;var e=this.context.gl;this.current=[0,0,e.drawingBufferWidth,e.drawingBufferHeight]};Lt.prototype.get=function(){return this.current},Lt.prototype.set=function(t){var e=this.current;t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]||(this.context.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t)};var zt=function(t){this.context=t,this.current=null};zt.prototype.get=function(){return this.current},zt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t}};var Pt=function(t){this.context=t,this.current=null};Pt.prototype.get=function(){return this.current},Pt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t}};var Ot=function(t){this.context=t,this.current=null};Ot.prototype.get=function(){return this.current},Ot.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t}};var It=function(t){this.context=t,this.current=null};It.prototype.get=function(){return this.current},It.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t}};var Dt=function(t){this.context=t,this.current=null};Dt.prototype.get=function(){return this.current},Dt.prototype.set=function(t){var e=this.context.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t};var Rt=function(t){this.context=t,this.current=null};Rt.prototype.get=function(){return this.current},Rt.prototype.set=function(t){this.current!==t&&this.context.extVertexArrayObject&&(this.context.extVertexArrayObject.bindVertexArrayOES(t),this.current=t)};var Bt=function(t){this.context=t,this.current=4};Bt.prototype.get=function(){return this.current},Bt.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t}};var Ft=function(t){this.context=t,this.current=!1};Ft.prototype.get=function(){return this.current},Ft.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t}};var Nt=function(t,e){this.context=t,this.current=null,this.parent=e};Nt.prototype.get=function(){return this.current};var jt=function(t){function e(e,r){t.call(this,e,r),this.dirty=!1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.dirty||this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e.prototype.setDirty=function(){this.dirty=!0},e}(Nt),Vt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(this.current!==t){var e=this.context.gl;this.context.bindFramebuffer.set(this.parent),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t}},e}(Nt),Ut=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,i=this.framebuffer=n.createFramebuffer();this.colorAttachment=new jt(t,i),this.depthAttachment=new Vt(t,i)};Ut.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)};var qt=function(t,e,r){this.func=t,this.mask=e,this.range=r};qt.ReadOnly=!1,qt.ReadWrite=!0,qt.disabled=new qt(519,qt.ReadOnly,[0,1]);var Ht=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};Ht.disabled=new Ht({func:519,mask:0},0,0,7680,7680,7680);var Gt=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};Gt.disabled=new Gt(Gt.Replace=[1,0],t.default$6.transparent,[!1,!1,!1,!1]),Gt.unblended=new Gt(Gt.Replace,t.default$6.transparent,[!0,!0,!0,!0]),Gt.alphaBlended=new Gt([1,771],t.default$6.transparent,[!0,!0,!0,!0]);var Wt=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension(\"OES_vertex_array_object\"),this.lineWidthRange=t.getParameter(t.ALIASED_LINE_WIDTH_RANGE),this.clearColor=new ht(this),this.clearDepth=new pt(this),this.clearStencil=new dt(this),this.colorMask=new gt(this),this.depthMask=new mt(this),this.stencilMask=new vt(this),this.stencilFunc=new yt(this),this.stencilOp=new xt(this),this.stencilTest=new bt(this),this.depthRange=new _t(this),this.depthTest=new wt(this),this.depthFunc=new kt(this),this.blend=new Mt(this),this.blendFunc=new At(this),this.blendColor=new Tt(this),this.program=new St(this),this.lineWidth=new Et(this),this.activeTexture=new Ct(this),this.viewport=new Lt(this),this.bindFramebuffer=new zt(this),this.bindRenderbuffer=new Pt(this),this.bindTexture=new Ot(this),this.bindVertexBuffer=new It(this),this.bindElementBuffer=new Dt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new Rt(this),this.pixelStoreUnpack=new Bt(this),this.pixelStoreUnpackPremultiplyAlpha=new Ft(this),this.extTextureFilterAnisotropic=t.getExtension(\"EXT_texture_filter_anisotropic\")||t.getExtension(\"MOZ_EXT_texture_filter_anisotropic\")||t.getExtension(\"WEBKIT_EXT_texture_filter_anisotropic\"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension(\"OES_texture_half_float\"),this.extTextureHalfFloat&&t.getExtension(\"OES_texture_half_float_linear\")};Wt.prototype.createIndexBuffer=function(t,e){return new ct(this,t,e)},Wt.prototype.createVertexBuffer=function(t,e,r){return new ft(this,t,e,r)},Wt.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},Wt.prototype.createFramebuffer=function(t,e){return new Ut(this,t,e)},Wt.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},Wt.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},Wt.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},Wt.prototype.setColorMode=function(e){t.default$10(e.blendFunction,Gt.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)};var Yt=function(e){function r(t,r,n){var i=this;e.call(this),this.id=t,this.dispatcher=n,this.on(\"data\",function(t){\"source\"===t.dataType&&\"metadata\"===t.sourceDataType&&(i._sourceLoaded=!0),i._sourceLoaded&&!i._paused&&\"source\"===t.dataType&&\"content\"===t.sourceDataType&&(i.reload(),i.transform&&i.update(i.transform))}),this.on(\"error\",function(){i._sourceErrored=!0}),this._source=it(t,r,n,this),this._tiles={},this._cache=new lt(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._isIdRenderable=this._isIdRenderable.bind(this),this._coveredTiles={}}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},r.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},r.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;for(var t in this._tiles){var e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return!1}return!0},r.prototype.getSource=function(){return this._source},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}},r.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},r.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,function(){})},r.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,function(){})},r.prototype.serialize=function(){return this._source.serialize()},r.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._tiles)this._tiles[e].upload(t)},r.prototype.getIds=function(){var e=this;return Object.keys(this._tiles).map(Number).sort(function(r,n){var i=e._tiles[r].tileID,a=e._tiles[n].tileID,o=new t.default$1(i.canonical.x,i.canonical.y).rotate(e.transform.angle),s=new t.default$1(a.canonical.x,a.canonical.y).rotate(e.transform.angle);return i.overscaledZ-a.overscaledZ||s.y-o.y||s.x-o.x})},r.prototype.getRenderableIds=function(){return this.getIds().filter(this._isIdRenderable)},r.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0,{});return!!e&&this._isIdRenderable(e.tileID.key)},r.prototype._isIdRenderable=function(t){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]},r.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)this._reloadTile(t,\"reloading\")},r.prototype._reloadTile=function(t,e){var r=this._tiles[t];r&&(\"loading\"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)))},r.prototype._tileLoaded=function(e,r,n,i){if(i)return e.state=\"errored\",void(404!==i.status?this._source.fire(new t.ErrorEvent(i,{tile:e})):this.update(this.transform));e.timeAdded=a.now(),\"expired\"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),\"raster-dem\"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._source.fire(new t.Event(\"data\",{dataType:\"source\",tile:e,coord:e.tileID})),this.map&&(this.map.painter.tileExtentVAO.vao=null)},r.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),r=0;r<e.length;r++){var n=e[r];if(t.neighboringTiles&&t.neighboringTiles[n]){var i=this.getTileByID(n);a(t,i),a(i,t)}}function a(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,i=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},r.prototype._findLoadedChildren=function(t,e,r){var n=!1;for(var i in this._tiles){var a=this._tiles[i];if(!(r[i]||!a.hasData()||a.tileID.overscaledZ<=t.overscaledZ||a.tileID.overscaledZ>e)){var o=Math.pow(2,a.tileID.canonical.z-t.canonical.z);if(Math.floor(a.tileID.canonical.x/o)===t.canonical.x&&Math.floor(a.tileID.canonical.y/o)===t.canonical.y)for(r[i]=a.tileID,n=!0;a&&a.tileID.overscaledZ-1>t.overscaledZ;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);if(!s)break;(a=this._tiles[s.key])&&a.hasData()&&(delete r[i],r[s.key]=s)}}}return n},r.prototype.findLoadedParent=function(t,e,r){for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n);if(!i)return;var a=String(i.key),o=this._tiles[a];if(o&&o.hasData())return r[a]=i,o;if(this._cache.has(i))return r[a]=i,this._cache.get(i)}},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)}):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter(function(t){return n._source.hasTile(t)}))):i=[];var o,s=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),l=Math.max(s-r.maxOverzooming,this._source.minzoom),c=Math.max(s+r.maxUnderzooming,this._source.minzoom),u=this._updateRetainedTiles(i,s),f={};if(Zt(this._source.type))for(var h=Object.keys(u),p=0;p<h.length;p++){var d=h[p],g=u[d],m=n._tiles[d];if(m&&(void 0===m.fadeEndTime||m.fadeEndTime>=a.now())){n._findLoadedChildren(g,c,u)&&(u[d]=g);var v=n.findLoadedParent(g,l,f);v&&n._addTile(v.tileID)}}for(o in f)u[o]||(n._coveredTiles[o]=!0);for(o in f)u[o]=f[o];for(var y=t.keysDifference(this._tiles,u),x=0;x<y.length;x++)n._removeTile(y[x])}},r.prototype._updateRetainedTiles=function(t,e){for(var n={},i={},a=Math.max(e-r.maxOverzooming,this._source.minzoom),o=Math.max(e+r.maxUnderzooming,this._source.minzoom),s=0;s<t.length;s++){var l=t[s],c=this._addTile(l),u=!1;if(c.hasData())n[l.key]=l;else{u=c.wasRequested(),n[l.key]=l;var f=!0;if(e+1>this._source.maxzoom){var h=l.children(this._source.maxzoom)[0],p=this.getTile(h);p&&p.hasData()?n[h.key]=h:f=!1}else{this._findLoadedChildren(l,o,n);for(var d=l.children(this._source.maxzoom),g=0;g<d.length;g++)if(!n[d[g].key]){f=!1;break}}if(!f)for(var m=l.overscaledZ-1;m>=a;--m){var v=l.scaledTo(m);if(i[v.key])break;if(i[v.key]=!0,!(c=this.getTile(v))&&u&&(c=this._addTile(v)),c&&(n[v.key]=v,u=c.wasRequested(),c.hasData()))break}}}return n},r.prototype._addTile=function(e){var r=this._tiles[e.key];if(r)return r;(r=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,r),r.tileID=e);var n=Boolean(r);return n||(r=new st(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,this._tileLoaded.bind(this,r,e.key,r.state))),r?(r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.Event(\"dataloading\",{tile:r,coord:r.tileID,dataType:\"source\"})),r):null},r.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout(function(){r._reloadTile(t,\"expired\"),delete r._timers[t]},n))},r.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r){for(var n=[],i=this.getIds(),a=1/0,o=1/0,s=-1/0,l=-1/0,c=e[0].zoom,u=0;u<e.length;u++){var f=e[u];a=Math.min(a,f.column),o=Math.min(o,f.row),s=Math.max(s,f.column),l=Math.max(l,f.row)}for(var h=0;h<i.length;h++){var p=this._tiles[i[h]],d=p.tileID,g=Math.pow(2,this.transform.zoom-p.tileID.overscaledZ),m=r*p.queryPadding*t.default$8/p.tileSize/g,v=[Xt(d,new t.default$17(a,o,c)),Xt(d,new t.default$17(s,l,c))];if(v[0].x-m<t.default$8&&v[0].y-m<t.default$8&&v[1].x+m>=0&&v[1].y+m>=0){for(var y=[],x=0;x<e.length;x++)y.push(Xt(d,e[x]));n.push({tile:p,tileID:d,queryGeometry:[y],scale:g})}}return n},r.prototype.getVisibleCoordinates=function(){for(var t=this,e=this.getRenderableIds().map(function(e){return t._tiles[e].tileID}),r=0,n=e;r<n.length;r+=1){var i=n[r];i.posMatrix=t.transform.calculatePosMatrix(i.toUnwrapped())}return e},r.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(Zt(this._source.type))for(var t in this._tiles){var e=this._tiles[t];if(void 0!==e.fadeEndTime&&e.fadeEndTime>=a.now())return!0}return!1},r}(t.Evented);function Xt(e,r){var n=r.zoomTo(e.canonical.z);return new t.default$1((n.column-(e.canonical.x+e.wrap*Math.pow(2,e.canonical.z)))*t.default$8,(n.row-e.canonical.y)*t.default$8)}function Zt(t){return\"raster\"===t||\"image\"===t||\"video\"===t}function $t(){return new t.default.Worker(En.workerUrl)}Yt.maxOverzooming=10,Yt.maxUnderzooming=3;var Jt,Kt=function(){this.active={}};function Qt(e,r){var n={};for(var i in e)\"ref\"!==i&&(n[i]=e[i]);return t.default$18.forEach(function(t){t in r&&(n[t]=r[t])}),n}function te(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var n=0;n<t.length;n++)\"ref\"in t[n]&&(t[n]=Qt(t[n],e[t[n].ref]));return t}Kt.prototype.acquire=function(t){if(!this.workers){var e=En.workerCount;for(this.workers=[];this.workers.length<e;)this.workers.push(new $t)}return this.active[t]=!0,this.workers.slice()},Kt.prototype.release=function(t){delete this.active[t],0===Object.keys(this.active).length&&(this.workers.forEach(function(t){t.terminate()}),this.workers=null)};var ee={setStyle:\"setStyle\",addLayer:\"addLayer\",removeLayer:\"removeLayer\",setPaintProperty:\"setPaintProperty\",setLayoutProperty:\"setLayoutProperty\",setFilter:\"setFilter\",addSource:\"addSource\",removeSource:\"removeSource\",setGeoJSONSourceData:\"setGeoJSONSourceData\",setLayerZoomRange:\"setLayerZoomRange\",setLayerProperty:\"setLayerProperty\",setCenter:\"setCenter\",setZoom:\"setZoom\",setBearing:\"setBearing\",setPitch:\"setPitch\",setSprite:\"setSprite\",setGlyphs:\"setGlyphs\",setTransition:\"setTransition\",setLight:\"setLight\"};function re(t,e,r){r.push({command:ee.addSource,args:[t,e[t]]})}function ne(t,e,r){e.push({command:ee.removeSource,args:[t]}),r[t]=!0}function ie(t,e,r,n){ne(t,r,n),re(t,e,r)}function ae(e,r,n){var i;for(i in e[n])if(e[n].hasOwnProperty(i)&&\"data\"!==i&&!t.default$10(e[n][i],r[n][i]))return!1;for(i in r[n])if(r[n].hasOwnProperty(i)&&\"data\"!==i&&!t.default$10(e[n][i],r[n][i]))return!1;return!0}function oe(e,r,n,i,a,o){var s;for(s in r=r||{},e=e||{})e.hasOwnProperty(s)&&(t.default$10(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}));for(s in r)r.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.default$10(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}))}function se(t){return t.id}function le(t,e){return t[e.id]=e,t}var ce=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a<this.xCellCount*this.yCellCount;a++)n.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0};ce.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},ce.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},ce.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},ce.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},ce.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},ce.prototype._query=function(t,e,r,n,i){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var a=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var o=0;o<this.boxKeys.length;o++)a.push({key:this.boxKeys[o],x1:this.bboxes[4*o],y1:this.bboxes[4*o+1],x2:this.bboxes[4*o+2],y2:this.bboxes[4*o+3]});for(var s=0;s<this.circleKeys.length;s++){var l=this.circles[3*s],c=this.circles[3*s+1],u=this.circles[3*s+2];a.push({key:this.circleKeys[s],x1:l-u,y1:c-u,x2:l+u,y2:c+u})}}else{var f={hitTest:i,seenUids:{box:{},circle:{}}};this._forEachCell(t,e,r,n,this._queryCell,a,f)}return i?a.length>0:a},ce.prototype._queryCircle=function(t,e,r,n){var i=t-r,a=t+r,o=e-r,s=e+r;if(a<0||i>this.width||s<0||o>this.height)return!n&&[];var l=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,o,a,s,this._queryCellCircle,l,c),n?l.length>0:l},ce.prototype.query=function(t,e,r,n){return this._query(t,e,r,n,!1)},ce.prototype.hitTest=function(t,e,r,n){return this._query(t,e,r,n,!0)},ce.prototype.hitTestCircle=function(t,e,r){return this._queryCircle(t,e,r,!0)},ce.prototype._queryCell=function(t,e,r,n,i,a,o){var s=o.seenUids,l=this.boxCells[i];if(null!==l)for(var c=this.bboxes,u=0,f=l;u<f.length;u+=1){var h=f[u];if(!s.box[h]){s.box[h]=!0;var p=4*h;if(t<=c[p+2]&&e<=c[p+3]&&r>=c[p+0]&&n>=c[p+1]){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[h],x1:c[p],y1:c[p+1],x2:c[p+2],y2:c[p+3]})}}}var d=this.circleCells[i];if(null!==d)for(var g=this.circles,m=0,v=d;m<v.length;m+=1){var y=v[m];if(!s.circle[y]){s.circle[y]=!0;var x=3*y;if(this._circleAndRectCollide(g[x],g[x+1],g[x+2],t,e,r,n)){if(o.hitTest)return a.push(!0),!0;var b=g[x],_=g[x+1],w=g[x+2];a.push({key:this.circleKeys[y],x1:b-w,y1:_-w,x2:b+w,y2:_+w})}}}},ce.prototype._queryCellCircle=function(t,e,r,n,i,a,o){var s=o.circle,l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,f=0,h=c;f<h.length;f+=1){var p=h[f];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(this._circleAndRectCollide(s.x,s.y,s.radius,u[d+0],u[d+1],u[d+2],u[d+3]))return a.push(!0),!0}}var g=this.circleCells[i];if(null!==g)for(var m=this.circles,v=0,y=g;v<y.length;v+=1){var x=y[v];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circlesCollide(m[b],m[b+1],m[b+2],s.x,s.y,s.radius))return a.push(!0),!0}}},ce.prototype._forEachCell=function(t,e,r,n,i,a,o){for(var s=this._convertToXCellCoord(t),l=this._convertToYCellCoord(e),c=this._convertToXCellCoord(r),u=this._convertToYCellCoord(n),f=s;f<=c;f++)for(var h=l;h<=u;h++){var p=this.xCellCount*h+f;if(i.call(this,t,e,r,n,p,a,o))return}},ce.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},ce.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},ce.prototype._circlesCollide=function(t,e,r,n,i,a){var o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s},ce.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var f=l-s,h=u-c;return f*f+h*h<=r*r};var ue=t.default$19.layout;function fe(e,r,n,i,a){var o=t.mat4.identity(new Float32Array(16));return r?(t.mat4.identity(o),t.mat4.scale(o,o,[1/a,1/a,1]),n||t.mat4.rotateZ(o,o,i.angle)):(t.mat4.scale(o,o,[i.width/2,-i.height/2,1]),t.mat4.translate(o,o,[1,-1,0]),t.mat4.multiply(o,o,e)),o}function he(e,r,n,i,a){var o=t.mat4.identity(new Float32Array(16));return r?(t.mat4.multiply(o,o,e),t.mat4.scale(o,o,[a,a,1]),n||t.mat4.rotateZ(o,o,-i.angle)):(t.mat4.scale(o,o,[1,-1,1]),t.mat4.translate(o,o,[-1,-1,0]),t.mat4.scale(o,o,[2/i.width,2/i.height,1])),o}function pe(e,r){var n=[e.x,e.y,0,1];ke(n,n,r);var i=n[3];return{point:new t.default$1(n[0]/i,n[1]/i),signedDistanceFromCamera:i}}function de(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ge(e,r,n,i,a,o,s,l){var c=i?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom,ue.properties[i?\"text-size\":\"icon-size\"]),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=n.transform.width/n.transform.height,m=!1,v=0;v<d.length;v++){var y=d.get(v);if(y.hidden||y.writingMode===t.WritingMode.vertical&&!m)we(y.numGlyphs,h);else{m=!1;var x=[y.anchorX,y.anchorY,0,1];if(t.vec4.transformMat4(x,x,r),de(x,f)){var b=.5+x[3]/n.transform.cameraToCenterDistance*.5,_=t.evaluateSizeForFeature(c,u,y),w=s?_*b:_/b,k=new t.default$1(y.anchorX,y.anchorY),M=pe(k,a).point,A={},T=ye(y,w,!1,l,r,a,o,e.glyphOffsetArray,p,h,M,k,A,g);m=T.useVertical,(T.notEnoughRoom||m||T.needsFlipping&&ye(y,w,!0,l,r,a,o,e.glyphOffsetArray,p,h,M,k,A,g).notEnoughRoom)&&we(y.numGlyphs,h)}else we(y.numGlyphs,h)}}i?e.text.dynamicLayoutVertexBuffer.updateData(h):e.icon.dynamicLayoutVertexBuffer.updateData(h)}function me(t,e,r,n,i,a,o,s,l,c,u,f){var h=s.glyphStartIndex+s.numGlyphs,p=s.lineStartIndex,d=s.lineStartIndex+s.lineLength,g=e.getoffsetX(s.glyphStartIndex),m=e.getoffsetX(h-1),v=be(t*g,r,n,i,a,o,s.segment,p,d,l,c,u,f);if(!v)return null;var y=be(t*m,r,n,i,a,o,s.segment,p,d,l,c,u,f);return y?{first:v,last:y}:null}function ve(e,r,n,i){return e===t.WritingMode.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.y<n.y:r.x>n.x)?{needsFlipping:!0}:null}function ye(e,r,n,i,a,o,s,l,c,u,f,h,p,d){var g,m=r/24,v=e.lineOffsetX*r,y=e.lineOffsetY*r;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=me(m,l,v,y,n,f,h,e,c,o,p,!1);if(!w)return{notEnoughRoom:!0};var k=pe(w.first.point,s).point,M=pe(w.last.point,s).point;if(i&&!n){var A=ve(e.writingMode,k,M,d);if(A)return A}g=[w.first];for(var T=e.glyphStartIndex+1;T<x-1;T++)g.push(be(m*l.getoffsetX(T),v,y,n,f,h,e.segment,b,_,c,o,p,!1));g.push(w.last)}else{if(i&&!n){var S=pe(h,a).point,E=e.lineStartIndex+e.segment+1,C=new t.default$1(c.getx(E),c.gety(E)),L=pe(C,a),z=L.signedDistanceFromCamera>0?L.point:xe(h,C,S,1,a),P=ve(e.writingMode,S,z,d);if(P)return P}var O=be(m*l.getoffsetX(e.glyphStartIndex),v,y,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p,!1);if(!O)return{notEnoughRoom:!0};g=[O]}for(var I=0,D=g;I<D.length;I+=1){var R=D[I];t.addDynamicAttributes(u,R.point,R.angle)}return{}}function xe(t,e,r,n,i){var a=pe(t.add(t.sub(e)._unit()),i).point,o=r.sub(a);return r.add(o._mult(n/o.mag()))}function be(e,r,n,i,a,o,s,l,c,u,f,h,p){var d=i?e-r:e+r,g=d>0?1:-1,m=0;i&&(g*=-1,m=Math.PI),g<0&&(m+=Math.PI);for(var v=g>0?l+s:l+s+1,y=v,x=a,b=a,_=0,w=0,k=Math.abs(d);_+w<=k;){if((v+=g)<l||v>=c)return null;if(b=x,void 0===(x=h[v])){var M=new t.default$1(u.getx(v),u.gety(v)),A=pe(M,f);if(A.signedDistanceFromCamera>0)x=h[v]=A.point;else{var T=v-g;x=xe(0===_?o:new t.default$1(u.getx(T),u.gety(T)),M,b,k-_+1,f)}}_+=w,w=b.dist(x)}var S=(k-_)/w,E=x.sub(b),C=E.mult(S)._add(b);return C._add(E._unit()._perp()._mult(n*g)),{point:C,angle:m+Math.atan2(x.y-b.y,x.x-b.x),tileDistance:p?{prevTileDistance:v-g===y?0:u.gettileUnitDistanceFromAnchor(v-g),lastSegmentViewportDistance:k-_}:null}}var _e=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function we(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(_e,3*n)}}function ke(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t[3]=r[3]*n+r[7]*i+r[15],t}t.default$20.mat4;var Me=function(t,e,r){void 0===e&&(e=new ce(t.width+200,t.height+200,25)),void 0===r&&(r=new ce(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=r,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100};function Ae(t,e,r){t[e+4]=r?1:0}function Te(e,r,n){return r*(t.default$8/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}Me.prototype.placeCollisionBox=function(t,e,r,n){var i=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),a=r*i.perspectiveRatio,o=t.x1*a+i.point.x,s=t.y1*a+i.point.y,l=t.x2*a+i.point.x,c=t.y2*a+i.point.y;return!e&&this.grid.hitTest(o,s,l,c)?{box:[],offscreen:!1}:{box:[o,s,l,c],offscreen:this.isOffscreen(o,s,l,c)}},Me.prototype.approximateTileDistance=function(t,e,r,n,i){var a=i?1:n/this.pitchfactor,o=t.lastSegmentViewportDistance*r;return t.prevTileDistance+o+(a-1)*o*Math.abs(Math.sin(e))},Me.prototype.placeCollisionCircles=function(e,r,n,i,a,o,s,l,c,u,f,h,p){var d=[],g=this.projectAnchor(u,o.anchorX,o.anchorY),m=c/24,v=o.lineOffsetX*c,y=o.lineOffsetY*c,x=new t.default$1(o.anchorX,o.anchorY),b=me(m,l,v,y,!1,pe(x,f).point,x,o,s,f,{},!0),_=!1,w=!0,k=g.perspectiveRatio*i,M=1/(i*n),A=0,T=0;b&&(A=this.approximateTileDistance(b.first.tileDistance,b.first.angle,M,g.cameraDistance,p),T=this.approximateTileDistance(b.last.tileDistance,b.last.angle,M,g.cameraDistance,p));for(var S=0;S<e.length;S+=5){var E=e[S],C=e[S+1],L=e[S+2],z=e[S+3];if(!b||z<-A||z>T)Ae(e,S,!1);else{var P=this.projectPoint(u,E,C),O=L*k;if(d.length>0){var I=P.x-d[d.length-4],D=P.y-d[d.length-3];if(O*O*2>I*I+D*D&&S+8<e.length){var R=e[S+8];if(R>-A&&R<T){Ae(e,S,!1);continue}}}var B=S/5;if(d.push(P.x,P.y,O,B),Ae(e,S,!0),w=w&&this.isOffscreen(P.x-O,P.y-O,P.x+O,P.y+O),!r&&this.grid.hitTestCircle(P.x,P.y,O)){if(!h)return{circles:[],offscreen:!1};_=!0}}}return{circles:_?[]:d,offscreen:w}},Me.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var r=[],n=1/0,i=1/0,a=-1/0,o=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],u=new t.default$1(c.x+100,c.y+100);n=Math.min(n,u.x),i=Math.min(i,u.y),a=Math.max(a,u.x),o=Math.max(o,u.y),r.push(u)}for(var f={},h={},p=0,d=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o));p<d.length;p+=1){var g=d[p],m=g.key;if(void 0===f[m.bucketInstanceId]&&(f[m.bucketInstanceId]={}),!f[m.bucketInstanceId][m.featureIndex]){var v=[new t.default$1(g.x1,g.y1),new t.default$1(g.x2,g.y1),new t.default$1(g.x2,g.y2),new t.default$1(g.x1,g.y2)];t.polygonIntersectsPolygon(r,v)&&(f[m.bucketInstanceId][m.featureIndex]=!0,void 0===h[m.bucketInstanceId]&&(h[m.bucketInstanceId]=[]),h[m.bucketInstanceId].push(m.featureIndex))}}return h},Me.prototype.insertCollisionBox=function(t,e,r,n){var i={bucketInstanceId:r,featureIndex:n};(e?this.ignoredGrid:this.grid).insert(i,t[0],t[1],t[2],t[3])},Me.prototype.insertCollisionCircles=function(t,e,r,n){for(var i=e?this.ignoredGrid:this.grid,a={bucketInstanceId:r,featureIndex:n},o=0;o<t.length;o+=4)i.insertCircle(a,t[o],t[o+1],t[o+2])},Me.prototype.projectAnchor=function(t,e,r){var n=[e,r,0,1];return ke(n,n,t),{perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5,cameraDistance:n[3]}},Me.prototype.projectPoint=function(e,r,n){var i=[r,n,0,1];return ke(i,i,e),new t.default$1((i[0]/i[3]+1)/2*this.transform.width+100,(-i[1]/i[3]+1)/2*this.transform.height+100)},Me.prototype.projectAndGetPerspectiveRatio=function(e,r,n){var i=[r,n,0,1];return ke(i,i,e),{point:new t.default$1((i[0]/i[3]+1)/2*this.transform.width+100,(-i[1]/i[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/i[3]*.5}},Me.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary};var Se=t.default$19.layout,Ee=function(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r};Ee.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var Ce=function(t,e,r,n,i){this.text=new Ee(t?t.text:null,e,r,i),this.icon=new Ee(t?t.icon:null,e,n,i)};Ce.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var Le=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},ze=function(t,e){this.transform=t.clone(),this.collisionIndex=new Me(this.transform),this.placements={},this.opacities={},this.stale=!1,this.fadeDuration=e,this.retainedQueryData={}};function Pe(t,e,r){t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0),t.emplaceBack(e?1:0,r?1:0)}ze.prototype.placeLayerTile=function(e,r,n,i){var a=r.getBucket(e),o=r.latestFeatureIndex;if(a&&o&&e.id===a.layerIds[0]){var s=r.collisionBoxArray,l=a.layers[0].layout,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),u=r.tileSize/t.default$8,f=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),h=fe(f,\"map\"===l.get(\"text-pitch-alignment\"),\"map\"===l.get(\"text-rotation-alignment\"),this.transform,Te(r,1,this.transform.zoom)),p=fe(f,\"map\"===l.get(\"icon-pitch-alignment\"),\"map\"===l.get(\"icon-rotation-alignment\"),this.transform,Te(r,1,this.transform.zoom));this.retainedQueryData[a.bucketInstanceId]=new function(t,e,r,n,i){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i}(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,r.tileID),this.placeLayerBucket(a,f,h,p,c,u,n,i,s)}},ze.prototype.placeLayerBucket=function(e,r,n,i,a,o,s,l,c){for(var u=e.layers[0].layout,f=t.evaluateSizeForZoom(e.textSizeData,this.transform.zoom,Se.properties[\"text-size\"]),h=!e.hasTextData()||u.get(\"text-optional\"),p=!e.hasIconData()||u.get(\"icon-optional\"),d=0,g=e.symbolInstances;d<g.length;d+=1){var m=g[d];if(!l[m.crossTileID]){var v=void 0!==m.feature.text,y=void 0!==m.feature.icon,x=!0,b=null,_=null,w=null,k=0,M=0;m.collisionArrays||(m.collisionArrays=e.deserializeCollisionBoxes(c,m.textBoxStartIndex,m.textBoxEndIndex,m.iconBoxStartIndex,m.iconBoxEndIndex)),m.collisionArrays.textFeatureIndex&&(k=m.collisionArrays.textFeatureIndex),m.collisionArrays.textBox&&(v=(b=this.collisionIndex.placeCollisionBox(m.collisionArrays.textBox,u.get(\"text-allow-overlap\"),o,r)).box.length>0,x=x&&b.offscreen);var A=m.collisionArrays.textCircles;if(A){var T=e.text.placedSymbolArray.get(m.placedTextSymbolIndices[0]),S=t.evaluateSizeForFeature(e.textSizeData,f,T);_=this.collisionIndex.placeCollisionCircles(A,u.get(\"text-allow-overlap\"),a,o,m.key,T,e.lineVertexArray,e.glyphOffsetArray,S,r,n,s,\"map\"===u.get(\"text-pitch-alignment\")),v=u.get(\"text-allow-overlap\")||_.circles.length>0,x=x&&_.offscreen}m.collisionArrays.iconFeatureIndex&&(M=m.collisionArrays.iconFeatureIndex),m.collisionArrays.iconBox&&(y=(w=this.collisionIndex.placeCollisionBox(m.collisionArrays.iconBox,u.get(\"icon-allow-overlap\"),o,r)).box.length>0,x=x&&w.offscreen),h||p?p?h||(y=y&&v):v=y&&v:y=v=y&&v,v&&b&&this.collisionIndex.insertCollisionBox(b.box,u.get(\"text-ignore-placement\"),e.bucketInstanceId,k),y&&w&&this.collisionIndex.insertCollisionBox(w.box,u.get(\"icon-ignore-placement\"),e.bucketInstanceId,M),v&&_&&this.collisionIndex.insertCollisionCircles(_.circles,u.get(\"text-ignore-placement\"),e.bucketInstanceId,k),this.placements[m.crossTileID]=new Le(v,y,x||e.justReloaded),l[m.crossTileID]=!0}}e.justReloaded=!1},ze.prototype.commit=function(t,e){this.commitTime=e;var r=!1,n=t&&0!==this.fadeDuration?(this.commitTime-t.commitTime)/this.fadeDuration:1,i=t?t.opacities:{};for(var a in this.placements){var o=this.placements[a],s=i[a];s?(this.opacities[a]=new Ce(s,n,o.text,o.icon),r=r||o.text!==s.text.placed||o.icon!==s.icon.placed):(this.opacities[a]=new Ce(null,n,o.text,o.icon,o.skipFade),r=r||o.text||o.icon)}for(var l in i){var c=i[l];if(!this.opacities[l]){var u=new Ce(c,n,!1,!1);u.isHidden()||(this.opacities[l]=u,r=r||c.text.placed||c.icon.placed)}}r?this.lastPlacementChangeTime=e:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=t?t.lastPlacementChangeTime:e)},ze.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.getBucket(t);o&&a.latestFeatureIndex&&t.id===o.layerIds[0]&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},ze.prototype.updateBucketOpacities=function(t,e,r){t.hasTextData()&&t.text.opacityVertexArray.clear(),t.hasIconData()&&t.icon.opacityVertexArray.clear(),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexArray.clear(),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexArray.clear();for(var n=t.layers[0].layout,i=new Ce(null,0,!1,!1,!0),a=new Ce(null,0,n.get(\"text-allow-overlap\"),n.get(\"icon-allow-overlap\"),!0),o=0;o<t.symbolInstances.length;o++){var s=t.symbolInstances[o],l=e[s.crossTileID],c=this.opacities[s.crossTileID];l?c=i:c||(c=a,this.opacities[s.crossTileID]=c),e[s.crossTileID]=!0;var u=s.numGlyphVertices>0||s.numVerticalGlyphVertices>0,f=s.numIconVertices>0;if(u){for(var h=je(c.text),p=(s.numGlyphVertices+s.numVerticalGlyphVertices)/4,d=0;d<p;d++)t.text.opacityVertexArray.emplaceBack(h);for(var g=0,m=s.placedTextSymbolIndices;g<m.length;g+=1){var v=m[g];t.text.placedSymbolArray.get(v).hidden=c.text.isHidden()}}if(f){for(var y=je(c.icon),x=0;x<s.numIconVertices/4;x++)t.icon.opacityVertexArray.emplaceBack(y);t.icon.placedSymbolArray.get(o).hidden=c.icon.isHidden()}s.collisionArrays||(s.collisionArrays=t.deserializeCollisionBoxes(r,s.textBoxStartIndex,s.textBoxEndIndex,s.iconBoxStartIndex,s.iconBoxEndIndex));var b=s.collisionArrays;if(b){b.textBox&&t.hasCollisionBoxData()&&Pe(t.collisionBox.collisionVertexArray,c.text.placed,!1),b.iconBox&&t.hasCollisionBoxData()&&Pe(t.collisionBox.collisionVertexArray,c.icon.placed,!1);var _=b.textCircles;if(_&&t.hasCollisionCircleData())for(var w=0;w<_.length;w+=5){var k=l||0===_[w+4];Pe(t.collisionCircle.collisionVertexArray,c.text.placed,k)}}}t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasCollisionBoxData()&&t.collisionBox.collisionVertexBuffer&&t.collisionBox.collisionVertexBuffer.updateData(t.collisionBox.collisionVertexArray),t.hasCollisionCircleData()&&t.collisionCircle.collisionVertexBuffer&&t.collisionCircle.collisionVertexBuffer.updateData(t.collisionCircle.collisionVertexArray)},ze.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration},ze.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},ze.prototype.stillRecent=function(t){return\"undefined\"!==this.commitTime&&this.commitTime+this.fadeDuration>t},ze.prototype.setStale=function(){this.stale=!0};var Oe=Math.pow(2,25),Ie=Math.pow(2,24),De=Math.pow(2,17),Re=Math.pow(2,16),Be=Math.pow(2,9),Fe=Math.pow(2,8),Ne=Math.pow(2,1);function je(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Oe+e*Ie+r*De+e*Re+r*Be+e*Fe+r*Ne+e}var Ve=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};Ve.prototype.continuePlacement=function(t,e,r,n,i){for(;this._currentTileIndex<t.length;){var a=t[this._currentTileIndex];if(e.placeLayerTile(n,a,r,this._seenCrossTileIDs),this._currentTileIndex++,i())return!0}};var Ue=function(t,e,r,n,i){this.placement=new ze(t,i),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};Ue.prototype.isDone=function(){return this._done},Ue.prototype.continuePlacement=function(t,e,r){for(var n=this,i=a.now(),o=function(){var t=a.now()-i;return!n._forceFullPlacement&&t>2};this._currentPlacementIndex>=0;){var s=e[t[n._currentPlacementIndex]],l=n.placement.collisionIndex.transform.zoom;if(\"symbol\"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(n._inProgressLayer||(n._inProgressLayer=new Ve),n._inProgressLayer.continuePlacement(r[s.source],n.placement,n._showCollisionBoxes,s,o))return;delete n._inProgressLayer}n._currentPlacementIndex--}this._done=!0},Ue.prototype.commit=function(t,e){return this.placement.commit(t,e),this.placement};var qe=512/t.default$8/2,He=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.key;this.indexedSymbolInstances[o]||(this.indexedSymbolInstances[o]=[]),this.indexedSymbolInstances[o].push({crossTileID:a.crossTileID,coord:this.getScaledCoordinates(a,t)})}};He.prototype.getScaledCoordinates=function(e,r){var n=r.canonical.z-this.tileID.canonical.z,i=qe/Math.pow(2,n),a=e.anchor;return{x:Math.floor((r.canonical.x*t.default$8+a.x)*i),y:Math.floor((r.canonical.y*t.default$8+a.y)*i)}},He.prototype.findMatches=function(t,e,r){for(var n=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),i=0,a=t;i<a.length;i+=1){var o=a[i];if(!o.crossTileID){var s=this.indexedSymbolInstances[o.key];if(s)for(var l=this.getScaledCoordinates(o,e),c=0,u=s;c<u.length;c+=1){var f=u[c];if(Math.abs(f.coord.x-l.x)<=n&&Math.abs(f.coord.y-l.y)<=n&&!r[f.crossTileID]){r[f.crossTileID]=!0,o.crossTileID=f.crossTileID;break}}}}};var Ge=function(){this.maxCrossTileID=0};Ge.prototype.generate=function(){return++this.maxCrossTileID};var We=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};We.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var r in this.indexes){var n=this.indexes[r],i={};for(var a in n){var o=n[a];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),i[o.tileID.key]=o}this.indexes[r]=i}this.lng=t},We.prototype.addBucket=function(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(var n=0,i=e.symbolInstances;n<i.length;n+=1)i[n].crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var a=this.usedCrossTileIDs[t.overscaledZ];for(var o in this.indexes){var s=this.indexes[o];if(Number(o)>t.overscaledZ)for(var l in s){var c=s[l];c.tileID.isChildOf(t)&&c.findMatches(e.symbolInstances,t,a)}else{var u=s[t.scaledTo(Number(o)).key];u&&u.findMatches(e.symbolInstances,t,a)}}for(var f=0,h=e.symbolInstances;f<h.length;f+=1){var p=h[f];p.crossTileID||(p.crossTileID=r.generate(),a[p.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new He(t,e.symbolInstances,e.bucketInstanceId),!0},We.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,i=e.indexedSymbolInstances[r];n<i.length;n+=1){var a=i[n];delete this.usedCrossTileIDs[t][a.crossTileID]}},We.prototype.removeStaleBuckets=function(t){var e=!1;for(var r in this.indexes){var n=this.indexes[r];for(var i in n)t[n[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,n[i]),delete n[i],e=!0)}return e};var Ye=function(){this.layerIndexes={},this.crossTileIDs=new Ge,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};Ye.prototype.addLayer=function(t,e,r){var n=this.layerIndexes[t.id];void 0===n&&(n=this.layerIndexes[t.id]=new We);var i=!1,a={};n.handleWrapJump(r);for(var o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),n.addBucket(l.tileID,c,this.crossTileIDs)&&(i=!0),a[c.bucketInstanceId]=!0)}return n.removeStaleBuckets(a)&&(i=!0),i},Ye.prototype.pruneUnusedLayers=function(t){var e={};for(var r in t.forEach(function(t){e[t]=!0}),this.layerIndexes)e[r]||delete this.layerIndexes[r]};var Xe=function(e,r){return t.emitValidationErrors(e,r&&r.filter(function(t){return\"source.canvas\"!==t.identifier}))},Ze=t.pick(ee,[\"addLayer\",\"removeLayer\",\"setPaintProperty\",\"setLayoutProperty\",\"setFilter\",\"addSource\",\"removeSource\",\"setLayerZoomRange\",\"setLight\",\"setTransition\",\"setGeoJSONSourceData\"]),$e=t.pick(ee,[\"setCenter\",\"setZoom\",\"setBearing\",\"setPitch\"]),Je=function(e){function r(n,i){var a=this;void 0===i&&(i={}),e.call(this),this.map=n,this.dispatcher=new q((Jt||(Jt=new Kt),Jt),this),this.imageManager=new P,this.glyphManager=new F(n._transformRequest,i.localIdeographFontFamily),this.lineAtlas=new U(256,512),this.crossTileSymbolIndex=new Ye,this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.default$23,this._loaded=!1,this._resetUpdates();var o=this;this._rtlTextPluginCallback=r.registerForPluginAvailability(function(t){for(var e in o.dispatcher.broadcast(\"loadRTLTextPlugin\",t.pluginURL,t.completionCallback),o.sourceCaches)o.sourceCaches[e].reload()}),this.on(\"data\",function(t){if(\"source\"===t.dataType&&\"metadata\"===t.sourceDataType){var e=a.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var n in a._layers){var i=a._layers[n];i.source===r.id&&a._validateLayer(i)}}}})}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadURL=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"}));var i=\"boolean\"==typeof r.validate?r.validate:!x(e);e=function(t,e){if(!x(t))return t;var r=A(t);return r.path=\"/styles/v1\"+r.path,y(r,e)}(e,r.accessToken);var a=this.map._transformRequest(e,t.ResourceType.Style);t.getJSON(a,function(e,r){e?n.fire(new t.ErrorEvent(e)):r&&n._load(r,i)})},r.prototype.loadJSON=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event(\"dataloading\",{dataType:\"style\"})),a.frame(function(){n._load(e,!1!==r.validate)})},r.prototype._load=function(e,r){var n=this;if(!r||!Xe(this,t.validateStyle(e))){for(var i in this._loaded=!0,this.stylesheet=e,e.sources)n.addSource(i,e.sources[i],{validate:!1});e.sprite?function(e,r,n){var i,o,s,l=a.devicePixelRatio>1?\"@2x\":\"\";function c(){if(s)n(s);else if(i&&o){var e=a.getImageData(o),r={};for(var l in i){var c=i[l],u=c.width,f=c.height,h=c.x,p=c.y,d=c.sdf,g=c.pixelRatio,m=new t.RGBAImage({width:u,height:f});t.RGBAImage.copy(e,m,{x:h,y:p},{x:0,y:0},{width:u,height:f}),r[l]={data:m,pixelRatio:g,sdf:d}}n(null,r)}}t.getJSON(r(_(e,l,\".json\"),t.ResourceType.SpriteJSON),function(t,e){s||(s=t,i=e,c())}),t.getImage(r(_(e,l,\".png\"),t.ResourceType.SpriteImage),function(t,e){s||(s=t,o=e,c())})}(e.sprite,this.map._transformRequest,function(e,r){if(e)n.fire(new t.ErrorEvent(e));else if(r)for(var i in r)n.imageManager.addImage(i,r[i]);n.imageManager.setLoaded(!0),n.fire(new t.Event(\"data\",{dataType:\"style\"}))}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var o=te(this.stylesheet.layers);this._order=o.map(function(t){return t.id}),this._layers={};for(var s=0,l=o;s<l.length;s+=1){var c=l[s];(c=t.default$22(c)).setEventedParent(n,{layer:{id:c.id}}),n._layers[c.id]=c}this.dispatcher.broadcast(\"setLayers\",this._serializeLayers(this._order)),this.light=new V(this.stylesheet.light),this.fire(new t.Event(\"data\",{dataType:\"style\"})),this.fire(new t.Event(\"style.load\"))}},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();(\"geojson\"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer \"'+n+'\" does not exist on source \"'+i.id+'\" as specified by style layer \"'+e.id+'\"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){var e=this;return t.map(function(t){return e._layers[t].serialize()})},r.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(var e in this._layers)if(this._layers[e].hasTransition())return!0;return!1},r.prototype._checkLoaded=function(){if(!this._loaded)throw new Error(\"Style is not done loading\")},r.prototype.update=function(e){if(this._loaded){if(this._changed){var r=Object.keys(this._updatedLayers),n=Object.keys(this._removedLayers);for(var i in(r.length||n.length)&&this._updateWorkerLayers(r,n),this._updatedSources){var a=this._updatedSources[i];\"reload\"===a?this._reloadSource(i):\"clear\"===a&&this._clearSource(i)}for(var o in this._updatedPaintProps)this._layers[o].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates(),this.fire(new t.Event(\"data\",{dataType:\"style\"}))}for(var s in this.sourceCaches)this.sourceCaches[s].used=!1;for(var l=0,c=this._order;l<c.length;l+=1){var u=c[l],f=this._layers[u];f.recalculate(e),!f.isHidden(e.zoom)&&f.source&&(this.sourceCaches[f.source].used=!0)}this.light.recalculate(e),this.z=e.zoom}},r.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast(\"updateLayers\",{layers:this._serializeLayers(t),removedIds:e})},r.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={}},r.prototype.setState=function(e){var r=this;if(this._checkLoaded(),Xe(this,t.validateStyle(e)))return!1;(e=t.clone(e)).layers=te(e.layers);var n=function(e,r){if(!e)return[{command:ee.setStyle,args:[r]}];var n=[];try{if(!t.default$10(e.version,r.version))return[{command:ee.setStyle,args:[r]}];t.default$10(e.center,r.center)||n.push({command:ee.setCenter,args:[r.center]}),t.default$10(e.zoom,r.zoom)||n.push({command:ee.setZoom,args:[r.zoom]}),t.default$10(e.bearing,r.bearing)||n.push({command:ee.setBearing,args:[r.bearing]}),t.default$10(e.pitch,r.pitch)||n.push({command:ee.setPitch,args:[r.pitch]}),t.default$10(e.sprite,r.sprite)||n.push({command:ee.setSprite,args:[r.sprite]}),t.default$10(e.glyphs,r.glyphs)||n.push({command:ee.setGlyphs,args:[r.glyphs]}),t.default$10(e.transition,r.transition)||n.push({command:ee.setTransition,args:[r.transition]}),t.default$10(e.light,r.light)||n.push({command:ee.setLight,args:[r.light]});var i={},a=[];!function(e,r,n,i){var a;for(a in r=r||{},e=e||{})e.hasOwnProperty(a)&&(r.hasOwnProperty(a)||ne(a,n,i));for(a in r)r.hasOwnProperty(a)&&(e.hasOwnProperty(a)?t.default$10(e[a],r[a])||(\"geojson\"===e[a].type&&\"geojson\"===r[a].type&&ae(e,r,a)?n.push({command:ee.setGeoJSONSourceData,args:[a,r[a].data]}):ie(a,r,n,i)):re(a,r,n))}(e.sources,r.sources,a,i);var o=[];e.layers&&e.layers.forEach(function(t){i[t.source]?n.push({command:ee.removeLayer,args:[t.id]}):o.push(t)}),n=n.concat(a),function(e,r,n){r=r||[];var i,a,o,s,l,c,u,f=(e=e||[]).map(se),h=r.map(se),p=e.reduce(le,{}),d=r.reduce(le,{}),g=f.slice(),m=Object.create(null);for(i=0,a=0;i<f.length;i++)o=f[i],d.hasOwnProperty(o)?a++:(n.push({command:ee.removeLayer,args:[o]}),g.splice(g.indexOf(o,a),1));for(i=0,a=0;i<h.length;i++)o=h[h.length-1-i],g[g.length-1-i]!==o&&(p.hasOwnProperty(o)?(n.push({command:ee.removeLayer,args:[o]}),g.splice(g.lastIndexOf(o,g.length-a),1)):a++,c=g[g.length-i],n.push({command:ee.addLayer,args:[d[o],c]}),g.splice(g.length-i,0,o),m[o]=!0);for(i=0;i<h.length;i++)if(s=p[o=h[i]],l=d[o],!m[o]&&!t.default$10(s,l))if(t.default$10(s.source,l.source)&&t.default$10(s[\"source-layer\"],l[\"source-layer\"])&&t.default$10(s.type,l.type)){for(u in oe(s.layout,l.layout,n,o,null,ee.setLayoutProperty),oe(s.paint,l.paint,n,o,null,ee.setPaintProperty),t.default$10(s.filter,l.filter)||n.push({command:ee.setFilter,args:[o,l.filter]}),t.default$10(s.minzoom,l.minzoom)&&t.default$10(s.maxzoom,l.maxzoom)||n.push({command:ee.setLayerZoomRange,args:[o,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?oe(s[u],l[u],n,o,u.slice(6),ee.setPaintProperty):t.default$10(s[u],l[u])||n.push({command:ee.setLayerProperty,args:[o,u,l[u]]}));for(u in l)l.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&\"layout\"!==u&&\"paint\"!==u&&\"filter\"!==u&&\"metadata\"!==u&&\"minzoom\"!==u&&\"maxzoom\"!==u&&(0===u.indexOf(\"paint.\")?oe(s[u],l[u],n,o,u.slice(6),ee.setPaintProperty):t.default$10(s[u],l[u])||n.push({command:ee.setLayerProperty,args:[o,u,l[u]]}))}else n.push({command:ee.removeLayer,args:[o]}),c=g[g.lastIndexOf(o)+1],n.push({command:ee.addLayer,args:[l,c]})}(o,r.layers,n)}catch(t){console.warn(\"Unable to compute style diff:\",t),n=[{command:ee.setStyle,args:[r]}]}return n}(this.serialize(),e).filter(function(t){return!(t.command in $e)});if(0===n.length)return!1;var i=n.filter(function(t){return!(t.command in Ze)});if(i.length>0)throw new Error(\"Unimplemented: \"+i.map(function(t){return t.command}).join(\", \")+\".\");return n.forEach(function(t){\"setTransition\"!==t.command&&r[t.command].apply(r,t.args)}),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(e,r),this.fire(new t.Event(\"data\",{dataType:\"style\"}))},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(e),this.fire(new t.Event(\"data\",{dataType:\"style\"}))},r.prototype.addSource=function(e,r,n){var i=this;if(this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error(\"There is already a source with this ID\");if(!r.type)throw new Error(\"The type property must be defined, but the only the following properties were given: \"+Object.keys(r).join(\", \")+\".\");if(!([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,\"sources.\"+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Yt(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}}),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error(\"There is no source with this ID\");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source \"'+e+'\" cannot be removed while layer \"'+r+'\" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id \"'+i+'\" already exists on this map')));else if(\"object\"==typeof e.source&&(this.addSource(i,e.source),e=t.clone(e),e=t.extend(e,{source:i})),!this._validate(t.validateStyle.layer,\"layers.\"+i,e,{arrayIndex:-1},n)){var a=t.default$22(e);this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}});var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]=\"clear\":(this._updatedSources[a.source]=\"reload\",this.sourceCaches[a.source].pause())}this._updateLayer(a)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id \"'+r+'\" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be moved.\")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e]}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be removed.\")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot have zoom extent.\")))},r.prototype.setFilter=function(e,r){this._checkLoaded();var n=this.getLayer(e);if(n){if(!t.default$10(n.filter,r))return null==r?(n.filter=void 0,void this._updateLayer(n)):void(this._validate(t.validateStyle.filter,\"layers.\"+n.id+\".filter\",r)||(n.filter=t.clone(r),this._updateLayer(n)))}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be filtered.\")))},r.prototype.getFilter=function(e){return t.clone(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?t.default$10(i.getLayoutProperty(r),n)||(i.setLayoutProperty(r,n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getLayoutProperty=function(t,e){return this.getLayer(t).getLayoutProperty(e)},r.prototype.setPaintProperty=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.default$10(i.getPaintProperty(r),n)){var a=i._transitionablePaint._values[r].value.isDataDriven();i.setPaintProperty(r,n),(i._transitionablePaint._values[r].value.isDataDriven()||a)&&this._updateLayer(i),this._changed=!0,this._updatedPaintProps[e]=!0}}else this.fire(new t.ErrorEvent(new Error(\"The layer '\"+e+\"' does not exist in the map's style and cannot be styled.\")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){var e=this;return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,function(t){return t.serialize()}),layers:this._order.map(function(t){return e._layers[t].serialize()})},function(t){return void 0!==t})},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenRenderedFeatures=function(t){for(var e=[],r=this._order.length-1;r>=0;r--)for(var n=this._order[r],i=0,a=t;i<a.length;i+=1){var o=a[i][n];if(o)for(var s=0,l=o;s<l.length;s+=1){var c=l[s];e.push(c)}}return e},r.prototype.queryRenderedFeatures=function(e,r,n){r&&r.filter&&this._validate(t.validateStyle.filter,\"queryRenderedFeatures.filter\",r.filter);var i={};if(r&&r.layers){if(!Array.isArray(r.layers))return this.fire(new t.ErrorEvent(new Error(\"parameters.layers must be an Array.\"))),[];for(var a=0,o=r.layers;a<o.length;a+=1){var s=o[a],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error(\"The layer '\"+s+\"' does not exist in the map's style and cannot be queried for features.\"))),[];i[l.source]=!0}}var c=[];for(var u in this.sourceCaches)r.layers&&!i[u]||c.push(at(this.sourceCaches[u],this._layers,e.worldCoordinate,r,n));return this.placement&&c.push(function(t,e,r,n,i){for(var a={},o=n.queryRenderedSymbols(e),s=[],l=0,c=Object.keys(o).map(Number);l<c.length;l+=1){var u=c[l];s.push(i[u])}s.sort(ot);for(var f=function(){var e=p[h],n=e.featureIndex.lookupSymbolFeatures(o[e.bucketInstanceId],e.bucketIndex,e.sourceLayerIndex,r.filter,r.layers,t);for(var i in n){var s=a[i]=a[i]||[],l=n[i];l.sort(function(t,r){var n=e.featureSortOrder;if(n){var i=n.indexOf(t.featureIndex);return n.indexOf(r.featureIndex)-i}return r.featureIndex-t.featureIndex});for(var c=0,u=l;c<u.length;c+=1){var f=u[c];s.push(f.feature)}}},h=0,p=s;h<p.length;h+=1)f();return a}(this._layers,e.viewport,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenRenderedFeatures(c)},r.prototype.querySourceFeatures=function(e,r){r&&r.filter&&this._validate(t.validateStyle.filter,\"querySourceFeatures.filter\",r.filter);var n=this.sourceCaches[e];return n?function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,e))}return n}(n,r):[]},r.prototype.addSourceType=function(t,e,n){return r.getSourceType(t)?n(new Error('A source type called \"'+t+'\" already exists.')):(r.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast(\"loadWorkerSource\",{name:t,url:e.workerSourceURL},n):n(null,null))},r.prototype.getLight=function(){return this.light.getLight()},r.prototype.setLight=function(e){this._checkLoaded();var r=this.light.getLight(),n=!1;for(var i in e)if(!t.default$10(e[i],r[i])){n=!0;break}if(n){var o={now:a.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e),this.light.updateTransitions(o)}},r.prototype._validate=function(e,r,n,i,a){return(!a||!1!==a.validate)&&Xe(this,e.call(t.validateStyle,t.extend({key:r,style:this.serialize(),value:n,styleSpec:t.default$5},i)))},r.prototype._remove=function(){for(var e in t.evented.off(\"pluginAvailable\",this._rtlTextPluginCallback),this.sourceCaches)this.sourceCaches[e].clearTiles();this.dispatcher.remove()},r.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},r.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},r.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},r.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},r.prototype._updatePlacement=function(t,e,r){for(var n=!1,i=!1,o={},s=0,l=this._order;s<l.length;s+=1){var c=l[s],u=this._layers[c];if(\"symbol\"===u.type){if(!o[u.source]){var f=this.sourceCaches[u.source];o[u.source]=f.getRenderableIds().map(function(t){return f.getTileByID(t)}).sort(function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)})}var h=this.crossTileSymbolIndex.addLayer(u,o[u.source],t.center.lng);n=n||h}}this.crossTileSymbolIndex.pruneUnusedLayers(this._order);var p=this._layerOrderChanged;if((p||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(a.now()))&&(this.pauseablePlacement=new Ue(t,this._order,p,e,r),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,o),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(this.placement,a.now()),i=!0),n&&this.pauseablePlacement.placement.setStale()),i||n)for(var d=0,g=this._order;d<g.length;d+=1){var m=g[d],v=this._layers[m];\"symbol\"===v.type&&this.placement.updateLayerOpacities(v,o[v.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(a.now())},r.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r)},r.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},r}(t.Evented);Je.getSourceType=function(t){return nt[t]},Je.setSourceType=function(t,e){nt[t]=e},Je.registerForPluginAvailability=t.registerForPluginAvailability;var Ke=t.createLayout([{name:\"a_pos\",type:\"Int16\",components:2}]),Qe={prelude:{fragmentSource:\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\",vertexSource:\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n\\n#if !defined(highp)\\n#define highp\\n#endif\\n\\n#endif\\n\\n// Unpack a pair of values that have been packed into a single float.\\n// The packed values are assumed to be 8-bit unsigned integers, and are\\n// packed like so:\\n// packedValue = floor(input[0]) * 256 + input[1],\\nvec2 unpack_float(const float packedValue) {\\n    int packedIntValue = int(packedValue);\\n    int v0 = packedIntValue / 256;\\n    return vec2(v0, packedIntValue - v0 * 256);\\n}\\n\\nvec2 unpack_opacity(const float packedOpacity) {\\n    int intOpacity = int(packedOpacity) / 2;\\n    return vec2(float(intOpacity) / 127.0, mod(packedOpacity, 2.0));\\n}\\n\\n// To minimize the number of attributes needed, we encode a 4-component\\n// color into a pair of floats (i.e. a vec2) as follows:\\n// [ floor(color.r * 255) * 256 + color.g * 255,\\n//   floor(color.b * 255) * 256 + color.g * 255 ]\\nvec4 decode_color(const vec2 encodedColor) {\\n    return vec4(\\n        unpack_float(encodedColor[0]) / 255.0,\\n        unpack_float(encodedColor[1]) / 255.0\\n    );\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nfloat unpack_mix_vec2(const vec2 packedValue, const float t) {\\n    return mix(packedValue[0], packedValue[1], t);\\n}\\n\\n// Unpack a pair of paint values and interpolate between them.\\nvec4 unpack_mix_vec4(const vec4 packedColors, const float t) {\\n    vec4 minColor = decode_color(vec2(packedColors[0], packedColors[1]));\\n    vec4 maxColor = decode_color(vec2(packedColors[2], packedColors[3]));\\n    return mix(minColor, maxColor, t);\\n}\\n\\n// The offset depends on how many pixels are between the world origin and the edge of the tile:\\n// vec2 offset = mod(pixel_coord, size)\\n//\\n// At high zoom levels there are a ton of pixels between the world origin and the edge of the tile.\\n// The glsl spec only guarantees 16 bits of precision for highp floats. We need more than that.\\n//\\n// The pixel_coord is passed in as two 16 bit values:\\n// pixel_coord_upper = floor(pixel_coord / 2^16)\\n// pixel_coord_lower = mod(pixel_coord, 2^16)\\n//\\n// The offset is calculated in a series of steps that should preserve this precision:\\nvec2 get_pattern_pos(const vec2 pixel_coord_upper, const vec2 pixel_coord_lower,\\n    const vec2 pattern_size, const float tile_units_to_pixels, const vec2 pos) {\\n\\n    vec2 offset = mod(mod(mod(pixel_coord_upper, pattern_size) * 256.0, pattern_size) * 256.0 + pixel_coord_lower, pattern_size);\\n    return (tile_units_to_pixels * pos + offset) / pattern_size;\\n}\\n\"},background:{fragmentSource:\"uniform vec4 u_color;\\nuniform float u_opacity;\\n\\nvoid main() {\\n    gl_FragColor = u_color * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},backgroundPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\nuniform float u_opacity;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\nvoid main() {\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\n    vec4 color1 = texture2D(u_image, pos);\\n\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    gl_FragColor = mix(color1, color2, u_mix) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n}\\n\"},circle:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec3 v_data;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize mediump float radius\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize highp vec4 stroke_color\\n    #pragma mapbox: initialize mediump float stroke_width\\n    #pragma mapbox: initialize lowp float stroke_opacity\\n\\n    vec2 extrude = v_data.xy;\\n    float extrude_length = length(extrude);\\n\\n    lowp float antialiasblur = v_data.z;\\n    float antialiased_blur = -max(blur, antialiasblur);\\n\\n    float opacity_t = smoothstep(0.0, antialiased_blur, extrude_length - 1.0);\\n\\n    float color_t = stroke_width < 0.01 ? 0.0 : smoothstep(\\n        antialiased_blur,\\n        0.0,\\n        extrude_length - radius / (radius + stroke_width)\\n    );\\n\\n    gl_FragColor = opacity_t * mix(color * opacity, stroke_color * stroke_opacity, color_t);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform bool u_scale_with_map;\\nuniform bool u_pitch_with_map;\\nuniform vec2 u_extrude_scale;\\nuniform highp float u_camera_to_center_distance;\\n\\nattribute vec2 a_pos;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\n\\nvarying vec3 v_data;\\n\\nvoid main(void) {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize mediump float radius\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize highp vec4 stroke_color\\n    #pragma mapbox: initialize mediump float stroke_width\\n    #pragma mapbox: initialize lowp float stroke_opacity\\n\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\n    vec2 extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n    // in extrusion data\\n    vec2 circle_center = floor(a_pos * 0.5);\\n    if (u_pitch_with_map) {\\n        vec2 corner_position = circle_center;\\n        if (u_scale_with_map) {\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale;\\n        } else {\\n            // Pitching the circle with the map effectively scales it with the map\\n            // To counteract the effect for pitch-scale: viewport, we rescale the\\n            // whole circle based on the pitch scaling effect at its central point\\n            vec4 projected_center = u_matrix * vec4(circle_center, 0, 1);\\n            corner_position += extrude * (radius + stroke_width) * u_extrude_scale * (projected_center.w / u_camera_to_center_distance);\\n        }\\n\\n        gl_Position = u_matrix * vec4(corner_position, 0, 1);\\n    } else {\\n        gl_Position = u_matrix * vec4(circle_center, 0, 1);\\n\\n        if (u_scale_with_map) {\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * u_camera_to_center_distance;\\n        } else {\\n            gl_Position.xy += extrude * (radius + stroke_width) * u_extrude_scale * gl_Position.w;\\n        }\\n    }\\n\\n    // This is a minimum blur distance that serves as a faux-antialiasing for\\n    // the circle. since blur is a ratio of the circle's size and the intent is\\n    // to keep the blur at roughly 1px, the two are inversely related.\\n    lowp float antialiasblur = 1.0 / DEVICE_PIXEL_RATIO / (radius + stroke_width);\\n\\n    v_data = vec3(extrude.x, extrude.y, antialiasblur);\\n}\\n\"},clippingMask:{fragmentSource:\"void main() {\\n    gl_FragColor = vec4(1.0);\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},heatmap:{fragmentSource:\"#pragma mapbox: define highp float weight\\n\\nuniform highp float u_intensity;\\nvarying vec2 v_extrude;\\n\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\n#define GAUSS_COEF 0.3989422804014327\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp float weight\\n\\n    // Kernel density estimation with a Gaussian kernel of size 5x5\\n    float d = -0.5 * 3.0 * 3.0 * dot(v_extrude, v_extrude);\\n    float val = weight * u_intensity * GAUSS_COEF * exp(d);\\n\\n    gl_FragColor = vec4(val, 1.0, 1.0, 1.0);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\n\\nuniform mat4 u_matrix;\\nuniform float u_extrude_scale;\\nuniform float u_opacity;\\nuniform float u_intensity;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_extrude;\\n\\n// Effective \\\"0\\\" in the kernel density texture to adjust the kernel size to;\\n// this empirically chosen number minimizes artifacts on overlapping kernels\\n// for typical heatmap cases (assuming clustered source)\\nconst highp float ZERO = 1.0 / 255.0 / 16.0;\\n\\n// Gaussian kernel coefficient: 1 / sqrt(2 * PI)\\n#define GAUSS_COEF 0.3989422804014327\\n\\nvoid main(void) {\\n    #pragma mapbox: initialize highp float weight\\n    #pragma mapbox: initialize mediump float radius\\n\\n    // unencode the extrusion vector that we snuck into the a_pos vector\\n    vec2 unscaled_extrude = vec2(mod(a_pos, 2.0) * 2.0 - 1.0);\\n\\n    // This 'extrude' comes in ranging from [-1, -1], to [1, 1].  We'll use\\n    // it to produce the vertices of a square mesh framing the point feature\\n    // we're adding to the kernel density texture.  We'll also pass it as\\n    // a varying, so that the fragment shader can determine the distance of\\n    // each fragment from the point feature.\\n    // Before we do so, we need to scale it up sufficiently so that the\\n    // kernel falls effectively to zero at the edge of the mesh.\\n    // That is, we want to know S such that\\n    // weight * u_intensity * GAUSS_COEF * exp(-0.5 * 3.0^2 * S^2) == ZERO\\n    // Which solves to:\\n    // S = sqrt(-2.0 * log(ZERO / (weight * u_intensity * GAUSS_COEF))) / 3.0\\n    float S = sqrt(-2.0 * log(ZERO / weight / u_intensity / GAUSS_COEF)) / 3.0;\\n\\n    // Pass the varying in units of radius\\n    v_extrude = S * unscaled_extrude;\\n\\n    // Scale by radius and the zoom-based scale factor to produce actual\\n    // mesh position\\n    vec2 extrude = v_extrude * radius * u_extrude_scale;\\n\\n    // multiply a_pos by 0.5, since we had it * 2 in order to sneak\\n    // in extrusion data\\n    vec4 pos = vec4(floor(a_pos * 0.5) + extrude, 0, 1);\\n\\n    gl_Position = u_matrix * pos;\\n}\\n\"},heatmapTexture:{fragmentSource:\"uniform sampler2D u_image;\\nuniform sampler2D u_color_ramp;\\nuniform float u_opacity;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    float t = texture2D(u_image, v_pos).r;\\n    vec4 color = texture2D(u_color_ramp, vec2(t, 0.5));\\n    gl_FragColor = color * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\n\\n    v_pos.x = a_pos.x;\\n    v_pos.y = 1.0 - a_pos.y;\\n}\\n\"},collisionBox:{fragmentSource:\"\\nvarying float v_placed;\\nvarying float v_notUsed;\\n\\nvoid main() {\\n\\n    float alpha = 0.5;\\n\\n    // Red = collision, hide label\\n    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n\\n    // Blue = no collision, label is showing\\n    if (v_placed > 0.5) {\\n        gl_FragColor = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\n    }\\n\\n    if (v_notUsed > 0.5) {\\n        // This box not used, fade it out\\n        gl_FragColor *= .1;\\n    }\\n}\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_anchor_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_placed;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_extrude_scale;\\nuniform float u_camera_to_center_distance;\\n\\nvarying float v_placed;\\nvarying float v_notUsed;\\n\\nvoid main() {\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    highp float collision_perspective_ratio = clamp(\\n        0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance),\\n        0.0, // Prevents oversized near-field boxes in pitched/overzoomed tiles\\n        4.0);\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\n    gl_Position.xy += a_extrude * u_extrude_scale * gl_Position.w * collision_perspective_ratio;\\n\\n    v_placed = a_placed.x;\\n    v_notUsed = a_placed.y;\\n}\\n\"},collisionCircle:{fragmentSource:\"uniform float u_overscale_factor;\\n\\nvarying float v_placed;\\nvarying float v_notUsed;\\nvarying float v_radius;\\nvarying vec2 v_extrude;\\nvarying vec2 v_extrude_scale;\\n\\nvoid main() {\\n    float alpha = 0.5;\\n\\n    // Red = collision, hide label\\n    vec4 color = vec4(1.0, 0.0, 0.0, 1.0) * alpha;\\n\\n    // Blue = no collision, label is showing\\n    if (v_placed > 0.5) {\\n        color = vec4(0.0, 0.0, 1.0, 0.5) * alpha;\\n    }\\n\\n    if (v_notUsed > 0.5) {\\n        // This box not used, fade it out\\n        color *= .2;\\n    }\\n\\n    float extrude_scale_length = length(v_extrude_scale);\\n    float extrude_length = length(v_extrude) * extrude_scale_length;\\n    float stroke_width = 15.0 * extrude_scale_length / u_overscale_factor;\\n    float radius = v_radius * extrude_scale_length;\\n\\n    float distance_to_edge = abs(extrude_length - radius);\\n    float opacity_t = smoothstep(-stroke_width, 0.0, -distance_to_edge);\\n\\n    gl_FragColor = opacity_t * color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\nattribute vec2 a_anchor_pos;\\nattribute vec2 a_extrude;\\nattribute vec2 a_placed;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_extrude_scale;\\nuniform float u_camera_to_center_distance;\\n\\nvarying float v_placed;\\nvarying float v_notUsed;\\nvarying float v_radius;\\n\\nvarying vec2 v_extrude;\\nvarying vec2 v_extrude_scale;\\n\\nvoid main() {\\n    vec4 projectedPoint = u_matrix * vec4(a_anchor_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    highp float collision_perspective_ratio = clamp(\\n        0.5 + 0.5 * (u_camera_to_center_distance / camera_to_anchor_distance),\\n        0.0, // Prevents oversized near-field circles in pitched/overzoomed tiles\\n        4.0);\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0.0, 1.0);\\n\\n    highp float padding_factor = 1.2; // Pad the vertices slightly to make room for anti-alias blur\\n    gl_Position.xy += a_extrude * u_extrude_scale * padding_factor * gl_Position.w * collision_perspective_ratio;\\n\\n    v_placed = a_placed.x;\\n    v_notUsed = a_placed.y;\\n    v_radius = abs(a_extrude.y); // We don't pitch the circles, so both units of the extrusion vector are equal in magnitude to the radius\\n\\n    v_extrude = a_extrude * padding_factor;\\n    v_extrude_scale = u_extrude_scale * u_camera_to_center_distance * collision_perspective_ratio;\\n}\\n\"},debug:{fragmentSource:\"uniform highp vec4 u_color;\\n\\nvoid main() {\\n    gl_FragColor = u_color;\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fill:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_FragColor = color * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n}\\n\"},fillOutline:{fragmentSource:\"#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 outline_color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    float dist = length(v_pos - gl_FragCoord.xy);\\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\n    gl_FragColor = outline_color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"attribute vec2 a_pos;\\n\\nuniform mat4 u_matrix;\\nuniform vec2 u_world;\\n\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 outline_color\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillOutlinePattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\n    vec4 color1 = texture2D(u_image, pos);\\n\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    // find distance to outline for alpha interpolation\\n\\n    float dist = length(v_pos - gl_FragCoord.xy);\\n    float alpha = 1.0 - smoothstep(0.0, 1.0, dist);\\n\\n\\n    gl_FragColor = mix(color1, color2, u_mix) * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec2 v_pos;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n\\n    v_pos = (gl_Position.xy / gl_Position.w + 1.0) / 2.0 * u_world;\\n}\\n\"},fillPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\n    vec4 color1 = texture2D(u_image, pos);\\n\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    gl_FragColor = mix(color1, color2, u_mix) * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\n\\nattribute vec2 a_pos;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, a_pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, a_pos);\\n}\\n\"},fillExtrusion:{fragmentSource:\"varying vec4 v_color;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define highp vec4 color\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n    #pragma mapbox: initialize highp vec4 color\\n\\n    gl_FragColor = v_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_normal_ed;\\n\\nvarying vec4 v_color;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\n#pragma mapbox: define highp vec4 color\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n    #pragma mapbox: initialize highp vec4 color\\n\\n    vec3 normal = a_normal_ed.xyz;\\n\\n    base = max(0.0, base);\\n    height = max(0.0, height);\\n\\n    float t = mod(normal.x, 2.0);\\n\\n    gl_Position = u_matrix * vec4(a_pos, t > 0.0 ? height : base, 1);\\n\\n    // Relative luminance (how dark/bright is the surface color?)\\n    float colorvalue = color.r * 0.2126 + color.g * 0.7152 + color.b * 0.0722;\\n\\n    v_color = vec4(0.0, 0.0, 0.0, 1.0);\\n\\n    // Add slight ambient lighting so no extrusions are totally black\\n    vec4 ambientlight = vec4(0.03, 0.03, 0.03, 1.0);\\n    color += ambientlight;\\n\\n    // Calculate cos(theta), where theta is the angle between surface normal and diffuse light ray\\n    float directional = clamp(dot(normal / 16384.0, u_lightpos), 0.0, 1.0);\\n\\n    // Adjust directional so that\\n    // the range of values for highlight/shading is narrower\\n    // with lower light intensity\\n    // and with lighter/brighter surface colors\\n    directional = mix((1.0 - u_lightintensity), max((1.0 - colorvalue + u_lightintensity), 1.0), directional);\\n\\n    // Add gradient along z axis of side surfaces\\n    if (normal.y != 0.0) {\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n    }\\n\\n    // Assign final color based on surface + ambient light color, diffuse light directional, and light color\\n    // with lower bounds adjusted to hue of light\\n    // so that shading is tinted with the complementary (opposite) color to the light color\\n    v_color.r += clamp(color.r * directional * u_lightcolor.r, mix(0.0, 0.3, 1.0 - u_lightcolor.r), 1.0);\\n    v_color.g += clamp(color.g * directional * u_lightcolor.g, mix(0.0, 0.3, 1.0 - u_lightcolor.g), 1.0);\\n    v_color.b += clamp(color.b * directional * u_lightcolor.b, mix(0.0, 0.3, 1.0 - u_lightcolor.b), 1.0);\\n}\\n\"},fillExtrusionPattern:{fragmentSource:\"uniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_mix;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n\\n    vec2 imagecoord = mod(v_pos_a, 1.0);\\n    vec2 pos = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, imagecoord);\\n    vec4 color1 = texture2D(u_image, pos);\\n\\n    vec2 imagecoord_b = mod(v_pos_b, 1.0);\\n    vec2 pos2 = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, imagecoord_b);\\n    vec4 color2 = texture2D(u_image, pos2);\\n\\n    vec4 mixedColor = mix(color1, color2, u_mix);\\n\\n    gl_FragColor = mixedColor * v_lighting;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pixel_coord_upper;\\nuniform vec2 u_pixel_coord_lower;\\nuniform float u_scale_a;\\nuniform float u_scale_b;\\nuniform float u_tile_units_to_pixels;\\nuniform float u_height_factor;\\n\\nuniform vec3 u_lightcolor;\\nuniform lowp vec3 u_lightpos;\\nuniform lowp float u_lightintensity;\\n\\nattribute vec2 a_pos;\\nattribute vec4 a_normal_ed;\\n\\nvarying vec2 v_pos_a;\\nvarying vec2 v_pos_b;\\nvarying vec4 v_lighting;\\nvarying float v_directional;\\n\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float base\\n    #pragma mapbox: initialize lowp float height\\n\\n    vec3 normal = a_normal_ed.xyz;\\n    float edgedistance = a_normal_ed.w;\\n\\n    base = max(0.0, base);\\n    height = max(0.0, height);\\n\\n    float t = mod(normal.x, 2.0);\\n    float z = t > 0.0 ? height : base;\\n\\n    gl_Position = u_matrix * vec4(a_pos, z, 1);\\n\\n    vec2 pos = normal.x == 1.0 && normal.y == 0.0 && normal.z == 16384.0\\n        ? a_pos // extrusion top\\n        : vec2(edgedistance, z * u_height_factor); // extrusion side\\n\\n    v_pos_a = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_a * u_pattern_size_a, u_tile_units_to_pixels, pos);\\n    v_pos_b = get_pattern_pos(u_pixel_coord_upper, u_pixel_coord_lower, u_scale_b * u_pattern_size_b, u_tile_units_to_pixels, pos);\\n\\n    v_lighting = vec4(0.0, 0.0, 0.0, 1.0);\\n    float directional = clamp(dot(normal / 16383.0, u_lightpos), 0.0, 1.0);\\n    directional = mix((1.0 - u_lightintensity), max((0.5 + u_lightintensity), 1.0), directional);\\n\\n    if (normal.y != 0.0) {\\n        directional *= clamp((t + base) * pow(height / 150.0, 0.5), mix(0.7, 0.98, 1.0 - u_lightintensity), 1.0);\\n    }\\n\\n    v_lighting.rgb += clamp(directional * u_lightcolor, mix(vec3(0.0), vec3(0.3), 1.0 - u_lightcolor), vec3(1.0));\\n}\\n\"},extrusionTexture:{fragmentSource:\"uniform sampler2D u_image;\\nuniform float u_opacity;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_FragColor = texture2D(u_image, v_pos) * u_opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(0.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_world;\\nattribute vec2 a_pos;\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos * u_world, 0, 1);\\n\\n    v_pos.x = a_pos.x;\\n    v_pos.y = 1.0 - a_pos.y;\\n}\\n\"},hillshadePrepare:{fragmentSource:\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\n\\nuniform sampler2D u_image;\\nvarying vec2 v_pos;\\nuniform vec2 u_dimension;\\nuniform float u_zoom;\\nuniform float u_maxzoom;\\n\\nfloat getElevation(vec2 coord, float bias) {\\n    // Convert encoded elevation value to meters\\n    vec4 data = texture2D(u_image, coord) * 255.0;\\n    return (data.r + data.g * 256.0 + data.b * 256.0 * 256.0) / 4.0;\\n}\\n\\nvoid main() {\\n    vec2 epsilon = 1.0 / u_dimension;\\n\\n    // queried pixels:\\n    // +-----------+\\n    // |   |   |   |\\n    // | a | b | c |\\n    // |   |   |   |\\n    // +-----------+\\n    // |   |   |   |\\n    // | d | e | f |\\n    // |   |   |   |\\n    // +-----------+\\n    // |   |   |   |\\n    // | g | h | i |\\n    // |   |   |   |\\n    // +-----------+\\n\\n    float a = getElevation(v_pos + vec2(-epsilon.x, -epsilon.y), 0.0);\\n    float b = getElevation(v_pos + vec2(0, -epsilon.y), 0.0);\\n    float c = getElevation(v_pos + vec2(epsilon.x, -epsilon.y), 0.0);\\n    float d = getElevation(v_pos + vec2(-epsilon.x, 0), 0.0);\\n    float e = getElevation(v_pos, 0.0);\\n    float f = getElevation(v_pos + vec2(epsilon.x, 0), 0.0);\\n    float g = getElevation(v_pos + vec2(-epsilon.x, epsilon.y), 0.0);\\n    float h = getElevation(v_pos + vec2(0, epsilon.y), 0.0);\\n    float i = getElevation(v_pos + vec2(epsilon.x, epsilon.y), 0.0);\\n\\n    // here we divide the x and y slopes by 8 * pixel size\\n    // where pixel size (aka meters/pixel) is:\\n    // circumference of the world / (pixels per tile * number of tiles)\\n    // which is equivalent to: 8 * 40075016.6855785 / (512 * pow(2, u_zoom))\\n    // which can be reduced to: pow(2, 19.25619978527 - u_zoom)\\n    // we want to vertically exaggerate the hillshading though, because otherwise\\n    // it is barely noticeable at low zooms. to do this, we multiply this by some\\n    // scale factor pow(2, (u_zoom - u_maxzoom) * a) where a is an arbitrary value\\n    // Here we use a=0.3 which works out to the expression below. see \\n    // nickidlugash's awesome breakdown for more info\\n    // https://github.com/mapbox/mapbox-gl-js/pull/5286#discussion_r148419556\\n    float exaggeration = u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;\\n\\n    vec2 deriv = vec2(\\n        (c + f + f + i) - (a + d + d + g),\\n        (g + h + h + i) - (a + b + b + c)\\n    ) /  pow(2.0, (u_zoom - u_maxzoom) * exaggeration + 19.2562 - u_zoom);\\n\\n    gl_FragColor = clamp(vec4(\\n        deriv.x / 2.0 + 0.5,\\n        deriv.y / 2.0 + 0.5,\\n        1.0,\\n        1.0), 0.0, 1.0);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos = (a_texture_pos / 8192.0) / 2.0 + 0.25;\\n}\\n\"},hillshade:{fragmentSource:\"uniform sampler2D u_image;\\nvarying vec2 v_pos;\\n\\nuniform vec2 u_latrange;\\nuniform vec2 u_light;\\nuniform vec4 u_shadow;\\nuniform vec4 u_highlight;\\nuniform vec4 u_accent;\\n\\n#define PI 3.141592653589793\\n\\nvoid main() {\\n    vec4 pixel = texture2D(u_image, v_pos);\\n\\n    vec2 deriv = ((pixel.rg * 2.0) - 1.0);\\n\\n    // We divide the slope by a scale factor based on the cosin of the pixel's approximate latitude\\n    // to account for mercator projection distortion. see #4807 for details\\n    float scaleFactor = cos(radians((u_latrange[0] - u_latrange[1]) * (1.0 - v_pos.y) + u_latrange[1]));\\n    // We also multiply the slope by an arbitrary z-factor of 1.25\\n    float slope = atan(1.25 * length(deriv) / scaleFactor);\\n    float aspect = deriv.x != 0.0 ? atan(deriv.y, -deriv.x) : PI / 2.0 * (deriv.y > 0.0 ? 1.0 : -1.0);\\n\\n    float intensity = u_light.x;\\n    // We add PI to make this property match the global light object, which adds PI/2 to the light's azimuthal\\n    // position property to account for 0deg corresponding to north/the top of the viewport in the style spec\\n    // and the original shader was written to accept (-illuminationDirection - 90) as the azimuthal.\\n    float azimuth = u_light.y + PI;\\n\\n    // We scale the slope exponentially based on intensity, using a calculation similar to\\n    // the exponential interpolation function in the style spec:\\n    // https://github.com/mapbox/mapbox-gl-js/blob/master/src/style-spec/expression/definitions/interpolate.js#L217-L228\\n    // so that higher intensity values create more opaque hillshading.\\n    float base = 1.875 - intensity * 1.75;\\n    float maxValue = 0.5 * PI;\\n    float scaledSlope = intensity != 0.5 ? ((pow(base, slope) - 1.0) / (pow(base, maxValue) - 1.0)) * maxValue : slope;\\n\\n    // The accent color is calculated with the cosine of the slope while the shade color is calculated with the sine\\n    // so that the accent color's rate of change eases in while the shade color's eases out.\\n    float accent = cos(scaledSlope);\\n    // We multiply both the accent and shade color by a clamped intensity value\\n    // so that intensities >= 0.5 do not additionally affect the color values\\n    // while intensity values < 0.5 make the overall color more transparent.\\n    vec4 accent_color = (1.0 - accent) * u_accent * clamp(intensity * 2.0, 0.0, 1.0);\\n    float shade = abs(mod((aspect + azimuth) / PI + 0.5, 2.0) - 1.0);\\n    vec4 shade_color = mix(u_shadow, u_highlight, shade) * sin(scaledSlope) * clamp(intensity * 2.0, 0.0, 1.0);\\n    gl_FragColor = accent_color * (1.0 - shade_color.a) + shade_color;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    v_pos = a_texture_pos / 8192.0;\\n}\\n\"},line:{fragmentSource:\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_width2;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n    gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\nattribute vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_gamma_scale;\\nvarying highp float v_linesofar;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float width\\n\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n    v_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * 2.0;\\n\\n    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist = outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},lineGradient:{fragmentSource:\"\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_width2;\\nvarying vec2 v_normal;\\nvarying float v_gamma_scale;\\nvarying highp float v_lineprogress;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n    // For gradient lines, v_lineprogress is the ratio along the entire line,\\n    // scaled to [0, 2^15), and the gradient ramp is stored in a texture.\\n    vec4 color = texture2D(u_image, vec2(v_lineprogress, 0.5));\\n\\n    gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"\\n// the attribute conveying progress along a line is scaled to [0, 2^15)\\n#define MAX_LINE_DISTANCE 32767.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\n// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\nattribute vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_gamma_scale;\\nvarying highp float v_lineprogress;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float width\\n\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n\\n    v_lineprogress = (floor(a_data.z / 4.0) + a_data.w * 64.0) * 2.0 / MAX_LINE_DISTANCE;\\n\\n    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist = outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},linePattern:{fragmentSource:\"uniform vec2 u_pattern_size_a;\\nuniform vec2 u_pattern_size_b;\\nuniform vec2 u_pattern_tl_a;\\nuniform vec2 u_pattern_br_a;\\nuniform vec2 u_pattern_tl_b;\\nuniform vec2 u_pattern_br_b;\\nuniform vec2 u_texsize;\\nuniform float u_fade;\\n\\nuniform sampler2D u_image;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n    float x_a = mod(v_linesofar / u_pattern_size_a.x, 1.0);\\n    float x_b = mod(v_linesofar / u_pattern_size_b.x, 1.0);\\n\\n    // v_normal.y is 0 at the midpoint of the line, -1 at the lower edge, 1 at the upper edge\\n    // we clamp the line width outset to be between 0 and half the pattern height plus padding (2.0)\\n    // to ensure we don't sample outside the designated symbol on the sprite sheet.\\n    // 0.5 is added to shift the component to be bounded between 0 and 1 for interpolation of\\n    // the texture coordinate\\n    float y_a = 0.5 + (v_normal.y * clamp(v_width2.s, 0.0, (u_pattern_size_a.y + 2.0) / 2.0) / u_pattern_size_a.y);\\n    float y_b = 0.5 + (v_normal.y * clamp(v_width2.s, 0.0, (u_pattern_size_b.y + 2.0) / 2.0) / u_pattern_size_b.y);\\n    vec2 pos_a = mix(u_pattern_tl_a / u_texsize, u_pattern_br_a / u_texsize, vec2(x_a, y_a));\\n    vec2 pos_b = mix(u_pattern_tl_b / u_texsize, u_pattern_br_b / u_texsize, vec2(x_b, y_b));\\n\\n    vec4 color = mix(texture2D(u_image, pos_a), texture2D(u_image, pos_b), u_fade);\\n\\n    gl_FragColor = color * alpha * opacity;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying float v_linesofar;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize mediump float width\\n\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist = outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_linesofar = a_linesofar;\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},lineSDF:{fragmentSource:\"\\nuniform sampler2D u_image;\\nuniform float u_sdfgamma;\\nuniform float u_mix;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float width\\n    #pragma mapbox: initialize lowp float floorwidth\\n\\n    // Calculate the distance of the pixel from the line in pixels.\\n    float dist = length(v_normal) * v_width2.s;\\n\\n    // Calculate the antialiasing fade factor. This is either when fading in\\n    // the line in case of an offset line (v_width2.t) or when fading out\\n    // (v_width2.s)\\n    float blur2 = (blur + 1.0 / DEVICE_PIXEL_RATIO) * v_gamma_scale;\\n    float alpha = clamp(min(dist - (v_width2.t - blur2), v_width2.s - dist) / blur2, 0.0, 1.0);\\n\\n    float sdfdist_a = texture2D(u_image, v_tex_a).a;\\n    float sdfdist_b = texture2D(u_image, v_tex_b).a;\\n    float sdfdist = mix(sdfdist_a, sdfdist_b, u_mix);\\n    alpha *= smoothstep(0.5 - u_sdfgamma / floorwidth, 0.5 + u_sdfgamma / floorwidth, sdfdist);\\n\\n    gl_FragColor = color * (alpha * opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"// floor(127 / 2) == 63.0\\n// the maximum allowed miter limit is 2.0 at the moment. the extrude normal is\\n// stored in a byte (-128..127). we scale regular normals up to length 63, but\\n// there are also \\\"special\\\" normals that have a bigger length (of up to 126 in\\n// this case).\\n// #define scale 63.0\\n#define scale 0.015873016\\n\\n// We scale the distance before adding it to the buffers so that we can store\\n// long distances for long segments. Use this value to unscale the distance.\\n#define LINE_DISTANCE_SCALE 2.0\\n\\n// the distance over which the line edge fades out.\\n// Retina devices need a smaller distance to avoid aliasing.\\n#define ANTIALIASING 1.0 / DEVICE_PIXEL_RATIO / 2.0\\n\\nattribute vec4 a_pos_normal;\\nattribute vec4 a_data;\\n\\nuniform mat4 u_matrix;\\nuniform mediump float u_ratio;\\nuniform vec2 u_patternscale_a;\\nuniform float u_tex_y_a;\\nuniform vec2 u_patternscale_b;\\nuniform float u_tex_y_b;\\nuniform vec2 u_gl_units_to_pixels;\\n\\nvarying vec2 v_normal;\\nvarying vec2 v_width2;\\nvarying vec2 v_tex_a;\\nvarying vec2 v_tex_b;\\nvarying float v_gamma_scale;\\n\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 color\\n    #pragma mapbox: initialize lowp float blur\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize mediump float gapwidth\\n    #pragma mapbox: initialize lowp float offset\\n    #pragma mapbox: initialize mediump float width\\n    #pragma mapbox: initialize lowp float floorwidth\\n\\n    vec2 a_extrude = a_data.xy - 128.0;\\n    float a_direction = mod(a_data.z, 4.0) - 1.0;\\n    float a_linesofar = (floor(a_data.z / 4.0) + a_data.w * 64.0) * LINE_DISTANCE_SCALE;\\n\\n    vec2 pos = a_pos_normal.xy;\\n\\n    // x is 1 if it's a round cap, 0 otherwise\\n    // y is 1 if the normal points up, and -1 if it points down\\n    mediump vec2 normal = a_pos_normal.zw;\\n    v_normal = normal;\\n\\n    // these transformations used to be applied in the JS and native code bases.\\n    // moved them into the shader for clarity and simplicity.\\n    gapwidth = gapwidth / 2.0;\\n    float halfwidth = width / 2.0;\\n    offset = -1.0 * offset;\\n\\n    float inset = gapwidth + (gapwidth > 0.0 ? ANTIALIASING : 0.0);\\n    float outset = gapwidth + halfwidth * (gapwidth > 0.0 ? 2.0 : 1.0) + ANTIALIASING;\\n\\n    // Scale the extrusion vector down to a normal and then up by the line width\\n    // of this vertex.\\n    mediump vec2 dist =outset * a_extrude * scale;\\n\\n    // Calculate the offset when drawing a line that is to the side of the actual line.\\n    // We do this by creating a vector that points towards the extrude, but rotate\\n    // it when we're drawing round end points (a_direction = -1 or 1) since their\\n    // extrude vector points in another direction.\\n    mediump float u = 0.5 * a_direction;\\n    mediump float t = 1.0 - abs(u);\\n    mediump vec2 offset2 = offset * a_extrude * scale * normal.y * mat2(t, -u, u, t);\\n\\n    vec4 projected_extrude = u_matrix * vec4(dist / u_ratio, 0.0, 0.0);\\n    gl_Position = u_matrix * vec4(pos + offset2 / u_ratio, 0.0, 1.0) + projected_extrude;\\n\\n    // calculate how much the perspective view squishes or stretches the extrude\\n    float extrude_length_without_perspective = length(dist);\\n    float extrude_length_with_perspective = length(projected_extrude.xy / gl_Position.w * u_gl_units_to_pixels);\\n    v_gamma_scale = extrude_length_without_perspective / extrude_length_with_perspective;\\n\\n    v_tex_a = vec2(a_linesofar * u_patternscale_a.x / floorwidth, normal.y * u_patternscale_a.y + u_tex_y_a);\\n    v_tex_b = vec2(a_linesofar * u_patternscale_b.x / floorwidth, normal.y * u_patternscale_b.y + u_tex_y_b);\\n\\n    v_width2 = vec2(outset, inset);\\n}\\n\"},raster:{fragmentSource:\"uniform float u_fade_t;\\nuniform float u_opacity;\\nuniform sampler2D u_image0;\\nuniform sampler2D u_image1;\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nuniform float u_brightness_low;\\nuniform float u_brightness_high;\\n\\nuniform float u_saturation_factor;\\nuniform float u_contrast_factor;\\nuniform vec3 u_spin_weights;\\n\\nvoid main() {\\n\\n    // read and cross-fade colors from the main and parent tiles\\n    vec4 color0 = texture2D(u_image0, v_pos0);\\n    vec4 color1 = texture2D(u_image1, v_pos1);\\n    if (color0.a > 0.0) {\\n        color0.rgb = color0.rgb / color0.a;\\n    }\\n    if (color1.a > 0.0) {\\n        color1.rgb = color1.rgb / color1.a;\\n    }\\n    vec4 color = mix(color0, color1, u_fade_t);\\n    color.a *= u_opacity;\\n    vec3 rgb = color.rgb;\\n\\n    // spin\\n    rgb = vec3(\\n        dot(rgb, u_spin_weights.xyz),\\n        dot(rgb, u_spin_weights.zxy),\\n        dot(rgb, u_spin_weights.yzx));\\n\\n    // saturation\\n    float average = (color.r + color.g + color.b) / 3.0;\\n    rgb += (average - rgb) * u_saturation_factor;\\n\\n    // contrast\\n    rgb = (rgb - 0.5) * u_contrast_factor + 0.5;\\n\\n    // brightness\\n    vec3 u_high_vec = vec3(u_brightness_low, u_brightness_low, u_brightness_low);\\n    vec3 u_low_vec = vec3(u_brightness_high, u_brightness_high, u_brightness_high);\\n\\n    gl_FragColor = vec4(mix(u_high_vec, u_low_vec, rgb) * color.a, color.a);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"uniform mat4 u_matrix;\\nuniform vec2 u_tl_parent;\\nuniform float u_scale_parent;\\nuniform float u_buffer_scale;\\n\\nattribute vec2 a_pos;\\nattribute vec2 a_texture_pos;\\n\\nvarying vec2 v_pos0;\\nvarying vec2 v_pos1;\\n\\nvoid main() {\\n    gl_Position = u_matrix * vec4(a_pos, 0, 1);\\n    // We are using Int16 for texture position coordinates to give us enough precision for\\n    // fractional coordinates. We use 8192 to scale the texture coordinates in the buffer\\n    // as an arbitrarily high number to preserve adequate precision when rendering.\\n    // This is also the same value as the EXTENT we are using for our tile buffer pos coordinates,\\n    // so math for modifying either is consistent.\\n    v_pos0 = (((a_texture_pos / 8192.0) - 0.5) / u_buffer_scale ) + 0.5;\\n    v_pos1 = (v_pos0 * u_scale_parent) + u_tl_parent;\\n}\\n\"},symbolIcon:{fragmentSource:\"uniform sampler2D u_texture;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nvarying vec2 v_tex;\\nvarying float v_fade_opacity;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    lowp float alpha = opacity * v_fade_opacity;\\n    gl_FragColor = texture2D(u_texture, v_tex) * alpha;\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec4 a_data;\\nattribute vec3 a_projected_pos;\\nattribute float a_fade_opacity;\\n\\nuniform bool u_is_size_zoom_constant;\\nuniform bool u_is_size_feature_constant;\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\nuniform highp float u_size; // used when size is both zoom and feature constant\\nuniform highp float u_camera_to_center_distance;\\nuniform highp float u_pitch;\\nuniform bool u_rotate_symbol;\\nuniform highp float u_aspect_ratio;\\nuniform float u_fade_change;\\n\\n#pragma mapbox: define lowp float opacity\\n\\nuniform mat4 u_matrix;\\nuniform mat4 u_label_plane_matrix;\\nuniform mat4 u_gl_coord_matrix;\\n\\nuniform bool u_is_text;\\nuniform bool u_pitch_with_map;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_tex;\\nvarying float v_fade_opacity;\\n\\nvoid main() {\\n    #pragma mapbox: initialize lowp float opacity\\n\\n    vec2 a_pos = a_pos_offset.xy;\\n    vec2 a_offset = a_pos_offset.zw;\\n\\n    vec2 a_tex = a_data.xy;\\n    vec2 a_size = a_data.zw;\\n\\n    highp float segment_angle = -a_projected_pos[2];\\n\\n    float size;\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = a_size[0] / 10.0;\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\n        size = u_size;\\n    } else {\\n        size = u_size;\\n    }\\n\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    // See comments in symbol_sdf.vertex\\n    highp float distance_ratio = u_pitch_with_map ?\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\n    highp float perspective_ratio = clamp(\\n            0.5 + 0.5 * distance_ratio,\\n            0.0, // Prevents oversized near-field symbols in pitched/overzoomed tiles\\n            4.0);\\n\\n    size *= perspective_ratio;\\n\\n    float fontScale = u_is_text ? size / 24.0 : size;\\n\\n    highp float symbol_rotation = 0.0;\\n    if (u_rotate_symbol) {\\n        // See comments in symbol_sdf.vertex\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\n\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\n\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\n    }\\n\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\n\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 32.0 * fontScale), 0.0, 1.0);\\n\\n    v_tex = a_tex / u_texsize;\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\n    v_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\n}\\n\"},symbolSDF:{fragmentSource:\"#define SDF_PX 8.0\\n#define EDGE_GAMMA 0.105/DEVICE_PIXEL_RATIO\\n\\nuniform bool u_is_halo;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform sampler2D u_texture;\\nuniform highp float u_gamma_scale;\\nuniform bool u_is_text;\\n\\nvarying vec2 v_data0;\\nvarying vec3 v_data1;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 fill_color\\n    #pragma mapbox: initialize highp vec4 halo_color\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize lowp float halo_width\\n    #pragma mapbox: initialize lowp float halo_blur\\n\\n    vec2 tex = v_data0.xy;\\n    float gamma_scale = v_data1.x;\\n    float size = v_data1.y;\\n    float fade_opacity = v_data1[2];\\n\\n    float fontScale = u_is_text ? size / 24.0 : size;\\n\\n    lowp vec4 color = fill_color;\\n    highp float gamma = EDGE_GAMMA / (fontScale * u_gamma_scale);\\n    lowp float buff = (256.0 - 64.0) / 256.0;\\n    if (u_is_halo) {\\n        color = halo_color;\\n        gamma = (halo_blur * 1.19 / SDF_PX + EDGE_GAMMA) / (fontScale * u_gamma_scale);\\n        buff = (6.0 - halo_width / fontScale) / SDF_PX;\\n    }\\n\\n    lowp float dist = texture2D(u_texture, tex).a;\\n    highp float gamma_scaled = gamma * gamma_scale;\\n    highp float alpha = smoothstep(buff - gamma_scaled, buff + gamma_scaled, dist);\\n\\n    gl_FragColor = color * (alpha * opacity * fade_opacity);\\n\\n#ifdef OVERDRAW_INSPECTOR\\n    gl_FragColor = vec4(1.0);\\n#endif\\n}\\n\",vertexSource:\"const float PI = 3.141592653589793;\\n\\nattribute vec4 a_pos_offset;\\nattribute vec4 a_data;\\nattribute vec3 a_projected_pos;\\nattribute float a_fade_opacity;\\n\\n// contents of a_size vary based on the type of property value\\n// used for {text,icon}-size.\\n// For constants, a_size is disabled.\\n// For source functions, we bind only one value per vertex: the value of {text,icon}-size evaluated for the current feature.\\n// For composite functions:\\n// [ text-size(lowerZoomStop, feature),\\n//   text-size(upperZoomStop, feature) ]\\nuniform bool u_is_size_zoom_constant;\\nuniform bool u_is_size_feature_constant;\\nuniform highp float u_size_t; // used to interpolate between zoom stops when size is a composite function\\nuniform highp float u_size; // used when size is both zoom and feature constant\\n\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\n\\nuniform mat4 u_matrix;\\nuniform mat4 u_label_plane_matrix;\\nuniform mat4 u_gl_coord_matrix;\\n\\nuniform bool u_is_text;\\nuniform bool u_pitch_with_map;\\nuniform highp float u_pitch;\\nuniform bool u_rotate_symbol;\\nuniform highp float u_aspect_ratio;\\nuniform highp float u_camera_to_center_distance;\\nuniform float u_fade_change;\\n\\nuniform vec2 u_texsize;\\n\\nvarying vec2 v_data0;\\nvarying vec3 v_data1;\\n\\nvoid main() {\\n    #pragma mapbox: initialize highp vec4 fill_color\\n    #pragma mapbox: initialize highp vec4 halo_color\\n    #pragma mapbox: initialize lowp float opacity\\n    #pragma mapbox: initialize lowp float halo_width\\n    #pragma mapbox: initialize lowp float halo_blur\\n\\n    vec2 a_pos = a_pos_offset.xy;\\n    vec2 a_offset = a_pos_offset.zw;\\n\\n    vec2 a_tex = a_data.xy;\\n    vec2 a_size = a_data.zw;\\n\\n    highp float segment_angle = -a_projected_pos[2];\\n    float size;\\n\\n    if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = mix(a_size[0], a_size[1], u_size_t) / 10.0;\\n    } else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {\\n        size = a_size[0] / 10.0;\\n    } else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {\\n        size = u_size;\\n    } else {\\n        size = u_size;\\n    }\\n\\n    vec4 projectedPoint = u_matrix * vec4(a_pos, 0, 1);\\n    highp float camera_to_anchor_distance = projectedPoint.w;\\n    // If the label is pitched with the map, layout is done in pitched space,\\n    // which makes labels in the distance smaller relative to viewport space.\\n    // We counteract part of that effect by multiplying by the perspective ratio.\\n    // If the label isn't pitched with the map, we do layout in viewport space,\\n    // which makes labels in the distance larger relative to the features around\\n    // them. We counteract part of that effect by dividing by the perspective ratio.\\n    highp float distance_ratio = u_pitch_with_map ?\\n        camera_to_anchor_distance / u_camera_to_center_distance :\\n        u_camera_to_center_distance / camera_to_anchor_distance;\\n    highp float perspective_ratio = clamp(\\n        0.5 + 0.5 * distance_ratio,\\n        0.0, // Prevents oversized near-field symbols in pitched/overzoomed tiles\\n        4.0);\\n\\n    size *= perspective_ratio;\\n\\n    float fontScale = u_is_text ? size / 24.0 : size;\\n\\n    highp float symbol_rotation = 0.0;\\n    if (u_rotate_symbol) {\\n        // Point labels with 'rotation-alignment: map' are horizontal with respect to tile units\\n        // To figure out that angle in projected space, we draw a short horizontal line in tile\\n        // space, project it, and measure its angle in projected space.\\n        vec4 offsetProjectedPoint = u_matrix * vec4(a_pos + vec2(1, 0), 0, 1);\\n\\n        vec2 a = projectedPoint.xy / projectedPoint.w;\\n        vec2 b = offsetProjectedPoint.xy / offsetProjectedPoint.w;\\n\\n        symbol_rotation = atan((b.y - a.y) / u_aspect_ratio, b.x - a.x);\\n    }\\n\\n    highp float angle_sin = sin(segment_angle + symbol_rotation);\\n    highp float angle_cos = cos(segment_angle + symbol_rotation);\\n    mat2 rotation_matrix = mat2(angle_cos, -1.0 * angle_sin, angle_sin, angle_cos);\\n\\n    vec4 projected_pos = u_label_plane_matrix * vec4(a_projected_pos.xy, 0.0, 1.0);\\n    gl_Position = u_gl_coord_matrix * vec4(projected_pos.xy / projected_pos.w + rotation_matrix * (a_offset / 32.0 * fontScale), 0.0, 1.0);\\n    float gamma_scale = gl_Position.w;\\n\\n    vec2 tex = a_tex / u_texsize;\\n    vec2 fade_opacity = unpack_opacity(a_fade_opacity);\\n    float fade_change = fade_opacity[1] > 0.5 ? u_fade_change : -u_fade_change;\\n    float interpolated_fade_opacity = max(0.0, min(1.0, fade_opacity[0] + fade_change));\\n\\n    v_data0 = vec2(tex.x, tex.y);\\n    v_data1 = vec3(gamma_scale, size, interpolated_fade_opacity);\\n}\\n\"}},tr=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,er=function(t){var e=Qe[t],r={};e.fragmentSource=e.fragmentSource.replace(tr,function(t,e,n,i,a){return r[a]=!0,\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nvarying \"+n+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+n+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifdef HAS_UNIFORM_u_\"+a+\"\\n    \"+n+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"}),e.vertexSource=e.vertexSource.replace(tr,function(t,e,n,i,a){var o=\"float\"===i?\"vec2\":\"vec4\";return r[a]?\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float a_\"+a+\"_t;\\nattribute \"+n+\" \"+o+\" a_\"+a+\";\\nvarying \"+n+\" \"+i+\" \"+a+\";\\n#else\\nuniform \"+n+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+a+\" = unpack_mix_\"+o+\"(a_\"+a+\", a_\"+a+\"_t);\\n#else\\n    \"+n+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\":\"define\"===e?\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\nuniform lowp float a_\"+a+\"_t;\\nattribute \"+n+\" \"+o+\" a_\"+a+\";\\n#else\\nuniform \"+n+\" \"+i+\" u_\"+a+\";\\n#endif\\n\":\"\\n#ifndef HAS_UNIFORM_u_\"+a+\"\\n    \"+n+\" \"+i+\" \"+a+\" = unpack_mix_\"+o+\"(a_\"+a+\", a_\"+a+\"_t);\\n#else\\n    \"+n+\" \"+i+\" \"+a+\" = u_\"+a+\";\\n#endif\\n\"})};for(var rr in Qe)er(rr);var nr=Qe,ir=function(t,e,r,n){var i=t.gl;this.program=i.createProgram();var o=r.defines().concat(\"#define DEVICE_PIXEL_RATIO \"+a.devicePixelRatio.toFixed(1));n&&o.push(\"#define OVERDRAW_INSPECTOR;\");var s=o.concat(nr.prelude.fragmentSource,e.fragmentSource).join(\"\\n\"),l=o.concat(nr.prelude.vertexSource,e.vertexSource).join(\"\\n\"),c=i.createShader(i.FRAGMENT_SHADER);i.shaderSource(c,s),i.compileShader(c),i.attachShader(this.program,c);var u=i.createShader(i.VERTEX_SHADER);i.shaderSource(u,l),i.compileShader(u),i.attachShader(this.program,u);for(var f=r.layoutAttributes||[],h=0;h<f.length;h++)i.bindAttribLocation(this.program,h,f[h].name);i.linkProgram(this.program),this.numAttributes=i.getProgramParameter(this.program,i.ACTIVE_ATTRIBUTES),this.attributes={},this.uniforms={};for(var p=0;p<this.numAttributes;p++){var d=i.getActiveAttrib(this.program,p);d&&(this.attributes[d.name]=i.getAttribLocation(this.program,d.name))}for(var g=i.getProgramParameter(this.program,i.ACTIVE_UNIFORMS),m=0;m<g;m++){var v=i.getActiveUniform(this.program,m);v&&(this.uniforms[v.name]=i.getUniformLocation(this.program,v.name))}};function ar(e,r,n,i,a){for(var o=0;o<n.length;o++){var s=n[o];if(i.isLessThan(s.tileID))break;if(r.key===s.tileID.key)return;if(s.tileID.isChildOf(r)){for(var l=r.children(1/0),c=0;c<l.length;c++)ar(e,l[c],n.slice(o),i,a);return}}var u=r.overscaledZ-e.overscaledZ,f=new t.CanonicalTileID(u,r.canonical.x-(e.canonical.x<<u),r.canonical.y-(e.canonical.y<<u));a[f.key]=a[f.key]||f}function or(t,e,r,n,i){var a=t.context,o=a.gl,s=i?t.useProgram(\"collisionCircle\"):t.useProgram(\"collisionBox\");a.setDepthMode(qt.disabled),a.setStencilMode(Ht.disabled),a.setColorMode(t.colorModeForRenderPass());for(var l=0;l<n.length;l++){var c=n[l],u=e.getTile(c),f=u.getBucket(r);if(f){var h=i?f.collisionCircle:f.collisionBox;if(h){o.uniformMatrix4fv(s.uniforms.u_matrix,!1,c.posMatrix),i||a.lineWidth.set(1),o.uniform1f(s.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance);var p=Te(u,1,t.transform.zoom),d=Math.pow(2,t.transform.zoom-u.tileID.overscaledZ);o.uniform1f(s.uniforms.u_pixels_to_tile_units,p),o.uniform2f(s.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits[0]/(p*d),t.transform.pixelsToGLUnits[1]/(p*d)),o.uniform1f(s.uniforms.u_overscale_factor,u.tileID.overscaleFactor()),s.draw(a,i?o.TRIANGLES:o.LINES,r.id,h.layoutVertexBuffer,h.indexBuffer,h.segments,null,h.collisionVertexBuffer,null)}}}}ir.prototype.draw=function(t,e,r,n,i,a,o,s,l){for(var c,u=t.gl,f=(c={},c[u.LINES]=2,c[u.TRIANGLES]=3,c)[e],h=0,p=a.get();h<p.length;h+=1){var d=p[h],g=d.vaos||(d.vaos={});(g[r]||(g[r]=new Q)).bind(t,this,n,o?o.getPaintVertexBuffers():[],i,d.vertexOffset,s,l),u.drawElements(e,d.primitiveLength*f,u.UNSIGNED_SHORT,d.primitiveOffset*f*2)}};var sr=t.mat4.identity(new Float32Array(16)),lr=t.default$19.layout;function cr(t,e,r,n,i,a,o,s,l,c){var u,f=t.context,h=f.gl,p=t.transform,d=\"map\"===s,g=\"map\"===l,m=d&&\"line\"===r.layout.get(\"symbol-placement\"),v=d&&!g&&!m,y=g;f.setDepthMode(y?t.depthModeForSublayer(0,qt.ReadOnly):qt.disabled);for(var x=0,b=n;x<b.length;x+=1){var _=b[x],w=e.getTile(_),k=w.getBucket(r);if(k){var M=i?k.text:k.icon;if(M&&M.segments.get().length){var A=M.programConfigurations.get(r.id),T=i||k.sdfIcons,S=i?k.textSizeData:k.iconSizeData;if(u||(u=t.useProgram(T?\"symbolSDF\":\"symbolIcon\",A),A.setUniforms(t.context,u,r.paint,{zoom:t.transform.zoom}),ur(u,t,r,i,v,g,S)),f.activeTexture.set(h.TEXTURE0),h.uniform1i(u.uniforms.u_texture,0),i)w.glyphAtlasTexture.bind(h.LINEAR,h.CLAMP_TO_EDGE),h.uniform2fv(u.uniforms.u_texsize,w.glyphAtlasTexture.size);else{var E=1!==r.layout.get(\"icon-size\").constantOr(0)||k.iconsNeedLinear,C=g||0!==p.pitch;w.iconAtlasTexture.bind(T||t.options.rotating||t.options.zooming||E||C?h.LINEAR:h.NEAREST,h.CLAMP_TO_EDGE),h.uniform2fv(u.uniforms.u_texsize,w.iconAtlasTexture.size)}h.uniformMatrix4fv(u.uniforms.u_matrix,!1,t.translatePosMatrix(_.posMatrix,w,a,o));var L=Te(w,1,t.transform.zoom),z=fe(_.posMatrix,g,d,t.transform,L),P=he(_.posMatrix,g,d,t.transform,L);h.uniformMatrix4fv(u.uniforms.u_gl_coord_matrix,!1,t.translatePosMatrix(P,w,a,o,!0)),m?(h.uniformMatrix4fv(u.uniforms.u_label_plane_matrix,!1,sr),ge(k,_.posMatrix,t,i,z,P,g,c)):h.uniformMatrix4fv(u.uniforms.u_label_plane_matrix,!1,z),h.uniform1f(u.uniforms.u_fade_change,t.options.fadeDuration?t.symbolFadeChange:1),fr(u,A,t,r,w,M,i,T,g)}}}}function ur(e,r,n,i,a,o,s){var l=r.context.gl,c=r.transform;l.uniform1i(e.uniforms.u_pitch_with_map,o?1:0),l.uniform1f(e.uniforms.u_is_text,i?1:0),l.uniform1f(e.uniforms.u_pitch,c.pitch/360*2*Math.PI);var u=\"constant\"===s.functionType||\"source\"===s.functionType,f=\"constant\"===s.functionType||\"camera\"===s.functionType;l.uniform1i(e.uniforms.u_is_size_zoom_constant,u?1:0),l.uniform1i(e.uniforms.u_is_size_feature_constant,f?1:0),l.uniform1f(e.uniforms.u_camera_to_center_distance,c.cameraToCenterDistance);var h=t.evaluateSizeForZoom(s,c.zoom,lr.properties[i?\"text-size\":\"icon-size\"]);void 0!==h.uSizeT&&l.uniform1f(e.uniforms.u_size_t,h.uSizeT),void 0!==h.uSize&&l.uniform1f(e.uniforms.u_size,h.uSize),l.uniform1f(e.uniforms.u_aspect_ratio,c.width/c.height),l.uniform1i(e.uniforms.u_rotate_symbol,a?1:0)}function fr(t,e,r,n,i,a,o,s,l){var c=r.context,u=c.gl,f=r.transform;if(s){var h=0!==n.paint.get(o?\"text-halo-width\":\"icon-halo-width\").constantOr(1),p=l?Math.cos(f._pitch)*f.cameraToCenterDistance:1;u.uniform1f(t.uniforms.u_gamma_scale,p),h&&(u.uniform1f(t.uniforms.u_is_halo,1),hr(a,n,c,t)),u.uniform1f(t.uniforms.u_is_halo,0)}hr(a,n,c,t)}function hr(t,e,r,n){n.draw(r,r.gl.TRIANGLES,e.id,t.layoutVertexBuffer,t.indexBuffer,t.segments,t.programConfigurations.get(e.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function pr(t,e,r,n,i,o,s,l,c){var u,f,h,p,d=e.context,g=d.gl,m=i.paint.get(\"line-dasharray\"),v=i.paint.get(\"line-pattern\");if(l||c){var y=1/Te(r,1,e.transform.tileZoom);if(m){u=e.lineAtlas.getDash(m.from,\"round\"===i.layout.get(\"line-cap\")),f=e.lineAtlas.getDash(m.to,\"round\"===i.layout.get(\"line-cap\"));var x=u.width*m.fromScale,b=f.width*m.toScale;g.uniform2f(t.uniforms.u_patternscale_a,y/x,-u.height/2),g.uniform2f(t.uniforms.u_patternscale_b,y/b,-f.height/2),g.uniform1f(t.uniforms.u_sdfgamma,e.lineAtlas.width/(256*Math.min(x,b)*a.devicePixelRatio)/2)}else if(v){if(h=e.imageManager.getPattern(v.from),p=e.imageManager.getPattern(v.to),!h||!p)return;g.uniform2f(t.uniforms.u_pattern_size_a,h.displaySize[0]*v.fromScale/y,h.displaySize[1]),g.uniform2f(t.uniforms.u_pattern_size_b,p.displaySize[0]*v.toScale/y,p.displaySize[1]);var _=e.imageManager.getPixelSize(),w=_.width,k=_.height;g.uniform2fv(t.uniforms.u_texsize,[w,k])}g.uniform2f(t.uniforms.u_gl_units_to_pixels,1/e.transform.pixelsToGLUnits[0],1/e.transform.pixelsToGLUnits[1])}l&&(m?(g.uniform1i(t.uniforms.u_image,0),d.activeTexture.set(g.TEXTURE0),e.lineAtlas.bind(d),g.uniform1f(t.uniforms.u_tex_y_a,u.y),g.uniform1f(t.uniforms.u_tex_y_b,f.y),g.uniform1f(t.uniforms.u_mix,m.t)):v&&(g.uniform1i(t.uniforms.u_image,0),d.activeTexture.set(g.TEXTURE0),e.imageManager.bind(d),g.uniform2fv(t.uniforms.u_pattern_tl_a,h.tl),g.uniform2fv(t.uniforms.u_pattern_br_a,h.br),g.uniform2fv(t.uniforms.u_pattern_tl_b,p.tl),g.uniform2fv(t.uniforms.u_pattern_br_b,p.br),g.uniform1f(t.uniforms.u_fade,v.t))),d.setStencilMode(e.stencilModeForClipping(o));var M=e.translatePosMatrix(o.posMatrix,r,i.paint.get(\"line-translate\"),i.paint.get(\"line-translate-anchor\"));if(g.uniformMatrix4fv(t.uniforms.u_matrix,!1,M),g.uniform1f(t.uniforms.u_ratio,1/Te(r,1,e.transform.zoom)),i.paint.get(\"line-gradient\")){d.activeTexture.set(g.TEXTURE0);var A=i.gradientTexture;if(!i.gradient)return;A||(A=i.gradientTexture=new z(d,i.gradient,g.RGBA)),A.bind(g.LINEAR,g.CLAMP_TO_EDGE),g.uniform1i(t.uniforms.u_image,0)}t.draw(d,g.TRIANGLES,i.id,n.layoutVertexBuffer,n.indexBuffer,n.segments,s)}var dr=function(t,e){if(!t)return!1;var r=e.imageManager.getPattern(t.from),n=e.imageManager.getPattern(t.to);return!r||!n},gr=function(t,e,r){var n=e.context,i=n.gl,a=e.imageManager.getPattern(t.from),o=e.imageManager.getPattern(t.to);i.uniform1i(r.uniforms.u_image,0),i.uniform2fv(r.uniforms.u_pattern_tl_a,a.tl),i.uniform2fv(r.uniforms.u_pattern_br_a,a.br),i.uniform2fv(r.uniforms.u_pattern_tl_b,o.tl),i.uniform2fv(r.uniforms.u_pattern_br_b,o.br);var s=e.imageManager.getPixelSize(),l=s.width,c=s.height;i.uniform2fv(r.uniforms.u_texsize,[l,c]),i.uniform1f(r.uniforms.u_mix,t.t),i.uniform2fv(r.uniforms.u_pattern_size_a,a.displaySize),i.uniform2fv(r.uniforms.u_pattern_size_b,o.displaySize),i.uniform1f(r.uniforms.u_scale_a,t.fromScale),i.uniform1f(r.uniforms.u_scale_b,t.toScale),n.activeTexture.set(i.TEXTURE0),e.imageManager.bind(e.context)},mr=function(t,e,r){var n=e.context.gl;n.uniform1f(r.uniforms.u_tile_units_to_pixels,1/Te(t,1,e.transform.tileZoom));var i=Math.pow(2,t.tileID.overscaledZ),a=t.tileSize*Math.pow(2,e.transform.tileZoom)/i,o=a*(t.tileID.canonical.x+t.tileID.wrap*i),s=a*t.tileID.canonical.y;n.uniform2f(r.uniforms.u_pixel_coord_upper,o>>16,s>>16),n.uniform2f(r.uniforms.u_pixel_coord_lower,65535&o,65535&s)};function vr(t,e,r,n,i){if(!dr(r.paint.get(\"fill-pattern\"),t))for(var a=!0,o=0,s=n;o<s.length;o+=1){var l=s[o],c=e.getTile(l),u=c.getBucket(r);u&&(t.context.setStencilMode(t.stencilModeForClipping(l)),i(t,e,r,c,l,u,a),a=!1)}}function yr(t,e,r,n,i,a,o){var s=t.context.gl,l=a.programConfigurations.get(r.id);br(\"fill\",r.paint.get(\"fill-pattern\"),t,l,r,n,i,o).draw(t.context,s.TRIANGLES,r.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,l)}function xr(t,e,r,n,i,a,o){var s=t.context.gl,l=a.programConfigurations.get(r.id),c=br(\"fillOutline\",r.getPaintProperty(\"fill-outline-color\")?null:r.paint.get(\"fill-pattern\"),t,l,r,n,i,o);s.uniform2f(c.uniforms.u_world,s.drawingBufferWidth,s.drawingBufferHeight),c.draw(t.context,s.LINES,r.id,a.layoutVertexBuffer,a.indexBuffer2,a.segments2,l)}function br(t,e,r,n,i,a,o,s){var l,c=r.context.program.get();return e?(l=r.useProgram(t+\"Pattern\",n),(s||l.program!==c)&&(n.setUniforms(r.context,l,i.paint,{zoom:r.transform.zoom}),gr(e,r,l)),mr(a,r,l)):(l=r.useProgram(t,n),(s||l.program!==c)&&n.setUniforms(r.context,l,i.paint,{zoom:r.transform.zoom})),r.context.gl.uniformMatrix4fv(l.uniforms.u_matrix,!1,r.translatePosMatrix(o.posMatrix,a,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"))),l}var _r=t.default$20.mat3,wr=t.default$20.mat4,kr=t.default$20.vec3;function Mr(t,e,r,n,i,a,o){var s=t.context,l=s.gl,c=r.paint.get(\"fill-extrusion-pattern\"),u=t.context.program.get(),f=a.programConfigurations.get(r.id),h=t.useProgram(c?\"fillExtrusionPattern\":\"fillExtrusion\",f);if((o||h.program!==u)&&f.setUniforms(s,h,r.paint,{zoom:t.transform.zoom}),c){if(dr(c,t))return;gr(c,t,h),mr(n,t,h),l.uniform1f(h.uniforms.u_height_factor,-Math.pow(2,i.overscaledZ)/n.tileSize/8)}t.context.gl.uniformMatrix4fv(h.uniforms.u_matrix,!1,t.translatePosMatrix(i.posMatrix,n,r.paint.get(\"fill-extrusion-translate\"),r.paint.get(\"fill-extrusion-translate-anchor\"))),function(t,e){var r=e.context.gl,n=e.style.light,i=n.properties.get(\"position\"),a=[i.x,i.y,i.z],o=_r.create();\"viewport\"===n.properties.get(\"anchor\")&&_r.fromRotation(o,-e.transform.angle),kr.transformMat3(a,a,o);var s=n.properties.get(\"color\");r.uniform3fv(t.uniforms.u_lightpos,a),r.uniform1f(t.uniforms.u_lightintensity,n.properties.get(\"intensity\")),r.uniform3f(t.uniforms.u_lightcolor,s.r,s.g,s.b)}(h,t),h.draw(s,l.TRIANGLES,r.id,a.layoutVertexBuffer,a.indexBuffer,a.segments,f)}function Ar(e,r,n){var i=e.context,a=i.gl,o=r.fbo;if(o){var s=e.useProgram(\"hillshade\"),l=e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),!0);!function(t,e,r){var n=r.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===r.paint.get(\"hillshade-illumination-anchor\")&&(n-=e.transform.angle),e.context.gl.uniform2f(t.uniforms.u_light,r.paint.get(\"hillshade-exaggeration\"),n)}(s,e,n);var c=function(e,r){var n=r.toCoordinate(),i=new t.default$17(n.column,n.row+1,n.zoom);return[e.transform.coordinateLocation(n).lat,e.transform.coordinateLocation(i).lat]}(e,r.tileID);i.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,o.colorAttachment.get()),a.uniformMatrix4fv(s.uniforms.u_matrix,!1,l),a.uniform2fv(s.uniforms.u_latrange,c),a.uniform1i(s.uniforms.u_image,0);var u=n.paint.get(\"hillshade-shadow-color\");a.uniform4f(s.uniforms.u_shadow,u.r,u.g,u.b,u.a);var f=n.paint.get(\"hillshade-highlight-color\");a.uniform4f(s.uniforms.u_highlight,f.r,f.g,f.b,f.a);var h=n.paint.get(\"hillshade-accent-color\");if(a.uniform4f(s.uniforms.u_accent,h.r,h.g,h.b,h.a),r.maskedBoundsBuffer&&r.maskedIndexBuffer&&r.segments)s.draw(i,a.TRIANGLES,n.id,r.maskedBoundsBuffer,r.maskedIndexBuffer,r.segments);else{var p=e.rasterBoundsBuffer;e.rasterBoundsVAO.bind(i,s,p,[]),a.drawArrays(a.TRIANGLE_STRIP,0,p.length)}}}function Tr(e,r,n){var i=e.context,a=i.gl;if(r.dem&&r.dem.level){var o=r.dem.level.dim,s=r.dem.getPixels();if(i.activeTexture.set(a.TEXTURE1),i.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(r.tileSize),r.demTexture){var l=r.demTexture;l.update(s,{premultiply:!1}),l.bind(a.NEAREST,a.CLAMP_TO_EDGE)}else r.demTexture=new z(i,s,a.RGBA,{premultiply:!1}),r.demTexture.bind(a.NEAREST,a.CLAMP_TO_EDGE);i.activeTexture.set(a.TEXTURE0);var c=r.fbo;if(!c){var u=new z(i,{width:o,height:o,data:null},a.RGBA);u.bind(a.LINEAR,a.CLAMP_TO_EDGE),(c=r.fbo=i.createFramebuffer(o,o)).colorAttachment.set(u.texture)}i.bindFramebuffer.set(c.framebuffer),i.viewport.set([0,0,o,o]);var f=t.mat4.create();t.mat4.ortho(f,0,t.default$8,-t.default$8,0,0,1),t.mat4.translate(f,f,[0,-t.default$8,0]);var h=e.useProgram(\"hillshadePrepare\");a.uniformMatrix4fv(h.uniforms.u_matrix,!1,f),a.uniform1f(h.uniforms.u_zoom,r.tileID.overscaledZ),a.uniform2fv(h.uniforms.u_dimension,[2*o,2*o]),a.uniform1i(h.uniforms.u_image,1),a.uniform1f(h.uniforms.u_maxzoom,n);var p=e.rasterBoundsBuffer;e.rasterBoundsVAO.bind(i,h,p,[]),a.drawArrays(a.TRIANGLE_STRIP,0,p.length),r.needsHillshadePrepare=!1}}function Sr(e,r,n,i,o){var s=i.paint.get(\"raster-fade-duration\");if(s>0){var l=a.now(),c=(l-e.timeAdded)/s,u=r?(l-r.timeAdded)/s:-1,f=n.getSource(),h=o.coveringZoomLevel({tileSize:f.tileSize,roundZoom:f.roundZoom}),p=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),d=p&&e.refreshedUponExpiration?1:t.clamp(p?c:1-u,0,1);return e.refreshedUponExpiration&&c>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-d}:{opacity:d,mix:0}}return{opacity:1,mix:0}}function Er(e,r,n){var i=e.context,o=i.gl;i.lineWidth.set(1*a.devicePixelRatio);var s=n.posMatrix,l=e.useProgram(\"debug\");i.setDepthMode(qt.disabled),i.setStencilMode(Ht.disabled),i.setColorMode(e.colorModeForRenderPass()),o.uniformMatrix4fv(l.uniforms.u_matrix,!1,s),o.uniform4f(l.uniforms.u_color,1,0,0,1),e.debugVAO.bind(i,l,e.debugBuffer,[]),o.drawArrays(o.LINE_STRIP,0,e.debugBuffer.length);for(var c=function(t,e,r,n){n=n||1;var i,a,o,s,l,c,u,f,h=[];for(i=0,a=t.length;i<a;i++)if(l=Cr[t[i]]){for(f=null,o=0,s=l[1].length;o<s;o+=2)-1===l[1][o]&&-1===l[1][o+1]?f=null:(c=e+l[1][o]*n,u=200-l[1][o+1]*n,f&&h.push(f.x,f.y,c,u),f={x:c,y:u});e+=l[0]*n}return h}(n.toString(),50,0,5),u=new t.PosArray,f=0;f<c.length;f+=2)u.emplaceBack(c[f],c[f+1]);var h=i.createVertexBuffer(u,Ke.members);(new Q).bind(i,l,h,[]),o.uniform4f(l.uniforms.u_color,1,1,1,1);for(var p=r.getTile(n).tileSize,d=t.default$8/(Math.pow(2,e.transform.zoom-n.overscaledZ)*p),g=[[-1,-1],[-1,1],[1,-1],[1,1]],m=0;m<g.length;m++){var v=g[m];o.uniformMatrix4fv(l.uniforms.u_matrix,!1,t.mat4.translate([],s,[d*v[0],d*v[1],0])),o.drawArrays(o.LINES,0,h.length)}o.uniform4f(l.uniforms.u_color,0,0,0,1),o.uniformMatrix4fv(l.uniforms.u_matrix,!1,s),o.drawArrays(o.LINES,0,h.length)}var Cr={\" \":[16,[]],\"!\":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'\"':[16,[4,21,4,14,-1,-1,12,21,12,14]],\"#\":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],\"%\":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],\"&\":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],\"'\":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],\"(\":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],\")\":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],\"*\":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],\"+\":[26,[13,18,13,0,-1,-1,4,9,22,9]],\",\":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\"-\":[26,[4,9,22,9]],\".\":[10,[5,2,4,1,5,0,6,1,5,2]],\"/\":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],\":\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],\";\":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],\"<\":[24,[20,18,4,9,20,0]],\"=\":[26,[4,12,22,12,-1,-1,4,6,22,6]],\">\":[24,[4,18,20,9,4,0]],\"?\":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],\"@\":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],\"[\":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],\"\\\\\":[14,[0,21,14,-3]],\"]\":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],\"^\":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],\"`\":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],\"{\":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],\"|\":[8,[4,25,4,-7]],\"}\":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],\"~\":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]},Lr={symbol:function(t,e,r,n){if(\"translucent\"===t.renderPass){var i=t.context;i.setStencilMode(Ht.disabled),i.setColorMode(t.colorModeForRenderPass()),0!==r.paint.get(\"icon-opacity\").constantOr(1)&&cr(t,e,r,n,!1,r.paint.get(\"icon-translate\"),r.paint.get(\"icon-translate-anchor\"),r.layout.get(\"icon-rotation-alignment\"),r.layout.get(\"icon-pitch-alignment\"),r.layout.get(\"icon-keep-upright\")),0!==r.paint.get(\"text-opacity\").constantOr(1)&&cr(t,e,r,n,!0,r.paint.get(\"text-translate\"),r.paint.get(\"text-translate-anchor\"),r.layout.get(\"text-rotation-alignment\"),r.layout.get(\"text-pitch-alignment\"),r.layout.get(\"text-keep-upright\")),e.map.showCollisionBoxes&&function(t,e,r,n){or(t,e,r,n,!1),or(t,e,r,n,!0)}(t,e,r,n)}},circle:function(t,e,r,n){if(\"translucent\"===t.renderPass){var i=r.paint.get(\"circle-opacity\"),a=r.paint.get(\"circle-stroke-width\"),o=r.paint.get(\"circle-stroke-opacity\");if(0!==i.constantOr(1)||0!==a.constantOr(1)&&0!==o.constantOr(1)){var s=t.context,l=s.gl;s.setDepthMode(t.depthModeForSublayer(0,qt.ReadOnly)),s.setStencilMode(Ht.disabled),s.setColorMode(t.colorModeForRenderPass());for(var c=!0,u=0;u<n.length;u++){var f=n[u],h=e.getTile(f),p=h.getBucket(r);if(p){var d=t.context.program.get(),g=p.programConfigurations.get(r.id),m=t.useProgram(\"circle\",g);if((c||m.program!==d)&&(g.setUniforms(s,m,r.paint,{zoom:t.transform.zoom}),c=!1),l.uniform1f(m.uniforms.u_camera_to_center_distance,t.transform.cameraToCenterDistance),l.uniform1i(m.uniforms.u_scale_with_map,\"map\"===r.paint.get(\"circle-pitch-scale\")?1:0),\"map\"===r.paint.get(\"circle-pitch-alignment\")){l.uniform1i(m.uniforms.u_pitch_with_map,1);var v=Te(h,1,t.transform.zoom);l.uniform2f(m.uniforms.u_extrude_scale,v,v)}else l.uniform1i(m.uniforms.u_pitch_with_map,0),l.uniform2fv(m.uniforms.u_extrude_scale,t.transform.pixelsToGLUnits);l.uniformMatrix4fv(m.uniforms.u_matrix,!1,t.translatePosMatrix(f.posMatrix,h,r.paint.get(\"circle-translate\"),r.paint.get(\"circle-translate-anchor\"))),m.draw(s,l.TRIANGLES,r.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,g)}}}}},heatmap:function(e,r,n,i){if(0!==n.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===e.renderPass){var a=e.context,o=a.gl;a.setDepthMode(e.depthModeForSublayer(0,qt.ReadOnly)),a.setStencilMode(Ht.disabled),function(t,e,r){var n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{var a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4),function t(e,r,n,i){var a=e.gl;a.texImage2D(a.TEXTURE_2D,0,a.RGBA,r.width/4,r.height/4,0,a.RGBA,e.extTextureHalfFloat?e.extTextureHalfFloat.HALF_FLOAT_OES:a.UNSIGNED_BYTE,null),i.colorAttachment.set(n),e.extTextureHalfFloat&&a.checkFramebufferStatus(a.FRAMEBUFFER)!==a.FRAMEBUFFER_COMPLETE&&(e.extTextureHalfFloat=null,i.colorAttachment.setDirty(),t(e,r,n,i))}(t,e,a,i)}}(a,e,n),a.clear({color:t.default$6.transparent}),a.setColorMode(new Gt([o.ONE,o.ONE],t.default$6.transparent,[!0,!0,!0,!0]));for(var s=!0,l=0;l<i.length;l++){var c=i[l];if(!r.hasRenderableParent(c)){var u=r.getTile(c),f=u.getBucket(n);if(f){var h=e.context.program.get(),p=f.programConfigurations.get(n.id),d=e.useProgram(\"heatmap\",p),g=e.transform.zoom;(s||d.program!==h)&&(p.setUniforms(e.context,d,n.paint,{zoom:g}),s=!1),o.uniform1f(d.uniforms.u_extrude_scale,Te(u,1,g)),o.uniform1f(d.uniforms.u_intensity,n.paint.get(\"heatmap-intensity\")),o.uniformMatrix4fv(d.uniforms.u_matrix,!1,c.posMatrix),d.draw(a,o.TRIANGLES,n.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,p)}}}a.viewport.set([0,0,e.width,e.height])}else\"translucent\"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,r){var n=e.context,i=n.gl,a=r.heatmapFbo;if(a){n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),n.activeTexture.set(i.TEXTURE1);var o=r.colorRampTexture;o||(o=r.colorRampTexture=new z(n,r.colorRamp,i.RGBA)),o.bind(i.LINEAR,i.CLAMP_TO_EDGE),n.setDepthMode(qt.disabled);var s=e.useProgram(\"heatmapTexture\"),l=r.paint.get(\"heatmap-opacity\");i.uniform1f(s.uniforms.u_opacity,l),i.uniform1i(s.uniforms.u_image,0),i.uniform1i(s.uniforms.u_color_ramp,1);var c=t.mat4.create();t.mat4.ortho(c,0,e.width,e.height,0,0,1),i.uniformMatrix4fv(s.uniforms.u_matrix,!1,c),i.uniform2f(s.uniforms.u_world,i.drawingBufferWidth,i.drawingBufferHeight),e.viewportVAO.bind(e.context,s,e.viewportBuffer,[]),i.drawArrays(i.TRIANGLE_STRIP,0,4)}}(e,n))},line:function(t,e,r,n){if(\"translucent\"===t.renderPass&&0!==r.paint.get(\"line-opacity\").constantOr(1)){var i=t.context;i.setDepthMode(t.depthModeForSublayer(0,qt.ReadOnly)),i.setColorMode(t.colorModeForRenderPass());for(var a,o=r.paint.get(\"line-dasharray\")?\"lineSDF\":r.paint.get(\"line-pattern\")?\"linePattern\":r.paint.get(\"line-gradient\")?\"lineGradient\":\"line\",s=!0,l=0,c=n;l<c.length;l+=1){var u=c[l],f=e.getTile(u),h=f.getBucket(r);if(h){var p=h.programConfigurations.get(r.id),d=t.context.program.get(),g=t.useProgram(o,p),m=s||g.program!==d,v=a!==f.tileID.overscaledZ;m&&p.setUniforms(t.context,g,r.paint,{zoom:t.transform.zoom}),pr(g,t,f,h,r,u,p,m,v),a=f.tileID.overscaledZ,s=!1}}}},fill:function(e,r,n,i){var a=n.paint.get(\"fill-color\"),o=n.paint.get(\"fill-opacity\");if(0!==o.constantOr(1)){var s=e.context;s.setColorMode(e.colorModeForRenderPass());var l=n.paint.get(\"fill-pattern\")||1!==a.constantOr(t.default$6.transparent).a||1!==o.constantOr(0)?\"translucent\":\"opaque\";e.renderPass===l&&(s.setDepthMode(e.depthModeForSublayer(1,\"opaque\"===e.renderPass?qt.ReadWrite:qt.ReadOnly)),vr(e,r,n,i,yr)),\"translucent\"===e.renderPass&&n.paint.get(\"fill-antialias\")&&(s.lineWidth.set(2),s.setDepthMode(e.depthModeForSublayer(n.getPaintProperty(\"fill-outline-color\")?2:0,qt.ReadOnly)),vr(e,r,n,i,xr))}},\"fill-extrusion\":function(e,r,n,i){if(0!==n.paint.get(\"fill-extrusion-opacity\"))if(\"offscreen\"===e.renderPass){!function(e,r){var n=e.context,i=n.gl,a=r.viewportFrame;if(e.depthRboNeedsClear&&e.setupOffscreenDepthRenderbuffer(),!a){var o=new z(n,{width:e.width,height:e.height,data:null},i.RGBA);o.bind(i.LINEAR,i.CLAMP_TO_EDGE),(a=r.viewportFrame=n.createFramebuffer(e.width,e.height)).colorAttachment.set(o.texture)}n.bindFramebuffer.set(a.framebuffer),a.depthAttachment.set(e.depthRbo),e.depthRboNeedsClear&&(n.clear({depth:1}),e.depthRboNeedsClear=!1),n.clear({color:t.default$6.transparent}),n.setStencilMode(Ht.disabled),n.setDepthMode(new qt(i.LEQUAL,qt.ReadWrite,[0,1])),n.setColorMode(e.colorModeForRenderPass())}(e,n);for(var a=!0,o=0,s=i;o<s.length;o+=1){var l=s[o],c=r.getTile(l),u=c.getBucket(n);u&&(Mr(e,0,n,c,l,u,a),a=!1)}}else\"translucent\"===e.renderPass&&function(t,e){var r=e.viewportFrame;if(r){var n=t.context,i=n.gl,a=t.useProgram(\"extrusionTexture\");n.setStencilMode(Ht.disabled),n.setDepthMode(qt.disabled),n.setColorMode(t.colorModeForRenderPass()),n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.colorAttachment.get()),i.uniform1f(a.uniforms.u_opacity,e.paint.get(\"fill-extrusion-opacity\")),i.uniform1i(a.uniforms.u_image,0);var o=wr.create();wr.ortho(o,0,t.width,t.height,0,0,1),i.uniformMatrix4fv(a.uniforms.u_matrix,!1,o),i.uniform2f(a.uniforms.u_world,i.drawingBufferWidth,i.drawingBufferHeight),t.viewportVAO.bind(n,a,t.viewportBuffer,[]),i.drawArrays(i.TRIANGLE_STRIP,0,4)}}(e,n)},hillshade:function(t,e,r,n){if(\"offscreen\"===t.renderPass||\"translucent\"===t.renderPass){var i=t.context,a=e.getSource().maxzoom;i.setDepthMode(t.depthModeForSublayer(0,qt.ReadOnly)),i.setStencilMode(Ht.disabled),i.setColorMode(t.colorModeForRenderPass());for(var o=0,s=n;o<s.length;o+=1){var l=s[o],c=e.getTile(l);c.needsHillshadePrepare&&\"offscreen\"===t.renderPass?Tr(t,c,a):\"translucent\"===t.renderPass&&Ar(t,c,r)}i.viewport.set([0,0,t.width,t.height])}},raster:function(t,e,r,n){if(\"translucent\"===t.renderPass&&0!==r.paint.get(\"raster-opacity\")){var i,a,o=t.context,s=o.gl,l=e.getSource(),c=t.useProgram(\"raster\");o.setStencilMode(Ht.disabled),o.setColorMode(t.colorModeForRenderPass()),s.uniform1f(c.uniforms.u_brightness_low,r.paint.get(\"raster-brightness-min\")),s.uniform1f(c.uniforms.u_brightness_high,r.paint.get(\"raster-brightness-max\")),s.uniform1f(c.uniforms.u_saturation_factor,(i=r.paint.get(\"raster-saturation\"))>0?1-1/(1.001-i):-i),s.uniform1f(c.uniforms.u_contrast_factor,(a=r.paint.get(\"raster-contrast\"))>0?1/(1-a):1+a),s.uniform3fv(c.uniforms.u_spin_weights,function(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}(r.paint.get(\"raster-hue-rotate\"))),s.uniform1f(c.uniforms.u_buffer_scale,1),s.uniform1i(c.uniforms.u_image0,0),s.uniform1i(c.uniforms.u_image1,1);for(var u=n.length&&n[0].overscaledZ,f=0,h=n;f<h.length;f+=1){var p=h[f];o.setDepthMode(t.depthModeForSublayer(p.overscaledZ-u,1===r.paint.get(\"raster-opacity\")?qt.ReadWrite:qt.ReadOnly,s.LESS));var d=e.getTile(p),g=t.transform.calculatePosMatrix(p.toUnwrapped(),!0);d.registerFadeDuration(r.paint.get(\"raster-fade-duration\")),s.uniformMatrix4fv(c.uniforms.u_matrix,!1,g);var m=e.findLoadedParent(p,0,{}),v=Sr(d,m,e,r,t.transform),y=void 0,x=void 0;if(o.activeTexture.set(s.TEXTURE0),d.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),o.activeTexture.set(s.TEXTURE1),m?(m.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),y=Math.pow(2,m.tileID.overscaledZ-d.tileID.overscaledZ),x=[d.tileID.canonical.x*y%1,d.tileID.canonical.y*y%1]):d.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),s.uniform2fv(c.uniforms.u_tl_parent,x||[0,0]),s.uniform1f(c.uniforms.u_scale_parent,y||1),s.uniform1f(c.uniforms.u_fade_t,v.mix),s.uniform1f(c.uniforms.u_opacity,v.opacity*r.paint.get(\"raster-opacity\")),l instanceof tt){var b=l.boundsBuffer;l.boundsVAO.bind(o,c,b,[]),s.drawArrays(s.TRIANGLE_STRIP,0,b.length)}else if(d.maskedBoundsBuffer&&d.maskedIndexBuffer&&d.segments)c.draw(o,s.TRIANGLES,r.id,d.maskedBoundsBuffer,d.maskedIndexBuffer,d.segments);else{var _=t.rasterBoundsBuffer;t.rasterBoundsVAO.bind(o,c,_,[]),s.drawArrays(s.TRIANGLE_STRIP,0,_.length)}}}},background:function(t,e,r){var n=r.paint.get(\"background-color\"),i=r.paint.get(\"background-opacity\");if(0!==i){var a=t.context,o=a.gl,s=t.transform,l=s.tileSize,c=r.paint.get(\"background-pattern\"),u=c||1!==n.a||1!==i?\"translucent\":\"opaque\";if(t.renderPass===u){var f;if(a.setStencilMode(Ht.disabled),a.setDepthMode(t.depthModeForSublayer(0,\"opaque\"===u?qt.ReadWrite:qt.ReadOnly)),a.setColorMode(t.colorModeForRenderPass()),c){if(dr(c,t))return;f=t.useProgram(\"backgroundPattern\"),gr(c,t,f),t.tileExtentPatternVAO.bind(a,f,t.tileExtentBuffer,[])}else f=t.useProgram(\"background\"),o.uniform4fv(f.uniforms.u_color,[n.r,n.g,n.b,n.a]),t.tileExtentVAO.bind(a,f,t.tileExtentBuffer,[]);o.uniform1f(f.uniforms.u_opacity,i);for(var h=0,p=s.coveringTiles({tileSize:l});h<p.length;h+=1){var d=p[h];c&&mr({tileID:d,tileSize:l},t,f),o.uniformMatrix4fv(f.uniforms.u_matrix,!1,t.transform.calculatePosMatrix(d.toUnwrapped())),o.drawArrays(o.TRIANGLE_STRIP,0,t.tileExtentBuffer.length)}}}},debug:function(t,e,r){for(var n=0;n<r.length;n++)Er(t,e,r[n])}},zr=function(e,r){this.context=new Wt(e),this.transform=r,this._tileTextures={},this.setup(),this.numSublayers=Yt.maxUnderzooming+Yt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.depthRboNeedsClear=!0,this.emptyProgramConfiguration=new t.default$24,this.crossTileSymbolIndex=new Ye};function Pr(t,e){if(t.row>e.row){var r=t;t=e,e=r}return{x0:t.column,y0:t.row,x1:e.column,y1:e.row,dx:e.column-t.column,dy:e.row-t.row}}function Or(t,e,r,n,i){var a=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,c=e.dx/e.dy,u=t.dx>0,f=e.dx<0,h=a;h<o;h++){var p=l*Math.max(0,Math.min(t.dy,h+u-t.y0))+t.x0,d=c*Math.max(0,Math.min(e.dy,h+f-e.y0))+e.x0;i(Math.floor(d),Math.ceil(p),h)}}function Ir(t,e,r,n,i,a){var o,s=Pr(t,e),l=Pr(e,r),c=Pr(r,t);s.dy>l.dy&&(o=s,s=l,l=o),s.dy>c.dy&&(o=s,s=c,c=o),l.dy>c.dy&&(o=l,l=c,c=o),s.dy&&Or(c,s,n,i,a),l.dy&&Or(c,l,n,i,a)}zr.prototype.resize=function(t,e){var r=this.context.gl;if(this.width=t*a.devicePixelRatio,this.height=e*a.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var n=0,i=this.style._order;n<i.length;n+=1){var o=i[n];this.style._layers[o].resize()}this.depthRbo&&(r.deleteRenderbuffer(this.depthRbo),this.depthRbo=null)},zr.prototype.setup=function(){var e=this.context,r=new t.PosArray;r.emplaceBack(0,0),r.emplaceBack(t.default$8,0),r.emplaceBack(0,t.default$8),r.emplaceBack(t.default$8,t.default$8),this.tileExtentBuffer=e.createVertexBuffer(r,Ke.members),this.tileExtentVAO=new Q,this.tileExtentPatternVAO=new Q;var n=new t.PosArray;n.emplaceBack(0,0),n.emplaceBack(t.default$8,0),n.emplaceBack(t.default$8,t.default$8),n.emplaceBack(0,t.default$8),n.emplaceBack(0,0),this.debugBuffer=e.createVertexBuffer(n,Ke.members),this.debugVAO=new Q;var i=new t.RasterBoundsArray;i.emplaceBack(0,0,0,0),i.emplaceBack(t.default$8,0,t.default$8,0),i.emplaceBack(0,t.default$8,0,t.default$8),i.emplaceBack(t.default$8,t.default$8,t.default$8,t.default$8),this.rasterBoundsBuffer=e.createVertexBuffer(i,K.members),this.rasterBoundsVAO=new Q;var a=new t.PosArray;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,Ke.members),this.viewportVAO=new Q},zr.prototype.clearStencil=function(){var e=this.context,r=e.gl;e.setColorMode(Gt.disabled),e.setDepthMode(qt.disabled),e.setStencilMode(new Ht({func:r.ALWAYS,mask:0},0,255,r.ZERO,r.ZERO,r.ZERO));var n=t.mat4.create();t.mat4.ortho(n,0,this.width,this.height,0,0,1),t.mat4.scale(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]);var i=this.useProgram(\"clippingMask\");r.uniformMatrix4fv(i.uniforms.u_matrix,!1,n),this.viewportVAO.bind(e,i,this.viewportBuffer,[]),r.drawArrays(r.TRIANGLE_STRIP,0,4)},zr.prototype._renderTileClippingMasks=function(t){var e=this.context,r=e.gl;e.setColorMode(Gt.disabled),e.setDepthMode(qt.disabled);var n=1;this._tileClippingMaskIDs={};for(var i=0,a=t;i<a.length;i+=1){var o=a[i],s=this._tileClippingMaskIDs[o.key]=n++;e.setStencilMode(new Ht({func:r.ALWAYS,mask:0},s,255,r.KEEP,r.KEEP,r.REPLACE));var l=this.useProgram(\"clippingMask\");r.uniformMatrix4fv(l.uniforms.u_matrix,!1,o.posMatrix),this.tileExtentVAO.bind(this.context,l,this.tileExtentBuffer,[]),r.drawArrays(r.TRIANGLE_STRIP,0,this.tileExtentBuffer.length)}},zr.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Ht({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},zr.prototype.colorModeForRenderPass=function(){var e=this.context.gl;return this._showOverdrawInspector?new Gt([e.CONSTANT_COLOR,e.ONE],new t.default$6(1/8,1/8,1/8,0),[!0,!0,!0,!0]):\"opaque\"===this.renderPass?Gt.unblended:Gt.alphaBlended},zr.prototype.depthModeForSublayer=function(t,e,r){var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon,i=n-1+this.depthRange;return new qt(r||this.context.gl.LEQUAL,e,[i,n])},zr.prototype.render=function(e,r){var n=this;for(var i in this.style=e,this.options=r,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(a.now()),e.sourceCaches){var o=n.style.sourceCaches[i];o.used&&o.prepare(n.context)}var s=this.style._order,l=t.filterObject(this.style.sourceCaches,function(t){return\"raster\"===t.getSource().type||\"raster-dem\"===t.getSource().type}),c=function(e){var r=l[e];!function(e,r){for(var n=e.sort(function(t,e){return t.tileID.isLessThan(e.tileID)?-1:e.tileID.isLessThan(t.tileID)?1:0}),i=0;i<n.length;i++){var a={},o=n[i],s=n.slice(i+1);ar(o.tileID.wrapped(),o.tileID,s,new t.OverscaledTileID(0,o.tileID.wrap+1,0,0,0),a),o.setMask(a,r)}}(r.getVisibleCoordinates().map(function(t){return r.getTile(t)}),n.context)};for(var u in l)c(u);this.renderPass=\"offscreen\";var f,h=[];this.depthRboNeedsClear=!0;for(var p=0;p<s.length;p++){var d=n.style._layers[s[p]];d.hasOffscreenPass()&&!d.isHidden(n.transform.zoom)&&(d.source!==(f&&f.id)&&(h=[],(f=n.style.sourceCaches[d.source])&&(h=f.getVisibleCoordinates()).reverse()),h.length&&n.renderLayer(n,f,d,h))}this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?t.default$6.black:t.default$6.transparent,depth:1}),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRange=(e._order.length+2)*this.numSublayers*this.depthEpsilon,this.renderPass=\"opaque\";var g,m=[];for(this.currentLayer=s.length-1,this.currentLayer;this.currentLayer>=0;this.currentLayer--){var v=n.style._layers[s[n.currentLayer]];v.source!==(g&&g.id)&&(m=[],(g=n.style.sourceCaches[v.source])&&(n.clearStencil(),m=g.getVisibleCoordinates(),g.getSource().isTileClipped&&n._renderTileClippingMasks(m))),n.renderLayer(n,g,v,m)}this.renderPass=\"translucent\";var y,x=[];for(this.currentLayer=0,this.currentLayer;this.currentLayer<s.length;this.currentLayer++){var b=n.style._layers[s[n.currentLayer]];b.source!==(y&&y.id)&&(x=[],(y=n.style.sourceCaches[b.source])&&(n.clearStencil(),x=y.getVisibleCoordinates(),y.getSource().isTileClipped&&n._renderTileClippingMasks(x)),x.reverse()),n.renderLayer(n,y,b,x)}if(this.options.showTileBoundaries){var _=this.style.sourceCaches[Object.keys(this.style.sourceCaches)[0]];_&&Lr.debug(this,_,_.getVisibleCoordinates())}},zr.prototype.setupOffscreenDepthRenderbuffer=function(){var t=this.context;this.depthRbo||(this.depthRbo=t.createRenderbuffer(t.gl.DEPTH_COMPONENT16,this.width,this.height))},zr.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||(\"background\"===r.type||n.length)&&(this.id=r.id,Lr[r.type](t,e,r,n))},zr.prototype.translatePosMatrix=function(e,r,n,i,a){if(!n[0]&&!n[1])return e;var o=a?\"map\"===i?this.transform.angle:0:\"viewport\"===i?-this.transform.angle:0;if(o){var s=Math.sin(o),l=Math.cos(o);n=[n[0]*l-n[1]*s,n[0]*s+n[1]*l]}var c=[a?n[0]:Te(r,n[0],this.transform.zoom),a?n[1]:Te(r,n[1],this.transform.zoom),0],u=new Float32Array(16);return t.mat4.translate(u,e,c),u},zr.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},zr.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},zr.prototype._createProgramCached=function(t,e){this.cache=this.cache||{};var r=\"\"+t+(e.cacheKey||\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[r]||(this.cache[r]=new ir(this.context,nr[t],e,this._showOverdrawInspector)),this.cache[r]},zr.prototype.useProgram=function(t,e){var r=this._createProgramCached(t,e||this.emptyProgramConfiguration);return this.context.program.set(r.program),r};var Dr=t.default$20.vec4,Rr=t.default$20.mat4,Br=t.default$20.mat2,Fr=function(t,e,r){this.tileSize=512,this._renderWorldCopies=void 0===r||r,this._minZoom=t||0,this._maxZoom=e||22,this.latRange=[-85.05113,85.05113],this.width=0,this.height=0,this._center=new G(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},Nr={minZoom:{configurable:!0},maxZoom:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerPoint:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},unmodified:{configurable:!0},x:{configurable:!0},y:{configurable:!0},point:{configurable:!0}};Fr.prototype.clone=function(){var t=new Fr(this._minZoom,this._maxZoom,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._calcMatrices(),t},Nr.minZoom.get=function(){return this._minZoom},Nr.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Nr.maxZoom.get=function(){return this._maxZoom},Nr.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Nr.renderWorldCopies.get=function(){return this._renderWorldCopies},Nr.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Nr.worldSize.get=function(){return this.tileSize*this.scale},Nr.centerPoint.get=function(){return this.size._div(2)},Nr.size.get=function(){return new t.default$1(this.width,this.height)},Nr.bearing.get=function(){return-this.angle/Math.PI*180},Nr.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=Br.create(),Br.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Nr.pitch.get=function(){return this._pitch/Math.PI*180},Nr.pitch.set=function(e){var r=t.clamp(e,0,60)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Nr.fov.get=function(){return this._fov/Math.PI*180},Nr.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Nr.zoom.get=function(){return this._zoom},Nr.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Nr.center.get=function(){return this._center},Nr.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Fr.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},Fr.prototype.getVisibleUnwrappedCoordinates=function(e){var r=this.pointCoordinate(new t.default$1(0,0),0),n=this.pointCoordinate(new t.default$1(this.width,0),0),i=Math.floor(r.column),a=Math.floor(n.column),o=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var s=i;s<=a;s++)0!==s&&o.push(new t.UnwrappedTileID(s,e));return o},Fr.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&r<e.minzoom)return[];void 0!==e.maxzoom&&r>e.maxzoom&&(r=e.maxzoom);var i=this.pointCoordinate(this.centerPoint,r),a=new t.default$1(i.column-.5,i.row-.5);return function(e,r,n,i){void 0===i&&(i=!0);var a=1<<e,o={};function s(r,s,l){var c,u,f,h;if(l>=0&&l<=a)for(c=r;c<s;c++)u=Math.floor(c/a),f=(c%a+a)%a,0!==u&&!0!==i||(h=new t.OverscaledTileID(n,u,e,f,l),o[h.key]=h)}return Ir(r[0],r[1],r[2],0,a,s),Ir(r[2],r[3],r[0],0,a,s),Object.keys(o).map(function(t){return o[t]})}(r,[this.pointCoordinate(new t.default$1(0,0),r),this.pointCoordinate(new t.default$1(this.width,0),r),this.pointCoordinate(new t.default$1(this.width,this.height),r),this.pointCoordinate(new t.default$1(0,this.height),r)],e.reparseOverscaled?n:r,this._renderWorldCopies).sort(function(t,e){return a.dist(t.canonical)-a.dist(e.canonical)})},Fr.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Nr.unmodified.get=function(){return this._unmodified},Fr.prototype.zoomScale=function(t){return Math.pow(2,t)},Fr.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Fr.prototype.project=function(e){return new t.default$1(this.lngX(e.lng),this.latY(e.lat))},Fr.prototype.unproject=function(t){return new G(this.xLng(t.x),this.yLat(t.y))},Nr.x.get=function(){return this.lngX(this.center.lng)},Nr.y.get=function(){return this.latY(this.center.lat)},Nr.point.get=function(){return new t.default$1(this.x,this.y)},Fr.prototype.lngX=function(t){return(180+t)*this.worldSize/360},Fr.prototype.latY=function(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))*this.worldSize/360},Fr.prototype.xLng=function(t){return 360*t/this.worldSize-180},Fr.prototype.yLat=function(t){var e=180-360*t/this.worldSize;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90},Fr.prototype.setLocationAtPoint=function(t,e){var r=this.pointCoordinate(e)._sub(this.pointCoordinate(this.centerPoint));this.center=this.coordinateLocation(this.locationCoordinate(t)._sub(r)),this._renderWorldCopies&&(this.center=this.center.wrap())},Fr.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Fr.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Fr.prototype.locationCoordinate=function(e){return new t.default$17(this.lngX(e.lng)/this.tileSize,this.latY(e.lat)/this.tileSize,this.zoom).zoomTo(this.tileZoom)},Fr.prototype.coordinateLocation=function(t){var e=t.zoomTo(this.zoom);return new G(this.xLng(e.column*this.tileSize),this.yLat(e.row*this.tileSize))},Fr.prototype.pointCoordinate=function(e,r){void 0===r&&(r=this.tileZoom);var n=[e.x,e.y,0,1],i=[e.x,e.y,1,1];Dr.transformMat4(n,n,this.pixelMatrixInverse),Dr.transformMat4(i,i,this.pixelMatrixInverse);var a=n[3],o=i[3],s=n[0]/a,l=i[0]/o,c=n[1]/a,u=i[1]/o,f=n[2]/a,h=i[2]/o,p=f===h?0:(0-f)/(h-f);return new t.default$17(t.number(s,l,p)/this.tileSize,t.number(c,u,p)/this.tileSize,this.zoom)._zoomTo(r)},Fr.prototype.coordinatePoint=function(e){var r=e.zoomTo(this.zoom),n=[r.column*this.tileSize,r.row*this.tileSize,0,1];return Dr.transformMat4(n,n,this.pixelMatrix),new t.default$1(n[0]/n[3],n[1]/n[3])},Fr.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=Rr.identity(new Float64Array(16));return Rr.translate(l,l,[s*o,a.y*o,0]),Rr.scale(l,l,[o/t.default$8,o/t.default$8,1]),Rr.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},Fr.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var f=this.latRange;a=this.latY(f[1]),e=(o=this.latY(f[0]))-a<c.y?c.y/(o-a):0}if(this.lngRange){var h=this.lngRange;s=this.lngX(h[0]),r=(l=this.lngX(h[1]))-s<c.x?c.x/(l-s):0}var p=Math.max(r||0,e||0);if(p)return this.center=this.unproject(new t.default$1(r?(l+s)/2:this.x,e?(o+a)/2:this.y)),this.zoom+=this.scaleZoom(p),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var d=this.y,g=c.y/2;d-g<a&&(i=a+g),d+g>o&&(i=o-g)}if(this.lngRange){var m=this.x,v=c.x/2;m-v<s&&(n=s+v),m+v>l&&(n=l-v)}void 0===n&&void 0===i||(this.center=this.unproject(new t.default$1(void 0!==n?n:this.x,void 0!==i?i:this.y))),this._unmodified=u,this._constraining=!1}},Fr.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var t=this._fov/2,e=Math.PI/2+this._pitch,r=Math.sin(t)*this.cameraToCenterDistance/Math.sin(Math.PI-e-t),n=this.x,i=this.y,a=1.01*(Math.cos(Math.PI/2-this._pitch)*r+this.cameraToCenterDistance),o=new Float64Array(16);Rr.perspective(o,this._fov,this.width/this.height,1,a),Rr.scale(o,o,[1,-1,1]),Rr.translate(o,o,[0,0,-this.cameraToCenterDistance]),Rr.rotateX(o,o,this._pitch),Rr.rotateZ(o,o,this.angle),Rr.translate(o,o,[-n,-i,0]);var s=this.worldSize/(2*Math.PI*6378137*Math.abs(Math.cos(this.center.lat*(Math.PI/180))));Rr.scale(o,o,[1,1,s,1]),this.projMatrix=o;var l=this.width%2/2,c=this.height%2/2,u=Math.cos(this.angle),f=Math.sin(this.angle),h=n-Math.round(n)+u*l+f*c,p=i-Math.round(i)+u*c+f*l,d=new Float64Array(o);if(Rr.translate(d,d,[h>.5?h-1:h,p>.5?p-1:p,0]),this.alignedProjMatrix=d,o=Rr.create(),Rr.scale(o,o,[this.width/2,-this.height/2,1]),Rr.translate(o,o,[1,-1,0]),this.pixelMatrix=Rr.multiply(new Float64Array(16),o,this.projMatrix),!(o=Rr.invert(new Float64Array(16),this.pixelMatrix)))throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=o,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Fr.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.default$1(0,0)).zoomTo(this.zoom),r=[e.column*this.tileSize,e.row*this.tileSize,0,1];return Dr.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},Object.defineProperties(Fr.prototype,Nr);var jr=function(){var e,r,n,i;t.bindAll([\"_onHashChange\",\"_updateHash\"],this),this._updateHash=(e=this._updateHashUnthrottled.bind(this),300,r=!1,n=0,i=function(){n=0,r&&(e(),n=setTimeout(i,300),r=!1)},function(){return r=!0,n||i(),n})};jr.prototype.addTo=function(e){return this._map=e,t.default.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},jr.prototype.remove=function(){return t.default.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},jr.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch(),c=\"\";return c+=t?\"#/\"+a+\"/\"+o+\"/\"+r:\"#\"+r+\"/\"+o+\"/\"+a,(s||l)&&(c+=\"/\"+Math.round(10*s)/10),l&&(c+=\"/\"+Math.round(l)),c},jr.prototype._onHashChange=function(){var e=t.default.location.hash.replace(\"#\",\"\").split(\"/\");return e.length>=3&&(this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:+(e[3]||0),pitch:+(e[4]||0)}),!0)},jr.prototype._updateHashUnthrottled=function(){var e=this.getHashString();t.default.history.replaceState(t.default.history.state,\"\",e)};var Vr=function(e){function r(r,n,i,a){void 0===a&&(a={});var o=s.mousePos(n.getCanvasContainer(),i),l=n.unproject(o);e.call(this,r,t.extend({point:o,lngLat:l,originalEvent:i},a)),this._defaultPrevented=!1,this.target=n}e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r;var n={defaultPrevented:{configurable:!0}};return r.prototype.preventDefault=function(){this._defaultPrevented=!0},n.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(r.prototype,n),r}(t.Event),Ur=function(e){function r(r,n,i){var a=s.touchPos(n.getCanvasContainer(),i),o=a.map(function(t){return n.unproject(t)}),l=a.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new t.default$1(0,0)),c=n.unproject(l);e.call(this,r,{points:a,point:l,lngLats:o,lngLat:c,originalEvent:i}),this._defaultPrevented=!1}e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r;var n={defaultPrevented:{configurable:!0}};return r.prototype.preventDefault=function(){this._defaultPrevented=!0},n.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(r.prototype,n),r}(t.Event),qr=function(t){function e(e,r,n){t.call(this,e,{originalEvent:n}),this._defaultPrevented=!1}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,r),e}(t.Event),Hr=function(e){this._map=e,this._el=e.getCanvasContainer(),this._delta=0,t.bindAll([\"_onWheel\",\"_onTimeout\",\"_onScrollFrame\",\"_onScrollFinished\"],this)};Hr.prototype.isEnabled=function(){return!!this._enabled},Hr.prototype.isActive=function(){return!!this._active},Hr.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&\"center\"===t.around)},Hr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Hr.prototype.onWheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.default.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=a.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type=\"wheel\":0!==r&&Math.abs(r)<4?this._type=\"trackpad\":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this.isActive()||this._start(e)),e.preventDefault()}},Hr.prototype._onTimeout=function(t){this._type=\"wheel\",this._delta-=this._lastValue,this.isActive()||this._start(t)},Hr.prototype._start=function(e){if(this._delta){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),this._active=!0,this._map.fire(new t.Event(\"movestart\",{originalEvent:e})),this._map.fire(new t.Event(\"zoomstart\",{originalEvent:e})),this._finishTimeout&&clearTimeout(this._finishTimeout);var r=s.mousePos(this._el,e);this._around=G.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(r)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame))}},Hr.prototype._onScrollFrame=function(){var e=this;if(this._frameId=null,this.isActive()){var r=this._map.transform;if(0!==this._delta){var n=\"wheel\"===this._type&&Math.abs(this._delta)>4.000244140625?1/450:.01,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var o=\"number\"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(o*i))),\"wheel\"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var s=!1;if(\"wheel\"===this._type){var l=Math.min((a.now()-this._lastWheelEventTime)/200,1),c=this._easing(l);r.zoom=t.number(this._startZoom,this._targetZoom,c),l<1?this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame)):s=!0}else r.zoom=this._targetZoom,s=!0;r.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(new t.Event(\"move\",{originalEvent:this._lastWheelEvent})),this._map.fire(new t.Event(\"zoom\",{originalEvent:this._lastWheelEvent})),s&&(this._active=!1,this._finishTimeout=setTimeout(function(){e._map.fire(new t.Event(\"zoomend\",{originalEvent:e._lastWheelEvent})),e._map.fire(new t.Event(\"moveend\",{originalEvent:e._lastWheelEvent})),delete e._targetZoom},200))}},Hr.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(a.now()-n.start)/n.duration,o=n.easing(i+.01)-n.easing(i),s=.27/Math.sqrt(o*o+1e-4)*.01,l=Math.sqrt(.0729-s*s);r=t.bezier(s,l,.25,1)}return this._prevEase={start:a.now(),duration:e,easing:r},r};var Gr=function(e){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),t.bindAll([\"_onMouseMove\",\"_onMouseUp\",\"_onKeyDown\"],this)};Gr.prototype.isEnabled=function(){return!!this._enabled},Gr.prototype.isActive=function(){return!!this._active},Gr.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Gr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Gr.prototype.onMouseDown=function(e){this.isEnabled()&&e.shiftKey&&0===e.button&&(t.default.document.addEventListener(\"mousemove\",this._onMouseMove,!1),t.default.document.addEventListener(\"keydown\",this._onKeyDown,!1),t.default.document.addEventListener(\"mouseup\",this._onMouseUp,!1),s.disableDrag(),this._startPos=s.mousePos(this._el,e),this._active=!0)},Gr.prototype._onMouseMove=function(t){var e=this._startPos,r=s.mousePos(this._el,t);this._box||(this._box=s.create(\"div\",\"mapboxgl-boxzoom\",this._container),this._container.classList.add(\"mapboxgl-crosshair\"),this._fireEvent(\"boxzoomstart\",t));var n=Math.min(e.x,r.x),i=Math.max(e.x,r.x),a=Math.min(e.y,r.y),o=Math.max(e.y,r.y);s.setTransform(this._box,\"translate(\"+n+\"px,\"+a+\"px)\"),this._box.style.width=i-n+\"px\",this._box.style.height=o-a+\"px\"},Gr.prototype._onMouseUp=function(e){if(0===e.button){var r=this._startPos,n=s.mousePos(this._el,e),i=(new W).extend(this._map.unproject(r)).extend(this._map.unproject(n));this._finish(),s.suppressClick(),r.x===n.x&&r.y===n.y?this._fireEvent(\"boxzoomcancel\",e):this._map.fitBounds(i,{linear:!0}).fire(new t.Event(\"boxzoomend\",{originalEvent:e,boxZoomBounds:i}))}},Gr.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent(\"boxzoomcancel\",t))},Gr.prototype._finish=function(){this._active=!1,t.default.document.removeEventListener(\"mousemove\",this._onMouseMove,!1),t.default.document.removeEventListener(\"keydown\",this._onKeyDown,!1),t.default.document.removeEventListener(\"mouseup\",this._onMouseUp,!1),this._container.classList.remove(\"mapboxgl-crosshair\"),this._box&&(s.remove(this._box),this._box=null),s.enableDrag()},Gr.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,{originalEvent:r}))};var Wr=t.bezier(0,0,.25,1),Yr=function(e,r){this._map=e,this._el=r.element||e.getCanvasContainer(),this._state=\"disabled\",this._button=r.button||\"right\",this._bearingSnap=r.bearingSnap||0,this._pitchWithRotate=!1!==r.pitchWithRotate,t.bindAll([\"_onMouseMove\",\"_onMouseUp\",\"_onBlur\",\"_onDragFrame\"],this)};Yr.prototype.isEnabled=function(){return\"disabled\"!==this._state},Yr.prototype.isActive=function(){return\"active\"===this._state},Yr.prototype.enable=function(){this.isEnabled()||(this._state=\"enabled\")},Yr.prototype.disable=function(){if(this.isEnabled())switch(this._state){case\"active\":this._state=\"disabled\",this._unbind(),this._deactivate(),this._fireEvent(\"rotateend\"),this._pitchWithRotate&&this._fireEvent(\"pitchend\"),this._fireEvent(\"moveend\");break;case\"pending\":this._state=\"disabled\",this._unbind();break;default:this._state=\"disabled\"}},Yr.prototype.onMouseDown=function(e){if(\"enabled\"===this._state){if(\"right\"===this._button){if(this._eventButton=s.mouseButton(e),this._eventButton!==(e.ctrlKey?0:2))return}else{if(e.ctrlKey||0!==s.mouseButton(e))return;this._eventButton=0}s.disableDrag(),t.default.document.addEventListener(\"mousemove\",this._onMouseMove,{capture:!0}),t.default.document.addEventListener(\"mouseup\",this._onMouseUp),t.default.addEventListener(\"blur\",this._onBlur),this._state=\"pending\",this._inertia=[[a.now(),this._map.getBearing()]],this._previousPos=s.mousePos(this._el,e),this._center=this._map.transform.centerPoint,e.preventDefault()}},Yr.prototype._onMouseMove=function(t){this._lastMoveEvent=t,this._pos=s.mousePos(this._el,t),\"pending\"===this._state&&(this._state=\"active\",this._fireEvent(\"rotatestart\",t),this._fireEvent(\"movestart\",t),this._pitchWithRotate&&this._fireEvent(\"pitchstart\",t)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame))},Yr.prototype._onDragFrame=function(){this._frameId=null;var t=this._lastMoveEvent;if(t){var e=this._map.transform,r=this._previousPos,n=this._pos,i=.8*(r.x-n.x),o=-.5*(r.y-n.y),s=e.bearing-i,l=e.pitch-o,c=this._inertia,u=c[c.length-1];this._drainInertiaBuffer(),c.push([a.now(),this._map._normalizeBearing(s,u[1])]),e.bearing=s,this._pitchWithRotate&&(this._fireEvent(\"pitch\",t),e.pitch=l),this._fireEvent(\"rotate\",t),this._fireEvent(\"move\",t),delete this._lastMoveEvent,this._previousPos=this._pos}},Yr.prototype._onMouseUp=function(t){if(s.mouseButton(t)===this._eventButton)switch(this._state){case\"active\":this._state=\"enabled\",s.suppressClick(),this._unbind(),this._deactivate(),this._inertialRotate(t);break;case\"pending\":this._state=\"enabled\",this._unbind()}},Yr.prototype._onBlur=function(t){switch(this._state){case\"active\":this._state=\"enabled\",this._unbind(),this._deactivate(),this._fireEvent(\"rotateend\",t),this._pitchWithRotate&&this._fireEvent(\"pitchend\",t),this._fireEvent(\"moveend\",t);break;case\"pending\":this._state=\"enabled\",this._unbind()}},Yr.prototype._unbind=function(){t.default.document.removeEventListener(\"mousemove\",this._onMouseMove,{capture:!0}),t.default.document.removeEventListener(\"mouseup\",this._onMouseUp),t.default.removeEventListener(\"blur\",this._onBlur),s.enableDrag()},Yr.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._previousPos},Yr.prototype._inertialRotate=function(t){var e=this;this._fireEvent(\"rotateend\",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),i=this._inertia,a=function(){Math.abs(n)<e._bearingSnap?r.resetNorth({noMoveStart:!0},{originalEvent:t}):e._fireEvent(\"moveend\",t),e._pitchWithRotate&&e._fireEvent(\"pitchend\",t)};if(i.length<2)a();else{var o=i[0],s=i[i.length-1],l=i[i.length-2],c=r._normalizeBearing(n,l[1]),u=s[1]-o[1],f=u<0?-1:1,h=(s[0]-o[0])/1e3;if(0!==u&&0!==h){var p=Math.abs(u*(.25/h));p>180&&(p=180);var d=p/180;c+=f*p*(d/2),Math.abs(r._normalizeBearing(c,0))<this._bearingSnap&&(c=r._normalizeBearing(0,c)),r.rotateTo(c,{duration:1e3*d,easing:Wr,noMoveStart:!0},{originalEvent:t})}else a()}},Yr.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},Yr.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=a.now();t.length>0&&e-t[0][0]>160;)t.shift()};var Xr=t.bezier(0,0,.3,1),Zr=function(e){this._map=e,this._el=e.getCanvasContainer(),this._state=\"disabled\",t.bindAll([\"_onMove\",\"_onMouseUp\",\"_onTouchEnd\",\"_onBlur\",\"_onDragFrame\"],this)};Zr.prototype.isEnabled=function(){return\"disabled\"!==this._state},Zr.prototype.isActive=function(){return\"active\"===this._state},Zr.prototype.enable=function(){this.isEnabled()||(this._el.classList.add(\"mapboxgl-touch-drag-pan\"),this._state=\"enabled\")},Zr.prototype.disable=function(){if(this.isEnabled())switch(this._el.classList.remove(\"mapboxgl-touch-drag-pan\"),this._state){case\"active\":this._state=\"disabled\",this._unbind(),this._deactivate(),this._fireEvent(\"dragend\"),this._fireEvent(\"moveend\");break;case\"pending\":this._state=\"disabled\",this._unbind();break;default:this._state=\"disabled\"}},Zr.prototype.onMouseDown=function(e){\"enabled\"===this._state&&(e.ctrlKey||0!==s.mouseButton(e)||(s.addEventListener(t.default.document,\"mousemove\",this._onMove,{capture:!0}),s.addEventListener(t.default.document,\"mouseup\",this._onMouseUp),this._start(e)))},Zr.prototype.onTouchStart=function(e){\"enabled\"===this._state&&(e.touches.length>1||(s.addEventListener(t.default.document,\"touchmove\",this._onMove,{capture:!0,passive:!1}),s.addEventListener(t.default.document,\"touchend\",this._onTouchEnd),this._start(e)))},Zr.prototype._start=function(e){t.default.addEventListener(\"blur\",this._onBlur),this._state=\"pending\",this._previousPos=s.mousePos(this._el,e),this._inertia=[[a.now(),this._previousPos]]},Zr.prototype._onMove=function(t){this._lastMoveEvent=t,t.preventDefault(),this._pos=s.mousePos(this._el,t),this._drainInertiaBuffer(),this._inertia.push([a.now(),this._pos]),\"pending\"===this._state&&(this._state=\"active\",this._fireEvent(\"dragstart\",t),this._fireEvent(\"movestart\",t)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame))},Zr.prototype._onDragFrame=function(){this._frameId=null;var t=this._lastMoveEvent;if(t){var e=this._map.transform;e.setLocationAtPoint(e.pointLocation(this._previousPos),this._pos),this._fireEvent(\"drag\",t),this._fireEvent(\"move\",t),this._previousPos=this._pos,delete this._lastMoveEvent}},Zr.prototype._onMouseUp=function(t){if(0===s.mouseButton(t))switch(this._state){case\"active\":this._state=\"enabled\",s.suppressClick(),this._unbind(),this._deactivate(),this._inertialPan(t);break;case\"pending\":this._state=\"enabled\",this._unbind()}},Zr.prototype._onTouchEnd=function(t){switch(this._state){case\"active\":this._state=\"enabled\",this._unbind(),this._deactivate(),this._inertialPan(t);break;case\"pending\":this._state=\"enabled\",this._unbind()}},Zr.prototype._onBlur=function(t){switch(this._state){case\"active\":this._state=\"enabled\",this._unbind(),this._deactivate(),this._fireEvent(\"dragend\",t),this._fireEvent(\"moveend\",t);break;case\"pending\":this._state=\"enabled\",this._unbind()}},Zr.prototype._unbind=function(){s.removeEventListener(t.default.document,\"touchmove\",this._onMove,{capture:!0,passive:!1}),s.removeEventListener(t.default.document,\"touchend\",this._onTouchEnd),s.removeEventListener(t.default.document,\"mousemove\",this._onMove,{capture:!0}),s.removeEventListener(t.default.document,\"mouseup\",this._onMouseUp),s.removeEventListener(t.default,\"blur\",this._onBlur)},Zr.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._previousPos,delete this._pos},Zr.prototype._inertialPan=function(t){this._fireEvent(\"dragend\",t),this._drainInertiaBuffer();var e=this._inertia;if(e.length<2)this._fireEvent(\"moveend\",t);else{var r=e[e.length-1],n=e[0],i=r[1].sub(n[1]),a=(r[0]-n[0])/1e3;if(0===a||r[1].equals(n[1]))this._fireEvent(\"moveend\",t);else{var o=i.mult(.3/a),s=o.mag();s>1400&&(s=1400,o._unit()._mult(s));var l=s/750,c=o.mult(-l/2);this._map.panBy(c,{duration:1e3*l,easing:Xr,noMoveStart:!0},{originalEvent:t})}}},Zr.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},Zr.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=a.now();t.length>0&&e-t[0][0]>160;)t.shift()};var $r=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll([\"_onKeyDown\"],this)};function Jr(t){return t*(2-t)}$r.prototype.isEnabled=function(){return!!this._enabled},$r.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener(\"keydown\",this._onKeyDown,!1),this._enabled=!0)},$r.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener(\"keydown\",this._onKeyDown),this._enabled=!1)},$r.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,n=0,i=0,a=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),i=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),i=1);break;case 38:t.shiftKey?n=1:(t.preventDefault(),a=-1);break;case 40:t.shiftKey?n=-1:(a=1,t.preventDefault());break;default:return}var o=this._map,s=o.getZoom(),l={duration:300,delayEndEvents:500,easing:Jr,zoom:e?Math.round(s)+e*(t.shiftKey?2:1):s,bearing:o.getBearing()+15*r,pitch:o.getPitch()+10*n,offset:[100*-i,100*-a],center:o.getCenter()};o.easeTo(l,{originalEvent:t})}};var Kr=function(e){this._map=e,t.bindAll([\"_onDblClick\",\"_onZoomEnd\"],this)};Kr.prototype.isEnabled=function(){return!!this._enabled},Kr.prototype.isActive=function(){return!!this._active},Kr.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Kr.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Kr.prototype.onTouchStart=function(t){var e=this;this.isEnabled()&&(t.points.length>1||(this._tapped?(clearTimeout(this._tapped),this._tapped=null,this._zoom(t)):this._tapped=setTimeout(function(){e._tapped=null},300)))},Kr.prototype.onDblClick=function(t){this.isEnabled()&&(t.originalEvent.preventDefault(),this._zoom(t))},Kr.prototype._zoom=function(t){this._active=!0,this._map.on(\"zoomend\",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},Kr.prototype._onZoomEnd=function(){this._active=!1,this._map.off(\"zoomend\",this._onZoomEnd)};var Qr=t.bezier(0,0,.15,1),tn=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll([\"_onMove\",\"_onEnd\",\"_onTouchFrame\"],this)};tn.prototype.isEnabled=function(){return!!this._enabled},tn.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add(\"mapboxgl-touch-zoom-rotate\"),this._enabled=!0,this._aroundCenter=!!t&&\"center\"===t.around)},tn.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\"),this._enabled=!1)},tn.prototype.disableRotation=function(){this._rotationDisabled=!0},tn.prototype.enableRotation=function(){this._rotationDisabled=!1},tn.prototype.onStart=function(e){if(this.isEnabled()&&2===e.touches.length){var r=s.mousePos(this._el,e.touches[0]),n=s.mousePos(this._el,e.touches[1]);this._startVec=r.sub(n),this._gestureIntent=void 0,this._inertia=[],s.addEventListener(t.default.document,\"touchmove\",this._onMove,{passive:!1}),s.addEventListener(t.default.document,\"touchend\",this._onEnd)}},tn.prototype._getTouchEventData=function(t){var e=s.mousePos(this._el,t.touches[0]),r=s.mousePos(this._el,t.touches[1]),n=e.sub(r);return{vec:n,center:e.add(r).div(2),scale:n.mag()/this._startVec.mag(),bearing:this._rotationDisabled?0:180*n.angleWith(this._startVec)/Math.PI}},tn.prototype._onMove=function(e){if(2===e.touches.length){var r=this._getTouchEventData(e),n=r.vec,i=r.scale,a=r.bearing;if(!this._gestureIntent){var o=Math.abs(1-i)>.15;Math.abs(a)>10?this._gestureIntent=\"rotate\":o&&(this._gestureIntent=\"zoom\"),this._gestureIntent&&(this._map.fire(new t.Event(this._gestureIntent+\"start\",{originalEvent:e})),this._map.fire(new t.Event(\"movestart\",{originalEvent:e})),this._startVec=n)}this._lastTouchEvent=e,this._frameId||(this._frameId=this._map._requestRenderFrame(this._onTouchFrame)),e.preventDefault()}},tn.prototype._onTouchFrame=function(){this._frameId=null;var e=this._gestureIntent;if(e){var r=this._map.transform;this._startScale||(this._startScale=r.scale,this._startBearing=r.bearing);var n=this._getTouchEventData(this._lastTouchEvent),i=n.center,o=n.bearing,s=n.scale,l=r.pointLocation(i),c=r.locationPoint(l);\"rotate\"===e&&(r.bearing=this._startBearing+o),r.zoom=r.scaleZoom(this._startScale*s),r.setLocationAtPoint(l,c),this._map.fire(new t.Event(e,{originalEvent:this._lastTouchEvent})),this._map.fire(new t.Event(\"move\",{originalEvent:this._lastTouchEvent})),this._drainInertiaBuffer(),this._inertia.push([a.now(),s,i])}},tn.prototype._onEnd=function(e){s.removeEventListener(t.default.document,\"touchmove\",this._onMove,{passive:!1}),s.removeEventListener(t.default.document,\"touchend\",this._onEnd);var r=this._gestureIntent,n=this._startScale;if(this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._gestureIntent,delete this._startScale,delete this._startBearing,delete this._lastTouchEvent,r){this._map.fire(new t.Event(r+\"end\",{originalEvent:e})),this._drainInertiaBuffer();var i=this._inertia,a=this._map;if(i.length<2)a.snapToNorth({},{originalEvent:e});else{var o=i[i.length-1],l=i[0],c=a.transform.scaleZoom(n*o[1]),u=a.transform.scaleZoom(n*l[1]),f=c-u,h=(o[0]-l[0])/1e3,p=o[2];if(0!==h&&c!==u){var d=.15*f/h;Math.abs(d)>2.5&&(d=d>0?2.5:-2.5);var g=1e3*Math.abs(d/(12*.15)),m=c+d*g/2e3;m<0&&(m=0),a.easeTo({zoom:m,duration:g,easing:Qr,around:this._aroundCenter?a.getCenter():a.unproject(p),noMoveStart:!0},{originalEvent:e})}else a.snapToNorth({},{originalEvent:e})}}},tn.prototype._drainInertiaBuffer=function(){for(var t=this._inertia,e=a.now();t.length>2&&e-t[0][0]>160;)t.shift()};var en={scrollZoom:Hr,boxZoom:Gr,dragRotate:Yr,dragPan:Zr,keyboard:$r,doubleClickZoom:Kr,touchZoomRotate:tn},rn=function(e){function r(r,n){e.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,t.bindAll([\"_renderFrameCallback\"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getCenter=function(){return this.transform.center},r.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},r.prototype.panBy=function(e,r,n){return e=t.default$1.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},r),n)},r.prototype.panTo=function(e,r,n){return this.easeTo(t.extend({center:e},r),n)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},r.prototype.zoomTo=function(e,r,n){return this.easeTo(t.extend({zoom:e},r),n)},r.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},r.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},r.prototype.rotateTo=function(e,r,n){return this.easeTo(t.extend({bearing:e},r),n)},r.prototype.resetNorth=function(e,r){return this.rotateTo(0,t.extend({duration:1e3},e),r),this},r.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},r.prototype.getPitch=function(){return this.transform.pitch},r.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},r.prototype.fitBounds=function(e,r,n){if(\"number\"==typeof(r=t.extend({padding:{top:0,bottom:0,right:0,left:0},offset:[0,0],maxZoom:this.transform.maxZoom},r)).padding){var i=r.padding;r.padding={top:i,bottom:i,right:i,left:i}}if(!t.default$10(Object.keys(r.padding).sort(function(t,e){return t<e?-1:t>e?1:0}),[\"bottom\",\"left\",\"right\",\"top\"]))return t.warnOnce(\"options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'\"),this;e=W.convert(e);var a=[(r.padding.left-r.padding.right)/2,(r.padding.top-r.padding.bottom)/2],o=Math.min(r.padding.right,r.padding.left),s=Math.min(r.padding.top,r.padding.bottom);r.offset=[r.offset[0]+a[0],r.offset[1]+a[1]];var l=t.default$1.convert(r.offset),c=this.transform,u=c.project(e.getNorthWest()),f=c.project(e.getSouthEast()),h=f.sub(u),p=(c.width-2*o-2*Math.abs(l.x))/h.x,d=(c.height-2*s-2*Math.abs(l.y))/h.y;return d<0||p<0?(t.warnOnce(\"Map cannot fit within canvas with the given bounds, padding, and/or offset.\"),this):(r.center=c.unproject(u.add(f).div(2)),r.zoom=Math.min(c.scaleZoom(c.scale*Math.min(p,d)),r.maxZoom),r.bearing=0,r.linear?this.easeTo(r,n):this.flyTo(r,n))},r.prototype.jumpTo=function(e,r){this.stop();var n=this.transform,i=!1,a=!1,o=!1;return\"zoom\"in e&&n.zoom!==+e.zoom&&(i=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=G.convert(e.center)),\"bearing\"in e&&n.bearing!==+e.bearing&&(a=!0,n.bearing=+e.bearing),\"pitch\"in e&&n.pitch!==+e.pitch&&(o=!0,n.pitch=+e.pitch),this.fire(new t.Event(\"movestart\",r)).fire(new t.Event(\"move\",r)),i&&this.fire(new t.Event(\"zoomstart\",r)).fire(new t.Event(\"zoom\",r)).fire(new t.Event(\"zoomend\",r)),a&&this.fire(new t.Event(\"rotatestart\",r)).fire(new t.Event(\"rotate\",r)).fire(new t.Event(\"rotateend\",r)),o&&this.fire(new t.Event(\"pitchstart\",r)).fire(new t.Event(\"pitch\",r)).fire(new t.Event(\"pitchend\",r)),this.fire(new t.Event(\"moveend\",r))},r.prototype.easeTo=function(e,r){var n=this;this.stop(),!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate&&(e.duration=0);var i=this.transform,a=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l=\"zoom\"in e?+e.zoom:a,c=\"bearing\"in e?this._normalizeBearing(e.bearing,o):o,u=\"pitch\"in e?+e.pitch:s,f=i.centerPoint.add(t.default$1.convert(e.offset)),h=i.pointLocation(f),p=G.convert(e.center||h);this._normalizeCenter(p);var d,g,m=i.project(h),v=i.project(p).sub(m),y=i.zoomScale(l-a);return e.around&&(d=G.convert(e.around),g=i.locationPoint(d)),this._zooming=l!==a,this._rotating=o!==c,this._pitching=u!==s,this._prepareEase(r,e.noMoveStart),clearTimeout(this._easeEndTimeoutID),this._ease(function(e){if(n._zooming&&(i.zoom=t.number(a,l,e)),n._rotating&&(i.bearing=t.number(o,c,e)),n._pitching&&(i.pitch=t.number(s,u,e)),d)i.setLocationAtPoint(d,g);else{var h=i.zoomScale(i.zoom-a),p=l>a?Math.min(2,y):Math.max(.5,y),x=Math.pow(p,1-e),b=i.unproject(m.add(v.mult(e*x)).mult(h));i.setLocationAtPoint(i.renderWorldCopies?b.wrap():b,f)}n._fireMoveEvents(r)},function(){e.delayEndEvents?n._easeEndTimeoutID=setTimeout(function(){return n._afterEase(r)},e.delayEndEvents):n._afterEase(r)},e),this},r.prototype._prepareEase=function(e,r){this._moving=!0,r||this.fire(new t.Event(\"movestart\",e)),this._zooming&&this.fire(new t.Event(\"zoomstart\",e)),this._rotating&&this.fire(new t.Event(\"rotatestart\",e)),this._pitching&&this.fire(new t.Event(\"pitchstart\",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event(\"move\",e)),this._zooming&&this.fire(new t.Event(\"zoom\",e)),this._rotating&&this.fire(new t.Event(\"rotate\",e)),this._pitching&&this.fire(new t.Event(\"pitch\",e))},r.prototype._afterEase=function(e){var r=this._zooming,n=this._rotating,i=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,r&&this.fire(new t.Event(\"zoomend\",e)),n&&this.fire(new t.Event(\"rotateend\",e)),i&&this.fire(new t.Event(\"pitchend\",e)),this.fire(new t.Event(\"moveend\",e))},r.prototype.flyTo=function(e,r){var n=this;this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var i=this.transform,a=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l=\"zoom\"in e?t.clamp(+e.zoom,i.minZoom,i.maxZoom):a,c=\"bearing\"in e?this._normalizeBearing(e.bearing,o):o,u=\"pitch\"in e?+e.pitch:s,f=i.zoomScale(l-a),h=i.centerPoint.add(t.default$1.convert(e.offset)),p=i.pointLocation(h),d=G.convert(e.center||p);this._normalizeCenter(d);var g=i.project(p),m=i.project(d).sub(g),v=e.curve,y=Math.max(i.width,i.height),x=y/f,b=m.mag();if(\"minZoom\"in e){var _=t.clamp(Math.min(e.minZoom,a,l),i.minZoom,i.maxZoom),w=y/i.zoomScale(_-a);v=Math.sqrt(w/b*2)}var k=v*v;function M(t){var e=(x*x-y*y+(t?-1:1)*k*k*b*b)/(2*(t?x:y)*k*b);return Math.log(Math.sqrt(e*e+1)-e)}function A(t){return(Math.exp(t)-Math.exp(-t))/2}function T(t){return(Math.exp(t)+Math.exp(-t))/2}var S=M(0),E=function(t){return T(S)/T(S+v*t)},C=function(t){return y*((T(S)*(A(e=S+v*t)/T(e))-A(S))/k)/b;var e},L=(M(1)-S)/v;if(Math.abs(b)<1e-6||!isFinite(L)){if(Math.abs(y-x)<1e-6)return this.easeTo(e,r);var z=x<y?-1:1;L=Math.abs(Math.log(x/y))/v,C=function(){return 0},E=function(t){return Math.exp(z*v*t)}}if(\"duration\"in e)e.duration=+e.duration;else{var P=\"screenSpeed\"in e?+e.screenSpeed/v:+e.speed;e.duration=1e3*L/P}return e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=o!==c,this._pitching=u!==s,this._prepareEase(r,!1),this._ease(function(e){var l=e*L,f=1/E(l);i.zoom=a+i.scaleZoom(f),n._rotating&&(i.bearing=t.number(o,c,e)),n._pitching&&(i.pitch=t.number(s,u,e));var p=i.unproject(g.add(m.mult(C(l))).mult(f));i.setLocationAtPoint(i.renderWorldCopies?p.wrap():p,h),n._fireMoveEvents(r)},function(){return n._afterEase(r)},e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var t=this._onEaseEnd;delete this._onEaseEnd,t.call(this)}return this},r.prototype._ease=function(t,e,r){!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._easeOptions=r,this._onEaseFrame=t,this._onEaseEnd=e,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var t=Math.min((a.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)<n&&(e-=360),Math.abs(e+360-r)<n&&(e+=360),e},r.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var r=t.lng-e.center.lng;t.lng+=r>180?-360:r<-180?360:0}},r}(t.Evented),nn=function(e){void 0===e&&(e={}),this.options=e,t.bindAll([\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};nn.prototype.getDefaultPosition=function(){return\"bottom-right\"},nn.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=s.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),e&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),void 0===e&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},nn.prototype.onRemove=function(){s.remove(this._container),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0},nn.prototype._updateEditLink=function(){var t=this._editLink;t||(t=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var e=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:m.ACCESS_TOKEN}];if(t){var r=e.reduce(function(t,r,n){return r.value&&(t+=r.key+\"=\"+r.value+(n<e.length-1?\"&\":\"\")),t},\"?\");t.href=\"https://www.mapbox.com/feedback/\"+r+(this._map._hash?this._map._hash.getHashString(!0):\"\")}},nn.prototype._updateData=function(t){t&&\"metadata\"===t.sourceDataType&&(this._updateAttributions(),this._updateEditLink())},nn.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}var r=this._map.style.sourceCaches;for(var n in r){var i=r[n].getSource();i.attribution&&t.indexOf(i.attribution)<0&&t.push(i.attribution)}t.sort(function(t,e){return t.length-e.length}),(t=t.filter(function(e,r){for(var n=r+1;n<t.length;n++)if(t[n].indexOf(e)>=0)return!1;return!0})).length?(this._container.innerHTML=t.join(\" | \"),this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null}},nn.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\")};var an=function(){t.bindAll([\"_updateLogo\"],this)};an.prototype.onAdd=function(t){this._map=t,this._container=s.create(\"div\",\"mapboxgl-ctrl\");var e=s.create(\"a\",\"mapboxgl-ctrl-logo\");return e.target=\"_blank\",e.href=\"https://www.mapbox.com/\",e.setAttribute(\"aria-label\",\"Mapbox logo\"),this._container.appendChild(e),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._container},an.prototype.onRemove=function(){s.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo)},an.prototype.getDefaultPosition=function(){return\"bottom-left\"},an.prototype._updateLogo=function(t){t&&\"metadata\"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?\"block\":\"none\")},an.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}};var on=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};on.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},on.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;r<n.length;r+=1){var i=n[r];if(i.id===t)return void(i.cancelled=!0)}},on.prototype.run=function(){var t=this._currentlyRunning=this._queue;this._queue=[];for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!n.cancelled&&(n.callback(),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},on.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var sn=t.default.HTMLImageElement,ln=t.default.HTMLElement,cn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,transformRequest:null,fadeDuration:300},un=function(r){function n(e){if(null!=(e=t.extend({},cn,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error(\"maxZoom must be greater than minZoom\");var n=new Fr(e.minZoom,e.maxZoom,e.renderWorldCopies);r.call(this,n,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new on;var i=e.transformRequest;if(this._transformRequest=i?function(t,e){return i(t,e)||{url:t}}:function(t){return{url:t}},\"string\"==typeof e.container){var a=t.default.document.getElementById(e.container);if(!a)throw new Error(\"Container '\"+e.container+\"' not found.\");this._container=a}else{if(!(e.container instanceof ln))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=e.container}e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_contextLost\",\"_contextRestored\",\"_update\",\"_render\",\"_onData\",\"_onDataLoading\"],this),this._setupContainer(),this._setupPainter(),this.on(\"move\",this._update.bind(this,!1)),this.on(\"zoom\",this._update.bind(this,!0)),void 0!==t.default&&(t.default.addEventListener(\"online\",this._onWindowOnline,!1),t.default.addEventListener(\"resize\",this._onWindowResize,!1)),function(t,e){var r=t.getCanvasContainer(),n=null,i=!1;for(var a in en)t[a]=new en[a](t,e),e.interactive&&e[a]&&t[a].enable(e[a]);s.addEventListener(r,\"mouseout\",function(e){t.fire(new Vr(\"mouseout\",t,e))}),s.addEventListener(r,\"mousedown\",function(r){i=!0;var n=new Vr(\"mousedown\",t,r);t.fire(n),n.defaultPrevented||(e.interactive&&!t.doubleClickZoom.isActive()&&t.stop(),t.boxZoom.onMouseDown(r),t.boxZoom.isActive()||t.dragPan.isActive()||t.dragRotate.onMouseDown(r),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onMouseDown(r))}),s.addEventListener(r,\"mouseup\",function(e){var r=t.dragRotate.isActive();n&&!r&&t.fire(new Vr(\"contextmenu\",t,n)),n=null,i=!1,t.fire(new Vr(\"mouseup\",t,e))}),s.addEventListener(r,\"mousemove\",function(e){if(!t.dragPan.isActive()&&!t.dragRotate.isActive()){for(var n=e.toElement||e.target;n&&n!==r;)n=n.parentNode;n===r&&t.fire(new Vr(\"mousemove\",t,e))}}),s.addEventListener(r,\"mouseover\",function(e){for(var n=e.toElement||e.target;n&&n!==r;)n=n.parentNode;n===r&&t.fire(new Vr(\"mouseover\",t,e))}),s.addEventListener(r,\"touchstart\",function(r){var n=new Ur(\"touchstart\",t,r);t.fire(n),n.defaultPrevented||(e.interactive&&t.stop(),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onTouchStart(r),t.touchZoomRotate.onStart(r),t.doubleClickZoom.onTouchStart(n))},{passive:!1}),s.addEventListener(r,\"touchmove\",function(e){t.fire(new Ur(\"touchmove\",t,e))},{passive:!1}),s.addEventListener(r,\"touchend\",function(e){t.fire(new Ur(\"touchend\",t,e))}),s.addEventListener(r,\"touchcancel\",function(e){t.fire(new Ur(\"touchcancel\",t,e))}),s.addEventListener(r,\"click\",function(e){t.fire(new Vr(\"click\",t,e))}),s.addEventListener(r,\"dblclick\",function(e){var r=new Vr(\"dblclick\",t,e);t.fire(r),r.defaultPrevented||t.doubleClickZoom.onDblClick(r)}),s.addEventListener(r,\"contextmenu\",function(e){var r=t.dragRotate.isActive();i||r?i&&(n=e):t.fire(new Vr(\"contextmenu\",t,e)),e.preventDefault()}),s.addEventListener(r,\"wheel\",function(e){var r=new qr(\"wheel\",t,e);t.fire(r),r.defaultPrevented||t.scrollZoom.onWheel(e)},{passive:!1})}(this,e),this._hash=e.hash&&(new jr).addTo(this),this._hash&&this._hash._onHashChange()||this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),this.resize(),e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new nn),this.addControl(new an,e.logoPosition),this.on(\"style.load\",function(){this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",this._onData),this.on(\"dataloading\",this._onDataLoading)}r&&(n.__proto__=r),n.prototype=Object.create(r&&r.prototype),n.prototype.constructor=n;var i={showTileBoundaries:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0}};return n.prototype.addControl=function(t,e){void 0===e&&t.getDefaultPosition&&(e=t.getDefaultPosition()),void 0===e&&(e=\"top-right\");var r=t.onAdd(this),n=this._controlPositions[e];return-1!==e.indexOf(\"bottom\")?n.insertBefore(r,n.firstChild):n.appendChild(r),this},n.prototype.removeControl=function(t){return t.onRemove(this),this},n.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];return this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i),this.fire(new t.Event(\"movestart\",e)).fire(new t.Event(\"move\",e)).fire(new t.Event(\"resize\",e)).fire(new t.Event(\"moveend\",e))},n.prototype.getBounds=function(){var e=new W(this.transform.pointLocation(new t.default$1(0,this.transform.height)),this.transform.pointLocation(new t.default$1(this.transform.width,0)));return(this.transform.angle||this.transform.pitch)&&(e.extend(this.transform.pointLocation(new t.default$1(this.transform.size.x,0))),e.extend(this.transform.pointLocation(new t.default$1(0,this.transform.size.y)))),e},n.prototype.getMaxBounds=function(){return this.transform.latRange&&2===this.transform.latRange.length&&this.transform.lngRange&&2===this.transform.lngRange.length?new W([this.transform.lngRange[0],this.transform.latRange[0]],[this.transform.lngRange[1],this.transform.latRange[1]]):null},n.prototype.setMaxBounds=function(t){if(t){var e=W.convert(t);this.transform.lngRange=[e.getWest(),e.getEast()],this.transform.latRange=[e.getSouth(),e.getNorth()],this.transform._constrain(),this._update()}else null==t&&(this.transform.lngRange=null,this.transform.latRange=null,this._update());return this},n.prototype.setMinZoom=function(t){if((t=null==t?0:t)>=0&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error(\"minZoom must be between 0 and the current maxZoom, inclusive\")},n.prototype.getMinZoom=function(){return this.transform.minZoom},n.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},n.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},n.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update(),this},n.prototype.getMaxZoom=function(){return this.transform.maxZoom},n.prototype.project=function(t){return this.transform.locationPoint(G.convert(t))},n.prototype.unproject=function(e){return this.transform.pointLocation(t.default$1.convert(e))},n.prototype.isMoving=function(){return this._moving||this.dragPan.isActive()||this.dragRotate.isActive()||this.scrollZoom.isActive()},n.prototype.isZooming=function(){return this._zooming||this.scrollZoom.isActive()},n.prototype.isRotating=function(){return this._rotating||this.dragRotate.isActive()},n.prototype.on=function(t,e,n){var i,a=this;if(void 0===n)return r.prototype.on.call(this,t,e);var o=function(){if(\"mouseenter\"===t||\"mouseover\"===t){var r=!1;return{layer:e,listener:n,delegates:{mousemove:function(i){var o=a.getLayer(e)?a.queryRenderedFeatures(i.point,{layers:[e]}):[];o.length?r||(r=!0,n.call(a,new Vr(t,a,i.originalEvent,{features:o}))):r=!1},mouseout:function(){r=!1}}}}if(\"mouseleave\"===t||\"mouseout\"===t){var o=!1;return{layer:e,listener:n,delegates:{mousemove:function(r){(a.getLayer(e)?a.queryRenderedFeatures(r.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,n.call(a,new Vr(t,a,r.originalEvent)))},mouseout:function(e){o&&(o=!1,n.call(a,new Vr(t,a,e.originalEvent)))}}}}return{layer:e,listener:n,delegates:(i={},i[t]=function(t){var r=a.getLayer(e)?a.queryRenderedFeatures(t.point,{layers:[e]}):[];r.length&&(t.features=r,n.call(a,t),delete t.features)},i)}}();for(var s in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(o),o.delegates)a.on(s,o.delegates[s]);return this},n.prototype.off=function(t,e,n){if(void 0===n)return r.prototype.off.call(this,t,e);if(this._delegatedListeners&&this._delegatedListeners[t])for(var i=this._delegatedListeners[t],a=0;a<i.length;a++){var o=i[a];if(o.layer===e&&o.listener===n){for(var s in o.delegates)this.off(s,o.delegates[s]);return i.splice(a,1),this}}return this},n.prototype.queryRenderedFeatures=function(e,r){var n;return 2===arguments.length?(e=arguments[0],r=arguments[1]):1===arguments.length&&((n=arguments[0])instanceof t.default$1||Array.isArray(n))?(e=arguments[0],r={}):1===arguments.length?(e=void 0,r=arguments[0]):(e=void 0,r={}),this.style?this.style.queryRenderedFeatures(this._makeQueryGeometry(e),r,this.transform):[]},n.prototype._makeQueryGeometry=function(e){var r,n=this;if(void 0===e&&(e=[t.default$1.convert([0,0]),t.default$1.convert([this.transform.width,this.transform.height])]),e instanceof t.default$1||\"number\"==typeof e[0])r=[t.default$1.convert(e)];else{var i=[t.default$1.convert(e[0]),t.default$1.convert(e[1])];r=[i[0],new t.default$1(i[1].x,i[0].y),i[1],new t.default$1(i[0].x,i[1].y),i[0]]}return{viewport:r,worldCoordinate:r.map(function(t){return n.transform.pointCoordinate(t)})}},n.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},n.prototype.setStyle=function(e,r){if((!r||!1!==r.diff&&!r.localIdeographFontFamily)&&this.style&&e&&\"object\"==typeof e)try{return this.style.setState(e)&&this._update(!0),this}catch(e){t.warnOnce(\"Unable to perform style diff: \"+(e.message||e.error||e)+\".  Rebuilding the style from scratch.\")}return this.style&&(this.style.setEventedParent(null),this.style._remove()),e?(this.style=new Je(this,r||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof e?this.style.loadURL(e):this.style.loadJSON(e),this):(delete this.style,this)},n.prototype.getStyle=function(){if(this.style)return this.style.serialize()},n.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce(\"There is no style added to the map.\")},n.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0),this},n.prototype.isSourceLoaded=function(e){var r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.ErrorEvent(new Error(\"There is no source with ID '\"+e+\"'\")))},n.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var r=t[e]._tiles;for(var n in r){var i=r[n];if(\"loaded\"!==i.state&&\"errored\"!==i.state)return!1}}return!0},n.prototype.addSourceType=function(t,e,r){return this.style.addSourceType(t,e,r)},n.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0),this},n.prototype.getSource=function(t){return this.style.getSource(t)},n.prototype.addImage=function(e,r,n){void 0===n&&(n={});var i=n.pixelRatio;void 0===i&&(i=1);var o=n.sdf;if(void 0===o&&(o=!1),r instanceof sn){var s=a.getImageData(r),l=s.width,c=s.height,u=s.data;this.style.addImage(e,{data:new t.RGBAImage({width:l,height:c},u),pixelRatio:i,sdf:o})}else{if(void 0===r.width||void 0===r.height)return this.fire(new t.ErrorEvent(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));var f=r.width,h=r.height,p=r.data;this.style.addImage(e,{data:new t.RGBAImage({width:f,height:h},p.slice(0)),pixelRatio:i,sdf:o})}},n.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error(\"Missing required image id\"))),!1)},n.prototype.removeImage=function(t){this.style.removeImage(t)},n.prototype.loadImage=function(e,r){t.getImage(this._transformRequest(e,t.ResourceType.Image),r)},n.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0),this},n.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0),this},n.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0),this},n.prototype.getLayer=function(t){return this.style.getLayer(t)},n.prototype.setFilter=function(t,e){return this.style.setFilter(t,e),this._update(!0),this},n.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0),this},n.prototype.getFilter=function(t){return this.style.getFilter(t)},n.prototype.setPaintProperty=function(t,e,r){return this.style.setPaintProperty(t,e,r),this._update(!0),this},n.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},n.prototype.setLayoutProperty=function(t,e,r){return this.style.setLayoutProperty(t,e,r),this._update(!0),this},n.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},n.prototype.setLight=function(t){return this.style.setLight(t),this._update(!0),this},n.prototype.getLight=function(){return this.style.getLight()},n.prototype.getContainer=function(){return this._container},n.prototype.getCanvasContainer=function(){return this._canvasContainer},n.prototype.getCanvas=function(){return this._canvas},n.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.offsetWidth||400,e=this._container.offsetHeight||300),[t,e]},n.prototype._setupContainer=function(){var t=this._container;t.classList.add(\"mapboxgl-map\"),(this._missingCSSContainer=s.create(\"div\",\"mapboxgl-missing-css\",t)).innerHTML=\"Missing Mapbox GL JS CSS\";var e=this._canvasContainer=s.create(\"div\",\"mapboxgl-canvas-container\",t);this._interactive&&e.classList.add(\"mapboxgl-interactive\"),this._canvas=s.create(\"canvas\",\"mapboxgl-canvas\",e),this._canvas.style.position=\"absolute\",this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\");var r=this._containerDimensions();this._resizeCanvas(r[0],r[1]);var n=this._controlContainer=s.create(\"div\",\"mapboxgl-control-container\",t),i=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(function(t){i[t]=s.create(\"div\",\"mapboxgl-ctrl-\"+t,n)})},n.prototype._resizeCanvas=function(e,r){var n=t.default.devicePixelRatio||1;this._canvas.width=n*e,this._canvas.height=n*r,this._canvas.style.width=e+\"px\",this._canvas.style.height=r+\"px\"},n.prototype._setupPainter=function(){var r=t.extend({failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer},e.webGLContextAttributes),n=this._canvas.getContext(\"webgl\",r)||this._canvas.getContext(\"experimental-webgl\",r);n?this.painter=new zr(n,this.transform):this.fire(new t.ErrorEvent(new Error(\"Failed to initialize WebGL\")))},n.prototype._contextLost=function(e){e.preventDefault(),this._frameId&&(a.cancelFrame(this._frameId),this._frameId=null),this.fire(new t.Event(\"webglcontextlost\",{originalEvent:e}))},n.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event(\"webglcontextrestored\",{originalEvent:e}))},n.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!(!this.style||!this.style.loaded())},n.prototype._update=function(t){this.style&&(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this._rerender())},n.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},n.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t)},n.prototype._render=function(){this._renderTaskQueue.run();var e=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var r=this.transform.zoom,n=a.now();this.style.zoomHistory.update(r,n);var i=new t.default$16(r,{now:n,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),o=i.crossFadingFactor();1===o&&o===this._crossFadingFactor||(e=!0,this._crossFadingFactor=o),this.style.update(i)}return this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),fadeDuration:this._fadeDuration}),this.fire(new t.Event(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event(\"load\"))),this.style&&(this.style.hasTransitions()||e)&&(this._styleDirty=!0),(this._sourcesDirty||this._repaint||this._styleDirty||this._placementDirty)&&this._rerender(),this},n.prototype.remove=function(){this._hash&&this._hash.remove(),a.cancelFrame(this._frameId),this._renderTaskQueue.clear(),this._frameId=null,this.setStyle(null),void 0!==t.default&&(t.default.removeEventListener(\"resize\",this._onWindowResize,!1),t.default.removeEventListener(\"online\",this._onWindowOnline,!1));var e=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");e&&e.loseContext(),fn(this._canvasContainer),fn(this._controlContainer),fn(this._missingCSSContainer),this._container.classList.remove(\"mapboxgl-map\"),this.fire(new t.Event(\"remove\"))},n.prototype._rerender=function(){var t=this;this.style&&!this._frameId&&(this._frameId=a.frame(function(){t._frameId=null,t._render()}))},n.prototype._onWindowOnline=function(){this._update()},n.prototype._onWindowResize=function(){this._trackResize&&this.stop().resize()._update()},i.showTileBoundaries.get=function(){return!!this._showTileBoundaries},i.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},i.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},i.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},i.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},i.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},i.repaint.get=function(){return!!this._repaint},i.repaint.set=function(t){this._repaint=t,this._update()},i.vertices.get=function(){return!!this._vertices},i.vertices.set=function(t){this._vertices=t,this._update()},n.prototype._onData=function(e){this._update(\"style\"===e.dataType),this.fire(new t.Event(e.dataType+\"data\",e))},n.prototype._onDataLoading=function(e){this.fire(new t.Event(e.dataType+\"dataloading\",e))},Object.defineProperties(n.prototype,i),n}(rn);function fn(t){t.parentNode&&t.parentNode.removeChild(t)}var hn={showCompass:!0,showZoom:!0},pn=function(e){var r=this;this.options=t.extend({},hn,e),this._container=s.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this.options.showZoom&&(this._zoomInButton=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in\",\"Zoom In\",function(){return r._map.zoomIn()}),this._zoomOutButton=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out\",\"Zoom Out\",function(){return r._map.zoomOut()})),this.options.showCompass&&(t.bindAll([\"_rotateCompassArrow\"],this),this._compass=this._createButton(\"mapboxgl-ctrl-icon mapboxgl-ctrl-compass\",\"Reset North\",function(){return r._map.resetNorth()}),this._compassArrow=s.create(\"span\",\"mapboxgl-ctrl-compass-arrow\",this._compass))};function dn(t,e,r){if(t=new G(t.lng,t.lat),e){var n=new G(t.lng-360,t.lat),i=new G(t.lng+360,t.lat),a=r.locationPoint(t).distSqr(e);r.locationPoint(n).distSqr(e)<a?t=n:r.locationPoint(i).distSqr(e)<a&&(t=i)}for(;Math.abs(t.lng-r.center.lng)>180;){var o=r.locationPoint(t);if(o.x>=0&&o.y>=0&&o.x<=r.width&&o.y<=r.height)break;t.lng>r.center.lng?t.lng-=360:t.lng+=360}return t}pn.prototype._rotateCompassArrow=function(){var t=\"rotate(\"+this._map.transform.angle*(180/Math.PI)+\"deg)\";this._compassArrow.style.transform=t},pn.prototype.onAdd=function(t){return this._map=t,this.options.showCompass&&(this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Yr(t,{button:\"left\",element:this._compass}),this._handler.enable()),this._container},pn.prototype.onRemove=function(){s.remove(this._container),this.options.showCompass&&(this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.disable(),delete this._handler),delete this._map},pn.prototype._createButton=function(t,e,r){var n=s.create(\"button\",t,this._container);return n.type=\"button\",n.setAttribute(\"aria-label\",e),n.addEventListener(\"click\",r),n};var gn={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function mn(t,e,r){var n=t.classList;for(var i in gn)n.remove(\"mapboxgl-\"+r+\"-anchor-\"+i);n.add(\"mapboxgl-\"+r+\"-anchor-\"+e)}var vn=function(e){if((arguments[0]instanceof t.default.HTMLElement||2===arguments.length)&&(e=t.extend({element:e},arguments[1])),t.bindAll([\"_update\",\"_onMapClick\"],this),this._anchor=e&&e.anchor||\"center\",this._color=e&&e.color||\"#3FB1CE\",e&&e.element)this._element=e.element,this._offset=t.default$1.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=s.create(\"div\");var r=s.createNS(\"http://www.w3.org/2000/svg\",\"svg\");r.setAttributeNS(null,\"height\",\"41px\"),r.setAttributeNS(null,\"width\",\"27px\"),r.setAttributeNS(null,\"viewBox\",\"0 0 27 41\");var n=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");n.setAttributeNS(null,\"stroke\",\"none\"),n.setAttributeNS(null,\"stroke-width\",\"1\"),n.setAttributeNS(null,\"fill\",\"none\"),n.setAttributeNS(null,\"fill-rule\",\"evenodd\");var i=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");i.setAttributeNS(null,\"fill-rule\",\"nonzero\");var a=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");a.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),a.setAttributeNS(null,\"fill\",\"#000000\");for(var o=0,l=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];o<l.length;o+=1){var c=l[o],u=s.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");u.setAttributeNS(null,\"opacity\",\"0.04\"),u.setAttributeNS(null,\"cx\",\"10.5\"),u.setAttributeNS(null,\"cy\",\"5.80029008\"),u.setAttributeNS(null,\"rx\",c.rx),u.setAttributeNS(null,\"ry\",c.ry),a.appendChild(u)}var f=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");f.setAttributeNS(null,\"fill\",this._color);var h=s.createNS(\"http://www.w3.org/2000/svg\",\"path\");h.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),f.appendChild(h);var p=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");p.setAttributeNS(null,\"opacity\",\"0.25\"),p.setAttributeNS(null,\"fill\",\"#000000\");var d=s.createNS(\"http://www.w3.org/2000/svg\",\"path\");d.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),p.appendChild(d);var g=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");g.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),g.setAttributeNS(null,\"fill\",\"#FFFFFF\");var m=s.createNS(\"http://www.w3.org/2000/svg\",\"g\");m.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");var v=s.createNS(\"http://www.w3.org/2000/svg\",\"circle\");v.setAttributeNS(null,\"fill\",\"#000000\"),v.setAttributeNS(null,\"opacity\",\"0.25\"),v.setAttributeNS(null,\"cx\",\"5.5\"),v.setAttributeNS(null,\"cy\",\"5.5\"),v.setAttributeNS(null,\"r\",\"5.4999962\");var y=s.createNS(\"http://www.w3.org/2000/svg\",\"circle\");y.setAttributeNS(null,\"fill\",\"#FFFFFF\"),y.setAttributeNS(null,\"cx\",\"5.5\"),y.setAttributeNS(null,\"cy\",\"5.5\"),y.setAttributeNS(null,\"r\",\"5.4999962\"),m.appendChild(v),m.appendChild(y),i.appendChild(a),i.appendChild(f),i.appendChild(p),i.appendChild(g),i.appendChild(m),r.appendChild(i),this._element.appendChild(r),this._offset=t.default$1.convert(e&&e.offset||[0,-14])}this._element.classList.add(\"mapboxgl-marker\"),this._popup=null};vn.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),this._update(),this._map.on(\"click\",this._onMapClick),this},vn.prototype.remove=function(){return this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),delete this._map),s.remove(this._element),this._popup&&this._popup.remove(),this},vn.prototype.getLngLat=function(){return this._lngLat},vn.prototype.setLngLat=function(t){return this._lngLat=G.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},vn.prototype.getElement=function(){return this._element},vn.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null),t){if(!(\"offset\"in t.options)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[e,-1*(24.6+e)],\"bottom-right\":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat)}return this},vn.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},vn.prototype.getPopup=function(){return this._popup},vn.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},vn.prototype._update=function(t){this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=dn(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),s.setTransform(this._element,gn[this._anchor]+\" translate(\"+this._pos.x+\"px, \"+this._pos.y+\"px)\"),mn(this._element,this._anchor,\"marker\"))},vn.prototype.getOffset=function(){return this._offset},vn.prototype.setOffset=function(e){return this._offset=t.default$1.convert(e),this._update(),this};var yn,xn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},bn=function(e){function r(r){e.call(this),this.options=t.extend({},xn,r),t.bindAll([\"_onSuccess\",\"_onError\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.onAdd=function(e){var r;return this._map=e,this._container=s.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),r=this._setupUI,void 0!==yn?r(yn):void 0!==t.default.navigator.permissions?t.default.navigator.permissions.query({name:\"geolocation\"}).then(function(t){yn=\"denied\"!==t.state,r(yn)}):(yn=!!t.default.navigator.geolocation,r(yn)),this._container},r.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.default.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker.remove(),s.remove(this._container),this._map=void 0},r.prototype._onSuccess=function(e){if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\")}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"geolocate\",e)),this._finish()},r.prototype._updateCamera=function(t){var e=new G(t.coords.longitude,t.coords.latitude),r=t.coords.accuracy;this._map.fitBounds(e.toBounds(r),this.options.fitBoundsOptions,{geolocateSource:!0})},r.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},r.prototype._onError=function(e){if(this.options.trackUserLocation)if(1===e.code)this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),void 0!==this._geolocationWatchID&&this._clearWatch();else switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\")}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new t.Event(\"error\",e)),this._finish()},r.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},r.prototype._setupUI=function(e){var r=this;!1!==e&&(this._container.addEventListener(\"contextmenu\",function(t){return t.preventDefault()}),this._geolocateButton=s.create(\"button\",\"mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate\",this._container),this._geolocateButton.type=\"button\",this._geolocateButton.setAttribute(\"aria-label\",\"Geolocate\"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=s.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new vn(this._dotElement),this.options.trackUserLocation&&(this._watchState=\"OFF\")),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",function(e){e.geolocateSource||\"ACTIVE_LOCK\"!==r._watchState||(r._watchState=\"BACKGROUND\",r._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),r._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),r.fire(new t.Event(\"trackuserlocationend\")))}))},r.prototype.trigger=function(){if(!this._setup)return t.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new t.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new t.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event(\"trackuserlocationstart\"))}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\")}\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),this._geolocationWatchID=t.default.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else t.default.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},r.prototype._clearWatch=function(){t.default.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)},r}(t.Evented),_n={maxWidth:100,unit:\"metric\"},wn=function(e){this.options=t.extend({},_n,e),t.bindAll([\"_onMove\",\"setUnit\"],this)};function kn(t,e,r){var n,i,a,o,s,l,c=r&&r.maxWidth||100,u=t._container.clientHeight/2,f=(n=t.unproject([0,u]),i=t.unproject([c,u]),a=Math.PI/180,o=n.lat*a,s=i.lat*a,l=Math.sin(o)*Math.sin(s)+Math.cos(o)*Math.cos(s)*Math.cos((i.lng-n.lng)*a),6371e3*Math.acos(Math.min(l,1)));if(r&&\"imperial\"===r.unit){var h=3.2808*f;h>5280?Mn(e,c,h/5280,\"mi\"):Mn(e,c,h,\"ft\")}else r&&\"nautical\"===r.unit?Mn(e,c,f/1852,\"nm\"):Mn(e,c,f,\"m\")}function Mn(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(\"\"+Math.floor(i)).length-1))*(o=(o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:1)),l=s/r;\"m\"===n&&s>=1e3&&(s/=1e3,n=\"km\"),t.style.width=e*l+\"px\",t.innerHTML=s+n}wn.prototype.getDefaultPosition=function(){return\"bottom-left\"},wn.prototype._onMove=function(){kn(this._map,this._container,this.options)},wn.prototype.onAdd=function(t){return this._map=t,this._container=s.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},wn.prototype.onRemove=function(){s.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},wn.prototype.setUnit=function(t){this.options.unit=t,kn(this._map,this._container,this.options)};var An=function(){this._fullscreen=!1,t.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in t.default.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in t.default.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in t.default.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in t.default.document&&(this._fullscreenchange=\"MSFullscreenChange\"),this._className=\"mapboxgl-ctrl\"};An.prototype.onAdd=function(e){return this._map=e,this._mapContainer=this._map.getContainer(),this._container=s.create(\"div\",this._className+\" mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._container.style.display=\"none\",t.warnOnce(\"This device does not support fullscreen mode.\")),this._container},An.prototype.onRemove=function(){s.remove(this._container),this._map=null,t.default.document.removeEventListener(this._fullscreenchange,this._changeIcon)},An.prototype._checkFullscreenSupport=function(){return!!(t.default.document.fullscreenEnabled||t.default.document.mozFullScreenEnabled||t.default.document.msFullscreenEnabled||t.default.document.webkitFullscreenEnabled)},An.prototype._setupUI=function(){var e=this._fullscreenButton=s.create(\"button\",this._className+\"-icon \"+this._className+\"-fullscreen\",this._container);e.setAttribute(\"aria-label\",\"Toggle fullscreen\"),e.type=\"button\",this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),t.default.document.addEventListener(this._fullscreenchange,this._changeIcon)},An.prototype._isFullscreen=function(){return this._fullscreen},An.prototype._changeIcon=function(){(t.default.document.fullscreenElement||t.default.document.mozFullScreenElement||t.default.document.webkitFullscreenElement||t.default.document.msFullscreenElement)===this._mapContainer!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+\"-shrink\"),this._fullscreenButton.classList.toggle(this._className+\"-fullscreen\"))},An.prototype._onClickFullscreen=function(){this._isFullscreen()?t.default.document.exitFullscreen?t.default.document.exitFullscreen():t.default.document.mozCancelFullScreen?t.default.document.mozCancelFullScreen():t.default.document.msExitFullscreen?t.default.document.msExitFullscreen():t.default.document.webkitCancelFullScreen&&t.default.document.webkitCancelFullScreen():this._mapContainer.requestFullscreen?this._mapContainer.requestFullscreen():this._mapContainer.mozRequestFullScreen?this._mapContainer.mozRequestFullScreen():this._mapContainer.msRequestFullscreen?this._mapContainer.msRequestFullscreen():this._mapContainer.webkitRequestFullscreen&&this._mapContainer.webkitRequestFullscreen()};var Tn={closeButton:!0,closeOnClick:!0},Sn=function(e){function r(r){e.call(this),this.options=t.extend(Object.create(Tn),r),t.bindAll([\"_update\",\"_onClickClose\"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.addTo=function(e){return this._map=e,this._map.on(\"move\",this._update),this.options.closeOnClick&&this._map.on(\"click\",this._onClickClose),this._update(),this.fire(new t.Event(\"open\")),this},r.prototype.isOpen=function(){return!!this._map},r.prototype.remove=function(){return this._content&&s.remove(this._content),this._container&&(s.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"click\",this._onClickClose),delete this._map),this.fire(new t.Event(\"close\")),this},r.prototype.getLngLat=function(){return this._lngLat},r.prototype.setLngLat=function(t){return this._lngLat=G.convert(t),this._pos=null,this._update(),this},r.prototype.setText=function(e){return this.setDOMContent(t.default.document.createTextNode(e))},r.prototype.setHTML=function(e){var r,n=t.default.document.createDocumentFragment(),i=t.default.document.createElement(\"body\");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},r.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},r.prototype._createContent=function(){this._content&&s.remove(this._content),this._content=s.create(\"div\",\"mapboxgl-popup-content\",this._container),this.options.closeButton&&(this._closeButton=s.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"&#215;\",this._closeButton.addEventListener(\"click\",this._onClickClose))},r.prototype._update=function(){if(this._map&&this._lngLat&&this._content){this._container||(this._container=s.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=s.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content)),this._map.transform.renderWorldCopies&&(this._lngLat=dn(this._lngLat,this._pos,this._map.transform));var e=this._pos=this._map.project(this._lngLat),r=this.options.anchor,n=function e(r){if(r){if(\"number\"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.default$1(0,0),top:new t.default$1(0,r),\"top-left\":new t.default$1(n,n),\"top-right\":new t.default$1(-n,n),bottom:new t.default$1(0,-r),\"bottom-left\":new t.default$1(n,-n),\"bottom-right\":new t.default$1(-n,-n),left:new t.default$1(r,0),right:new t.default$1(-r,0)}}if(r instanceof t.default$1||Array.isArray(r)){var i=t.default$1.convert(r);return{center:i,top:i,\"top-left\":i,\"top-right\":i,bottom:i,\"bottom-left\":i,\"bottom-right\":i,left:i,right:i}}return{center:t.default$1.convert(r.center||[0,0]),top:t.default$1.convert(r.top||[0,0]),\"top-left\":t.default$1.convert(r[\"top-left\"]||[0,0]),\"top-right\":t.default$1.convert(r[\"top-right\"]||[0,0]),bottom:t.default$1.convert(r.bottom||[0,0]),\"bottom-left\":t.default$1.convert(r[\"bottom-left\"]||[0,0]),\"bottom-right\":t.default$1.convert(r[\"bottom-right\"]||[0,0]),left:t.default$1.convert(r.left||[0,0]),right:t.default$1.convert(r.right||[0,0])}}return e(new t.default$1(0,0))}(this.options.offset);if(!r){var i,a=this._container.offsetWidth,o=this._container.offsetHeight;i=e.y+n.bottom.y<o?[\"top\"]:e.y>this._map.transform.height-o?[\"bottom\"]:[],e.x<a/2?i.push(\"left\"):e.x>this._map.transform.width-a/2&&i.push(\"right\"),r=0===i.length?\"bottom\":i.join(\"-\")}var l=e.add(n[r]).round();s.setTransform(this._container,gn[r]+\" translate(\"+l.x+\"px,\"+l.y+\"px)\"),mn(this._container,r,\"popup\")}},r.prototype._onClickClose=function(){this.remove()},r}(t.Evented),En={version:\"0.45.0\",supported:e,workerCount:Math.max(Math.floor(a.hardwareConcurrency/2),1),setRTLTextPlugin:t.setRTLTextPlugin,Map:un,NavigationControl:pn,GeolocateControl:bn,AttributionControl:nn,ScaleControl:wn,FullscreenControl:An,Popup:Sn,Marker:vn,Style:Je,LngLat:G,LngLatBounds:W,Point:t.default$1,Evented:t.Evented,config:m,get accessToken(){return m.ACCESS_TOKEN},set accessToken(t){m.ACCESS_TOKEN=t},workerUrl:\"\"};return En}),n})}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],407:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=a(t,n);return r};var n=t(\"convex-hull\");function i(t,e,r){for(var n=new Array(t),i=0;i<t;++i)n[i]=0,i===e&&(n[i]+=.5),i===r&&(n[i]+=.5);return n}function a(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],a=[],o=0;o<=t;++o)if(e&1<<o){r.push(i(t,o-1,o-1)),a.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(i(t,o-1,s-1)),a.push([o,s]))}var l=n(r),c=[];t:for(o=0;o<l.length;++o){var u=l[o],f=[];for(s=0;s<u.length;++s){if(!a[u[s]])continue t;f.push(a[u[s]].slice())}c.push(f)}return c}},{\"convex-hull\":117}],408:[function(t,e,r){var n=t(\"./normalize\"),i=t(\"gl-mat4/create\"),a=t(\"gl-mat4/clone\"),o=t(\"gl-mat4/determinant\"),s=t(\"gl-mat4/invert\"),l=t(\"gl-mat4/transpose\"),c={length:t(\"gl-vec3/length\"),normalize:t(\"gl-vec3/normalize\"),dot:t(\"gl-vec3/dot\"),cross:t(\"gl-vec3/cross\")},u=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function g(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}e.exports=function(t,e,r,i,m,v){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),m||(m=[0,0,0,1]),v||(v=[0,0,0,1]),!n(u,t))return!1;if(a(f,u),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var y,x,b,_,w,k,M,A=u[3],T=u[7],S=u[11],E=u[12],C=u[13],L=u[14],z=u[15];if(0!==A||0!==T||0!==S){if(h[0]=A,h[1]=T,h[2]=S,h[3]=z,!s(f,f))return!1;l(f,f),y=m,b=f,_=(x=h)[0],w=x[1],k=x[2],M=x[3],y[0]=b[0]*_+b[4]*w+b[8]*k+b[12]*M,y[1]=b[1]*_+b[5]*w+b[9]*k+b[13]*M,y[2]=b[2]*_+b[6]*w+b[10]*k+b[14]*M,y[3]=b[3]*_+b[7]*w+b[11]*k+b[15]*M}else m[0]=m[1]=m[2]=0,m[3]=1;if(e[0]=E,e[1]=C,e[2]=L,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),g(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),g(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),g(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][2]*=-1;return v[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),v[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),v[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),v[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(v[0]=-v[0]),p[0][2]>p[2][0]&&(v[1]=-v[1]),p[1][0]>p[0][1]&&(v[2]=-v[2]),!0}},{\"./normalize\":409,\"gl-mat4/clone\":247,\"gl-mat4/create\":248,\"gl-mat4/determinant\":249,\"gl-mat4/invert\":253,\"gl-mat4/transpose\":263,\"gl-vec3/cross\":315,\"gl-vec3/dot\":320,\"gl-vec3/length\":330,\"gl-vec3/normalize\":337}],409:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},{}],410:[function(t,e,r){var n=t(\"gl-vec3/lerp\"),i=t(\"mat4-recompose\"),a=t(\"mat4-decompose\"),o=t(\"gl-mat4/determinant\"),s=t(\"quat-slerp\"),l=f(),c=f(),u=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!h||!p||(n(u.translate,l.translate,c.translate,f),n(u.skew,l.skew,c.skew,f),n(u.scale,l.scale,c.scale,f),n(u.perspective,l.perspective,c.perspective,f),s(u.quaternion,l.quaternion,c.quaternion,f),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},{\"gl-mat4/determinant\":249,\"gl-vec3/lerp\":331,\"mat4-decompose\":408,\"mat4-recompose\":411,\"quat-slerp\":463}],411:[function(t,e,r){var n={identity:t(\"gl-mat4/identity\"),translate:t(\"gl-mat4/translate\"),multiply:t(\"gl-mat4/multiply\"),create:t(\"gl-mat4/create\"),scale:t(\"gl-mat4/scale\"),fromRotationTranslation:t(\"gl-mat4/fromRotationTranslation\")},i=(n.create(),n.create());e.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},{\"gl-mat4/create\":248,\"gl-mat4/fromRotationTranslation\":251,\"gl-mat4/identity\":252,\"gl-mat4/multiply\":255,\"gl-mat4/scale\":261,\"gl-mat4/translate\":262}],412:[function(t,e,r){\"use strict\";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],413:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),i=t(\"mat4-interpolate\"),a=t(\"gl-mat4/invert\"),o=t(\"gl-mat4/rotateX\"),s=t(\"gl-mat4/rotateY\"),l=t(\"gl-mat4/rotateZ\"),c=t(\"gl-mat4/lookAt\"),u=t(\"gl-mat4/translate\"),f=(t(\"gl-mat4/scale\"),t(\"gl-vec3/normalize\")),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)h[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&h[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=h[c];else i(o,h,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],f(g,g);var m=this.computedInverse;a(m,o);var v=this.computedEye,y=m[15];v[0]=m[12]/y,v[1]=m[13]/y,v[2]=m[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=v[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t<this.lastT())){for(var e=this._components,r=e.length-16,n=0;n<16;++n)e.push(e[r++]);this._time.push(t)}},d.flush=function(t){var e=n.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},d.lastT=function(){return this._time[this._time.length-1]},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||h,n=n||this.computedUp,this.setMatrix(t,c(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},d.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&s(i,i,e),r&&o(i,i,r),n&&l(i,i,n),this.setMatrix(t,a(this.computedMatrix,i))};var g=[0,0,0];d.pan=function(t,e,r,n){g[0]=-(e||0),g[1]=-(r||0),g[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;u(i,i,g),this.setMatrix(t,a(i,i))},d.translate=function(t,e,r,n){g[0]=e||0,g[1]=r||0,g[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;u(i,i,g),this.setMatrix(t,i)},d.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},d.setDistance=function(t,e){this.computedRadius[0]=e},d.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},d.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{\"binary-search-bounds\":78,\"gl-mat4/invert\":253,\"gl-mat4/lookAt\":254,\"gl-mat4/rotateX\":258,\"gl-mat4/rotateY\":259,\"gl-mat4/rotateZ\":260,\"gl-mat4/scale\":261,\"gl-mat4/translate\":262,\"gl-vec3/normalize\":337,\"mat4-interpolate\":410}],414:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.length;if(e<3){for(var r=new Array(e),i=0;i<e;++i)r[i]=i;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var a=new Array(e),i=0;i<e;++i)a[i]=i;a.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var o=[a[0],a[1]],s=[a[0],a[1]],i=2;i<e;++i){for(var l=a[i],c=t[l],u=o.length;u>1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),f=0,i=0,h=o.length;i<h;++i)r[f++]=o[i];for(var p=s.length-2;p>0;--p)r[f++]=s[p];return r};var n=t(\"robust-orientation\")[3]},{\"robust-orientation\":483}],415:[function(t,e,r){\"use strict\";e.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return\"altKey\"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),\"shiftKey\"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),\"ctrlKey\"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),\"metaKey\"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);\"buttons\"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function g(t){c(r&~n.buttons(t),t)}function m(){s||(s=!0,t.addEventListener(\"mousemove\",p),t.addEventListener(\"mousedown\",d),t.addEventListener(\"mouseup\",g),t.addEventListener(\"mouseleave\",u),t.addEventListener(\"mouseenter\",u),t.addEventListener(\"mouseout\",u),t.addEventListener(\"mouseover\",u),t.addEventListener(\"blur\",f),t.addEventListener(\"keyup\",h),t.addEventListener(\"keydown\",h),t.addEventListener(\"keypress\",h),t!==window&&(window.addEventListener(\"blur\",f),window.addEventListener(\"keyup\",h),window.addEventListener(\"keydown\",h),window.addEventListener(\"keypress\",h)))}m();var v={element:t};return Object.defineProperties(v,{enabled:{get:function(){return s},set:function(e){e?m():s&&(s=!1,t.removeEventListener(\"mousemove\",p),t.removeEventListener(\"mousedown\",d),t.removeEventListener(\"mouseup\",g),t.removeEventListener(\"mouseleave\",u),t.removeEventListener(\"mouseenter\",u),t.removeEventListener(\"mouseout\",u),t.removeEventListener(\"mouseover\",u),t.removeEventListener(\"blur\",f),t.removeEventListener(\"keyup\",h),t.removeEventListener(\"keydown\",h),t.removeEventListener(\"keypress\",h),t!==window&&(window.removeEventListener(\"blur\",f),window.removeEventListener(\"keyup\",h),window.removeEventListener(\"keydown\",h),window.removeEventListener(\"keypress\",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),v};var n=t(\"mouse-event\")},{\"mouse-event\":417}],416:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var i=t.clientX||0,a=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=i-o.left,r[1]=a-o.top,r}},{}],417:[function(t,e,r){\"use strict\";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if(\"object\"==typeof t){if(\"buttons\"in t)return t.buttons;if(\"which\"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if(\"button\"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},r.element=n,r.x=function(t){if(\"object\"==typeof t){if(\"offsetX\"in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if(\"object\"==typeof t){if(\"offsetY\"in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],418:[function(t,e,r){\"use strict\";var n=t(\"to-px\");e.exports=function(t,e,r){\"function\"==typeof t&&(r=!!e,e=t,t=window);var i=n(\"ex\",t),a=function(t){r&&t.preventDefault();var n=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=i;break;case 2:l=window.innerHeight}if(a*=l,o*=l,(n*=l)||a||o)return e(n,a,o,t)};return t.addEventListener(\"wheel\",a),a}},{\"to-px\":513}],419:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\");function i(t){return\"a\"+t}function a(t){return\"d\"+t}function o(t,e){return\"c\"+t+\"_\"+e}function s(t){return\"s\"+t}function l(t,e){return\"t\"+t+\"_\"+e}function c(t){return\"o\"+t}function u(t){return\"x\"+t}function f(t){return\"p\"+t}function h(t,e){return\"d\"+t+\"_\"+e}function p(t){return\"i\"+t}function d(t,e){return\"u\"+t+\"_\"+e}function g(t){return\"b\"+t}function m(t){return\"y\"+t}function v(t){return\"e\"+t}function y(t){return\"v\"+t}e.exports=function(t){function e(t){throw new Error(\"ndarray-extract-contour: \"+t)}\"object\"!=typeof t&&e(\"Must specify arguments\");var r=t.order;Array.isArray(r)||e(\"Must specify order\");var T=t.arrayArguments||1;T<1&&e(\"Must have at least one array argument\");var S=t.scalarArguments||0;S<0&&e(\"Scalar arg count must be > 0\");\"function\"!=typeof t.vertex&&e(\"Must specify vertex creation function\");\"function\"!=typeof t.cell&&e(\"Must specify cell creation function\");\"function\"!=typeof t.phase&&e(\"Must specify phase function\");for(var E=t.getters||[],C=new Array(T),L=0;L<T;++L)E.indexOf(L)>=0?C[L]=!0:C[L]=!1;return function(t,e,r,T,S,E){var C=E.length,L=S.length;if(L<2)throw new Error(\"ndarray-extract-contour: Dimension must be at least 2\");for(var z=\"extractContour\"+S.join(\"_\"),P=[],O=[],I=[],D=0;D<C;++D)I.push(i(D));for(var D=0;D<T;++D)I.push(u(D));for(var D=0;D<L;++D)O.push(s(D)+\"=\"+i(0)+\".shape[\"+D+\"]|0\");for(var D=0;D<C;++D){O.push(a(D)+\"=\"+i(D)+\".data\",c(D)+\"=\"+i(D)+\".offset|0\");for(var R=0;R<L;++R)O.push(l(D,R)+\"=\"+i(D)+\".stride[\"+R+\"]|0\")}for(var D=0;D<C;++D){O.push(f(D)+\"=\"+c(D)),O.push(o(D,0));for(var R=1;R<1<<L;++R){for(var B=[],F=0;F<L;++F)R&1<<F&&B.push(\"-\"+l(D,F));O.push(h(D,R)+\"=(\"+B.join(\"\")+\")|0\"),O.push(o(D,R)+\"=0\")}}for(var D=0;D<C;++D)for(var R=0;R<L;++R){var N=[l(D,S[R])];R>0&&N.push(l(D,S[R-1])+\"*\"+s(S[R-1])),O.push(d(D,S[R])+\"=(\"+N.join(\"-\")+\")|0\")}for(var D=0;D<L;++D)O.push(p(D)+\"=0\");O.push(_+\"=0\");for(var j=[\"2\"],D=L-2;D>=0;--D)j.push(s(S[D]));O.push(w+\"=(\"+j.join(\"*\")+\")|0\",b+\"=mallocUint32(\"+w+\")\",x+\"=mallocUint32(\"+w+\")\",k+\"=0\"),O.push(g(0)+\"=0\");for(var R=1;R<1<<L;++R){for(var V=[],U=[],F=0;F<L;++F)R&1<<F&&(0===U.length?V.push(\"1\"):V.unshift(U.join(\"*\"))),U.push(s(S[F]));var q=\"\";V[0].indexOf(s(S[L-2]))<0&&(q=\"-\");var H=A(L,R,S);O.push(v(H)+\"=(-\"+V.join(\"-\")+\")|0\",m(H)+\"=(\"+q+V.join(\"-\")+\")|0\",g(H)+\"=0\")}function G(t,e){P.push(\"for(\",p(S[t]),\"=\",e,\";\",p(S[t]),\"<\",s(S[t]),\";\",\"++\",p(S[t]),\"){\")}function W(t){for(var e=0;e<C;++e)P.push(f(e),\"+=\",d(e,S[t]),\";\");P.push(\"}\")}function Y(){for(var t=1;t<1<<L;++t)P.push(M,\"=\",v(t),\";\",v(t),\"=\",m(t),\";\",m(t),\"=\",M,\";\")}O.push(y(0)+\"=0\",M+\"=0\"),function t(e,r){if(e<0)return void function(t){for(var e=0;e<C;++e)E[e]?P.push(o(e,0),\"=\",a(e),\".get(\",f(e),\");\"):P.push(o(e,0),\"=\",a(e),\"[\",f(e),\"];\");for(var r=[],e=0;e<C;++e)r.push(o(e,0));for(var e=0;e<T;++e)r.push(u(e));P.push(g(0),\"=\",b,\"[\",k,\"]=phase(\",r.join(),\");\");for(var n=1;n<1<<L;++n)P.push(g(n),\"=\",b,\"[\",k,\"+\",v(n),\"];\");for(var i=[],n=1;n<1<<L;++n)i.push(\"(\"+g(0)+\"!==\"+g(n)+\")\");P.push(\"if(\",i.join(\"||\"),\"){\");for(var s=[],e=0;e<L;++e)s.push(p(e));for(var e=0;e<C;++e){s.push(o(e,0));for(var n=1;n<1<<L;++n)E[e]?P.push(o(e,n),\"=\",a(e),\".get(\",f(e),\"+\",h(e,n),\");\"):P.push(o(e,n),\"=\",a(e),\"[\",f(e),\"+\",h(e,n),\"];\"),s.push(o(e,n))}for(var e=0;e<1<<L;++e)s.push(g(e));for(var e=0;e<T;++e)s.push(u(e));P.push(\"vertex(\",s.join(),\");\",y(0),\"=\",x,\"[\",k,\"]=\",_,\"++;\");for(var l=(1<<L)-1,c=g(l),n=0;n<L;++n)if(0==(t&~(1<<n))){for(var d=l^1<<n,m=g(d),w=[],M=d;M>0;M=M-1&d)w.push(x+\"[\"+k+\"+\"+v(M)+\"]\");w.push(y(0));for(var M=0;M<C;++M)1&n?w.push(o(M,l),o(M,d)):w.push(o(M,d),o(M,l));1&n?w.push(c,m):w.push(m,c);for(var M=0;M<T;++M)w.push(u(M));P.push(\"if(\",c,\"!==\",m,\"){\",\"face(\",w.join(),\")}\")}P.push(\"}\",k,\"+=1;\")}(r);!function(t){for(var e=t-1;e>=0;--e)G(e,0);for(var r=[],e=0;e<C;++e)E[e]?r.push(a(e)+\".get(\"+f(e)+\")\"):r.push(a(e)+\"[\"+f(e)+\"]\");for(var e=0;e<T;++e)r.push(u(e));P.push(b,\"[\",k,\"++]=phase(\",r.join(),\");\");for(var e=0;e<t;++e)W(e);for(var n=0;n<C;++n)P.push(f(n),\"+=\",d(n,S[t]),\";\")}(e);P.push(\"if(\",s(S[e]),\">0){\",p(S[e]),\"=1;\");t(e-1,r|1<<S[e]);for(var n=0;n<C;++n)P.push(f(n),\"+=\",d(n,S[e]),\";\");e===L-1&&(P.push(k,\"=0;\"),Y());G(e,2);t(e-1,r);e===L-1&&(P.push(\"if(\",p(S[L-1]),\"&1){\",k,\"=0;}\"),Y());W(e);P.push(\"}\")}(L-1,0),P.push(\"freeUint32(\",x,\");freeUint32(\",b,\");\");var X=[\"'use strict';\",\"function \",z,\"(\",I.join(),\"){\",\"var \",O.join(),\";\",P.join(\"\"),\"}\",\"return \",z].join(\"\");return new Function(\"vertex\",\"face\",\"phase\",\"mallocUint32\",\"freeUint32\",X)(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,S,r,C)};var x=\"V\",b=\"P\",_=\"N\",w=\"Q\",k=\"X\",M=\"T\";function A(t,e,r){for(var n=0,i=0;i<t;++i)e&1<<i&&(n|=1<<r[i]);return n}},{\"typedarray-pool\":519}],420:[function(t,e,r){\"use strict\";var n=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},body:{body:\"{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"cwise\",blockSize:64});e.exports=function(t,e){return n(t,e),t}},{\"cwise/lib/wrapper\":136}],421:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error(\"ndarray-gradient: invalid boundary conditions\")}else r=n(e.dimension,\"string\"==typeof r?r:\"clamp\");if(t.dimension!==e.dimension+1)throw new Error(\"ndarray-gradient: output dimension must be +1 input dimension\");if(t.shape[e.dimension]!==e.dimension)throw new Error(\"ndarray-gradient: output shape must match input shape\");for(var i=0;i<e.dimension;++i)if(t.shape[i]!==e.shape[i])throw new Error(\"ndarray-gradient: shape mismatch\");if(0===e.size)return t;if(e.dimension<=0)return t.set(0),t;return function(t){var e=t.join();if(v=o[e])return v;var r=t.length,n=[\"function gradient(dst,src){var s=src.shape.slice();\"];function i(e){for(var i=r-e.length,a=[],o=[],s=[],l=0;l<r;++l)e.indexOf(l+1)>=0?s.push(\"0\"):e.indexOf(-(l+1))>=0?s.push(\"s[\"+l+\"]-1\"):(s.push(\"-1\"),a.push(\"1\"),o.push(\"s[\"+l+\"]-2\"));var c=\".lo(\"+a.join()+\").hi(\"+o.join()+\")\";if(0===a.length&&(c=\"\"),i>0){n.push(\"if(1\");for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\"&&s[\",l,\"]>2\");n.push(\"){grad\",i,\"(src.pick(\",s.join(),\")\",c);for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(\",dst.pick(\",s.join(),\",\",l,\")\",c);n.push(\");\")}for(var l=0;l<e.length;++l){var u=Math.abs(e[l])-1,f=\"dst.pick(\"+s.join()+\",\"+u+\")\"+c;switch(t[u]){case\"clamp\":var h=s.slice(),p=s.slice();e[l]<0?h[u]=\"s[\"+u+\"]-2\":p[u]=\"1\",0===i?n.push(\"if(s[\",u,\"]>1){dst.set(\",s.join(),\",\",u,\",0.5*(src.get(\",h.join(),\")-src.get(\",p.join(),\")))}else{dst.set(\",s.join(),\",\",u,\",0)};\"):n.push(\"if(s[\",u,\"]>1){diff(\",f,\",src.pick(\",h.join(),\")\",c,\",src.pick(\",p.join(),\")\",c,\");}else{zero(\",f,\");};\");break;case\"mirror\":0===i?n.push(\"dst.set(\",s.join(),\",\",u,\",0);\"):n.push(\"zero(\",f,\");\");break;case\"wrap\":var d=s.slice(),g=s.slice();e[l]<0?(d[u]=\"s[\"+u+\"]-2\",g[u]=\"0\"):(d[u]=\"s[\"+u+\"]-1\",g[u]=\"1\"),0===i?n.push(\"if(s[\",u,\"]>2){dst.set(\",s.join(),\",\",u,\",0.5*(src.get(\",d.join(),\")-src.get(\",g.join(),\")))}else{dst.set(\",s.join(),\",\",u,\",0)};\"):n.push(\"if(s[\",u,\"]>2){diff(\",f,\",src.pick(\",d.join(),\")\",c,\",src.pick(\",g.join(),\")\",c,\");}else{zero(\",f,\");};\");break;default:throw new Error(\"ndarray-gradient: Invalid boundary condition\")}}i>0&&n.push(\"};\")}for(var s=0;s<1<<r;++s){for(var f=[],h=0;h<r;++h)s&1<<h&&f.push(h+1);for(var p=0;p<1<<f.length;++p){for(var d=f.slice(),h=0;h<f.length;++h)p&1<<h&&(d[h]=-d[h]);i(d)}}n.push(\"return dst;};return gradient\");for(var g=[\"diff\",\"zero\"],m=[l,c],s=1;s<=r;++s)g.push(\"grad\"+s),m.push(u(s));g.push(n.join(\"\"));var v=Function.apply(void 0,g).apply(void 0,m);return a[e]=v,v}(r)(t,e)};var n=t(\"dup\"),i=t(\"cwise-compiler\"),a={},o={},s={body:\"\",args:[],thisVars:[],localVars:[]},l=i({args:[\"array\",\"array\",\"array\"],pre:s,post:s,body:{args:[{name:\"out\",lvalue:!0,rvalue:!1,count:1},{name:\"left\",lvalue:!1,rvalue:!0,count:1},{name:\"right\",lvalue:!1,rvalue:!0,count:1}],body:\"out=0.5*(left-right)\",thisVars:[],localVars:[]},funcName:\"cdiff\"}),c=i({args:[\"array\"],pre:s,post:s,body:{args:[{name:\"out\",lvalue:!0,rvalue:!1,count:1}],body:\"out=0\",thisVars:[],localVars:[]},funcName:\"zero\"});function u(t){if(t in a)return a[t];for(var e=[],r=0;r<t;++r)e.push(\"out\",r,\"s=0.5*(inp\",r,\"l-inp\",r,\"r);\");var o=[\"array\"],l=[\"junk\"];for(r=0;r<t;++r){o.push(\"array\"),l.push(\"out\"+r+\"s\");var c=n(t);c[r]=-1,o.push({array:0,offset:c.slice()}),c[r]=1,o.push({array:0,offset:c.slice()}),l.push(\"inp\"+r+\"l\",\"inp\"+r+\"r\")}return a[t]=i({args:o,pre:s,post:s,body:{body:e.join(\"\"),args:l.map(function(t){return{name:t,lvalue:0===t.indexOf(\"out\"),rvalue:0===t.indexOf(\"inp\"),count:\"junk\"!==t|0}}),thisVars:[],localVars:[]},funcName:\"fdTemplate\"+t})}},{\"cwise-compiler\":133,dup:154}],422:[function(t,e,r){\"use strict\";var n=t(\"ndarray-warp\"),i=t(\"gl-matrix-invert\");e.exports=function(t,e,r){var a=e.dimension,o=i([],r);return n(t,e,function(t,e){for(var r=0;r<a;++r){t[r]=o[(a+1)*a+r];for(var n=0;n<a;++n)t[r]+=o[(a+1)*n+r]*e[n]}var i=o[(a+1)*(a+1)-1];for(n=0;n<a;++n)i+=o[(a+1)*n+a]*e[n];var s=1/i;for(r=0;r<a;++r)t[r]*=s;return t}),t}},{\"gl-matrix-invert\":264,\"ndarray-warp\":429}],423:[function(t,e,r){\"use strict\";function n(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function i(t,e,r){var n=Math.floor(e),i=e-n,a=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,c=0<=s&&s<t.shape[1],u=0<=s+1&&s+1<t.shape[1],f=a&&c?t.get(n,s):0,h=a&&u?t.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&&c?t.get(n+1,s):0))+l*((1-i)*h+i*(o&&u?t.get(n+1,s+1):0))}function a(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),c=r-l,u=0<=l&&l<t.shape[1],f=0<=l+1&&l+1<t.shape[1],h=Math.floor(n),p=n-h,d=0<=h&&h<t.shape[2],g=0<=h+1&&h+1<t.shape[2],m=o&&u&&d?t.get(i,l,h):0,v=o&&f&&d?t.get(i,l+1,h):0,y=s&&u&&d?t.get(i+1,l,h):0,x=s&&f&&d?t.get(i+1,l+1,h):0,b=o&&u&&g?t.get(i,l,h+1):0,_=o&&f&&g?t.get(i,l+1,h+1):0;return(1-p)*((1-c)*((1-a)*m+a*y)+c*((1-a)*v+a*x))+p*((1-c)*((1-a)*b+a*(s&&u&&g?t.get(i+1,l,h+1):0))+c*((1-a)*_+a*(s&&f&&g?t.get(i+1,l+1,h+1):0)))}e.exports=function(t,e,r,o){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return i(t,e,r);case 3:return a(t,e,r,o);default:return function(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,c,u,f=0;t:for(e=0;e<1<<n;++e){for(c=1,u=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;c*=a[l],u+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;c*=1-a[l],u+=t.stride[l]*i[l]}f+=c*t.data[u]}return f}.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=i,e.exports.d3=a},{}],424:[function(t,e,r){\"use strict\";var n=t(\"cwise-compiler\"),i={body:\"\",args:[],thisVars:[],localVars:[]};function a(t){if(!t)return i;for(var e=0;e<t.args.length;++e){var r=t.args[e];t.args[e]=0===e?{name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function o(t){for(var e=[],r=0;r<t.args.length;++r)e.push(\"a\"+r);return new Function(\"P\",[\"return function \",t.funcName,\"_ndarrayops(\",e.join(\",\"),\") {P(\",e.join(\",\"),\");return a0}\"].join(\"\"))(function(t){return n({args:t.args,pre:a(t.pre),body:a(t.body),post:a(t.proc),funcName:t.funcName})}(t))}var s={add:\"+\",sub:\"-\",mul:\"*\",div:\"/\",mod:\"%\",band:\"&\",bor:\"|\",bxor:\"^\",lshift:\"<<\",rshift:\">>\",rrshift:\">>>\"};!function(){for(var t in s){var e=s[t];r[t]=o({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),r[t+\"eq\"]=o({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a\"+e+\"=b\"},rvalue:!0,funcName:t+\"eq\"}),r[t+\"s\"]=o({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),r[t+\"seq\"]=o({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a\"+e+\"=s\"},rvalue:!0,funcName:t+\"seq\"})}}();var l={not:\"!\",bnot:\"~\",neg:\"-\",recip:\"1.0/\"};!function(){for(var t in l){var e=l[t];r[t]=o({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=\"+e+\"b\"},funcName:t}),r[t+\"eq\"]=o({args:[\"array\"],body:{args:[\"a\"],body:\"a=\"+e+\"a\"},rvalue:!0,count:2,funcName:t+\"eq\"})}}();var c={and:\"&&\",or:\"||\",eq:\"===\",neq:\"!==\",lt:\"<\",gt:\">\",leq:\"<=\",geq:\">=\"};!function(){for(var t in c){var e=c[t];r[t]=o({args:[\"array\",\"array\",\"array\"],body:{args:[\"a\",\"b\",\"c\"],body:\"a=b\"+e+\"c\"},funcName:t}),r[t+\"s\"]=o({args:[\"array\",\"array\",\"scalar\"],body:{args:[\"a\",\"b\",\"s\"],body:\"a=b\"+e+\"s\"},funcName:t+\"s\"}),r[t+\"eq\"]=o({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=a\"+e+\"b\"},rvalue:!0,count:2,funcName:t+\"eq\"}),r[t+\"seq\"]=o({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"s\"],body:\"a=a\"+e+\"s\"},rvalue:!0,count:2,funcName:t+\"seq\"})}}();var u=[\"abs\",\"acos\",\"asin\",\"atan\",\"ceil\",\"cos\",\"exp\",\"floor\",\"log\",\"round\",\"sin\",\"sqrt\",\"tan\"];!function(){for(var t=0;t<u.length;++t){var e=u[t];r[e]=o({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b)\",thisVars:[\"this_f\"]},funcName:e}),r[e+\"eq\"]=o({args:[\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\"],body:\"a=this_f(a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"eq\"})}}();var f=[\"max\",\"min\",\"atan2\",\"pow\"];!function(){for(var t=0;t<f.length;++t){var e=f[t];r[e]=o({args:[\"array\",\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(b,c)\",thisVars:[\"this_f\"]},funcName:e}),r[e+\"s\"]=o({args:[\"array\",\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(b,c)\",thisVars:[\"this_f\"]},funcName:e+\"s\"}),r[e+\"eq\"]=o({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(a,b)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"eq\"}),r[e+\"seq\"]=o({args:[\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(a,b)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"seq\"})}}();var h=[\"atan2\",\"pow\"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e+\"op\"]=o({args:[\"array\",\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(c,b)\",thisVars:[\"this_f\"]},funcName:e+\"op\"}),r[e+\"ops\"]=o({args:[\"array\",\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\",\"c\"],body:\"a=this_f(c,b)\",thisVars:[\"this_f\"]},funcName:e+\"ops\"}),r[e+\"opeq\"]=o({args:[\"array\",\"array\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b,a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"opeq\"}),r[e+\"opseq\"]=o({args:[\"array\",\"scalar\"],pre:{args:[],body:\"this_f=Math.\"+e,thisVars:[\"this_f\"]},body:{args:[\"a\",\"b\"],body:\"a=this_f(b,a)\",thisVars:[\"this_f\"]},rvalue:!0,count:2,funcName:e+\"opseq\"})}}(),r.any=n({args:[\"array\"],pre:i,body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"if(a){return true}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return false\"},funcName:\"any\"}),r.all=n({args:[\"array\"],pre:i,body:{args:[{name:\"x\",lvalue:!1,rvalue:!0,count:1}],body:\"if(!x){return false}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return true\"},funcName:\"all\"}),r.sum=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"this_s+=a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"sum\"}),r.prod=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=1\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:1}],body:\"this_s*=a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"prod\"}),r.norm2squared=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:2}],body:\"this_s+=a*a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norm2squared\"}),r.norm2=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:2}],body:\"this_s+=a*a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return Math.sqrt(this_s)\"},funcName:\"norm2\"}),r.norminf=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:4}],body:\"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norminf\"}),r.norm1=n({args:[\"array\"],pre:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"this_s=0\"},body:{args:[{name:\"a\",lvalue:!1,rvalue:!0,count:3}],body:\"this_s+=a<0?-a:a\",localVars:[],thisVars:[\"this_s\"]},post:{args:[],localVars:[],thisVars:[\"this_s\"],body:\"return this_s\"},funcName:\"norm1\"}),r.sup=n({args:[\"array\"],pre:{body:\"this_h=-Infinity\",args:[],thisVars:[\"this_h\"],localVars:[]},body:{body:\"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_h\"],localVars:[]},post:{body:\"return this_h\",args:[],thisVars:[\"this_h\"],localVars:[]}}),r.inf=n({args:[\"array\"],pre:{body:\"this_h=Infinity\",args:[],thisVars:[\"this_h\"],localVars:[]},body:{body:\"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_h\"],localVars:[]},post:{body:\"return this_h\",args:[],thisVars:[\"this_h\"],localVars:[]}}),r.argmin=n({args:[\"index\",\"array\",\"shape\"],pre:{body:\"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}\",args:[{name:\"_inline_0_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_i\",\"this_v\"],localVars:[]},body:{body:\"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_i\",\"this_v\"],localVars:[\"_inline_1_k\"]},post:{body:\"{return this_i}\",args:[],thisVars:[\"this_i\"],localVars:[]}}),r.argmax=n({args:[\"index\",\"array\",\"shape\"],pre:{body:\"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}\",args:[{name:\"_inline_0_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_0_arg2_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_i\",\"this_v\"],localVars:[]},body:{body:\"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:2}],thisVars:[\"this_i\",\"this_v\"],localVars:[\"_inline_1_k\"]},post:{body:\"{return this_i}\",args:[],thisVars:[\"this_i\"],localVars:[]}}),r.random=o({args:[\"array\"],pre:{args:[],body:\"this_f=Math.random\",thisVars:[\"this_f\"]},body:{args:[\"a\"],body:\"a=this_f()\",thisVars:[\"this_f\"]},funcName:\"random\"}),r.assign=o({args:[\"array\",\"array\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assign\"}),r.assigns=o({args:[\"array\",\"scalar\"],body:{args:[\"a\",\"b\"],body:\"a=b\"},funcName:\"assigns\"}),r.equals=n({args:[\"array\",\"array\"],pre:i,body:{args:[{name:\"x\",lvalue:!1,rvalue:!0,count:1},{name:\"y\",lvalue:!1,rvalue:!0,count:1}],body:\"if(x!==y){return false}\",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:\"return true\"},funcName:\"equals\"})},{\"cwise-compiler\":133}],425:[function(t,e,r){\"use strict\";var n=t(\"ndarray\"),i=t(\"./doConvert.js\");e.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},{\"./doConvert.js\":426,ndarray:430}],426:[function(t,e,r){e.exports=t(\"cwise-compiler\")({args:[\"array\",\"scalar\",\"index\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},body:{body:\"{\\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\\n}\\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\\n}\",args:[{name:\"_inline_1_arg0_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:[\"_inline_1_i\",\"_inline_1_v\"]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},funcName:\"convert\",blockSize:64})},{\"cwise-compiler\":133}],427:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\"),i=32;function a(t){switch(t){case\"uint8\":return[n.mallocUint8,n.freeUint8];case\"uint16\":return[n.mallocUint16,n.freeUint16];case\"uint32\":return[n.mallocUint32,n.freeUint32];case\"int8\":return[n.mallocInt8,n.freeInt8];case\"int16\":return[n.mallocInt16,n.freeInt16];case\"int32\":return[n.mallocInt32,n.freeInt32];case\"float32\":return[n.mallocFloat,n.freeFloat];case\"float64\":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r<t;++r)e.push(\"s\"+r);for(r=0;r<t;++r)e.push(\"n\"+r);for(r=1;r<t;++r)e.push(\"d\"+r);for(r=1;r<t;++r)e.push(\"e\"+r);for(r=1;r<t;++r)e.push(\"f\"+r);return e}e.exports=function(t,e){var r=[\"'use strict'\"],n=[\"ndarraySortWrapper\",t.join(\"d\"),e].join(\"\");r.push([\"function \",n,\"(\",[\"array\"].join(\",\"),\"){\"].join(\"\"));for(var s=[\"data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride\"],l=0;l<t.length;++l)s.push([\"s\",l,\"=stride[\",l,\"]|0,n\",l,\"=shape[\",l,\"]|0\"].join(\"\"));var c=new Array(t.length),u=[];for(l=0;l<t.length;++l)0!==(p=t[l])&&(0===u.length?c[p]=\"1\":c[p]=u.join(\"*\"),u.push(\"n\"+p));var f=-1,h=-1;for(l=0;l<t.length;++l){var p,d=t[l];0!==d&&(f>0?s.push([\"d\",d,\"=s\",d,\"-d\",f,\"*n\",f].join(\"\")):s.push([\"d\",d,\"=s\",d].join(\"\")),f=d),0!=(p=t.length-1-l)&&(h>0?s.push([\"e\",p,\"=s\",p,\"-e\",h,\"*n\",h,\",f\",p,\"=\",c[p],\"-f\",h,\"*n\",h].join(\"\")):s.push([\"e\",p,\"=s\",p,\",f\",p,\"=\",c[p]].join(\"\")),h=p)}r.push(\"var \"+s.join(\",\"));var g=[\"0\",\"n0-1\",\"data\",\"offset\"].concat(o(t.length));r.push([\"if(n0<=\",i,\"){\",\"insertionSort(\",g.join(\",\"),\")}else{\",\"quickSort(\",g.join(\",\"),\")}\"].join(\"\")),r.push(\"}return \"+n);var m=new Function(\"insertionSort\",\"quickSort\",r.join(\"\\n\")),v=function(t,e){var r=[\"'use strict'\"],n=[\"ndarrayInsertionSort\",t.join(\"d\"),e].join(\"\"),i=[\"left\",\"right\",\"data\",\"offset\"].concat(o(t.length)),s=a(e),l=[\"i,j,cptr,ptr=left*s0+offset\"];if(t.length>1){for(var c=[],u=1;u<t.length;++u)l.push(\"i\"+u),c.push(\"n\"+u);s?l.push(\"scratch=malloc(\"+c.join(\"*\")+\")\"):l.push(\"scratch=new Array(\"+c.join(\"*\")+\")\"),l.push(\"dptr\",\"sptr\",\"a\",\"b\")}else l.push(\"scratch\");function f(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function h(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}if(r.push([\"function \",n,\"(\",i.join(\",\"),\"){var \",l.join(\",\")].join(\"\"),\"for(i=left+1;i<=right;++i){\",\"j=i;ptr+=s0\",\"cptr=ptr\"),t.length>1){for(r.push(\"dptr=0;sptr=ptr\"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push([\"for(i\",p,\"=0;i\",p,\"<n\",p,\";++i\",p,\"){\"].join(\"\"));for(r.push(\"scratch[dptr++]=\",f(\"sptr\")),u=0;u<t.length;++u)0!==(p=t[u])&&r.push(\"sptr+=d\"+p,\"}\");for(r.push(\"__g:while(j--\\x3eleft){\",\"dptr=0\",\"sptr=cptr-s0\"),u=1;u<t.length;++u)1===u&&r.push(\"__l:\"),r.push([\"for(i\",u,\"=0;i\",u,\"<n\",u,\";++i\",u,\"){\"].join(\"\"));for(r.push([\"a=\",f(\"sptr\"),\"\\nb=scratch[dptr]\\nif(a<b){break __g}\\nif(a>b){break __l}\"].join(\"\")),u=t.length-1;u>=1;--u)r.push(\"sptr+=e\"+u,\"dptr+=f\"+u,\"}\");for(r.push(\"dptr=cptr;sptr=cptr-s0\"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push([\"for(i\",p,\"=0;i\",p,\"<n\",p,\";++i\",p,\"){\"].join(\"\"));for(r.push(h(\"dptr\",f(\"sptr\"))),u=0;u<t.length;++u)0!==(p=t[u])&&r.push([\"dptr+=d\",p,\";sptr+=d\",p].join(\"\"),\"}\");for(r.push(\"cptr-=s0\\n}\"),r.push(\"dptr=cptr;sptr=0\"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push([\"for(i\",p,\"=0;i\",p,\"<n\",p,\";++i\",p,\"){\"].join(\"\"));for(r.push(h(\"dptr\",\"scratch[sptr++]\")),u=0;u<t.length;++u){var p;0!==(p=t[u])&&r.push(\"dptr+=d\"+p,\"}\")}}else r.push(\"scratch=\"+f(\"ptr\"),\"while((j--\\x3eleft)&&(\"+f(\"cptr-s0\")+\">scratch)){\",h(\"cptr\",f(\"cptr-s0\")),\"cptr-=s0\",\"}\",h(\"cptr\",\"scratch\"));return r.push(\"}\"),t.length>1&&s&&r.push(\"free(scratch)\"),r.push(\"} return \"+n),s?new Function(\"malloc\",\"free\",r.join(\"\\n\"))(s[0],s[1]):new Function(r.join(\"\\n\"))()}(t,e),y=function(t,e,r){var n=[\"'use strict'\"],s=[\"ndarrayQuickSort\",t.join(\"d\"),e].join(\"\"),l=[\"left\",\"right\",\"data\",\"offset\"].concat(o(t.length)),c=a(e),u=0;n.push([\"function \",s,\"(\",l.join(\",\"),\"){\"].join(\"\"));var f=[\"sixth=((right-left+1)/6)|0\",\"index1=left+sixth\",\"index5=right-sixth\",\"index3=(left+right)>>1\",\"index2=index3-sixth\",\"index4=index3+sixth\",\"el1=index1\",\"el2=index2\",\"el3=index3\",\"el4=index4\",\"el5=index5\",\"less=left+1\",\"great=right-1\",\"pivots_are_equal=true\",\"tmp\",\"tmp0\",\"x\",\"y\",\"z\",\"k\",\"ptr0\",\"ptr1\",\"ptr2\",\"comp_pivot1=0\",\"comp_pivot2=0\",\"comp=0\"];if(t.length>1){for(var h=[],p=1;p<t.length;++p)h.push(\"n\"+p),f.push(\"i\"+p);for(p=0;p<8;++p)f.push(\"b_ptr\"+p);f.push(\"ptr3\",\"ptr4\",\"ptr5\",\"ptr6\",\"ptr7\",\"pivot_ptr\",\"ptr_shift\",\"elementSize=\"+h.join(\"*\")),c?f.push(\"pivot1=malloc(elementSize)\",\"pivot2=malloc(elementSize)\"):f.push(\"pivot1=new Array(elementSize),pivot2=new Array(elementSize)\")}else f.push(\"pivot1\",\"pivot2\");function d(t){return[\"(offset+\",t,\"*s0)\"].join(\"\")}function g(t){return\"generic\"===e?[\"data.get(\",t,\")\"].join(\"\"):[\"data[\",t,\"]\"].join(\"\")}function m(t,r){return\"generic\"===e?[\"data.set(\",t,\",\",r,\")\"].join(\"\"):[\"data[\",t,\"]=\",r].join(\"\")}function v(e,r,i){if(1===e.length)n.push(\"ptr0=\"+d(e[0]));else for(var a=0;a<e.length;++a)n.push([\"b_ptr\",a,\"=s0*\",e[a]].join(\"\"));for(r&&n.push(\"pivot_ptr=0\"),n.push(\"ptr_shift=offset\"),a=t.length-1;a>=0;--a)0!==(o=t[a])&&n.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"));if(e.length>1)for(a=0;a<e.length;++a)n.push([\"ptr\",a,\"=b_ptr\",a,\"+ptr_shift\"].join(\"\"));for(n.push(i),r&&n.push(\"++pivot_ptr\"),a=0;a<t.length;++a){var o;0!==(o=t[a])&&(e.length>1?n.push(\"ptr_shift+=d\"+o):n.push(\"ptr0+=d\"+o),n.push(\"}\"))}}function y(e,r,i,a){if(1===r.length)n.push(\"ptr0=\"+d(r[0]));else{for(var o=0;o<r.length;++o)n.push([\"b_ptr\",o,\"=s0*\",r[o]].join(\"\"));n.push(\"ptr_shift=offset\")}for(i&&n.push(\"pivot_ptr=0\"),e&&n.push(e+\":\"),o=1;o<t.length;++o)n.push([\"for(i\",o,\"=0;i\",o,\"<n\",o,\";++i\",o,\"){\"].join(\"\"));if(r.length>1)for(o=0;o<r.length;++o)n.push([\"ptr\",o,\"=b_ptr\",o,\"+ptr_shift\"].join(\"\"));for(n.push(a),o=t.length-1;o>=1;--o)i&&n.push(\"pivot_ptr+=f\"+o),r.length>1?n.push(\"ptr_shift+=e\"+o):n.push(\"ptr0+=e\"+o),n.push(\"}\")}function x(){t.length>1&&c&&n.push(\"free(pivot1)\",\"free(pivot2)\")}function b(e,r){var i=\"el\"+e,a=\"el\"+r;if(t.length>1){var o=\"__l\"+ ++u;y(o,[i,a],!1,[\"comp=\",g(\"ptr0\"),\"-\",g(\"ptr1\"),\"\\n\",\"if(comp>0){tmp0=\",i,\";\",i,\"=\",a,\";\",a,\"=tmp0;break \",o,\"}\\n\",\"if(comp<0){break \",o,\"}\"].join(\"\"))}else n.push([\"if(\",g(d(i)),\">\",g(d(a)),\"){tmp0=\",i,\";\",i,\"=\",a,\";\",a,\"=tmp0}\"].join(\"\"))}function _(e,r){t.length>1?v([e,r],!1,m(\"ptr0\",g(\"ptr1\"))):n.push(m(d(e),g(d(r))))}function w(e,r,i){if(t.length>1){var a=\"__l\"+ ++u;y(a,[r],!0,[e,\"=\",g(\"ptr0\"),\"-pivot\",i,\"[pivot_ptr]\\n\",\"if(\",e,\"!==0){break \",a,\"}\"].join(\"\"))}else n.push([e,\"=\",g(d(r)),\"-pivot\",i].join(\"\"))}function k(e,r){t.length>1?v([e,r],!1,[\"tmp=\",g(\"ptr0\"),\"\\n\",m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",\"tmp\")].join(\"\")):n.push([\"ptr0=\",d(e),\"\\n\",\"ptr1=\",d(r),\"\\n\",\"tmp=\",g(\"ptr0\"),\"\\n\",m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",\"tmp\")].join(\"\"))}function M(e,r,i){t.length>1?(v([e,r,i],!1,[\"tmp=\",g(\"ptr0\"),\"\\n\",m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",g(\"ptr2\")),\"\\n\",m(\"ptr2\",\"tmp\")].join(\"\")),n.push(\"++\"+r,\"--\"+i)):n.push([\"ptr0=\",d(e),\"\\n\",\"ptr1=\",d(r),\"\\n\",\"ptr2=\",d(i),\"\\n\",\"++\",r,\"\\n\",\"--\",i,\"\\n\",\"tmp=\",g(\"ptr0\"),\"\\n\",m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",g(\"ptr2\")),\"\\n\",m(\"ptr2\",\"tmp\")].join(\"\"))}function A(t,e){k(t,e),n.push(\"--\"+e)}function T(e,r,i){t.length>1?v([e,r],!0,[m(\"ptr0\",g(\"ptr1\")),\"\\n\",m(\"ptr1\",[\"pivot\",i,\"[pivot_ptr]\"].join(\"\"))].join(\"\")):n.push(m(d(e),g(d(r))),m(d(r),\"pivot\"+i))}function S(e,r){n.push([\"if((\",r,\"-\",e,\")<=\",i,\"){\\n\",\"insertionSort(\",e,\",\",r,\",data,offset,\",o(t.length).join(\",\"),\")\\n\",\"}else{\\n\",s,\"(\",e,\",\",r,\",data,offset,\",o(t.length).join(\",\"),\")\\n\",\"}\"].join(\"\"))}function E(e,r,i){t.length>1?(n.push([\"__l\",++u,\":while(true){\"].join(\"\")),v([e],!0,[\"if(\",g(\"ptr0\"),\"!==pivot\",r,\"[pivot_ptr]){break __l\",u,\"}\"].join(\"\")),n.push(i,\"}\")):n.push([\"while(\",g(d(e)),\"===pivot\",r,\"){\",i,\"}\"].join(\"\"))}return n.push(\"var \"+f.join(\",\")),b(1,2),b(4,5),b(1,3),b(2,3),b(1,4),b(3,4),b(2,5),b(2,3),b(4,5),t.length>1?v([\"el1\",\"el2\",\"el3\",\"el4\",\"el5\",\"index1\",\"index3\",\"index5\"],!0,[\"pivot1[pivot_ptr]=\",g(\"ptr1\"),\"\\n\",\"pivot2[pivot_ptr]=\",g(\"ptr3\"),\"\\n\",\"pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\\n\",\"x=\",g(\"ptr0\"),\"\\n\",\"y=\",g(\"ptr2\"),\"\\n\",\"z=\",g(\"ptr4\"),\"\\n\",m(\"ptr5\",\"x\"),\"\\n\",m(\"ptr6\",\"y\"),\"\\n\",m(\"ptr7\",\"z\")].join(\"\")):n.push([\"pivot1=\",g(d(\"el2\")),\"\\n\",\"pivot2=\",g(d(\"el4\")),\"\\n\",\"pivots_are_equal=pivot1===pivot2\\n\",\"x=\",g(d(\"el1\")),\"\\n\",\"y=\",g(d(\"el3\")),\"\\n\",\"z=\",g(d(\"el5\")),\"\\n\",m(d(\"index1\"),\"x\"),\"\\n\",m(d(\"index3\"),\"y\"),\"\\n\",m(d(\"index5\"),\"z\")].join(\"\")),_(\"index2\",\"left\"),_(\"index4\",\"right\"),n.push(\"if(pivots_are_equal){\"),n.push(\"for(k=less;k<=great;++k){\"),w(\"comp\",\"k\",1),n.push(\"if(comp===0){continue}\"),n.push(\"if(comp<0){\"),n.push(\"if(k!==less){\"),k(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),n.push(\"while(true){\"),w(\"comp\",\"great\",1),n.push(\"if(comp>0){\"),n.push(\"great--\"),n.push(\"}else if(comp<0){\"),M(\"k\",\"less\",\"great\"),n.push(\"break\"),n.push(\"}else{\"),A(\"k\",\"great\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}else{\"),n.push(\"for(k=less;k<=great;++k){\"),w(\"comp_pivot1\",\"k\",1),n.push(\"if(comp_pivot1<0){\"),n.push(\"if(k!==less){\"),k(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),w(\"comp_pivot2\",\"k\",2),n.push(\"if(comp_pivot2>0){\"),n.push(\"while(true){\"),w(\"comp\",\"great\",2),n.push(\"if(comp>0){\"),n.push(\"if(--great<k){break}\"),n.push(\"continue\"),n.push(\"}else{\"),w(\"comp\",\"great\",1),n.push(\"if(comp<0){\"),M(\"k\",\"less\",\"great\"),n.push(\"}else{\"),A(\"k\",\"great\"),n.push(\"}\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),T(\"left\",\"(less-1)\",1),T(\"right\",\"(great+1)\",2),S(\"left\",\"(less-2)\"),S(\"(great+2)\",\"right\"),n.push(\"if(pivots_are_equal){\"),x(),n.push(\"return\"),n.push(\"}\"),n.push(\"if(less<index1&&great>index5){\"),E(\"less\",1,\"++less\"),E(\"great\",2,\"--great\"),n.push(\"for(k=less;k<=great;++k){\"),w(\"comp_pivot1\",\"k\",1),n.push(\"if(comp_pivot1===0){\"),n.push(\"if(k!==less){\"),k(\"k\",\"less\"),n.push(\"}\"),n.push(\"++less\"),n.push(\"}else{\"),w(\"comp_pivot2\",\"k\",2),n.push(\"if(comp_pivot2===0){\"),n.push(\"while(true){\"),w(\"comp\",\"great\",2),n.push(\"if(comp===0){\"),n.push(\"if(--great<k){break}\"),n.push(\"continue\"),n.push(\"}else{\"),w(\"comp\",\"great\",1),n.push(\"if(comp<0){\"),M(\"k\",\"less\",\"great\"),n.push(\"}else{\"),A(\"k\",\"great\"),n.push(\"}\"),n.push(\"break\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),n.push(\"}\"),x(),S(\"less\",\"great\"),n.push(\"}return \"+s),t.length>1&&c?new Function(\"insertionSort\",\"malloc\",\"free\",n.join(\"\\n\"))(r,c[0],c[1]):new Function(\"insertionSort\",n.join(\"\\n\"))(r)}(t,e,v);return m(v,y)}},{\"typedarray-pool\":519}],428:[function(t,e,r){\"use strict\";var n=t(\"./lib/compile_sort.js\"),i={};e.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(\":\"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},{\"./lib/compile_sort.js\":427}],429:[function(t,e,r){\"use strict\";var n=t(\"ndarray-linear-interpolate\"),i=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=new Array(_inline_3_arg4_)}\",args:[{name:\"_inline_3_arg0_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg1_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg2_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg3_\",lvalue:!1,rvalue:!1,count:0},{name:\"_inline_3_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}\",args:[{name:\"_inline_4_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_4_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_4_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_4_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_4_arg4_\",lvalue:!1,rvalue:!1,count:0}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warpND\",blockSize:64}),a=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}\",args:[{name:\"_inline_7_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_7_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_7_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_7_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_7_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp1D\",blockSize:64}),o=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0,0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}\",args:[{name:\"_inline_10_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_10_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_10_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_10_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_10_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp2D\",blockSize:64}),s=t(\"cwise/lib/wrapper\")({args:[\"index\",\"array\",\"scalar\",\"scalar\",\"scalar\"],pre:{body:\"{this_warped=[0,0,0]}\",args:[],thisVars:[\"this_warped\"],localVars:[]},body:{body:\"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}\",args:[{name:\"_inline_13_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_13_arg1_\",lvalue:!0,rvalue:!1,count:1},{name:\"_inline_13_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_13_arg3_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_13_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[\"this_warped\"],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},debug:!1,funcName:\"warp3D\",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:a(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:i(t,r,n.bind(void 0,e),e.shape.length)}return t}},{\"cwise/lib/wrapper\":136,\"ndarray-linear-interpolate\":423}],430:[function(t,e,r){var n=t(\"iota-array\"),i=t(\"is-buffer\"),a=\"undefined\"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(o);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function l(t,e){var r=[\"View\",e,\"d\",t].join(\"\");e<0&&(r=\"View_Nil\"+t);var i=\"generic\"===t;if(-1===e){var a=\"function \"+r+\"(a){this.data=a;};var proto=\"+r+\".prototype;proto.dtype='\"+t+\"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new \"+r+\"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_\"+r+\"(a){return new \"+r+\"(a);}\";return new Function(a)()}if(0===e){a=\"function \"+r+\"(a,d) {this.data = a;this.offset = d};var proto=\"+r+\".prototype;proto.dtype='\"+t+\"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function \"+r+\"_copy() {return new \"+r+\"(this.data,this.offset)};proto.pick=function \"+r+\"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function \"+r+\"_get(){return \"+(i?\"this.data.get(this.offset)\":\"this.data[this.offset]\")+\"};proto.set=function \"+r+\"_set(v){return \"+(i?\"this.data.set(this.offset,v)\":\"this.data[this.offset]=v\")+\"};return function construct_\"+r+\"(a,b,c,d){return new \"+r+\"(a,d)}\";return new Function(\"TrivialArray\",a)(c[t][0])}a=[\"'use strict'\"];var o=n(e),l=o.map(function(t){return\"i\"+t}),u=\"this.offset+\"+o.map(function(t){return\"this.stride[\"+t+\"]*i\"+t}).join(\"+\"),f=o.map(function(t){return\"b\"+t}).join(\",\"),h=o.map(function(t){return\"c\"+t}).join(\",\");a.push(\"function \"+r+\"(a,\"+f+\",\"+h+\",d){this.data=a\",\"this.shape=[\"+f+\"]\",\"this.stride=[\"+h+\"]\",\"this.offset=d|0}\",\"var proto=\"+r+\".prototype\",\"proto.dtype='\"+t+\"'\",\"proto.dimension=\"+e),a.push(\"Object.defineProperty(proto,'size',{get:function \"+r+\"_size(){return \"+o.map(function(t){return\"this.shape[\"+t+\"]\"}).join(\"*\"),\"}})\"),1===e?a.push(\"proto.order=[0]\"):(a.push(\"Object.defineProperty(proto,'order',{get:\"),e<4?(a.push(\"function \"+r+\"_order(){\"),2===e?a.push(\"return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})\"):3===e&&a.push(\"var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})\")):a.push(\"ORDER})\")),a.push(\"proto.set=function \"+r+\"_set(\"+l.join(\",\")+\",v){\"),i?a.push(\"return this.data.set(\"+u+\",v)}\"):a.push(\"return this.data[\"+u+\"]=v}\"),a.push(\"proto.get=function \"+r+\"_get(\"+l.join(\",\")+\"){\"),i?a.push(\"return this.data.get(\"+u+\")}\"):a.push(\"return this.data[\"+u+\"]}\"),a.push(\"proto.index=function \"+r+\"_index(\",l.join(),\"){return \"+u+\"}\"),a.push(\"proto.hi=function \"+r+\"_hi(\"+l.join(\",\")+\"){return new \"+r+\"(this.data,\"+o.map(function(t){return[\"(typeof i\",t,\"!=='number'||i\",t,\"<0)?this.shape[\",t,\"]:i\",t,\"|0\"].join(\"\")}).join(\",\")+\",\"+o.map(function(t){return\"this.stride[\"+t+\"]\"}).join(\",\")+\",this.offset)}\");var p=o.map(function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"}),d=o.map(function(t){return\"c\"+t+\"=this.stride[\"+t+\"]\"});a.push(\"proto.lo=function \"+r+\"_lo(\"+l.join(\",\")+\"){var b=this.offset,d=0,\"+p.join(\",\")+\",\"+d.join(\",\"));for(var g=0;g<e;++g)a.push(\"if(typeof i\"+g+\"==='number'&&i\"+g+\">=0){d=i\"+g+\"|0;b+=c\"+g+\"*d;a\"+g+\"-=d}\");a.push(\"return new \"+r+\"(this.data,\"+o.map(function(t){return\"a\"+t}).join(\",\")+\",\"+o.map(function(t){return\"c\"+t}).join(\",\")+\",b)}\"),a.push(\"proto.step=function \"+r+\"_step(\"+l.join(\",\")+\"){var \"+o.map(function(t){return\"a\"+t+\"=this.shape[\"+t+\"]\"}).join(\",\")+\",\"+o.map(function(t){return\"b\"+t+\"=this.stride[\"+t+\"]\"}).join(\",\")+\",c=this.offset,d=0,ceil=Math.ceil\");for(g=0;g<e;++g)a.push(\"if(typeof i\"+g+\"==='number'){d=i\"+g+\"|0;if(d<0){c+=b\"+g+\"*(a\"+g+\"-1);a\"+g+\"=ceil(-a\"+g+\"/d)}else{a\"+g+\"=ceil(a\"+g+\"/d)}b\"+g+\"*=d}\");a.push(\"return new \"+r+\"(this.data,\"+o.map(function(t){return\"a\"+t}).join(\",\")+\",\"+o.map(function(t){return\"b\"+t}).join(\",\")+\",c)}\");var m=new Array(e),v=new Array(e);for(g=0;g<e;++g)m[g]=\"a[i\"+g+\"]\",v[g]=\"b[i\"+g+\"]\";a.push(\"proto.transpose=function \"+r+\"_transpose(\"+l+\"){\"+l.map(function(t,e){return t+\"=(\"+t+\"===undefined?\"+e+\":\"+t+\"|0)\"}).join(\";\"),\"var a=this.shape,b=this.stride;return new \"+r+\"(this.data,\"+m.join(\",\")+\",\"+v.join(\",\")+\",this.offset)}\"),a.push(\"proto.pick=function \"+r+\"_pick(\"+l+\"){var a=[],b=[],c=this.offset\");for(g=0;g<e;++g)a.push(\"if(typeof i\"+g+\"==='number'&&i\"+g+\">=0){c=(c+this.stride[\"+g+\"]*i\"+g+\")|0}else{a.push(this.shape[\"+g+\"]);b.push(this.stride[\"+g+\"])}\");return a.push(\"var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}\"),a.push(\"return function construct_\"+r+\"(data,shape,stride,offset){return new \"+r+\"(data,\"+o.map(function(t){return\"shape[\"+t+\"]\"}).join(\",\")+\",\"+o.map(function(t){return\"stride[\"+t+\"]\"}).join(\",\")+\",offset)}\"),new Function(\"CTOR_LIST\",\"ORDER\",a.join(\"\\n\"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);\"number\"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===n)for(n=0,s=0;s<o;++s)r[s]<0&&(n-=(e[s]-1)*r[s]);for(var f=function(t){if(i(t))return\"buffer\";if(a)switch(Object.prototype.toString.call(t)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\"}return Array.isArray(t)?\"array\":\"generic\"}(t),h=c[f];h.length<=o+1;)h.push(l(f,h.length-1));return(0,h[o+1])(t,e,r,n)}},{\"iota-array\":397,\"is-buffer\":399}],431:[function(t,e,r){\"use strict\";var n=t(\"double-bits\"),i=Math.pow(2,-1074),a=-1>>>0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1;return n.pack(o,r)}},{\"double-bits\":151}],432:[function(t,e,r){var n=Math.PI,i=c(120);function a(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function o(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function s(t,e,r,a,o,c,u,f,h,p){if(p)k=p[0],M=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(f=(d=l(f,h,-o)).x))/2,m=(e-(h=d.y))/2,v=g*g/(r*r)+m*m/(a*a);v>1&&(r*=v=Math.sqrt(v),a*=v);var y=r*r,x=a*a,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*m*m-x*g*g)/(y*m*m+x*g*g)));b==1/0&&(b=1);var _=b*r*m/a+(t+f)/2,w=b*-a*g/r+(e+h)/2,k=Math.asin(((e-w)/a).toFixed(9)),M=Math.asin(((h-w)/a).toFixed(9));(k=t<_?n-k:k)<0&&(k=2*n+k),(M=f<_?n-M:M)<0&&(M=2*n+M),u&&k>M&&(k-=2*n),!u&&M>k&&(M-=2*n)}if(Math.abs(M-k)>i){var A=M,T=f,S=h;M=k+i*(u&&M>k?1:-1);var E=s(f=_+r*Math.cos(M),h=w+a*Math.sin(M),r,a,o,0,u,T,S,[M,A,_,w])}var C=Math.tan((M-k)/4),L=4/3*r*C,z=4/3*a*C,P=[2*t-(t+L*Math.sin(k)),2*e-(e-z*Math.cos(k)),f+L*Math.sin(M),h-z*Math.cos(M),f,h];if(p)return P;E&&(P=P.concat(E));for(var O=0;O<P.length;){var I=l(P[O],P[O+1],o);P[O++]=I.x,P[O++]=I.y}return P}function l(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function c(t){return t*(n/180)}e.exports=function(t){for(var e,r=[],n=0,i=0,l=0,u=0,f=null,h=null,p=0,d=0,g=0,m=t.length;g<m;g++){var v=t[g],y=v[0];switch(y){case\"M\":l=v[1],u=v[2];break;case\"A\":(v=s(p,d,v[1],v[2],c(v[3]),v[4],v[5],v[6],v[7])).unshift(\"C\"),v.length>7&&(r.push(v.splice(0,7)),v.unshift(\"C\"));break;case\"S\":var x=p,b=d;\"C\"!=e&&\"S\"!=e||(x+=x-n,b+=b-i),v=[\"C\",x,b,v[1],v[2],v[3],v[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),v=o(p,d,f,h,v[1],v[2]);break;case\"Q\":f=v[1],h=v[2],v=o(p,d,v[1],v[2],v[3],v[4]);break;case\"L\":v=a(p,d,v[1],v[2]);break;case\"H\":v=a(p,d,v[1],d);break;case\"V\":v=a(p,d,p,v[1]);break;case\"Z\":v=a(p,d,l,u)}e=y,p=v[v.length-2],d=v[v.length-1],v.length>4?(n=v[v.length-4],i=v[v.length-3]):(n=p,i=d),r.push(v)}return r}},{}],433:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[o]=[0,0,0];for(o=0;o<t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],f=0;f<s.length;++f){l=c,c=u,u=s[(f+1)%s.length];for(var h=e[l],p=e[c],d=e[u],g=new Array(3),m=0,v=new Array(3),y=0,x=0;x<3;++x)g[x]=h[x]-p[x],m+=g[x]*g[x],v[x]=d[x]-p[x],y+=v[x]*v[x];if(m*y>a){var b=i[c],_=1/Math.sqrt(m*y);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(v[w]*g[k]-v[k]*g[w])}}}for(o=0;o<n;++o){b=i[o];var M=0;for(x=0;x<3;++x)M+=b[x]*b[x];if(M>a)for(_=1/Math.sqrt(M),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},r.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),c=0;c<3;++c)l[c]=e[s[c]];var u=new Array(3),f=new Array(3);for(c=0;c<3;++c)u[c]=l[1][c]-l[0][c],f[c]=l[2][c]-l[0][c];var h=new Array(3),p=0;for(c=0;c<3;++c){var d=(c+1)%3,g=(c+2)%3;h[c]=u[d]*f[g]-u[g]*f[d],p+=h[c]*h[c]}p=p>a?1/Math.sqrt(p):0;for(c=0;c<3;++c)h[c]*=p;i[o]=h}return i}},{}],434:[function(t,e,r){\"use strict\";var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e[\"_\"+String.fromCharCode(r)]=r;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(t){n[t]=t}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,o,s=function(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}(t),l=1;l<arguments.length;l++){for(var c in r=Object(arguments[l]))i.call(r,c)&&(s[c]=r[c]);if(n){o=n(r);for(var u=0;u<o.length;u++)a.call(r,o[u])&&(s[o[u]]=r[o[u]])}}return s}},{}],435:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(f>0){var f=Math.sqrt(u+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,c),f=Math.sqrt(2*h-u+1);e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},{}],436:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));i.setDistanceLimits(t.zoomMin,t.zoomMax),(\"eye\"in t||\"up\"in t)&&i.lookAt(0,t.eye,t.center,t.up);return i};var n=t(\"filtered-vector\"),i=t(\"gl-mat4/lookAt\"),a=t(\"gl-mat4/fromQuat\"),o=t(\"gl-mat4/invert\"),s=t(\"./lib/quatFromFrame\");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,f=0;f<3;++f)c+=r[l+4*f]*i[f];r[12+l]=-c}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=l(u-=a*p,f-=o*p,h-=s*p);u/=d,f/=d,h/=d;var g=i[2],m=i[6],v=i[10],y=g*a+m*o+v*s,x=g*u+m*f+v*h,b=l(g-=y*a+x*u,m-=y*o+x*f,v-=y*s+x*h);g/=b,m/=b,v/=b;var _=u*e+a*r,w=f*e+o*r,k=h*e+s*r;this.center.move(t,_,w,k);var M=Math.exp(this.computedRadius[0]);M=Math.max(1e-4,M+n),this.radius.set(t,Math.log(M))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],f=i[5],h=i[9],p=i[2],d=i[6],g=i[10],m=e*a+r*u,v=e*o+r*f,y=e*s+r*h,x=-(d*y-g*v),b=-(g*m-p*y),_=-(p*v-d*m),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),k=c(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var M=this.computedRotation,A=M[0],T=M[1],S=M[2],E=M[3],C=A*w+E*x+T*_-S*b,L=T*w+E*b+S*x-A*_,z=S*w+E*_+A*b-T*x,P=E*w-A*x-T*b-S*_;if(n){x=p,b=d,_=g;var O=Math.sin(n)/l(x,b,_);x*=O,b*=O,_*=O,P=P*(w=Math.cos(e))-(C=C*w+P*x+L*_-z*b)*x-(L=L*w+P*b+z*x-C*_)*b-(z=z*w+P*_+C*b-L*x)*_}var I=c(C,L,z,P);I>1e-6?(C/=I,L/=I,z/=I,P/=I):(C=L=z=0,P=1),this.rotation.set(t,C,L,z,P)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,c-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{\"./lib/quatFromFrame\":435,\"filtered-vector\":214,\"gl-mat4/fromQuat\":250,\"gl-mat4/invert\":253,\"gl-mat4/lookAt\":254}],437:[function(t,e,r){\"use strict\";var n=t(\"repeat-string\");e.exports=function(t,e,r){return n(r=\"undefined\"!=typeof r?r+\"\":\" \",e)+t}},{\"repeat-string\":476}],438:[function(t,e,r){\"use strict\";function n(t,e){if(\"string\"!=typeof t)return[t];var r=[t];\"string\"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:[\"{}\",\"[]\",\"()\"],i=e.escape||\"___\",a=!!e.flat;n.forEach(function(t){var e=new RegExp([\"\\\\\",t[0],\"[^\\\\\",t[0],\"\\\\\",t[1],\"]*\\\\\",t[1]].join(\"\")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s}r.forEach(function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[n]=t}),n=n.reverse(),r=r.map(function(e){return n.forEach(function(r){e=e.replace(new RegExp(\"(\\\\\"+i+r+\"(?![0-9]))\",\"g\"),t[0]+\"$1\"+t[1])}),e})});var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\");return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error(\"Circular references in parenthesis\");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function i(t,e){if(e&&e.flat){var r,n=e&&e.escape||\"___\",i=t[0];if(!i)return\"\";for(var a=new RegExp(\"\\\\\"+n+\"([0-9]+)\"),o=0;i!=r;){if(o++>1e4)throw Error(\"Circular references in \"+t);r=i,i=i.replace(a,s)}return i}return t.reduce(function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,\"\")),e+r},\"\");function s(e,r){if(null==t[r])throw Error(\"Reference \"+r+\"is undefined\");return t[r]}}function a(t,e){return Array.isArray(t)?i(t,e):n(t,e)}a.parse=n,a.stringify=i,e.exports=a},{}],439:[function(t,e,r){\"use strict\";var n=t(\"pick-by-alias\");e.exports=function(t){var e;arguments.length>1&&(t=arguments);\"string\"==typeof t?t=t.split(/\\s/).map(parseFloat):\"number\"==typeof t&&(t=[t]);t.length&&\"number\"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{\"pick-by-alias\":445}],440:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(i,function(t,r,i){var o=r.toLowerCase();for(i=function(t){var e=t.match(a);return e?e.map(Number):[]}(i),\"m\"==o&&i.length>2&&(e.push([r].concat(i.splice(0,2))),o=\"l\",r=\"m\"==r?\"l\":\"L\");;){if(i.length==n[o])return i.unshift(r),e.push(i);if(i.length<n[o])throw new Error(\"malformed path data\");e.push([r].concat(i.splice(0,n[o])))}}),e};var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var a=/-?[0-9]*\\.?[0-9]+(?:e[-+]?\\d+)?/gi},{}],441:[function(t,e,r){e.exports=function(t,e){e||(e=[0,\"\"]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",e}},{}],442:[function(t,e,r){(function(t){(function(){var r,n,i,a,o,s;\"undefined\"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:\"undefined\"!=typeof t&&null!==t&&t.hrtime?(e.exports=function(){return(r()-o)/1e6},n=t.hrtime,a=(r=function(){var t;return 1e9*(t=n())[0]+t[1]})(),s=1e9*t.uptime(),o=a-s):Date.now?(e.exports=function(){return Date.now()-i},i=Date.now()):(e.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)}).call(this,t(\"_process\"))},{_process:462}],443:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.length;if(e<n){for(var r=1,a=0;a<e;++a)for(var o=0;o<a;++o)if(t[a]<t[o])r=-r;else if(t[a]===t[o])return 0;return r}for(var s=i.mallocUint8(e),a=0;a<e;++a)s[a]=0;for(var r=1,a=0;a<e;++a)if(!s[a]){var l=1;s[a]=1;for(var o=t[a];o!==a;o=t[o]){if(s[o])return i.freeUint8(s),0;l+=1,s[o]=1}1&l||(r=-r)}return i.freeUint8(s),r};var n=32,i=t(\"typedarray-pool\")},{\"typedarray-pool\":519}],444:[function(t,e,r){\"use strict\";var n=t(\"typedarray-pool\"),i=t(\"invert-permutation\");r.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,a,o,s=n.mallocUint32(e),l=n.mallocUint32(e),c=0;for(i(t,l),o=0;o<e;++o)s[o]=t[o];for(o=e-1;o>0;--o)a=l[o],r=s[o],s[o]=s[a],s[a]=r,l[o]=l[r],l[r]=a,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,i,a,o=1;for((r=r||new Array(t))[0]=0,a=1;a<t;++a)r[a]=a,o=o*a|0;for(a=t-1;a>0;--a)e=e-(n=e/o|0)*o|0,o=o/a|0,i=0|r[a],r[a]=0|r[n],r[n]=0|i;return r}},{\"invert-permutation\":396,\"typedarray-pool\":519}],445:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n,a,o={};if(\"string\"==typeof e&&(e=i(e)),Array.isArray(e)){var s={};for(a=0;a<e.length;a++)s[e[a]]=!0;e=s}for(n in e)e[n]=i(e[n]);var l={};for(n in e){var c=e[n];if(Array.isArray(c))for(a=0;a<c.length;a++){var u=c[a];if(r&&(l[u]=!0),u in t){if(o[n]=t[u],r)for(var f=a;f<c.length;f++)l[c[f]]=!0;break}}else n in t&&(e[n]&&(o[n]=t[n]),r&&(l[n]=!0))}if(r)for(n in t)l[n]||(o[n]=t[n]);return o};var n={};function i(t){return n[t]?n[t]:(\"string\"==typeof t&&(t=n[t]=t.split(/\\s*,\\s*|\\s+/)),t)}},{}],446:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o<r;++o)a[0][o]=[],a[1][o]=[];for(var o=0;o<i;++o){var s=t[o];a[0][s[0]].push(s),a[1][s[1]].push(s)}for(var l=[],o=0;o<r;++o)a[0][o].length+a[1][o].length===0&&l.push([o]);function c(t,e){var r=a[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,i){for(var o,s,l,u=0;u<2;++u)if(a[u][r].length>0){o=a[u][r][0],l=u;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p<h.length;++p){var d=h[p],g=d[1^f],m=n(e[t],e[r],e[s],e[g]);m>0&&(o=d,s=g,l=f)}return i?s:(o&&c(o,l),s)}function f(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=u(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=u(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(var o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];a[p][o].length>0;){a[0][o].length;var g=f(o,p);h(d,g)?d.push.apply(d,g):(d.length>0&&l.push(d),d=g)}d.length>0&&l.push(d)}return l};var n=t(\"compare-angle\")},{\"compare-angle\":114}],447:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();i[c]=!1;for(var u=r[c],s=0;s<u.length;++s){var f=u[s];0==--a[f]&&o.push(f)}}for(var h=new Array(e.length),p=[],s=0;s<e.length;++s)if(i[s]){var c=p.length;h[s]=c,p.push(e[s])}else h[s]=-1;for(var d=[],s=0;s<t.length;++s){var g=t[s];i[g[0]]&&i[g[1]]&&d.push([h[g[0]],h[g[1]]])}return[d,p]};var n=t(\"edges-to-adjacency-list\")},{\"edges-to-adjacency-list\":156}],448:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var f=(e=r[1]).length,h=(t.length,n(t,e.length)),p=0;p<f;++p)if(h[p].length%2==1)throw new Error(\"planar-graph-to-polyline: graph must be manifold\");var d=i(t,e);for(var g=(d=d.filter(function(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],l=e[t[(i+1)%r]],c=o(-a[0],a[1]),u=o(-a[0],l[1]),f=o(l[0],a[1]),h=o(l[0],l[1]);n=s(n,s(s(c,u),s(f,h)))}return n[n.length-1]>0})).length,m=new Array(g),v=new Array(g),p=0;p<g;++p){m[p]=p;var y=new Array(g),x=d[p].map(function(t){return e[t]}),b=a([x]),_=0;t:for(var w=0;w<g;++w)if(y[w]=0,p!==w){for(var k=d[w],M=k.length,A=0;A<M;++A){var T=b(e[k[A]]);if(0!==T){T<0&&(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}v[p]=[_,p,y]}v.sort(function(t,e){return e[0]-t[0]});for(var p=0;p<g;++p)for(var y=v[p],S=y[1],E=y[2],w=0;w<g;++w)E[w]&&(m[w]=S);for(var C=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(g),p=0;p<g;++p)C[p].push(m[p]),C[m[p]].push(p);for(var L={},z=u(f,!1),p=0;p<g;++p)for(var k=d[p],M=k.length,w=0;w<M;++w){var P=k[w],O=k[(w+1)%M],I=Math.min(P,O)+\":\"+Math.max(P,O);if(I in L){var D=L[I];C[D].push(p),C[p].push(D),z[P]=z[O]=!0}else L[I]=p}function R(t){for(var e=t.length,r=0;r<e;++r)if(!z[t[r]])return!1;return!0}for(var B=[],F=u(g,-1),p=0;p<g;++p)m[p]!==p||R(d[p])?F[p]=-1:(B.push(p),F[p]=0);var r=[];for(;B.length>0;){var N=B.pop(),j=C[N];l(j,function(t,e){return t-e});var V,U=j.length,q=F[N];if(0===q){var k=d[N];V=[k]}for(var p=0;p<U;++p){var H=j[p];if(!(F[H]>=0)&&(F[H]=1^q,B.push(H),0===q)){var k=d[H];R(k)||(k.reverse(),V.push(k))}}0===q&&r.push(V)}return r};var n=t(\"edges-to-adjacency-list\"),i=t(\"planar-dual\"),a=t(\"point-in-big-polygon\"),o=t(\"two-product\"),s=t(\"robust-sum\"),l=t(\"uniq\"),c=t(\"./lib/trim-leaves\");function u(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}},{\"./lib/trim-leaves\":447,\"edges-to-adjacency-list\":156,\"planar-dual\":446,\"point-in-big-polygon\":452,\"robust-sum\":488,\"two-product\":517,uniq:521}],449:[function(t,e,r){\"use strict\";e.exports=t(\"./quad\")},{\"./quad\":451}],450:[function(t,e,r){arguments[4][98][0].apply(r,arguments)},{dup:98}],451:[function(t,e,r){\"use strict\";var n=t(\"binary-search-bounds\"),i=t(\"clamp\"),a=t(\"parse-rect\"),o=t(\"array-bounds\"),s=t(\"pick-by-alias\"),l=t(\"defined\"),c=t(\"flatten-vertex-data\"),u=t(\"is-obj\"),f=t(\"dtype\"),h=t(\"math-log2\");function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,c=t.length/2;l<c;l++)s[2*l]=i((t[2*l]-r)*a,0,1),s[2*l+1]=i((t[2*l+1]-n)*o,0,1);return s}e.exports=function(t,e){e||(e={}),t=c(t,\"float64\"),e=s(e,{bounds:\"range bounds dataBox databox\",maxDepth:\"depth maxDepth maxdepth level maxLevel maxlevel levels\",dtype:\"type dtype format out dst output destination\"});var r=l(e.maxDepth,255),i=l(e.bounds,o(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;var d,g=p(t,i),m=t.length>>>1;e.dtype||(e.dtype=\"array\"),\"string\"==typeof e.dtype?d=new(f(e.dtype))(m):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=m));for(var v=0;v<m;++v)d[v]=v;var y=[],x=[],b=[],_=[];!function t(e,n,i,a,o,s){if(!a.length)return null;var l=y[o]||(y[o]=[]);var c=b[o]||(b[o]=[]);var u=x[o]||(x[o]=[]);var f=l.length;o++;if(o>r){for(var h=0;h<a.length;h++)l.push(a[h]),c.push(s),u.push(null,null,null,null);return f}l.push(a[0]);c.push(s);if(a.length<=1)return u.push(null,null,null,null),f;var p=.5*i;var d=e+p,m=n+p;var v=[],_=[],w=[],k=[];for(var M=1,A=a.length;M<A;M++){var T=a[M],S=g[2*T],E=g[2*T+1];S<d?E<m?v.push(T):_.push(T):E<m?w.push(T):k.push(T)}s<<=2;u.push(t(e,n,p,v,o,s),t(e,m,p,_,o,s+1),t(d,n,p,w,o,s+2),t(d,m,p,k,o,s+3));return f}(0,0,1,d,0,1);for(var w=0,k=0;k<y.length;k++){var M=y[k];if(d.set)d.set(M,w);else for(var A=0,T=M.length;A<T;A++)d[A+w]=M[A];var S=w+y[k].length;_[k]=[w,S],w=S}return d.range=function(){var e,r=[],o=arguments.length;for(;o--;)r[o]=arguments[o];if(u(r[r.length-1])){var c=r.pop();r.length||null==c.x&&null==c.l&&null==c.left||(r=[c],e={}),e=s(c,{level:\"level maxLevel\",d:\"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize\",lod:\"lod details ranges offsets\"})}else e={};r.length||(r=i);var f=a.apply(void 0,r),d=[Math.min(f.x,f.x+f.width),Math.min(f.y,f.y+f.height),Math.max(f.x,f.x+f.width),Math.max(f.y,f.y+f.height)],g=d[0],m=d[1],v=d[2],w=d[3],k=p([g,m,v,w],i),M=k[0],A=k[1],T=k[2],S=k[3],C=l(e.level,y.length);if(null!=e.d){var L;\"number\"==typeof e.d?L=[e.d,e.d]:e.d.length&&(L=e.d),C=Math.min(Math.max(Math.ceil(-h(Math.abs(L[0])/(i[2]-i[0]))),Math.ceil(-h(Math.abs(L[1])/(i[3]-i[1])))),C)}if(C=Math.min(C,y.length),e.lod)return function(t,e,r,i,a){for(var o=[],s=0;s<a;s++){var l=b[s],c=_[s][0],u=E(t,e,s),f=E(r,i,s),h=n.ge(l,u),p=n.gt(l,f,h,l.length-1);o[s]=[h+c,p+c]}return o}(M,A,T,S,C);var z=[];return function e(r,n,i,a,o,s){if(null!==o&&null!==s){var l=r+i,c=n+i;if(!(M>l||A>c||T<r||S<n||a>=C||o===s)){var u=y[a];void 0===s&&(s=u.length);for(var f=o;f<s;f++){var h=u[f],p=t[2*h],d=t[2*h+1];p>=g&&p<=v&&d>=m&&d<=w&&z.push(h)}var b=x[a],_=b[4*o+0],k=b[4*o+1],E=b[4*o+2],L=b[4*o+3],P=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(b,o+1),O=.5*i,I=a+1;e(r,n,O,I,_,k||E||L||P),e(r,n+O,O,I,k,E||L||P),e(r+O,n,O,I,E,L||P),e(r+O,n+O,O,I,L,P)}}}(0,0,1,0,0,1),z},d;function E(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s<r;s++)n<<=2,n+=t<i?e<a?0:1:e<a?2:3,o*=.5,i+=t<i?-o:o,a+=e<a?-o:o;return n}}},{\"array-bounds\":52,\"binary-search-bounds\":450,clamp:102,defined:148,dtype:153,\"flatten-vertex-data\":215,\"is-obj\":402,\"math-log2\":412,\"parse-rect\":439,\"pick-by-alias\":445}],452:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[],a=[],s=0;s<e;++s)for(var u=t[s],f=u.length,h=f-1,p=0;p<f;h=p++){var d=u[h],g=u[p];d[0]===g[0]?a.push([d,g]):r.push([d,g])}if(0===r.length)return 0===a.length?c:(m=l(a),function(t){return m(t[0],t[1])?0:1});var m;var v=i(r),y=function(t,e){return function(r){var i=o.le(e,r[0]);if(i<0)return 1;var a=t[i];if(!a){if(!(i>0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]<l[1][0])if(c<0)a=a.left;else{if(!(c>0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(v.slabs,v.coordinates);return 0===a.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),y)};var n=t(\"robust-orientation\")[3],i=t(\"slab-decomposition\"),a=t(\"interval-tree-1d\"),o=t(\"binary-search-bounds\");function s(){return!0}function l(t){for(var e={},r=0;r<t.length;++r){var n=t[r],i=n[0][0],o=n[0][1],l=n[1][1],c=[Math.min(o,l),Math.max(o,l)];i in e?e[i].push(c):e[i]=[c]}var u={},f=Object.keys(e);for(r=0;r<f.length;++r){var h=e[f[r]];u[f[r]]=a(h)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,s)}}(u)}function c(t){return 1}},{\"binary-search-bounds\":78,\"interval-tree-1d\":395,\"robust-orientation\":483,\"slab-decomposition\":499}],453:[function(t,e,r){var n,i=t(\"./lib/build-log\"),a=t(\"./lib/epsilon\"),o=t(\"./lib/intersecter\"),s=t(\"./lib/segment-chainer\"),l=t(\"./lib/segment-selector\"),c=t(\"./lib/geojson\"),u=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},\"object\"==typeof window&&(window.PolyBool=n),e.exports=n},{\"./lib/build-log\":454,\"./lib/epsilon\":455,\"./lib/geojson\":456,\"./lib/intersecter\":457,\"./lib/segment-chainer\":459,\"./lib/segment-selector\":460}],454:[function(t,e,r){e.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n(\"check\",{seg1:t,seg2:e})},segmentChop:function(t,e){return n(\"div_seg\",{seg:t,pt:e}),n(\"chop\",{seg:t,pt:e})},statusRemove:function(t){return n(\"pop_seg\",{seg:t})},segmentUpdate:function(t){return n(\"seg_update\",{seg:t})},segmentNew:function(t,e){return n(\"new_seg\",{seg:t,primary:e})},segmentRemove:function(t){return n(\"rem_seg\",{seg:t})},tempStatus:function(t,e,r){return n(\"temp_status\",{seg:t,above:e,below:r})},rewind:function(t){return n(\"rewind\",{seg:t})},status:function(t,e,r){return n(\"status\",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n(\"vert\",{x:e}))},log:function(t){return\"string\"!=typeof t&&(t=JSON.stringify(t,!1,\"  \")),n(\"log\",{txt:t})},reset:function(){return n(\"reset\")},selected:function(t){return n(\"selected\",{segs:t})},chainStart:function(t){return n(\"chain_start\",{seg:t})},chainRemoveHead:function(t,e){return n(\"chain_rem_head\",{index:t,pt:e})},chainRemoveTail:function(t,e){return n(\"chain_rem_tail\",{index:t,pt:e})},chainNew:function(t,e){return n(\"chain_new\",{pt1:t,pt2:e})},chainMatch:function(t){return n(\"chain_match\",{index:t})},chainClose:function(t){return n(\"chain_close\",{index:t})},chainAddHead:function(t,e){return n(\"chain_add_head\",{index:t,pt:e})},chainAddTail:function(t,e){return n(\"chain_add_tail\",{index:t,pt:e})},chainConnect:function(t,e){return n(\"chain_con\",{index1:t,index2:e})},chainReverse:function(t){return n(\"chain_rev\",{index:t})},chainJoin:function(t,e){return n(\"chain_join\",{index1:t,index2:e})},done:function(){return n(\"done\")}}}},{}],455:[function(t,e,r){e.exports=function(t){\"number\"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return\"number\"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t||l-(a*a+s*s)>-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])<t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])<t},pointsSame:function(t,r){return e.pointsSameX(t,r)&&e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]<r[1]?-1:1:t[0]<r[0]?-1:1},pointsCollinear:function(e,r,n){var i=e[0]-r[0],a=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<t},linesIntersect:function(e,r,n,i){var a=r[0]-e[0],o=r[1]-e[1],s=i[0]-n[0],l=i[1]-n[1],c=a*l-o*s;if(Math.abs(c)<t)return!1;var u=e[0]-n[0],f=e[1]-n[1],h=(s*f-l*u)/c,p=(a*f-o*u)/c,d={alongA:0,alongB:0,pt:[e[0]+h*a,e[1]+h*o]};return d.alongA=h<=-t?-2:h<t?-1:h-1<=-t?0:h-1<t?1:2,d.alongB=p<=-t?-2:p<t?-1:p-1<=-t?0:p-1<t?1:2,d},pointInsideRegion:function(e,r){for(var n=e[0],i=e[1],a=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var c=r[l][0],u=r[l][1];u-i>t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},{}],456:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i<e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if(\"Polygon\"===e.type)return t.polygon(r(e.coordinates));if(\"MultiPolygon\"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i<e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));return t.polygon(n)}throw new Error(\"PolyBool: Cannot convert GeoJSON object to PolyBool polygon\")},fromPolygon:function(t,e,r){function n(t,r){return e.pointInsideRegion([.5*(t[0][0]+t[1][0]),.5*(t[0][1]+t[1][1])],r)}function i(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var a=i(null);function o(t,e){for(var r=0;r<t.children.length;r++){if(n(e,(s=t.children[r]).region))return void o(s,e)}var a=i(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(a.children.push(s),t.children.splice(r,1),r--)}t.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function c(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==e&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var u=[];function f(t){var e=[c(t.region,!1)];u.push(e);for(var r=0;r<t.children.length;r++)e.push(h(t.children[r]))}function h(t){for(var e=0;e<t.children.length;e++)f(t.children[e]);return c(t.region,!0)}for(s=0;s<a.children.length;s++)f(a.children[s]);return u.length<=0?{type:\"Polygon\",coordinates:[]}:1==u.length?{type:\"Polygon\",coordinates:u[0]}:{type:\"MultiPolygon\",coordinates:u}}};e.exports=n},{}],457:[function(t,e,r){var n=t(\"./linked-list\");e.exports=function(t,e,r){function i(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var a=n.create();function o(t,r){a.insertBefore(t,function(n){return function(t,r,n,i,a,o){var s=e.pointsCompare(r,a);return 0!==s?s:e.pointsSame(n,o)?0:t!==i?t?1:-1:e.pointAboveOrOnLine(n,i?a:o,i?o:a)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0})}function s(t,e){var r=function(t,e){var r=n.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return o(r,t.end),r}(t,e);return function(t,e,r){var i=n.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=i,o(i,t.pt)}(r,t,e),r}function l(t,e){var n=i(e,t.seg.end,t.seg);return function(t,e){r&&r.segmentChop(t.seg,e),t.other.remove(),t.seg.end=e,t.other.pt=e,o(t.other,t.pt)}(t,e),s(n,t.primary)}function c(i,o){var s=n.create();function c(t){return s.findTransition(function(r){var n,i,a,o,s,l;return n=t,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,(e.pointsCollinear(a,s,l)?e.pointsCollinear(o,s,l)?1:e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(a,s,l)?1:-1)>0})}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,c,u);if(!1===f){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var h=e.pointsSame(o,c),p=e.pointsSame(s,u);if(h&&p)return n;var d=!h&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(h)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,c):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,u)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=c(h),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function m(){if(d){var t=u(h,d);if(t)return t}return!!g&&u(h,g)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!g&&g.seg);var v,y,x=m();if(x)t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(y=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=g?g.seg.myFill.above:i,h.seg.myFill.above=y?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(v=g?h.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:v,below:v}),r&&r.status(h.seg,!!d&&d.seg,!!g&&g.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l<t.length;l++){n=o,o=t[l];var c=e.pointsCompare(n,o);0!==c&&s((i=c<0?n:o,a=c<0?o:n,{id:r?r.segmentId():-1,start:i,end:a,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach(function(t){s(i(t.start,t.end,t),!0)}),r.forEach(function(t){s(i(t.start,t.end,t),!1)}),c(e,n)}}}},{\"./linked-list\":458}],458:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&&e!==t.root},isEmpty:function(){return null===t.root.next},getHead:function(){return t.root.next},insertBefore:function(e,r){for(var n=t.root,i=t.root.next;null!==i;){if(r(i))return e.prev=i.prev,e.next=i,i.prev.next=e,void(i.prev=e);n=i,i=i.next}n.next=e,e.prev=n,e.next=null},findTransition:function(e){for(var r=t.root,n=t.root.next;null!==n&&!e(n);)r=n,n=n.next;return{before:r===t.root?null:r,after:n,insert:function(t){return t.prev=r,t.next=n,r.next=t,null!==n&&(n.prev=t),t}}}};return t},node:function(t){return t.prev=null,t.next=null,t.remove=function(){t.prev.next=t.next,t.next&&(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],459:[function(t,e,r){e.exports=function(t,e,r){var n=[],i=[];return t.forEach(function(t){var a=t.start,o=t.end;if(e.pointsSame(a,o))console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");else{r&&r.chainStart(t);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},c=s,u=0;u<n.length;u++){var f=(m=n[u])[0],h=(m[1],m[m.length-1]);if(m[m.length-2],e.pointsSame(f,a)){if(M(u,!0,!0))break}else if(e.pointsSame(f,o)){if(M(u,!0,!1))break}else if(e.pointsSame(h,a)){if(M(u,!1,!0))break}else if(e.pointsSame(h,o)&&M(u,!1,!1))break}if(c===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(c===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,g=s.matches_head,m=n[p],v=g?m[0]:m[m.length-1],y=g?m[1]:m[m.length-2],x=g?m[m.length-1]:m[0],b=g?m[m.length-2]:m[1];return e.pointsCollinear(y,v,d)&&(g?(r&&r.chainRemoveHead(s.index,d),m.shift()):(r&&r.chainRemoveTail(s.index,d),m.pop()),v=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,v)&&(g?(r&&r.chainRemoveTail(s.index,v),m.pop()):(r&&r.chainRemoveHead(s.index,v),m.shift())),r&&r.chainClose(s.index),void i.push(m)):void(g?(r&&r.chainAddHead(s.index,d),m.unshift(d)):(r&&r.chainAddTail(s.index,d),m.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var k=n[_].length<n[w].length;s.matches_head?l.matches_head?k?(A(_),T(_,w)):(A(w),T(w,_)):T(w,_):l.matches_head?T(_,w):k?(A(_),T(w,_)):(A(w),T(_,w))}function M(t,e,r){return c.index=t,c.matches_head=e,c.matches_pt1=r,c===s?(c=l,!1):(c=null,!0)}function A(t){r&&r.chainReverse(t),n[t].reverse()}function T(t,i){var a=n[t],o=n[i],s=a[a.length-1],l=a[a.length-2],c=o[0],u=o[1];e.pointsCollinear(l,s,c)&&(r&&r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,c,u)&&(r&&r.chainRemoveHead(i,c),o.shift()),r&&r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}}),i}},{}],460:[function(t,e,r){function n(t,e,r){var n=[];return t.forEach(function(t){var i=(t.myFill.above?8:0)+(t.myFill.below?4:0)+(t.otherFill&&t.otherFill.above?2:0)+(t.otherFill&&t.otherFill.below?1:0);0!==e[i]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[i],below:2===e[i]},otherFill:null})}),r&&r.selected(n),n}var i={union:function(t,e){return n(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return n(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return n(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return n(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return n(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}};e.exports=i},{}],461:[function(t,e,r){\"use strict\";var n=new Float64Array(4),i=new Float64Array(4),a=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length<o.length&&(n=new Float64Array(o.length),i=new Float64Array(o.length),a=new Float64Array(o.length));for(var l=0;l<o.length;++l)n[l]=t[l]-o[l],i[l]=e[l]-t[l],a[l]=r[l]-t[l];var c=0,u=0,f=0,h=0,p=0,d=0;for(l=0;l<o.length;++l){var g=i[l],m=a[l],v=n[l];c+=g*g,u+=g*m,f+=m*m,h+=v*g,p+=v*m,d+=v*v}var y,x,b,_,w,k=Math.abs(c*f-u*u),M=u*p-f*h,A=u*h-c*p;if(M+A<=k)if(M<0)A<0&&h<0?(A=0,-h>=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d):(M=0,p>=0?(A=0,y=d):-p>=f?(A=1,y=f+2*p+d):y=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(M=0,y=d):-h>=c?(M=1,y=c+2*h+d):y=h*(M=-h/c)+d;else{var T=1/k;y=(M*=T)*(c*M+u*(A*=T)+2*h)+A*(u*M+f*A+2*p)+d}else M<0?(b=f+p)>(x=u+h)?(_=b-x)>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d:(M=0,b<=0?(A=1,y=f+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/f)+d):A<0?(b=c+h)>(x=u+p)?(_=b-x)>=(w=c-2*u+f)?(A=1,M=0,y=f+2*p+d):y=(M=1-(A=_/w))*(c*M+u*A+2*h)+A*(u*M+f*A+2*p)+d:(A=0,b<=0?(M=1,y=c+2*h+d):h>=0?(M=0,y=d):y=h*(M=-h/c)+d):(_=f+p-u-h)<=0?(M=0,A=1,y=f+2*p+d):_>=(w=c-2*u+f)?(M=1,A=0,y=c+2*h+d):y=(M=_/w)*(c*M+u*(A=1-M)+2*h)+A*(u*M+f*A+2*p)+d;var S=1-M-A;for(l=0;l<o.length;++l)s[l]=S*t[l]+M*e[l]+A*r[l];return y<0?0:y}},{}],462:[function(t,e,r){var n,i,a=e.exports={};function o(){throw new Error(\"setTimeout has not been defined\")}function s(){throw new Error(\"clearTimeout has not been defined\")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n=\"function\"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{i=\"function\"==typeof clearTimeout?clearTimeout:s}catch(t){i=s}}();var c,u=[],f=!1,h=-1;function p(){f&&c&&(f=!1,c.length?u=c.concat(u):h=-1,u.length&&d())}function d(){if(!f){var t=l(p);f=!0;for(var e=u.length;e;){for(c=u,u=[];++h<e;)c&&c[h].run();h=-1,e=u.length}c=null,f=!1,function(t){if(i===clearTimeout)return clearTimeout(t);if((i===s||!i)&&clearTimeout)return i=clearTimeout,clearTimeout(t);try{i(t)}catch(e){try{return i.call(null,t)}catch(e){return i.call(this,t)}}}(t)}}function g(t,e){this.fun=t,this.array=e}function m(){}a.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];u.push(new g(t,e)),1!==u.length||f||l(d)},g.prototype.run=function(){this.fun.apply(null,this.array)},a.title=\"browser\",a.browser=!0,a.env={},a.argv=[],a.version=\"\",a.versions={},a.on=m,a.addListener=m,a.once=m,a.off=m,a.removeListener=m,a.removeAllListeners=m,a.emit=m,a.prependListener=m,a.prependOnceListener=m,a.listeners=function(t){return[]},a.binding=function(t){throw new Error(\"process.binding is not supported\")},a.cwd=function(){return\"/\"},a.chdir=function(t){throw new Error(\"process.chdir is not supported\")},a.umask=function(){return 0}},{}],463:[function(t,e,r){e.exports=t(\"gl-quat/slerp\")},{\"gl-quat/slerp\":279}],464:[function(t,e,r){(function(r){for(var n=t(\"performance-now\"),i=\"undefined\"==typeof window?r:window,a=[\"moz\",\"webkit\"],o=\"AnimationFrame\",s=i[\"request\"+o],l=i[\"cancel\"+o]||i[\"cancelRequest\"+o],c=0;!s&&c<a.length;c++)s=i[a[c]+\"Request\"+o],l=i[a[c]+\"Cancel\"+o]||i[a[c]+\"CancelRequest\"+o];if(!s||!l){var u=0,f=0,h=[];s=function(t){if(0===h.length){var e=n(),r=Math.max(0,1e3/60-(e-u));u=r+e,setTimeout(function(){var t=h.slice(0);h.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(u)}catch(t){setTimeout(function(){throw t},0)}},Math.round(r))}return h.push({handle:++f,callback:t,cancelled:!1}),f},l=function(t){for(var e=0;e<h.length;e++)h[e].handle===t&&(h[e].cancelled=!0)}}e.exports=function(t){return s.call(i,t)},e.exports.cancel=function(){l.apply(i,arguments)},e.exports.polyfill=function(t){t||(t=i),t.requestAnimationFrame=s,t.cancelAnimationFrame=l}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"performance-now\":442}],465:[function(t,e,r){\"use strict\";var n=t(\"big-rat/add\");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{\"big-rat/add\":62}],466:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=n(t[r]);return e};var n=t(\"big-rat\")},{\"big-rat\":65}],467:[function(t,e,r){\"use strict\";var n=t(\"big-rat\"),i=t(\"big-rat/mul\");e.exports=function(t,e){for(var r=n(e),a=t.length,o=new Array(a),s=0;s<a;++s)o[s]=i(t[s],r);return o}},{\"big-rat\":65,\"big-rat/mul\":74}],468:[function(t,e,r){\"use strict\";var n=t(\"big-rat/sub\");e.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},{\"big-rat/sub\":76}],469:[function(t,e,r){\"use strict\";var n=t(\"compare-cell\"),i=t(\"compare-oriented-cell\"),a=t(\"cell-orientation\");e.exports=function(t){t.sort(i);for(var e=t.length,r=0,o=0;o<e;++o){var s=t[o],l=a(s);if(0!==l){if(r>0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{\"cell-orientation\":99,\"compare-cell\":115,\"compare-oriented-cell\":116}],470:[function(t,e,r){\"use strict\";var n=t(\"array-bounds\"),i=t(\"color-normalize\"),a=t(\"update-diff\"),o=t(\"pick-by-alias\"),s=t(\"object-assign\"),l=t(\"flatten-vertex-data\"),c=t(\"to-float32\"),u=c.float32,f=c.fract32;e.exports=function(t,e){\"function\"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");var r,c,p,d,g,m,v=t._gl,y={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),c=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),p=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),g=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),m=t.buffer({usage:\"static\",type:\"float\",data:h}),k(e),r=t({vert:\"\\n\\t\\tprecision highp float;\\n\\n\\t\\tattribute vec2 position, positionFract;\\n\\t\\tattribute vec4 error;\\n\\t\\tattribute vec4 color;\\n\\n\\t\\tattribute vec2 direction, lineOffset, capOffset;\\n\\n\\t\\tuniform vec4 viewport;\\n\\t\\tuniform float lineWidth, capSize;\\n\\t\\tuniform vec2 scale, scaleFract, translate, translateFract;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tfragColor = color / 255.;\\n\\n\\t\\t\\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\\n\\n\\t\\t\\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\\n\\n\\t\\t\\tvec2 position = position + dxy;\\n\\n\\t\\t\\tvec2 pos = (position + translate) * scale\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scale\\n\\t\\t\\t\\t+ (position + translate) * scaleFract\\n\\t\\t\\t\\t+ (positionFract + translateFract) * scaleFract;\\n\\n\\t\\t\\tpos += pixelOffset / viewport.zw;\\n\\n\\t\\t\\tgl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\t\\t}\\n\\t\\t\",frag:\"\\n\\t\\tprecision mediump float;\\n\\n\\t\\tvarying vec4 fragColor;\\n\\n\\t\\tuniform float opacity;\\n\\n\\t\\tvoid main() {\\n\\t\\t\\tgl_FragColor = fragColor;\\n\\t\\t\\tgl_FragColor.a *= opacity;\\n\\t\\t}\\n\\t\\t\",uniforms:{range:t.prop(\"range\"),lineWidth:t.prop(\"lineWidth\"),capSize:t.prop(\"capSize\"),opacity:t.prop(\"opacity\"),scale:t.prop(\"scale\"),translate:t.prop(\"translate\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:g,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:m,stride:24,offset:0},lineOffset:{buffer:m,stride:24,offset:8},capOffset:{buffer:m,stride:24,offset:16}},primitive:\"triangles\",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\"),stencil:!1,instances:t.prop(\"count\"),count:h.length}),s(b,{update:k,draw:_,destroy:M,regl:t,gl:v,canvas:v.canvas,groups:x}),b;function b(t){t?k(t):null===t&&M(),_()}function _(e){if(\"number\"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach(function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)})}function w(t){\"number\"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function k(t){if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map(function(t,c){var u=x[c];return t?(\"function\"==typeof t?t={after:t}:\"number\"==typeof t[0]&&(t={positions:t}),t=o(t,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),a(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,\"float64\"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t=\"transparent\"),!Array.isArray(t)||\"number\"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a<r;a++)t[a]=n}if(t.length<r)throw Error(\"Not enough colors\");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=i(t[s],\"uint8\");o.set(l,4*s)}return o},range:function(t,e,r){var n=e.bounds;return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=f(e.scale),e.translateFract=f(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:v.drawingBufferWidth,height:v.drawingBufferHeight},e}}]),u):u}),e||r){var h=x.reduce(function(t,e,r){return t+(e?e.count:0)},0),m=new Float64Array(2*h),_=new Uint8Array(4*h),w=new Float32Array(4*h);x.forEach(function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&&(_.set(a,4*i),w.set(o,4*i),m.set(r,2*i))}}),c(u(m)),p(f(m)),d(_),g(w)}}}function M(){c.destroy(),p.destroy(),d.destroy(),g.destroy(),m.destroy()}};var h=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]]},{\"array-bounds\":52,\"color-normalize\":107,\"flatten-vertex-data\":215,\"object-assign\":434,\"pick-by-alias\":445,\"to-float32\":512,\"update-diff\":523}],471:[function(t,e,r){\"use strict\";var n=t(\"color-normalize\"),i=t(\"array-bounds\"),a=t(\"object-assign\"),o=t(\"glslify\"),s=t(\"pick-by-alias\"),l=t(\"flatten-vertex-data\"),c=t(\"earcut\"),u=t(\"array-normalize\"),f=t(\"to-float32\"),h=f.float32,p=f.fract32,d=t(\"es6-weak-map\"),g=t(\"parse-rect\");function m(t,e){if(!(this instanceof m))return new m(t,e);if(\"function\"==typeof t?(e||(e={}),e.regl=t):e=t,e.length&&(e.positions=e),!(t=e.regl).hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=t._gl,this.regl=t,this.passes=[],this.shaders=m.shaders.has(t)?m.shaders.get(t):m.shaders.set(t,m.createShaders(t)).get(t),this.update(e)}e.exports=m,m.dashMult=2,m.maxPatternLength=256,m.precisionThreshold=3e6,m.maxPoints=1e4,m.maxLines=2048,m.shaders=new d,m.createShaders=function(t){var e,r=t.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),n={primitive:\"triangle strip\",instances:t.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:function(t,e){return\"round\"===e.join?2:1},miterLimit:t.prop(\"miterLimit\"),scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),thickness:t.prop(\"thickness\"),dashPattern:t.prop(\"dashTexture\"),opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),dashSize:t.prop(\"dashLength\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]},depth:t.prop(\"depth\")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:function(t,e){return!e.overlay}},stencil:{enable:!1},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\")},i=t(a({vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\\nattribute vec4 color;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float thickness, pixelRatio, id, depth;\\nuniform vec4 viewport;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\\n\\t// the order is important\\n\\treturn position * scale + translate\\n       + positionFract * scale + translateFract\\n       + position * scaleFract\\n       + positionFract * scaleFract;\\n}\\n\\nvoid main() {\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineOffset = lineTop * 2. - 1.;\\n\\n\\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\\n\\ttangent = normalize(diff * scale * viewport.zw);\\n\\tvec2 normal = vec2(-tangent.y, tangent.x);\\n\\n\\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\\n\\t\\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\\n\\n\\t\\t+ thickness * normal * .5 * lineOffset / viewport.zw;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D dashPattern;\\n\\nuniform float dashSize, pixelRatio, thickness, opacity, id;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\n\\nvoid main() {\\n\\tfloat alpha = 1.;\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\\n\\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\\n\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},n));try{e=t(a({cull:{enable:!0,face:\"back\"},vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\\nattribute vec4 aColor, bColor;\\nattribute float lineEnd, lineTop;\\n\\nuniform vec2 scale, translate;\\nuniform float thickness, pixelRatio, id, depth;\\nuniform vec4 viewport;\\nuniform float miterLimit, miterMode;\\n\\nvarying vec4 fragColor;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 tangent;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nconst float REVERSE_THRESHOLD = -.875;\\nconst float MIN_DIFF = 1e-6;\\n\\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\\n// TODO: precalculate dot products, normalize things beforehead etc.\\n// TODO: refactor to rectangular algorithm\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nbool isNaN( float val ){\\n  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\\n}\\n\\nvoid main() {\\n\\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\\n\\n\\t// adjust scale for horizontal bars\\n\\tvec2 scale = max(scale, MIN_DIFF);\\n\\tvec2 scaleRatio = scale * viewport.zw;\\n\\n\\tvec2 normalWidth = thickness / scaleRatio;\\n\\n\\tfloat lineStart = 1. - lineEnd;\\n\\tfloat lineBot = 1. - lineTop;\\n\\n\\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\\n\\n\\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\\n\\n\\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\\n\\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\\n\\n\\tvec2 prevDiff = aCoord - prevCoord;\\n\\tvec2 currDiff = bCoord - aCoord;\\n\\tvec2 nextDiff = nextCoord - bCoord;\\n\\n\\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\\n\\tvec2 currTangent = normalize(currDiff * scaleRatio);\\n\\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\\n\\n\\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\\n\\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\\n\\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\\n\\n\\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\\n\\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\\n\\n\\t// collapsed/unidirectional segment cases\\n\\t// FIXME: there should be more elegant solution\\n\\tvec2 prevTanDiff = abs(prevTangent - currTangent);\\n\\tvec2 nextTanDiff = abs(nextTangent - currTangent);\\n\\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\\n\\t\\tstartJoinDirection = currNormal;\\n\\t}\\n\\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\\n\\t\\tendJoinDirection = currNormal;\\n\\t}\\n\\tif (aCoord == bCoord) {\\n\\t\\tendJoinDirection = startJoinDirection;\\n\\t\\tcurrNormal = prevNormal;\\n\\t\\tcurrTangent = prevTangent;\\n\\t}\\n\\n\\ttangent = currTangent;\\n\\n\\t//calculate join shifts relative to normals\\n\\tfloat startJoinShift = dot(currNormal, startJoinDirection);\\n\\tfloat endJoinShift = dot(currNormal, endJoinDirection);\\n\\n\\tfloat startMiterRatio = abs(1. / startJoinShift);\\n\\tfloat endMiterRatio = abs(1. / endJoinShift);\\n\\n\\tvec2 startJoin = startJoinDirection * startMiterRatio;\\n\\tvec2 endJoin = endJoinDirection * endMiterRatio;\\n\\n\\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\\n\\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\\n\\tstartBotJoin = -startTopJoin;\\n\\n\\tendTopJoin = sign(endJoinShift) * endJoin * .5;\\n\\tendBotJoin = -endTopJoin;\\n\\n\\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\\n\\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\\n\\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\\n\\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\\n\\n\\t//miter anti-clipping\\n\\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\\n\\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\\n\\n\\t//prevent close to reverse direction switch\\n\\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) <  length(normalWidth * currNormal);\\n\\n\\tif (prevReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\\n\\t\\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\tbTopCoord -= normalWidth * endTopJoin;\\n\\t\\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\\n\\t}\\n\\n\\tif (nextReverse) {\\n\\t\\t//make join rectangular\\n\\t\\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\\n\\t\\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\\n\\t\\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\\n\\t\\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\\n\\t}\\n\\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\\n\\t\\t//handle miter clipping\\n\\t\\taBotCoord -= normalWidth * startBotJoin;\\n\\t\\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\\n\\t}\\n\\n\\tvec2 aTopPosition = (aTopCoord) * scale + translate;\\n\\tvec2 aBotPosition = (aBotCoord) * scale + translate;\\n\\n\\tvec2 bTopPosition = (bTopCoord) * scale + translate;\\n\\tvec2 bBotPosition = (bBotCoord) * scale + translate;\\n\\n\\t//position is normalized 0..1 coord on the screen\\n\\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\\n\\n\\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\\n\\n\\tgl_Position = vec4(position  * 2.0 - 1.0, depth, 1);\\n\\n\\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\\n\\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\\n\\n\\t//bevel miter cutoffs\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n\\n\\t//round miter cutoffs\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\\n\\t\\t\\tstartCutoff = vec4(aCoord, aCoord);\\n\\t\\t\\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\\n\\t\\t\\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tstartCutoff += viewport.xyxy;\\n\\t\\t\\tstartCutoff += startMiterWidth.xyxy;\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\\n\\t\\t\\tendCutoff = vec4(bCoord, bCoord);\\n\\t\\t\\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\\n\\t\\t\\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\\n\\t\\t\\tendCutoff += viewport.xyxy;\\n\\t\\t\\tendCutoff += endMiterWidth.xyxy;\\n\\t\\t}\\n\\t}\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nuniform sampler2D dashPattern;\\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\\n\\nvarying vec4 fragColor;\\nvarying vec2 tangent;\\nvarying vec4 startCutoff, endCutoff;\\nvarying vec2 startCoord, endCoord;\\nvarying float enableStartMiter, enableEndMiter;\\n\\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\\n\\tvec2 diff = b - a;\\n\\tvec2 perp = normalize(vec2(-diff.y, diff.x));\\n\\treturn dot(p - a, perp);\\n}\\n\\nvoid main() {\\n\\tfloat alpha = 1., distToStart, distToEnd;\\n\\tfloat cutoff = thickness * .5;\\n\\n\\t//bevel miter\\n\\tif (miterMode == 1.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToStart + 1., 0.), 1.);\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < -1.) {\\n\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\talpha *= min(max(distToEnd + 1., 0.), 1.);\\n\\t\\t}\\n\\t}\\n\\n\\t// round miter\\n\\telse if (miterMode == 2.) {\\n\\t\\tif (enableStartMiter == 1.) {\\n\\t\\t\\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\\n\\t\\t\\tif (distToStart < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - startCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (enableEndMiter == 1.) {\\n\\t\\t\\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\\n\\t\\t\\tif (distToEnd < 0.) {\\n\\t\\t\\t\\tfloat radius = length(gl_FragCoord.xy - endCoord);\\n\\n\\t\\t\\t\\tif(radius > cutoff + .5) {\\n\\t\\t\\t\\t\\tdiscard;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\\n\\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\\n\\n\\tgl_FragColor = fragColor;\\n\\tgl_FragColor.a *= alpha * opacity * dash;\\n}\\n\"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:\"triangle\",elements:function(t,e){return e.triangles},offset:0,vert:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec2 position, positionFract;\\n\\nuniform vec4 color;\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio, id;\\nuniform vec4 viewport;\\nuniform float opacity;\\n\\nvarying vec4 fragColor;\\n\\nconst float MAX_LINES = 256.;\\n\\nvoid main() {\\n\\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\\n\\n\\tvec2 position = position * scale + translate\\n       + positionFract * scale + translateFract\\n       + position * scaleFract\\n       + positionFract * scaleFract;\\n\\n\\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\\n\\n\\tfragColor = color / 255.;\\n\\tfragColor.a *= opacity;\\n}\\n\"]),frag:o([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n\\tgl_FragColor = fragColor;\\n}\\n\"]),uniforms:{scale:t.prop(\"scale\"),color:t.prop(\"fill\"),scaleFract:t.prop(\"scaleFract\"),translateFract:t.prop(\"translateFract\"),translate:t.prop(\"translate\"),opacity:t.prop(\"opacity\"),pixelRatio:t.context(\"pixelRatio\"),id:t.prop(\"id\"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:t.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},m.defaults={dashes:null,join:\"miter\",miterLimit:1,thickness:10,cap:\"square\",color:\"black\",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},m.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},m.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach(function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);\"number\"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>m.precisionThreshold||e.scale[1]*e.viewport.height>m.precisionThreshold?t.shaders.rect(e):\"rect\"===e.join||!e.join&&(e.thickness<=2||e.count>=m.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))}),this},m.prototype.update=function(t){var e=this;if(t){null!=t.length?\"number\"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach(function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if(\"number\"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:\"positions points data coords\",thickness:\"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth\",join:\"lineJoin linejoin join type mode\",miterLimit:\"miterlimit miterLimit\",dashes:\"dash dashes dasharray dash-array dashArray\",color:\"color colour stroke colors colours stroke-color strokeColor\",fill:\"fill fill-color fillColor\",opacity:\"alpha opacity\",overlay:\"overlay crease overlap intersect\",close:\"closed close closed-path closePath\",range:\"range dataBox\",viewport:\"viewport viewBox\",hole:\"holes hole hollow\"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:r.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},t=a({},m.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f<m.maxLines&&(d.depth=2*(m.maxLines-1-f%m.maxLines)/m.maxLines-1)),null!=t.join&&(d.join=t.join),null!=t.hole&&(d.hole=t.hole),null!=t.fill&&(d.fill=t.fill?n(t.fill,\"uint8\"):null),null!=t.viewport&&(d.viewport=g(t.viewport)),d.viewport||(d.viewport=g([o.drawingBufferWidth,o.drawingBufferHeight])),null!=t.close&&(d.close=t.close),null===t.positions&&(t.positions=[]),t.positions){var v,y;if(t.positions.x&&t.positions.y){var x=t.positions.x,b=t.positions.y;y=d.count=Math.max(x.length,b.length),v=new Float64Array(2*y);for(var _=0;_<y;_++)v[2*_]=x[_],v[2*_+1]=b[_]}else v=l(t.positions,\"float64\"),y=d.count=Math.floor(v.length/2);var w=d.bounds=i(v,2);if(d.fill){for(var k=[],M={},A=0,T=0,S=0,E=d.count;T<E;T++){var C=v[2*T],L=v[2*T+1];isNaN(C)||isNaN(L)||null==C||null==L?(C=v[2*A],L=v[2*A+1],M[T]=A):A=T,k[S++]=C,k[S++]=L}for(var z=c(k,d.hole||[]),P=0,O=z.length;P<O;P++)null!=M[z[P]]&&(z[P]=M[z[P]]);d.triangles=z}var I=new Float64Array(v);u(I,2,w);var D=new Float64Array(2*y+6);d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(D[0]=I[2*y-4],D[1]=I[2*y-3]):(D[0]=I[2*y-2],D[1]=I[2*y-1]):(D[0]=I[0],D[1]=I[1]),D.set(I,2),d.close?v[0]===v[2*y-2]&&v[1]===v[2*y-1]?(D[2*y+2]=I[2],D[2*y+3]=I[3],d.count-=1):(D[2*y+2]=I[0],D[2*y+3]=I[1],D[2*y+4]=I[2],D[2*y+5]=I[3]):(D[2*y+2]=I[2*y-2],D[2*y+3]=I[2*y-1],D[2*y+4]=I[2*y-2],D[2*y+5]=I[2*y-1]),d.positionBuffer(h(D)),d.positionFractBuffer(p(D))}if(t.range?d.range=t.range:d.range||(d.range=d.bounds),(t.range||t.positions)&&d.count){var R=d.bounds,B=R[2]-R[0],F=R[3]-R[1],N=d.range[2]-d.range[0],j=d.range[3]-d.range[1];d.scale=[B/N,F/j],d.translate=[-d.range[0]/N+R[0]/N||0,-d.range[1]/j+R[1]/j||0],d.scaleFract=p(d.scale),d.translateFract=p(d.translate)}if(t.dashes){var V,U=0;if(!t.dashes||t.dashes.length<2)U=1,V=new Uint8Array([255,255,255,255,255,255,255,255]);else{U=0;for(var q=0;q<t.dashes.length;++q)U+=t.dashes[q];V=new Uint8Array(U*m.dashMult);for(var H=0,G=255,W=0;W<2;W++)for(var Y=0;Y<t.dashes.length;++Y){for(var X=0,Z=t.dashes[Y]*m.dashMult*.5;X<Z;++X)V[H++]=G;G^=255}}d.dashLength=U,d.dashTexture({channels:1,data:V,width:V.length,height:1,mag:\"linear\",min:\"linear\"},0,0)}if(t.color){var $=d.count,J=t.color;J||(J=\"transparent\");var K=new Uint8Array(4*$+4);if(Array.isArray(J)&&\"number\"!=typeof J[0]){for(var Q=0;Q<$;Q++){var tt=n(J[Q],\"uint8\");K.set(tt,4*Q)}K.set(n(J[0],\"uint8\"),4*$)}else for(var et=n(J,\"uint8\"),rt=0;rt<$+1;rt++)K.set(et,4*rt);d.colorBuffer({usage:\"dynamic\",type:\"uint8\",data:K})}}else e.passes[f]=null}),t.length<this.passes.length){for(var f=t.length;f<this.passes.length;f++){var d=e.passes[f];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=t.length}for(var v=[],y=0;y<this.passes.length;y++)null!==e.passes[y]&&v.push(e.passes[y]);return this.passes=v,this}},m.prototype.destroy=function(){return this.passes.forEach(function(t){t.colorBuffer.destroy(),t.positionBuffer.destroy(),t.dashTexture.destroy()}),this.passes.length=0,this}},{\"array-bounds\":52,\"array-normalize\":53,\"color-normalize\":107,earcut:155,\"es6-weak-map\":208,\"flatten-vertex-data\":215,glslify:390,\"object-assign\":434,\"parse-rect\":439,\"pick-by-alias\":445,\"to-float32\":512}],472:[function(t,e,r){\"use strict\";var n=t(\"./scatter\"),i=t(\"object-assign\");e.exports=function(t,e){var r=new n(t,e),a=r.render.bind(r);return i(a,{render:a,update:r.update.bind(r),draw:r.draw.bind(r),destroy:r.destroy.bind(r),regl:r.regl,gl:r.gl,canvas:r.gl.canvas,groups:r.groups,markers:r.markerCache,palette:r.palette}),a}},{\"./scatter\":473,\"object-assign\":434}],473:[function(t,e,r){\"use strict\";var n=t(\"color-normalize\"),i=t(\"array-bounds\"),a=t(\"color-id\"),o=t(\"point-cluster\"),s=t(\"object-assign\"),l=t(\"glslify\"),c=t(\"pick-by-alias\"),u=t(\"update-diff\"),f=t(\"flatten-vertex-data\"),h=t(\"is-iexplorer\"),p=t(\"to-float32\"),d=t(\"parse-rect\");function g(t,e){var r=this;if(!(this instanceof g))return new g(t,e);\"function\"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&&e.length&&(e.positions=e);var n,i=(t=e.regl)._gl,a=[];this.tooManyColors=h,n=t.texture({data:new Uint8Array(1020),width:255,height:1,type:\"uint8\",format:\"rgba\",wrapS:\"clamp\",wrapT:\"clamp\",mag:\"nearest\",min:\"nearest\"}),s(this,{regl:t,gl:i,groups:[],markerCache:[null],markerTextures:[null],palette:a,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:i.canvas}),this.update(e);var o={uniforms:{pixelRatio:t.context(\"pixelRatio\"),palette:n,paletteSize:function(t,e){return[r.tooManyColors?0:255,n.height]},scale:t.prop(\"scale\"),scaleFract:t.prop(\"scaleFract\"),translate:t.prop(\"translate\"),translateFract:t.prop(\"translateFract\"),opacity:t.prop(\"opacity\"),marker:t.prop(\"markerTexture\")},attributes:{x:function(t,e){return e.xAttr||{buffer:e.positionBuffer,stride:8,offset:0}},y:function(t,e){return e.yAttr||{buffer:e.positionBuffer,stride:8,offset:4}},xFract:function(t,e){return e.xAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:0}},yFract:function(t,e){return e.yAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:4}},size:function(t,e){return e.size.length?{buffer:e.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(255*e.size/r.maxSize)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:e.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/r.maxSize)]}},colorId:function(t,e){return e.color.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?a.slice(4*e.color,4*e.color+4):[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?a.slice(4*e.borderColor,4*e.borderColor+4):[e.borderColor]}},isActive:function(t,e){return!0===e.activation?{constant:[1]}:e.activation?e.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},scissor:{enable:!0,box:t.prop(\"viewport\")},viewport:t.prop(\"viewport\"),stencil:{enable:!1},depth:{enable:!1},elements:t.prop(\"elements\"),count:t.prop(\"count\"),offset:t.prop(\"offset\"),primitive:\"points\"},c=s({},o);c.frag=l([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\\n\\nuniform sampler2D marker;\\nuniform float pixelRatio, opacity;\\n\\nfloat smoothStep(float x, float y) {\\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\\n}\\n\\nvoid main() {\\n  float dist = texture2D(marker, gl_PointCoord).r, delta = fragWidth;\\n\\n  // max-distance alpha\\n  if (dist < 0.003) discard;\\n\\n  // null-border case\\n  if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\\n    float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\\n    gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\\n  }\\n  else {\\n    float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\\n    float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\\n\\n    vec4 color = fragBorderColor;\\n    color.a *= borderColorAmt;\\n    color = mix(color, fragColor, colorAmt);\\n    color.a *= opacity;\\n\\n    gl_FragColor = color;\\n  }\\n\\n}\\n\"]),c.vert=l([\"precision mediump float;\\n#define GLSLIFY 1\\n\\nattribute float x, y, xFract, yFract;\\nattribute float size, borderSize;\\nattribute vec4 colorId, borderColorId;\\nattribute float isActive;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\\nuniform float pixelRatio;\\nuniform sampler2D palette;\\n\\nconst float maxSize = 100.;\\nconst float borderLevel = .5;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragPointSize, fragBorderRadius,\\n    fragWidth, fragBorderColorLevel, fragColorLevel;\\n\\nvec2 paletteCoord(float id) {\\n  return vec2(\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\n  );\\n}\\nvec2 paletteCoord(vec2 id) {\\n  return vec2(\\n    (id.x + .5) / paletteSize.x,\\n    (id.y + .5) / paletteSize.y\\n  );\\n}\\nvec4 getColor(vec4 id) {\\n  // zero-palette means we deal with direct buffer\\n  if (paletteSize.x == 0.) return id / 255.;\\n  return texture2D(palette, paletteCoord(id.xy));\\n}\\n\\nvoid main() {\\n  if (isActive == 0.) return;\\n\\n  vec2 position = vec2(x, y);\\n  vec2 positionFract = vec2(xFract, yFract);\\n\\n  vec4 color = getColor(colorId);\\n  vec4 borderColor = getColor(borderColorId);\\n\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n\\n  gl_PointSize = 2. * size * pixelRatio;\\n  fragPointSize = size * pixelRatio;\\n\\n  vec2 pos = (position + translate) * scale\\n      + (positionFract + translateFract) * scale\\n      + (position + translate) * scaleFract\\n      + (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\n  fragColor = color;\\n  fragBorderColor = borderColor;\\n  fragWidth = 1. / gl_PointSize;\\n\\n  fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\\n  fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\\n}\\n\"]),this.drawMarker=t(c);var u=s({},o);u.frag=l([\"precision highp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor, fragBorderColor;\\n\\nuniform float opacity;\\nvarying float fragBorderRadius, fragWidth;\\n\\nfloat smoothStep(float edge0, float edge1, float x) {\\n\\tfloat t;\\n\\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\\n\\treturn t * t * (3.0 - 2.0 * t);\\n}\\n\\nvoid main() {\\n\\tfloat radius, alpha = 1.0, delta = fragWidth;\\n\\n\\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\\n\\n\\tif (radius > 1.0 + delta) {\\n\\t\\tdiscard;\\n\\t}\\n\\n\\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\\n\\n\\tfloat borderRadius = fragBorderRadius;\\n\\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\\n\\tvec4 color = mix(fragColor, fragBorderColor, ratio);\\n\\tcolor.a *= alpha * opacity;\\n\\tgl_FragColor = color;\\n}\\n\"]),u.vert=l([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute float x, y, xFract, yFract;\\nattribute float size, borderSize;\\nattribute vec4 colorId, borderColorId;\\nattribute float isActive;\\n\\nuniform vec2 scale, scaleFract, translate, translateFract;\\nuniform float pixelRatio;\\nuniform sampler2D palette;\\nuniform vec2 paletteSize;\\n\\nconst float maxSize = 100.;\\n\\nvarying vec4 fragColor, fragBorderColor;\\nvarying float fragBorderRadius, fragWidth;\\n\\nvec2 paletteCoord(float id) {\\n  return vec2(\\n    (mod(id, paletteSize.x) + .5) / paletteSize.x,\\n    (floor(id / paletteSize.x) + .5) / paletteSize.y\\n  );\\n}\\nvec2 paletteCoord(vec2 id) {\\n  return vec2(\\n    (id.x + .5) / paletteSize.x,\\n    (id.y + .5) / paletteSize.y\\n  );\\n}\\n\\nvec4 getColor(vec4 id) {\\n  // zero-palette means we deal with direct buffer\\n  if (paletteSize.x == 0.) return id / 255.;\\n  return texture2D(palette, paletteCoord(id.xy));\\n}\\n\\nvoid main() {\\n  // ignore inactive points\\n  if (isActive == 0.) return;\\n\\n  vec2 position = vec2(x, y);\\n  vec2 positionFract = vec2(xFract, yFract);\\n\\n  vec4 color = getColor(colorId);\\n  vec4 borderColor = getColor(borderColorId);\\n\\n  float size = size * maxSize / 255.;\\n  float borderSize = borderSize * maxSize / 255.;\\n\\n  gl_PointSize = (size + borderSize) * pixelRatio;\\n\\n  vec2 pos = (position + translate) * scale\\n      + (positionFract + translateFract) * scale\\n      + (position + translate) * scaleFract\\n      + (positionFract + translateFract) * scaleFract;\\n\\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\\n\\n  fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\\n  fragColor = color;\\n  fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\\n  fragWidth = 1. / gl_PointSize;\\n}\\n\"]),h&&(u.frag=u.frag.replace(\"smoothstep\",\"smoothStep\"),c.frag=c.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=t(u)}e.exports=g,g.defaults={color:\"black\",borderColor:\"transparent\",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},g.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];return e.length&&(t=this).update.apply(t,e),this.draw(),this},g.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];var n=this.groups;if(1===e.length&&Array.isArray(e[0])&&(null===e[0][0]||Array.isArray(e[0][0]))&&(e=e[0]),this.regl._refresh(),e.length)for(var i=0;i<e.length;i++)t.drawItem(i,e[i]);else n.forEach(function(e,r){t.drawItem(r)});return this},g.prototype.drawItem=function(t,e){var r=this.groups,n=r[t];if(\"number\"==typeof e&&(t=e,n=r[e],e=null),n&&n.count&&n.opacity){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,e));for(var i=[],a=1;a<n.activation.length;a++)n.activation[a]&&(!0===n.activation[a]||n.activation[a].data.length)&&i.push.apply(i,this.getMarkerDrawOptions(a,n,e));i.length&&this.drawMarker(i)}},g.prototype.getMarkerDrawOptions=function(t,e,r){var n=e.range,i=e.tree,a=e.viewport,o=e.activation,l=e.selectionBuffer,c=e.count;this.regl;if(!i)return r?[s({},e,{markerTexture:this.markerTextures[t],activation:o[t],count:r.length,elements:r,offset:0})]:[s({},e,{markerTexture:this.markerTextures[t],activation:o[t],offset:0})];var u=[],f=i.range(n,{lod:!0,px:[(n[2]-n[0])/a.width,(n[3]-n[1])/a.height]});if(r){for(var h=o[t].data,p=new Uint8Array(c),d=0;d<r.length;d++){var g=r[d];p[g]=h?h[g]:1}l.subdata(p)}for(var m=f.length;m--;){var v=f[m],y=v[0],x=v[1];u.push(s({},e,{markerTexture:this.markerTextures[t],activation:r?l:o[t],offset:y,count:x-y}))}return u},g.prototype.update=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){1===e.length&&Array.isArray(e[0])&&(e=e[0]);var n=this.groups,a=this.gl,l=this.regl,h=this.maxSize,m=this.maxColors,v=this.palette;this.groups=n=e.map(function(e,r){var y=n[r];if(void 0===e)return y;null===e?e={positions:null}:\"function\"==typeof e?e={ondraw:e}:\"number\"==typeof e[0]&&(e={positions:e}),null===(e=c(e,{positions:\"positions data points\",snap:\"snap cluster lod tree\",size:\"sizes size radius\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",color:\"colors color fill fill-color fillColor\",borderColor:\"borderColors borderColor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range dataBox databox\",viewport:\"viewport viewPort viewBox viewbox\",opacity:\"opacity alpha transparency\",bounds:\"bound bounds boundaries limits\"})).positions&&(e.positions=[]),y||(n[r]=y={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:l.buffer({data:new Uint8Array(0),usage:\"stream\",type:\"uint8\"}),sizeBuffer:l.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),colorBuffer:l.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"uint8\"}),positionBuffer:l.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"}),positionFractBuffer:l.buffer({data:new Uint8Array(0),usage:\"dynamic\",type:\"float\"})},e=s({},g.defaults,e)),!e.positions||\"marker\"in e||(e.marker=y.marker,delete y.marker),!e.marker||\"positions\"in e||(e.positions=y.positions,delete y.positions);var x=0,b=0;if(u(y,e,[{snap:!0,size:function(t,e){return null==t&&(t=g.defaults.size),x+=t&&t.length?1:0,t},borderSize:function(t,e){return null==t&&(t=g.defaults.borderSize),x+=t&&t.length?1:0,t},opacity:parseFloat,color:function(e,r){return null==e&&(e=g.defaults.color),e=t.updateColor(e),b++,e},borderColor:function(e,r){return null==e&&(e=g.defaults.borderColor),e=t.updateColor(e),b++,e},bounds:function(t,e,r){return\"range\"in r||(r.range=null),t},positions:function(t,e,r){var n=e.snap,a=e.positionBuffer,s=e.positionFractBuffer,c=e.selectionBuffer;if(t.x||t.y)return t.x.length?e.xAttr={buffer:l.buffer(t.x),offset:0,stride:4,count:t.x.length}:e.xAttr={buffer:t.x.buffer,offset:4*t.x.offset||0,stride:4*(t.x.stride||1),count:t.x.count},t.y.length?e.yAttr={buffer:l.buffer(t.y),offset:0,stride:4,count:t.y.length}:e.yAttr={buffer:t.y.buffer,offset:4*t.y.offset||0,stride:4*(t.y.stride||1),count:t.y.count},e.count=Math.max(e.xAttr.count,e.yAttr.count),t;t=f(t,\"float64\");var u=e.count=Math.floor(t.length/2),h=e.bounds=u?i(t,2):null;if(r.range||e.range||(delete e.range,r.range=h),r.marker||e.marker||(delete e.marker,r.marker=null),n&&(!0===n||u>n)?e.tree=o(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var d={primitive:\"points\",usage:\"static\",data:e.tree,type:\"uint32\"};e.elements?e.elements(d):e.elements=l.elements(d)}return a({data:p.float(t),usage:\"dynamic\"}),s({data:p.fract(t),usage:\"dynamic\"}),c({data:new Uint8Array(u),type:\"uint8\",usage:\"stream\"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach(function(t){return t&&t.destroy&&t.destroy()}),i.length=0,e&&\"number\"!=typeof e[0]){for(var a=[],o=0,s=Math.min(e.length,r.count);o<s;o++){var c=t.addMarker(e[o]);a[c]||(a[c]=new Uint8Array(r.count)),a[c][o]=1}for(var u=0;u<a.length;u++)if(a[u]){var f={data:a[u],type:\"uint8\",usage:\"static\"};i[u]?i[u](f):i[u]=l.buffer(f),i[u].data=a[u]}}else{i[t.addMarker(e)]=!0}return e},range:function(t,e,r){var n=e.bounds;if(n)return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=p.fract(e.scale),e.translateFract=p.fract(e.translate),t},viewport:function(t){return d(t||[a.drawingBufferWidth,a.drawingBufferHeight])}}]),x){var _=y.count,w=y.size,k=y.borderSize,M=y.sizeBuffer,A=new Uint8Array(2*_);if(w.length||k.length)for(var T=0;T<_;T++)A[2*T]=Math.round(255*(null==w[T]?w:w[T])/h),A[2*T+1]=Math.round(255*(null==k[T]?k:k[T])/h);M({data:A,usage:\"dynamic\"})}if(b){var S,E=y.count,C=y.color,L=y.borderColor,z=y.colorBuffer;if(t.tooManyColors){if(C.length||L.length){S=new Uint8Array(8*E);for(var P=0;P<E;P++){var O=C[P];S[8*P]=v[4*O],S[8*P+1]=v[4*O+1],S[8*P+2]=v[4*O+2],S[8*P+3]=v[4*O+3];var I=L[P];S[8*P+4]=v[4*I],S[8*P+5]=v[4*I+1],S[8*P+6]=v[4*I+2],S[8*P+7]=v[4*I+3]}}}else if(C.length||L.length){S=new Uint8Array(4*E+2);for(var D=0;D<E;D++)null!=C[D]&&(S[4*D]=C[D]%m,S[4*D+1]=Math.floor(C[D]/m)),null!=L[D]&&(S[4*D+2]=L[D]%m,S[4*D+3]=Math.floor(L[D]/m))}z({data:S||new Uint8Array(0),type:\"uint8\",usage:\"dynamic\"})}return y})}},g.prototype.addMarker=function(t){var e,r=this.markerTextures,n=this.regl,i=this.markerCache,a=null==t?0:i.indexOf(t);if(a>=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o<s;o++)e[o]=255*t[o]}var l=Math.floor(Math.sqrt(e.length));return a=r.length,i.push(t),r.push(n.texture({channels:1,data:e,radius:l,mag:\"linear\",min:\"linear\"})),a},g.prototype.updateColor=function(t){var e=this.paletteIds,r=this.palette,i=this.maxColors;Array.isArray(t)||(t=[t]);var o=[];if(\"number\"==typeof t[0]){var s=[];if(Array.isArray(t))for(var l=0;l<t.length;l+=4)s.push(t.slice(l,l+4));else for(var c=0;c<t.length;c+=4)s.push(t.subarray(c,c+4));t=s}for(var u=0;u<t.length;u++){var f=t[u];f=n(f,\"uint8\");var h=a(f,!1);if(null==e[h]){var p=r.length;e[h]=Math.floor(p/4),r[p]=f[0],r[p+1]=f[1],r[p+2]=f[2],r[p+3]=f[3]}o[u]=e[h]}return!this.tooManyColors&&r.length>i*i*4&&(this.tooManyColors=!0),this.updatePalette(r),1===o.length?o[0]:o},g.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i<n*e;i++)t.push(0,0,0,0);r.height<n&&r.resize(e,n),r.subimage({width:Math.min(.25*t.length,e),height:n,data:t},0,0)}},g.prototype.destroy=function(){return this.groups.forEach(function(t){t.sizeBuffer.destroy(),t.positionBuffer.destroy(),t.positionFractBuffer.destroy(),t.colorBuffer.destroy(),t.activation.forEach(function(t){return t&&t.destroy&&t.destroy()}),t.selectionBuffer.destroy(),t.elements&&t.elements.destroy()}),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach(function(t){return t&&t.destroy&&t.destroy()}),this}},{\"array-bounds\":52,\"color-id\":105,\"color-normalize\":107,\"flatten-vertex-data\":215,glslify:390,\"is-iexplorer\":400,\"object-assign\":434,\"parse-rect\":439,\"pick-by-alias\":445,\"point-cluster\":449,\"to-float32\":512,\"update-diff\":523}],474:[function(t,e,r){\"use strict\";var n=t(\"regl-scatter2d/scatter\"),i=t(\"pick-by-alias\"),a=t(\"array-bounds\"),o=t(\"raf\"),s=t(\"array-range\"),l=t(\"parse-rect\"),c=t(\"flatten-vertex-data\");function u(t,e){if(!(this instanceof u))return new u(t,e);this.traces=[],this.passes={},this.regl=t,this.scatter=n(t),this.canvas=this.scatter.canvas}function f(t,e,r){return(null!=t.id?t.id:t)<<16|(255&e)<<8|255&r}function h(t,e,r){var n,i,a,o,s=t[e],l=t[r];return s.length>2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x+s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y+l.height),[a,n,o,i]}function p(t){if(\"number\"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o(function(){e.draw(),e.dirty=!0,e.planned=null})):(this.draw(),this.dirty=!0,o(function(){e.dirty=!1})),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);for(var i=[],a=0,o=0;o<this.traces.length;o++){for(var s=this.traces[o],l=this.traces[o].passes,c=0;c<l.length;c++)i.push(this.passes[l[c]]);s.passOffset=a,a+=s.passes.length}return(t=this.scatter).update.apply(t,i),this}},u.prototype.updateItem=function(t,e){var r=this.regl;if(null===e)return this.traces[t]=null,this;if(!e)return this;var n,o=i(e,{data:\"data items columns rows values dimensions samples x\",snap:\"snap cluster\",size:\"sizes size radius\",color:\"colors color fill fill-color fillColor\",opacity:\"opacity alpha transparency opaque\",borderSize:\"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline\",borderColor:\"borderColors borderColor bordercolor stroke stroke-color strokeColor\",marker:\"markers marker shape\",range:\"range ranges databox dataBox\",viewport:\"viewport viewBox viewbox\",domain:\"domain domains area areas\",padding:\"pad padding paddings pads margin margins\",transpose:\"transpose transposed\",diagonal:\"diagonal diag showDiagonal\",upper:\"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf\",lower:\"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower\"}),s=this.traces[t]||(this.traces[t]={id:t,buffer:r.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),color:\"black\",marker:null,size:12,borderColor:\"transparent\",borderSize:1,viewport:l([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(null!=o.color&&(s.color=o.color),null!=o.size&&(s.size=o.size),null!=o.marker&&(s.marker=o.marker),null!=o.borderColor&&(s.borderColor=o.borderColor),null!=o.borderSize&&(s.borderSize=o.borderSize),null!=o.opacity&&(s.opacity=o.opacity),o.viewport&&(s.viewport=l(o.viewport)),null!=o.diagonal&&(s.diagonal=o.diagonal),null!=o.upper&&(s.upper=o.upper),null!=o.lower&&(s.lower=o.lower),o.data){s.buffer(c(o.data)),s.columns=o.data.length,s.count=o.data[0].length,s.bounds=[];for(var u=0;u<s.columns;u++)s.bounds[u]=a(o.data[u],1)}o.range&&(s.range=o.range,n=s.range&&\"number\"!=typeof s.range[0]),o.domain&&(s.domain=o.domain);var d=!1;null!=o.padding&&(Array.isArray(o.padding)&&o.padding.length===s.columns&&\"number\"==typeof o.padding[o.padding.length-1]?(s.padding=o.padding.map(p),d=!0):s.padding=p(o.padding));var g=s.columns,m=s.count,v=s.viewport.width,y=s.viewport.height,x=s.viewport.x,b=s.viewport.y,_=v/g,w=y/g;s.passes=[];for(var k=0;k<g;k++)for(var M=0;M<g;M++)if((s.diagonal||M!==k)&&(s.upper||!(k>M))&&(s.lower||!(k<M))){var A=f(s.id,k,M),T=this.passes[A]||(this.passes[A]={});if(o.data&&(o.transpose?T.positions={x:{buffer:s.buffer,offset:M,count:m,stride:g},y:{buffer:s.buffer,offset:k,count:m,stride:g}}:T.positions={x:{buffer:s.buffer,offset:M*m,count:m},y:{buffer:s.buffer,offset:k*m,count:m}},T.bounds=h(s.bounds,k,M)),o.domain||o.viewport||o.data){var S=d?h(s.padding,k,M):s.padding;if(s.domain){var E=h(s.domain,k,M),C=E[0],L=E[1],z=E[2],P=E[3];T.viewport=[x+C*v+S[0],b+L*y+S[1],x+z*v-S[2],b+P*y-S[3]]}else T.viewport=[x+M*_+_*S[0],b+k*w+w*S[1],x+(M+1)*_-_*S[2],b+(k+1)*w-w*S[3]]}o.color&&(T.color=s.color),o.size&&(T.size=s.size),o.marker&&(T.marker=s.marker),o.borderSize&&(T.borderSize=s.borderSize),o.borderColor&&(T.borderColor=s.borderColor),o.opacity&&(T.opacity=s.opacity),o.range&&(T.range=n?h(s.range,k,M):s.range||T.bounds),s.passes.push(A)}return this},u.prototype.draw=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=[],i=0;i<e.length;i++)if(\"number\"==typeof e[i]){var a=this.traces[e[i]],o=a.passes,l=a.passOffset;n.push.apply(n,s(l,l+o.length))}else if(e[i].length){var c=e[i],u=this.traces[i],f=u.passes,h=u.passOffset;f=f.map(function(t,e){n[h+e]=c})}(t=this.scatter).draw.apply(t,n)}else this.scatter.draw();return this},u.prototype.destroy=function(){return this.traces.forEach(function(t){t.buffer&&t.buffer.destroy&&t.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this}},{\"array-bounds\":52,\"array-range\":54,\"flatten-vertex-data\":215,\"parse-rect\":439,\"pick-by-alias\":445,raf:464,\"regl-scatter2d/scatter\":473}],475:[function(t,e,r){var n,i;n=this,i=function(){function t(t,e){this.id=V++,this.type=t,this.data=e}function e(t){return\"[\"+function t(e){if(0===e.length)return[];var r=e.charAt(0),n=e.charAt(e.length-1);if(1<e.length&&r===n&&('\"'===r||\"'\"===r))return['\"'+e.substr(1,e.length-2).replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];if(r=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(e))return t(e.substr(0,r.index)).concat(t(r[1])).concat(t(e.substr(r.index+r[0].length)));if(1===(r=e.split(\".\")).length)return['\"'+e.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"')+'\"'];for(e=[],n=0;n<r.length;++n)e=e.concat(t(r[n]));return e}(t).join(\"][\")+\"]\"}function r(t){return\"string\"==typeof t?t.split():t}function n(t){return\"string\"==typeof t?document.querySelector(t):t}function i(t){var e,i,a,o,s=t||{};t={};var l=[],c=[],u=\"undefined\"==typeof window?1:window.devicePixelRatio,f=!1,h=function(t){},p=function(){};if(\"string\"==typeof s?e=document.querySelector(s):\"object\"==typeof s&&(\"string\"==typeof s.nodeName&&\"function\"==typeof s.appendChild&&\"function\"==typeof s.getBoundingClientRect?e=s:\"function\"==typeof s.drawArrays||\"function\"==typeof s.drawElements?a=(o=s).canvas:(\"gl\"in s?o=s.gl:\"canvas\"in s?a=n(s.canvas):\"container\"in s&&(i=n(s.container)),\"attributes\"in s&&(t=s.attributes),\"extensions\"in s&&(l=r(s.extensions)),\"optionalExtensions\"in s&&(c=r(s.optionalExtensions)),\"onDone\"in s&&(h=s.onDone),\"profile\"in s&&(f=!!s.profile),\"pixelRatio\"in s&&(u=+s.pixelRatio))),e&&(\"canvas\"===e.nodeName.toLowerCase()?a=e:i=e),!o){if(!a){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&&(e=(n=t.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),i.width=r*e,i.height=r*n,j(i.style,{width:e+\"px\",height:n+\"px\"})}var i=document.createElement(\"canvas\");return j(i.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(i),t===document.body&&(i.style.position=\"absolute\",j(t.style,{margin:0,padding:0})),window.addEventListener(\"resize\",n,!1),n(),{canvas:i,onDestroy:function(){window.removeEventListener(\"resize\",n),t.removeChild(i)}}}(i||document.body,0,u)))return null;a=e.canvas,p=e.onDestroy}o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r(\"webgl\")||r(\"experimental-webgl\")||r(\"webgl-experimental\")}(a,t)}return o?{gl:o,canvas:a,container:i,extensions:l,optionalExtensions:c,pixelRatio:u,profile:f,onDone:h,onDestroy:p}:(p(),h(\"webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org\"),null)}function a(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function o(t){var e,r;return e=(65535<t)<<4,e|=r=(255<(t>>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=a(8,function(){return[]});return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function l(t){return!!t&&\"object\"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&\"number\"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||Y(t.data))}function c(t,e,r,n,i,a){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var c=s[l],u=0;u<n;++u)i[a++]=c[u]}function u(t){return 0|$[Object.prototype.toString.call(t)]}function f(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function h(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var c=0;c<n;++c)t[s++]=e[i*l+a*c+o]}function p(t,e,r,n){function i(e){this.id=c++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function a(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function o(t,e,r,n,i,o){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){i=tt(e);for(var s=n=1;s<i.length;++s)n*=i[s];t.dimension=n,a(t,e=Q(e,i,t.dtype),r),o?t.persistentData=e:G.freeType(e)}else\"number\"==typeof e[0]?(t.dimension=i,f(i=G.allocType(t.dtype,e.length),e),a(t,i,r),o?t.persistentData=i:G.freeType(i)):Y(e[0])&&(t.dimension=e[0].length,t.dtype=n||u(e[0])||5126,a(t,e=Q(e,[e.length,e[0].length],t.dtype),r),o?t.persistentData=e:G.freeType(e))}else if(Y(e))t.dtype=n||u(e),t.dimension=i,a(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(l(e)){i=e.shape;var c=e.stride,p=(s=e.offset,0),d=0,g=0,m=0;1===i.length?(p=i[0],d=1,g=c[0],m=0):2===i.length&&(p=i[0],d=i[1],g=c[0],m=c[1]),t.dtype=n||u(e.data)||5126,t.dimension=d,h(i=G.allocType(t.dtype,p*d),e.data,p,d,g,m,s),a(t,i,r),o?t.persistentData=i:G.freeType(i)}}function s(r){e.bufferCount--;for(var i=0;i<n.state.length;++i){var a=n.state[i];a.buffer===r&&(t.disableVertexAttribArray(i),a.buffer=null)}t.deleteBuffer(r.buffer),r.buffer=null,delete p[r.id]}var c=0,p={};i.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},i.prototype.destroy=function(){s(this)};var d=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(p).forEach(function(e){t+=p[e].stats.size}),t}),{create:function(n,a,c,d){function g(e){var n=35044,i=null,a=0,s=0,c=1;return Array.isArray(e)||Y(e)||l(e)?i=e:\"number\"==typeof e?a=0|e:e&&(\"data\"in e&&(i=e.data),\"usage\"in e&&(n=K[e.usage]),\"type\"in e&&(s=J[e.type]),\"dimension\"in e&&(c=0|e.dimension),\"length\"in e&&(a=0|e.length)),m.bind(),i?o(m,i,n,s,c,d):(a&&t.bufferData(m.type,a,n),m.dtype=s||5121,m.usage=n,m.dimension=c,m.byteLength=a),r.profile&&(m.stats.size=m.byteLength*et[m.dtype]),g}e.bufferCount++;var m=new i(a);return p[m.id]=m,c||g(n),g._reglType=\"buffer\",g._buffer=m,g.subdata=function(e,r){var n,i=0|(r||0);if(m.bind(),Y(e))t.bufferSubData(m.type,i,e);else if(Array.isArray(e)){if(0<e.length)if(\"number\"==typeof e[0]){var a=G.allocType(m.dtype,e.length);f(a,e),t.bufferSubData(m.type,i,a),G.freeType(a)}else(Array.isArray(e[0])||Y(e[0]))&&(n=tt(e),a=Q(e,n,m.dtype),t.bufferSubData(m.type,i,a),G.freeType(a))}else if(l(e)){n=e.shape;var o=e.stride,s=a=0,c=0,p=0;1===n.length?(a=n[0],s=1,c=o[0],p=0):2===n.length&&(a=n[0],s=n[1],c=o[0],p=o[1]),n=Array.isArray(e.data)?m.dtype:u(e.data),h(n=G.allocType(n,a*s),e.data,a,s,c,p,e.offset),t.bufferSubData(m.type,i,n),G.freeType(n)}return g},r.profile&&(g.stats=m.stats),g.destroy=function(){s(m)},g},createStream:function(t,e){var r=d.pop();return r||(r=new i(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){d.push(t)},clear:function(){X(p).forEach(s),d.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof i?t._buffer:null},restore:function(){X(p).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})},_initBuffer:o}}function d(t,e,r,n){function i(t){this.id=c++,s[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function a(n,i,a,o,s,c,u){if(n.buffer.bind(),i){var f=u;u||Y(i)&&(!l(i)||Y(i.data))||(f=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,f,3)}else t.bufferData(34963,c,a),n.buffer.dtype=f||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=c;if(f=u,!u){switch(n.buffer.dtype){case 5121:case 5120:f=5121;break;case 5123:case 5122:f=5123;break;case 5125:case 5124:f=5125}n.buffer.dtype=f}n.type=f,0>(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if(\"number\"==typeof t)c(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||Y(t)||l(t)?e=t:(\"data\"in t&&(e=t.data),\"usage\"in t&&(r=K[t.usage]),\"primitive\"in t&&(n=rt[t.primitive]),\"count\"in t&&(i=0|t.count),\"type\"in t&&(h=u[t.type]),\"length\"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else c(),f.primType=4,f.vertCount=0,f.type=5121;return s}var c=r.create(null,34963,!0),f=new i(c._buffer);return n.elementsCount++,s(t),s._reglType=\"elements\",s._elements=f,s.subdata=function(t,e){return c.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return\"function\"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){X(s).forEach(o)}}}function g(t){for(var e=G.allocType(5123,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(1/0===t[r])e[r]=31744;else if(-1/0===t[r])e[r]=64512;else{nt[0]=t[r];var n=(a=it[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15<i?n+31744:n+(i+15<<10)+a}return e}function m(t){return Array.isArray(t)||Y(t)}function v(t){return\"[object \"+t+\"]\"}function y(t){return Array.isArray(t)&&(0===t.length||\"number\"==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!m(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=pt.indexOf(e)||(y(t)||x(t)||l(t))}function w(t,e){36193===t.type?(t.data=g(e),G.freeType(e)):t.data=e}function k(t,e,r,n,i,a){if(t=\"undefined\"!=typeof gt[t]?gt[t]:st[t]*dt[e],a&&(t*=6),i){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function M(t,e,r,n,i,a,o){function s(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function c(t,e){t.internalformat=e.internalformat,t.format=e.format,t.type=e.type,t.compressed=e.compressed,t.premultiplyAlpha=e.premultiplyAlpha,t.flipY=e.flipY,t.unpackAlignment=e.unpackAlignment,t.colorSpace=e.colorSpace,t.width=e.width,t.height=e.height,t.channels=e.channels}function u(t,e){if(\"object\"==typeof e&&e){\"premultiplyAlpha\"in e&&(t.premultiplyAlpha=e.premultiplyAlpha),\"flipY\"in e&&(t.flipY=e.flipY),\"alignment\"in e&&(t.unpackAlignment=e.alignment),\"colorSpace\"in e&&(t.colorSpace=q[e.colorSpace]),\"type\"in e&&(t.type=H[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;\"shape\"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(i=e.shape[2],a=!0)):(\"radius\"in e&&(r=n=e.radius),\"width\"in e&&(r=e.width),\"height\"in e&&(n=e.height),\"channels\"in e&&(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,\"format\"in e&&(r=e.format,n=t.internalformat=W[r],t.format=pt[n],r in H&&!(\"type\"in e)&&(t.type=H[r]),r in J&&(t.compressed=!0),r=!0),!a&&r?t.channels=st[t.format]:a&&!r&&t.channels!==ot[t.format]&&(t.format=t.internalformat=ot[t.channels])}}function f(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function h(){s.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,e){var r=null;if(_(e)?r=e:e&&(u(t,e),\"x\"in e&&(t.xOffset=0|e.x),\"y\"in e&&(t.yOffset=0|e.y),_(e.data)&&(r=e.data)),e.copy){var n=i.viewportWidth,a=i.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||a-t.yOffset,t.needsCopy=!0}else if(r){if(Y(r))t.channels=t.channels||4,t.data=r,\"type\"in e||5121!==t.type||(t.type=0|$[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,a=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(a=G.allocType(t.type,a)).set(n),t.data=a;break;case 36193:t.data=g(n)}t.alignment=1,t.needsFree=!0}else if(l(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|$[Object.prototype.toString.call(n)]);a=r.shape;var o,s,c,f,h=r.stride;3===a.length?(c=a[2],f=h[2]):f=c=1,o=a[0],s=a[1],a=h[0],h=h[1],t.alignment=1,t.width=o,t.height=s,t.channels=c,t.format=t.internalformat=ot[c],t.needsFree=!0,o=f,r=r.offset,c=t.width,f=t.height,s=t.channels;for(var p=G.allocType(36193===t.type?5126:t.type,c*f*s),d=0,v=0;v<f;++v)for(var k=0;k<c;++k)for(var M=0;M<s;++M)p[d++]=n[a*k+h*v+o*M+r];w(t,p)}else if(b(r)===lt||b(r)===ct)b(r)===lt?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(b(r)===ut)t.element=r,t.width=r.width,t.height=r.height,t.channels=4;else if(b(r)===ft)t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(b(r)===ht)t.element=r,t.width=r.videoWidth,t.height=r.videoHeight,t.channels=4;else if(x(r)){for(n=t.width||r[0].length,a=t.height||r.length,h=t.channels,h=m(r[0][0])?h||r[0][0].length:h||1,o=Z.shape(r),c=1,f=0;f<o.length;++f)c*=o[f];c=G.allocType(36193===t.type?5126:t.type,c),Z.flatten(r,o,\"\",c),w(t,c),t.alignment=1,t.width=n,t.height=a,t.channels=h,t.format=t.internalformat=ot[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,i,a,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,h=e.type,p=e.width,d=e.height;f(e),s?t.texSubImage2D(r,o,i,a,u,h,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,c,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,i,a,p,d,u,h,l)}function v(){return dt.pop()||new h}function M(t){t.needsFree&&G.freeType(t.data),h.call(t),dt.push(t)}function A(){s.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function T(t,e,r){var n=t.images[0]=v();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function S(t,e){var r=null;if(_(e))c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)c(r=t.images[i]=v(),t),r.width>>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<<i;else c(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;c(t,t.images[0])}function E(e,r){for(var i=e.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,c=o.element,u=o.data,h=o.internalformat,p=o.format,d=o.type,g=o.width,m=o.height,v=o.channels;f(o),c?t.texImage2D(s,l,p,p,d,c):o.compressed?t.compressedTexImage2D(s,l,h,g,m,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,g,m,0)):((o=!u)&&(u=G.zero.allocType(d,g*m*v)),t.texImage2D(s,l,p,g,m,0,p,d,u),o&&u&&G.zero.freeType(u))}}function C(){var t=gt.pop()||new A;s.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&M(e[r]),e[r]=null;gt.push(t)}function z(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function P(t,e){\"min\"in e&&(t.minFilter=U[e.min],0<=at.indexOf(t.minFilter)&&!(\"faces\"in e)&&(t.genMipmaps=!0)),\"mag\"in e&&(t.magFilter=V[e.mag]);var r=t.wrapS,n=t.wrapT;if(\"wrap\"in e){var i=e.wrap;\"string\"==typeof i?r=n=N[i]:Array.isArray(i)&&(r=N[i[0]],n=N[i[1]])}else\"wrapS\"in e&&(r=N[e.wrapS]),\"wrapT\"in e&&(n=N[e.wrapT]);if(t.wrapS=r,t.wrapT=n,\"anisotropic\"in e&&(t.anisotropic=e.anisotropic),\"mipmap\"in e){switch(r=!1,typeof e.mipmap){case\"string\":t.mipmapHint=F[e.mipmap],r=t.genMipmaps=!0;break;case\"boolean\":r=t.genMipmaps=e.mipmap;break;case\"object\":t.genMipmaps=!1,r=!0}!r||\"min\"in e||(t.minFilter=9984)}}function O(r,n){t.texParameteri(n,10241,r.minFilter),t.texParameteri(n,10240,r.magFilter),t.texParameteri(n,10242,r.wrapS),t.texParameteri(n,10243,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function I(e){s.call(this),this.mipmask=0,this.internalformat=6408,this.id=mt++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new z,o.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function R(){var e=xt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function B(e){var r=e.texture,n=e.unit,i=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(i,null),xt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete vt[e.id],a.textureCount--}var F={\"don't care\":4352,\"dont care\":4352,nice:4354,fast:4353},N={repeat:10497,clamp:33071,mirror:33648},V={nearest:9728,linear:9729},U=j({mipmap:9987,\"nearest mipmap nearest\":9984,\"linear mipmap nearest\":9985,\"nearest mipmap linear\":9986,\"linear mipmap linear\":9987},V),q={none:0,browser:37444},H={uint8:5121,rgba4:32819,rgb565:33635,\"rgb5 a1\":32820},W={alpha:6406,luminance:6409,\"luminance alpha\":6410,rgb:6407,rgba:6408,rgba4:32854,\"rgb5 a1\":32855,rgb565:36194},J={};e.ext_srgb&&(W.srgb=35904,W.srgba=35906),e.oes_texture_float&&(H.float32=H.float=5126),e.oes_texture_half_float&&(H.float16=H[\"half float\"]=36193),e.webgl_depth_texture&&(j(W,{depth:6402,\"depth stencil\":34041}),j(H,{uint16:5123,uint32:5125,\"depth stencil\":34042})),e.webgl_compressed_texture_s3tc&&j(J,{\"rgb s3tc dxt1\":33776,\"rgba s3tc dxt1\":33777,\"rgba s3tc dxt3\":33778,\"rgba s3tc dxt5\":33779}),e.webgl_compressed_texture_atc&&j(J,{\"rgb atc\":35986,\"rgba atc explicit alpha\":35987,\"rgba atc interpolated alpha\":34798}),e.webgl_compressed_texture_pvrtc&&j(J,{\"rgb pvrtc 4bppv1\":35840,\"rgb pvrtc 2bppv1\":35841,\"rgba pvrtc 4bppv1\":35842,\"rgba pvrtc 2bppv1\":35843}),e.webgl_compressed_texture_etc1&&(J[\"rgb etc1\"]=36196);var K=Array.prototype.slice.call(t.getParameter(34467));Object.keys(J).forEach(function(t){var e=J[t];0<=K.indexOf(e)&&(W[t]=e)});var Q=Object.keys(W);r.textureFormats=Q;var tt=[];Object.keys(W).forEach(function(t){tt[W[t]]=t});var et=[];Object.keys(H).forEach(function(t){et[H[t]]=t});var rt=[];Object.keys(V).forEach(function(t){rt[V[t]]=t});var nt=[];Object.keys(U).forEach(function(t){nt[U[t]]=t});var it=[];Object.keys(N).forEach(function(t){it[N[t]]=t});var pt=Q.reduce(function(t,e){var r=W[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0<=e.indexOf(\"rgba\")?t[r]=6408:t[r]=6407,t},{}),dt=[],gt=[],mt=0,vt={},yt=r.maxTextureUnits,xt=Array(yt).map(function(){return null});return j(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<yt;++r){var n=xt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}xt[r]=this,e=r;break}o.profile&&a.maxTextureUnits<e+1&&(a.maxTextureUnits=e+1),this.unit=e,t.activeTexture(33984+e),t.bindTexture(this.target,this.texture)}return e},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&B(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(vt).forEach(function(e){t+=vt[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;z.call(r);var a=C();return\"number\"==typeof t?T(a,0|t,\"number\"==typeof e?0|e:0|t):t?(P(r,t),S(a,t)):T(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,c(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),O(r,3553),R(),L(a),o.profile&&(i.stats.size=k(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=tt[i.internalformat],n.type=et[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new I(3553);return vt[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return c(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),R(),M(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,D(i);for(var l,c=i.channels,u=i.type,f=0;i.mipmask>>f;++f){var h=a>>f,p=s>>f;if(!h||!p)break;l=G.zero.allocType(u,h*p*c),t.texImage2D(3553,f,i.format,h,p,0,i.format,i.type,l),l&&G.zero.freeType(l)}return R(),o.profile&&(i.stats.size=k(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType=\"texture2d\",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,l){function f(t,e,r,n,i,a){var s,l=h.texInfo;for(z.call(l),s=0;6>s;++s)g[s]=C();if(\"number\"!=typeof t&&t){if(\"object\"==typeof t)if(e)S(g[0],t),S(g[1],e),S(g[2],r),S(g[3],n),S(g[4],i),S(g[5],a);else if(P(l,t),u(h,t),\"faces\"in t)for(t=t.faces,s=0;6>s;++s)c(g[s],h),S(g[s],t[s]);else for(s=0;6>s;++s)S(g[s],t)}else for(t=0|t||1,s=0;6>s;++s)T(g[s],t,t);for(c(h,g[0]),h.mipmask=l.genMipmaps?(g[0].width<<1)-1:g[0].mipmask,h.internalformat=g[0].internalformat,f.width=g[0].width,f.height=g[0].height,D(h),s=0;6>s;++s)E(g[s],34069+s);for(O(l,34067),R(),o.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,l.genMipmaps,!0)),f.format=tt[h.internalformat],f.type=et[h.type],f.mag=rt[l.magFilter],f.min=nt[l.minFilter],f.wrapS=it[l.wrapS],f.wrapT=it[l.wrapT],s=0;6>s;++s)L(g[s]);return f}var h=new I(34067);vt[h.id]=h,a.cubeCount++;var g=Array(6);return f(e,r,n,i,s,l),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return c(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,D(h),d(a,34069+t,r,n,i),R(),M(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,D(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=k(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType=\"textureCube\",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;e<yt;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),xt[e]=null;X(vt).forEach(B),a.cubeCount=0,a.textureCount=0},getTexture:function(t){return null},restore:function(){X(vt).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32>r;++r)if(0!=(e.mipmask&1<<r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);O(e.texInfo,e.target)})}}}function A(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,i=t;return\"object\"==typeof t&&(i=t.data,\"target\"in t&&(e=0|t.target)),\"texture2d\"===(t=i._reglType)?r=i:\"textureCube\"===t?r=i:\"renderbuffer\"===t&&(n=i,e=36161),new o(e,r,n)}function f(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._renderbuffer.refCount=0,new o(36161,null,t))}function h(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r))}function d(){this.id=k++,M[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function m(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete M[e.id]}function v(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)c(36064+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),c(36096,e.depthAttachment),c(36128,e.stencilAttachment),c(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.bindFramebuffer(36160,x.next?x.next.framebuffer:null),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var i,a=0,o=0,s=!0,c=!0;i=null;var p=!0,d=\"rgba\",m=\"uint8\",y=1,x=null,w=null,k=null,M=!1;\"number\"==typeof t?(a=0|t,o=0|e||a):t?(\"shape\"in t?(a=(o=t.shape)[0],o=o[1]):(\"radius\"in t&&(a=o=t.radius),\"width\"in t&&(a=t.width),\"height\"in t&&(o=t.height)),(\"color\"in t||\"colors\"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||(\"colorCount\"in t&&(y=0|t.colorCount),\"colorTexture\"in t&&(p=!!t.colorTexture,d=\"rgba4\"),\"colorType\"in t&&(m=t.colorType,!p)&&(\"half float\"===m||\"float16\"===m?d=\"rgba16f\":\"float\"!==m&&\"float32\"!==m||(d=\"rgba32f\")),\"colorFormat\"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),(\"depthTexture\"in t||\"depthStencilTexture\"in t)&&(M=!(!t.depthTexture&&!t.depthStencilTexture)),\"depth\"in t&&(\"boolean\"==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),\"stencil\"in t&&(\"boolean\"==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),\"depthStencil\"in t&&(\"boolean\"==typeof t.depthStencil?s=c=t.depthStencil:(k=t.depthStencil,c=s=!1))):a=o=1;var A=null,T=null,S=null,E=null;if(Array.isArray(i))A=i.map(u);else if(i)A=[u(i)];else for(A=Array(y),i=0;i<y;++i)A[i]=f(a,o,p,d,m);for(a=a||A[0].width,o=o||A[0].height,x?T=u(x):s&&!c&&(T=f(a,o,M,\"depth\",\"uint32\")),w?S=u(w):c&&!s&&(S=f(a,o,!1,\"stencil\",\"uint8\")),k?E=u(k):!x&&!w&&c&&s&&(E=f(a,o,M,\"depth stencil\",\"depth stencil\")),s=null,i=0;i<A.length;++i)l(A[i]),A[i]&&A[i].texture&&(c=yt[A[i].texture._texture.format]*xt[A[i].texture._texture.type],null===s&&(s=c));return l(T),l(S),l(E),g(n),n.width=a,n.height=o,n.colorAttachments=A,n.depthAttachment=T,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=A.map(h),r.depth=h(T),r.stencil=h(S),r.depthStencil=h(E),r.width=n.width,r.height=n.height,v(n),r}var n=new d;return a.framebufferCount++,r(t,e),j(r,{resize:function(t,e){var i=0|t,a=0|e||i;if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,v(n),r},_reglType:\"framebuffer\",_framebuffer:n,destroy:function(){m(n),g(n)},use:function(t){x.setFBO({framebuffer:r},t)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=[\"rgba\"],_=[\"rgba4\",\"rgb565\",\"rgb5 a1\"];e.ext_srgb&&_.push(\"srgba\"),e.ext_color_buffer_half_float&&_.push(\"rgba16f\",\"rgb16f\"),e.webgl_color_buffer_float&&_.push(\"rgba32f\");var w=[\"uint8\"];e.oes_texture_half_float&&w.push(\"half float\",\"float16\"),e.oes_texture_float&&w.push(\"float\",\"float32\");var k=0,M={};return j(x,{getFramebuffer:function(t){return\"function\"==typeof t&&\"framebuffer\"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:y,createCube:function(t){function e(t){var i,a={color:null},o=0,s=null;i=\"rgba\";var l=\"uint8\",c=1;if(\"number\"==typeof t?o=0|t:t?(\"shape\"in t?o=t.shape[0]:(\"radius\"in t&&(o=0|t.radius),\"width\"in t?o=0|t.width:\"height\"in t&&(o=0|t.height)),(\"color\"in t||\"colors\"in t)&&(s=t.color||t.colors,Array.isArray(s)),s||(\"colorCount\"in t&&(c=0|t.colorCount),\"colorType\"in t&&(l=t.colorType),\"colorFormat\"in t&&(i=t.colorFormat)),\"depth\"in t&&(a.depth=t.depth),\"stencil\"in t&&(a.stencil=t.stencil),\"depthStencil\"in t&&(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i<s.length;++i)t[i]=s[i];else t=[s];else for(t=Array(c),s={radius:o,format:i,type:l},i=0;i<c;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i<t.length;++i)c=t[i],o=o||c.width,a.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(c=0;c<t.length;++c)a.color[c].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=y(a)}return j(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),j(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t<i.length;++t)i[t].resize(n);for(t=0;6>t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:\"framebufferCube\",destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){X(M).forEach(m)},restore:function(){X(M).forEach(function(e){e.framebuffer=t.createFramebuffer(),v(e)})}})}function T(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(t,e,r,n){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(t,e){for(var r=0;r<t.length;++r)if(t[r].id===e.id)return void(t[r].location=e.location);t.push(e)}function o(r,n,i){if(!(o=(i=35632===r?c:u)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[n]=o}return o}function s(t,e){this.id=p++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(r,s){var l,c;l=o(35632,r.fragId),c=o(35633,r.vertId);var u=r.program=t.createProgram();t.attachShader(u,l),t.attachShader(u,c),t.linkProgram(u);var f=t.getProgramParameter(u,35718);n.profile&&(r.stats.uniformsCount=f);var h=r.uniforms;for(l=0;l<f;++l)if(c=t.getActiveUniform(u,l))if(1<c.size)for(var p=0;p<c.size;++p){var d=c.name.replace(\"[0]\",\"[\"+p+\"]\");a(h,new i(d,e.id(d),t.getUniformLocation(u,d),c))}else a(h,new i(c.name,e.id(c.name),t.getUniformLocation(u,c.name),c));for(f=t.getProgramParameter(u,35721),n.profile&&(r.stats.attributesCount=f),h=r.attributes,l=0;l<f;++l)(c=t.getActiveAttrib(u,l))&&a(h,new i(c.name,e.id(c.name),t.getAttribLocation(u,c.name),c))}var c={},u={},f={},h=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return h.forEach(function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);X(c).forEach(e),c={},X(u).forEach(e),u={},h.forEach(function(e){t.deleteProgram(e.program)}),h.length=0,f={},r.shaderCount=0},program:function(t,e,n){var i=f[e];i||(i=f[e]={});var a=i[t];return a||(a=new s(e,t),r.shaderCount++,l(a),i[t]=a,h.push(a)),a},restore:function(){c={},u={};for(var t=0;t<h.length;++t)l(h[t])},shader:o,frag:-1,vert:-1}}function E(t,e,r,n,i,a,o){function s(i){var a;a=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,c=n.framebufferHeight,u=null;return Y(i)?u=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),c=0|(i.height||n.framebufferHeight-s),u=i.data||null),r(),i=l*c*4,u||(5121===a?u=new Uint8Array(i):5126===a&&(u=u||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,a,u),u}return function(t){return t&&\"framebuffer\"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=s(t)}),r}(t):s(t)}}function C(t){return Array.prototype.slice.call(t)}function L(t){return C(t).join(\"\")}function z(){function t(){var t=[],e=[];return j(function(){t.push.apply(t,C(arguments))},{def:function(){var n=\"v\"+r++;return e.push(n),0<arguments.length&&(t.push(n,\"=\"),t.push.apply(t,C(arguments)),t.push(\";\")),n},toString:function(){return L([0<e.length?\"var \"+e+\";\":\"\",L(t)])}})}function e(){function e(t,e){n(t,e,\"=\",r.def(t,e),\";\")}var r=t(),n=t(),i=r.toString,a=n.toString;return j(function(){r.apply(r,C(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,i){e(t,n),r(t,n,\"=\",i,\";\")},toString:function(){return i()+a()}})}var r=0,n=[],i=[],a=t(),o={};return{global:a,link:function(t){for(var e=0;e<i.length;++e)if(i[e]===t)return n[e];return e=\"g\"+r++,n.push(e),i.push(t),e},block:t,proc:function(t,r){function n(){var t=\"a\"+i.length;return i.push(t),t}var i=[];r=r||0;for(var a=0;a<r;++a)n();var s=(a=e()).toString;return o[t]=j(a,{arg:n,toString:function(){return L([\"function(\",i.join(),\"){\",s(),\"}\"])}})},scope:e,cond:function(){var t=L(arguments),r=e(),n=e(),i=r.toString,a=n.toString;return j(r,{then:function(){return r.apply(r,C(arguments)),this},else:function(){return n.apply(n,C(arguments)),this},toString:function(){var e=a();return e&&(e=\"else{\"+e+\"}\"),L([\"if(\",t,\"){\",i(),\"}\",e])}})},compile:function(){var t=['\"use strict\";',a,\"return {\"];Object.keys(o).forEach(function(e){t.push('\"',e,'\":',o[e].toString(),\",\")}),t.push(\"}\");var e=L(t).replace(/;/g,\";\\n\").replace(/}/g,\"}\\n\").replace(/{/g,\"{\\n\");return Function.apply(null,n.concat(e)).apply(null,i)}}}function P(t){return Array.isArray(t)||Y(t)||l(t)}function O(t){return t.sort(function(t,e){return\"viewport\"===t?-1:\"viewport\"===e?1:t<e?-1:1})}function I(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function D(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function R(t){return new I(!1,!1,!1,t)}function B(t,e){var r=t.type;return 0===r?new I(!0,1<=(r=t.data.length),2<=r,e):4===r?new I((r=t.data).thisDep,r.contextDep,r.propDep,e):new I(3===r,2===r,1===r,e)}function F(t,e,r,n,i,o,s,l,c,u,f,h,p,d,g){function v(t){return t.replace(\".\",\"_\")}function y(t,e,r){var n=v(t);nt.push(t),et[n]=tt[n]=!!r,it[n]=e}function x(t,e,r){var n=v(t);nt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,at[n]=e}function b(){var t=z(),r=t.link,n=t.global;t.id=lt++,t.batchId=\"0\";var i=r(ot),a=t.shared={props:\"a0\"};Object.keys(ot).forEach(function(t){a[t]=n.def(i,\".\",t)});var o=t.next={},s=t.current={};Object.keys(at).forEach(function(t){Array.isArray(tt[t])&&(o[t]=n.def(a.next,\".\",t),s[t]=n.def(a.current,\".\",t))});var l=t.constants={};Object.keys(st).forEach(function(t){l[t]=n.def(JSON.stringify(st[t]))}),t.invoke=function(e,n){switch(n.type){case 0:var i=[\"this\",a.context,a.props,t.batchId];return e.def(r(n.data),\".call(\",i.slice(0,Math.max(n.data.length+1,4)),\")\");case 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def(\"this\",n.data);case 4:return n.data.append(t,e),n.data.ref}},t.attribCache={};var c={};return t.scopeAttrib=function(t){if((t=e.id(t))in c)return c[t];var n=u.scope[t];return n||(n=u.scope[t]=new Z),c[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if(\"framebuffer\"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),R(function(t,e){var r=t.link(i),n=t.shared;return e.set(n.framebuffer,\".next\",r),n=n.context,e.set(n,\".framebufferWidth\",r+\".width\"),e.set(n,\".framebufferHeight\",r+\".height\"),r})):R(function(t,e){var r=t.shared;return e.set(r.framebuffer,\".next\",\"null\"),r=r.context,e.set(r,\".framebufferWidth\",r+\".drawingBufferWidth\"),e.set(r,\".framebufferHeight\",r+\".drawingBufferHeight\"),\"null\"})}if(\"framebuffer\"in n){var a=n.framebuffer;return B(a,function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;r=e.def(i,\".getFramebuffer(\",r,\")\");return e.set(i,\".next\",r),n=n.context,e.set(n,\".framebufferWidth\",r+\"?\"+r+\".width:\"+n+\".drawingBufferWidth\"),e.set(n,\".framebufferHeight\",r+\"?\"+r+\".height:\"+n+\".drawingBufferHeight\"),r})}return null}function w(t){function r(t){if(t in n){var r=e.id(n[t]);return(t=R(function(){return r})).id=r,t}if(t in i){var a=i[t];return B(a,function(t,e){var r=t.invoke(e,a);return e.def(t.shared.strings,\".id(\",r,\")\")})}return null}var n=t.static,i=t.dynamic,a=r(\"frag\"),o=r(\"vert\"),s=null;return D(a)&&D(o)?(s=f.program(o.id,a.id),t=R(function(t,e){return t.link(s)})):t=new I(a&&a.thisDep||o&&o.thisDep,a&&a.contextDep||o&&o.contextDep,a&&a.propDep||o&&o.propDep,function(t,e){var r,n,i=t.shared.shader;return r=a?a.append(t,e):e.def(i,\".\",\"frag\"),n=o?o.append(t,e):e.def(i,\".\",\"vert\"),e.def(i+\".program(\"+n+\",\"+r+\")\")}),{frag:a,vert:o,progVar:t,program:s}}function k(t,e){function r(t,e){if(t in n){var r=0|n[t];return R(function(t,n){return e&&(t.OFFSET=r),r})}if(t in i){var o=i[t];return B(o,function(t,r){var n=t.invoke(r,o);return e&&(t.OFFSET=n),n})}return e&&a?R(function(t,e){return t.OFFSET=\"0\",0}):null}var n=t.static,i=t.dynamic,a=function(){if(\"elements\"in n){var t=n.elements;P(t)?t=o.getElements(o.create(t,!0)):t&&(t=o.getElements(t));var e=R(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null});return e.value=t,e}if(\"elements\"in i){var r=i.elements;return B(r,function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def(\"null\");n=e.def(n,\"(\",a,\")\"),a=t.cond(n).then(o,\"=\",i,\".createStream(\",a,\");\").else(o,\"=\",i,\".getElements(\",a,\");\");return e.entry(a),e.exit(t.cond(n).then(i,\".destroyStream(\",o,\");\")),t.ELEMENTS=o})}return null}(),s=r(\"offset\",!0);return{elements:a,primitive:function(){if(\"primitive\"in n){var t=n.primitive;return R(function(e,r){return rt[t]})}if(\"primitive\"in i){var e=i.primitive;return B(e,function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,\"[\",i,\"]\")})}return a?D(a)?a.value?R(function(t,e){return e.def(t.ELEMENTS,\".primType\")}):R(function(){return 4}):new I(a.thisDep,a.contextDep,a.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,\"?\",r,\".primType:\",4)}):null}(),count:function(){if(\"count\"in n){var t=0|n.count;return R(function(){return t})}if(\"count\"in i){var e=i.count;return B(e,function(t,r){return t.invoke(r,e)})}return a?D(a)?a?s?new I(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,\".vertCount-\",t.OFFSET)}):R(function(t,e){return e.def(t.ELEMENTS,\".vertCount\")}):R(function(){return-1}):new I(a.thisDep||s.thisDep,a.contextDep||s.contextDep,a.propDep||s.propDep,function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,\"?\",r,\".vertCount-\",t.OFFSET,\":-1\"):e.def(r,\"?\",r,\".vertCount:-1\")}):null}(),instances:r(\"instances\",!1),offset:s}}function M(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach(function(t){var r=n[t],a=e.id(t),s=new Z;if(P(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(c=i.getBuffer(r))s.state=1,s.buffer=c,s.type=0;else if(\"constant\"in r){var l=r.constant;s.buffer=\"null\",s.state=2,\"number\"==typeof l?s.x=l:bt.forEach(function(t,e){e<l.length&&(s[t]=l[e])})}else{var c=P(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),u=0|r.offset,f=0|r.stride,h=0|r.size,p=!!r.normalized,d=0;\"type\"in r&&(d=J[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=h,s.normalized=p,s.type=d||c.dtype,s.offset=u,s.stride=f,s.divisor=r}o[t]=R(function(t,e){var r=t.attribCache;if(a in r)return r[a];var n={isStream:!1};return Object.keys(s).forEach(function(t){n[t]=s[t]}),s.buffer&&(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+\".dtype\"),r[a]=n})}),Object.keys(a).forEach(function(t){var e=a[t];o[t]=B(e,function(t,r){function n(t){r(l[t],\"=\",i,\".\",t,\"|0;\")}var i=t.invoke(r,e),a=t.shared,o=a.isBufferArgs,s=a.buffer,l={isStream:r.def(!1)},c=new Z;c.state=1,Object.keys(c).forEach(function(t){l[t]=r.def(\"\"+c[t])});var u=l.buffer,f=l.type;return r(\"if(\",o,\"(\",i,\")){\",l.isStream,\"=true;\",u,\"=\",s,\".createStream(\",34962,\",\",i,\");\",f,\"=\",u,\".dtype;\",\"}else{\",u,\"=\",s,\".getBuffer(\",i,\");\",\"if(\",u,\"){\",f,\"=\",u,\".dtype;\",'}else if(\"constant\" in ',i,\"){\",l.state,\"=\",2,\";\",\"if(typeof \"+i+'.constant === \"number\"){',l[bt[0]],\"=\",i,\".constant;\",bt.slice(1).map(function(t){return l[t]}).join(\"=\"),\"=0;\",\"}else{\",bt.map(function(t,e){return l[t]+\"=\"+i+\".constant.length>\"+e+\"?\"+i+\".constant[\"+e+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",o,\"(\",i,\".buffer)){\",u,\"=\",s,\".createStream(\",34962,\",\",i,\".buffer);\",\"}else{\",u,\"=\",s,\".getBuffer(\",i,\".buffer);\",\"}\",f,'=\"type\" in ',i,\"?\",a.glTypes,\"[\",i,\".type]:\",u,\".dtype;\",l.normalized,\"=!!\",i,\".normalized;\"),n(\"size\"),n(\"offset\"),n(\"stride\"),n(\"divisor\"),r(\"}}\"),r.exit(\"if(\",l.isStream,\"){\",s,\".destroyStream(\",u,\");\",\"}\"),l})}),o}function A(t,e,r,n,i){var o=_(t),s=function(t,e,r){function n(t){if(t in i){var r=i[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return\"width\"in r?n=0|r.width:t=!1,\"height\"in r?o=0|r.height:t=!1,new I(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,function(t,e){var i=t.shared.context,a=n;\"width\"in r||(a=e.def(i,\".\",\"framebufferWidth\",\"-\",s));var c=o;return\"height\"in r||(c=e.def(i,\".\",\"framebufferHeight\",\"-\",l)),[s,l,a,c]})}if(t in a){var c=a[t];return t=B(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,i=e.def(r,\".x|0\"),a=e.def(r,\".y|0\");return[i,a,e.def('\"width\" in ',r,\"?\",r,\".width|0:\",\"(\",n,\".\",\"framebufferWidth\",\"-\",i,\")\"),r=e.def('\"height\" in ',r,\"?\",r,\".height|0:\",\"(\",n,\".\",\"framebufferHeight\",\"-\",a,\")\")]}),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new I(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,\".\",\"framebufferWidth\"),e.def(r,\".\",\"framebufferHeight\")]}):null}var i=t.static,a=t.dynamic;if(t=n(\"viewport\")){var o=t;t=new I(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,\".viewportWidth\",r[2]),e.set(n,\".viewportHeight\",r[3]),r})}return{viewport:t,scissor_box:n(\"scissor.box\")}}(t,o),l=k(t),c=function(t,e){var r=t.static,n=t.dynamic,i={};return nt.forEach(function(t){function e(e,a){if(t in r){var s=e(r[t]);i[o]=R(function(){return s})}else if(t in n){var l=n[t];i[o]=B(l,function(t,e){return a(t,e,t.invoke(e,l))})}}var o=v(t);switch(t){case\"cull.enable\":case\"blend.enable\":case\"dither\":case\"stencil.enable\":case\"depth.enable\":case\"scissor.enable\":case\"polygonOffset.enable\":case\"sample.alpha\":case\"sample.enable\":case\"depth.mask\":return e(function(t){return t},function(t,e,r){return r});case\"depth.func\":return e(function(t){return kt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,\"[\",r,\"]\")});case\"depth.range\":return e(function(t){return t},function(t,e,r){return[e.def(\"+\",r,\"[0]\"),e=e.def(\"+\",r,\"[1]\")]});case\"blend.func\":return e(function(t){return[wt[\"srcRGB\"in t?t.srcRGB:t.src],wt[\"dstRGB\"in t?t.dstRGB:t.dst],wt[\"srcAlpha\"in t?t.srcAlpha:t.src],wt[\"dstAlpha\"in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('\"',t,n,'\" in ',r,\"?\",r,\".\",t,n,\":\",r,\".\",t)}t=t.constants.blendFuncs;var i=n(\"src\",\"RGB\"),a=n(\"dst\",\"RGB\"),o=(i=e.def(t,\"[\",i,\"]\"),e.def(t,\"[\",n(\"src\",\"Alpha\"),\"]\"));return[i,a=e.def(t,\"[\",a,\"]\"),o,t=e.def(t,\"[\",n(\"dst\",\"Alpha\"),\"]\")]});case\"blend.equation\":return e(function(t){return\"string\"==typeof t?[$[t],$[t]]:\"object\"==typeof t?[$[t.rgb],$[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond(\"typeof \",r,'===\"string\"')).then(i,\"=\",a,\"=\",n,\"[\",r,\"];\"),t.else(i,\"=\",n,\"[\",r,\".rgb];\",a,\"=\",n,\"[\",r,\".alpha];\"),e(t),[i,a]});case\"blend.color\":return e(function(t){return a(4,function(e){return+t[e]})},function(t,e,r){return a(4,function(t){return e.def(\"+\",r,\"[\",t,\"]\")})});case\"stencil.mask\":return e(function(t){return 0|t},function(t,e,r){return e.def(r,\"|0\")});case\"stencil.func\":return e(function(t){return[kt[t.cmp||\"keep\"],t.ref||0,\"mask\"in t?t.mask:-1]},function(t,e,r){return[t=e.def('\"cmp\" in ',r,\"?\",t.constants.compareFuncs,\"[\",r,\".cmp]\",\":\",7680),e.def(r,\".ref|0\"),e=e.def('\"mask\" in ',r,\"?\",r,\".mask|0:-1\")]});case\"stencil.opFront\":case\"stencil.opBack\":return e(function(e){return[\"stencil.opBack\"===t?1029:1028,Mt[e.fail||\"keep\"],Mt[e.zfail||\"keep\"],Mt[e.zpass||\"keep\"]]},function(e,r,n){function i(t){return r.def('\"',t,'\" in ',n,\"?\",a,\"[\",n,\".\",t,\"]:\",7680)}var a=e.constants.stencilOps;return[\"stencil.opBack\"===t?1029:1028,i(\"fail\"),i(\"zfail\"),i(\"zpass\")]});case\"polygonOffset.offset\":return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return[e.def(r,\".factor|0\"),e=e.def(r,\".units|0\")]});case\"cull.face\":return e(function(t){var e=0;return\"front\"===t?e=1028:\"back\"===t&&(e=1029),e},function(t,e,r){return e.def(r,'===\"front\"?',1028,\":\",1029)});case\"lineWidth\":return e(function(t){return t},function(t,e,r){return r});case\"frontFace\":return e(function(t){return At[t]},function(t,e,r){return e.def(r+'===\"cw\"?2304:2305')});case\"colorMask\":return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return a(4,function(t){return\"!!\"+r+\"[\"+t+\"]\"})});case\"sample.coverage\":return e(function(t){return[\"value\"in t?t.value:1,!!t.invert]},function(t,e,r){return[e.def('\"value\" in ',r,\"?+\",r,\".value:1\"),e=e.def(\"!!\",r,\".invert\")]})}}),i}(t),u=w(t),f=s.viewport;return f&&(c.viewport=f),(s=s[f=v(\"scissor.box\")])&&(c[f]=s),(o={framebuffer:o,draw:l,shader:u,state:c,dirty:s=0<Object.keys(c).length}).profile=function(t){var e,r=t.static;if(t=t.dynamic,\"profile\"in r){var n=!!r.profile;(e=R(function(t,e){return n})).enable=n}else if(\"profile\"in t){var i=t.profile;e=B(i,function(t,e){return t.invoke(e,i)})}return e}(t),o.uniforms=function(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach(function(t){var e,n=r[t];if(\"number\"==typeof n||\"boolean\"==typeof n)e=R(function(){return n});else if(\"function\"==typeof n){var o=n._reglType;\"texture2d\"===o||\"textureCube\"===o?e=R(function(t){return t.link(n)}):\"framebuffer\"!==o&&\"framebufferCube\"!==o||(e=R(function(t){return t.link(n.color[0])}))}else m(n)&&(e=R(function(t){return t.global.def(\"[\",a(n.length,function(t){return n[t]}),\"]\")}));e.value=n,i[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];i[t]=B(e,function(t,r){return t.invoke(r,e)})}),i}(r),o.attributes=M(e),o.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=R(function(t,e){return\"number\"==typeof r||\"boolean\"==typeof r?\"\"+r:t.link(r)})}),Object.keys(r).forEach(function(t){var e=r[t];n[t]=B(e,function(t,r){return t.invoke(r,e)})}),n}(n),o}function T(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach(function(a){e.save(n,\".\"+a),i(n,\".\",a,\"=\",r[a].append(t,e),\";\")}),e(i)}function S(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;Q&&(i=e.def(s.extensions,\".webgl_draw_buffers\"));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,\".next\"),n||e(\"if(\",t,\"!==\",o,\".cur){\"),e(\"if(\",t,\"){\",a,\".bindFramebuffer(\",36160,\",\",t,\".framebuffer);\"),Q&&e(i,\".drawBuffersWEBGL(\",s,\"[\",t,\".colorAttachments.length]);\"),e(\"}else{\",a,\".bindFramebuffer(\",36160,\",null);\"),Q&&e(i,\".drawBuffersWEBGL(\",l,\");\"),e(\"}\",o,\".cur=\",t,\";\"),n||e(\"}\")}function E(t,e,r){var n=t.shared,i=n.gl,o=t.current,s=t.next,l=n.current,c=n.next,u=t.cond(l,\".dirty\");nt.forEach(function(e){var n,f;if(!((e=v(e))in r.state))if(e in s){n=s[e],f=o[e];var h=a(tt[e].length,function(t){return u.def(n,\"[\",t,\"]\")});u(t.cond(h.map(function(t,e){return t+\"!==\"+f+\"[\"+e+\"]\"}).join(\"||\")).then(i,\".\",at[e],\"(\",h,\");\",h.map(function(t,e){return f+\"[\"+e+\"]=\"+t}).join(\";\"),\";\"))}else n=u.def(c,\".\",e),h=t.cond(n,\"!==\",l,\".\",e),u(h),e in it?h(t.cond(n).then(i,\".enable(\",it[e],\");\").else(i,\".disable(\",it[e],\");\"),l,\".\",e,\"=\",n,\";\"):h(i,\".\",at[e],\"(\",n,\");\",l,\".\",e,\"=\",n,\";\")}),0===Object.keys(r.state).length&&u(l,\".dirty=false;\"),e(u)}function C(t,e,r,n){var i=t.shared,a=t.current,o=i.current,s=i.gl;O(Object.keys(r)).forEach(function(i){var l=r[i];if(!n||n(l)){var c=l.append(t,e);if(it[i]){var u=it[i];D(l)?e(s,c?\".enable(\":\".disable(\",u,\");\"):e(t.cond(c).then(s,\".enable(\",u,\");\").else(s,\".disable(\",u,\");\")),e(o,\".\",i,\"=\",c,\";\")}else if(m(c)){var f=a[i];e(s,\".\",at[i],\"(\",c,\");\",c.map(function(t,e){return f+\"[\"+e+\"]=\"+t}).join(\";\"),\";\")}else e(s,\".\",at[i],\"(\",c,\");\",o,\".\",i,\"=\",c,\";\")}})}function L(t,e){K&&(t.instancing=e.def(t.shared.extensions,\".angle_instanced_arrays\"))}function F(t,e,r,n,i){function a(){return\"undefined\"==typeof performance?\"Date.now()\":\"performance.now()\"}function o(t){t(c=e.def(),\"=\",a(),\";\"),\"string\"==typeof i?t(h,\".count+=\",i,\";\"):t(h,\".count++;\"),d&&(n?t(u=e.def(),\"=\",g,\".getNumPendingQueries();\"):t(g,\".beginQuery(\",h,\");\"))}function s(t){t(h,\".cpuTime+=\",a(),\"-\",c,\";\"),d&&(n?t(g,\".pushScopeStats(\",u,\",\",g,\".getNumPendingQueries(),\",h,\");\"):t(g,\".endQuery();\"))}function l(t){var r=e.def(p,\".profile\");e(p,\".profile=\",t,\";\"),e.exit(p,\".profile=\",r,\";\")}var c,u,f=t.shared,h=t.stats,p=f.current,g=f.timer;if(r=r.profile){if(D(r))return void(r.enable?(o(e),s(e.exit),l(\"true\")):l(\"false\"));l(r=r.append(t,e))}else r=e.def(p,\".profile\");o(f=t.block()),e(\"if(\",r,\"){\",f,\"}\"),s(t=t.block()),e.exit(\"if(\",r,\"){\",t,\"}\")}function N(t,e,r,n,i){function a(r,n,i){function a(){e(\"if(!\",u,\".buffer){\",l,\".enableVertexAttribArray(\",c,\");}\");var r,a=i.type;r=i.size?e.def(i.size,\"||\",n):n,e(\"if(\",u,\".type!==\",a,\"||\",u,\".size!==\",r,\"||\",p.map(function(t){return u+\".\"+t+\"!==\"+i[t]}).join(\"||\"),\"){\",l,\".bindBuffer(\",34962,\",\",f,\".buffer);\",l,\".vertexAttribPointer(\",[c,r,a,i.normalized,i.stride,i.offset],\");\",u,\".type=\",a,\";\",u,\".size=\",r,\";\",p.map(function(t){return u+\".\"+t+\"=\"+i[t]+\";\"}).join(\"\"),\"}\"),K&&(a=i.divisor,e(\"if(\",u,\".divisor!==\",a,\"){\",t.instancing,\".vertexAttribDivisorANGLE(\",[c,a],\");\",u,\".divisor=\",a,\";}\"))}function s(){e(\"if(\",u,\".buffer){\",l,\".disableVertexAttribArray(\",c,\");\",\"}if(\",bt.map(function(t,e){return u+\".\"+t+\"!==\"+h[e]}).join(\"||\"),\"){\",l,\".vertexAttrib4f(\",c,\",\",h,\");\",bt.map(function(t,e){return u+\".\"+t+\"=\"+h[e]+\";\"}).join(\"\"),\"}\")}var l=o.gl,c=e.def(r,\".location\"),u=e.def(o.attributes,\"[\",c,\"]\");r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],p=[\"buffer\",\"normalized\",\"offset\",\"stride\"];1===r?a():2===r?s():(e(\"if(\",r,\"===\",1,\"){\"),a(),e(\"}else{\"),s(),e(\"}\"))}var o=t.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(t,e)}else{if(!i(Tt))return;var c=t.scopeAttrib(s);o={},Object.keys(new Z).forEach(function(t){o[t]=e.def(c,\".\",t)})}a(t.link(n),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)})}function j(t,r,n,i,o){for(var s,l=t.shared,c=l.gl,u=0;u<i.length;++u){var f,h=(g=i[u]).name,p=g.info.type,d=n.uniforms[h],g=t.link(g)+\".location\";if(d){if(!o(d))continue;if(D(d)){if(h=d.value,35678===p||35680===p)r(c,\".uniform1i(\",g,\",\",(p=t.link(h._texture||h.color[0]._texture))+\".bind());\"),r.exit(p,\".unbind();\");else if(35674===p||35675===p||35676===p)d=2,35675===p?d=3:35676===p&&(d=4),r(c,\".uniformMatrix\",d,\"fv(\",g,\",false,\",h=t.global.def(\"new Float32Array([\"+Array.prototype.slice.call(h)+\"])\"),\");\");else{switch(p){case 5126:s=\"1f\";break;case 35664:s=\"2f\";break;case 35665:s=\"3f\";break;case 35666:s=\"4f\";break;case 35670:case 5124:s=\"1i\";break;case 35671:case 35667:s=\"2i\";break;case 35672:case 35668:s=\"3i\";break;case 35673:s=\"4i\";break;case 35669:s=\"4i\"}r(c,\".uniform\",s,\"(\",g,\",\",m(h)?Array.prototype.slice.call(h):h,\");\")}continue}f=d.append(t,r)}else{if(!o(Tt))continue;f=r.def(l.uniforms,\"[\",e.id(h),\"]\")}switch(35678===p?r(\"if(\",f,\"&&\",f,'._reglType===\"framebuffer\"){',f,\"=\",f,\".color[0];\",\"}\"):35680===p&&r(\"if(\",f,\"&&\",f,'._reglType===\"framebufferCube\"){',f,\"=\",f,\".color[0];\",\"}\"),h=1,p){case 35678:case 35680:p=r.def(f,\"._texture\"),r(c,\".uniform1i(\",g,\",\",p,\".bind());\"),r.exit(p,\".unbind();\");continue;case 5124:case 35670:s=\"1i\";break;case 35667:case 35671:s=\"2i\",h=2;break;case 35668:case 35672:s=\"3i\",h=3;break;case 35669:case 35673:s=\"4i\",h=4;break;case 5126:s=\"1f\";break;case 35664:s=\"2f\",h=2;break;case 35665:s=\"3f\",h=3;break;case 35666:s=\"4f\",h=4;break;case 35674:s=\"Matrix2fv\";break;case 35675:s=\"Matrix3fv\";break;case 35676:s=\"Matrix4fv\"}if(r(c,\".uniform\",s,\"(\",g,\",\"),\"M\"===s.charAt(0)){g=Math.pow(p-35674+2,2);var v=t.global.def(\"new Float32Array(\",g,\")\");r(\"false,(Array.isArray(\",f,\")||\",f,\" instanceof Float32Array)?\",f,\":(\",a(g,function(t){return v+\"[\"+t+\"]=\"+f+\"[\"+t+\"]\"}),\",\",v,\")\")}else r(1<h?a(h,function(t){return f+\"[\"+t+\"]\"}):f);r(\");\")}}function V(t,e,r,n){function i(i){var a=h[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(f,\".\",i)}function a(){function t(){r(l,\".drawElementsInstancedANGLE(\",[d,m,v,g+\"<<((\"+v+\"-5121)>>1)\",s],\");\")}function e(){r(l,\".drawArraysInstancedANGLE(\",[d,g,m,s],\");\")}p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}function o(){function t(){r(u+\".drawElements(\"+[d,m,v,g+\"<<((\"+v+\"-5121)>>1)\"]+\");\")}function e(){r(u+\".drawArrays(\"+[d,g,m]+\");\")}p?y?t():(r(\"if(\",p,\"){\"),t(),r(\"}else{\"),e(),r(\"}\")):e()}var s,l,c=t.shared,u=c.gl,f=c.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,\".\",\"elements\"),i&&a(\"if(\"+i+\")\"+u+\".bindBuffer(34963,\"+i+\".buffer.buffer);\"),i}(),d=i(\"primitive\"),g=i(\"offset\"),m=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,\".\",\"count\"),i}();if(\"number\"==typeof m){if(0===m)return}else r(\"if(\",m,\"){\"),r.exit(\"}\");K&&(s=i(\"instances\"),l=t.instancing);var v=p+\".type\",y=h.elements&&D(h.elements);K&&(\"number\"!=typeof s||0<=s)?\"string\"==typeof s?(r(\"if(\",s,\">0){\"),a(),r(\"}else if(\",s,\"<0){\"),o(),r(\"}\")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc(\"body\",i),K&&(e.instancing=i.def(e.shared.extensions,\".angle_instanced_arrays\")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){L(t,e),N(t,e,r,n.attributes,function(){return!0}),j(t,e,r,n.uniforms,function(){return!0}),V(t,e,e,r)}function G(t,e,r,n){function i(){return!0}t.batchId=\"a1\",L(t,e),N(t,e,r,n.attributes,i),j(t,e,r,n.uniforms,i),V(t,e,e,r)}function W(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}L(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,\"for(\",s,\"=0;\",s,\"<\",\"a1\",\";++\",s,\"){\",l,\"=\",\"a0\",\"[\",s,\"];\",u,\"}\",c.exit),r.needsContext&&T(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),C(t,u,r.state,i),r.profile&&i(r.profile)&&F(t,u,r,!1,!0),n?(N(t,c,r,n.attributes,a),N(t,u,r,n.attributes,i),j(t,c,r,n.uniforms,a),j(t,u,r,n.uniforms,i),V(t,c,u,r)):(e=t.global.def(\"{}\"),n=r.shader.progVar.append(t,u),l=u.def(n,\".id\"),c=u.def(e,\"[\",l,\"]\"),u(t.shared.gl,\".useProgram(\",n,\".program);\",\"if(!\",c,\"){\",c,\"=\",e,\"[\",l,\"]=\",t.link(function(e){return q(G,t,r,e,2)}),\"(\",n,\");}\",c,\".call(this,a0[\",s,\"],\",s,\");\"))}function Y(t,r){function n(e){var n=r.shader[e];n&&i.set(a.shader,\".\"+e,n.append(t,i))}var i=t.proc(\"scope\",3);t.batchId=\"a2\";var a=t.shared,o=a.current;T(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),O(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,i);m(n)?n.forEach(function(r,n){i.set(t.next[e],\"[\"+n+\"]\",r)}):i.set(a.next,\".\"+e,n)}),F(t,i,r,!0,!0),[\"elements\",\"offset\",\"count\",\"instances\",\"primitive\"].forEach(function(e){var n=r.draw[e];n&&i.set(a.draw,\".\"+e,\"\"+n.append(t,i))}),Object.keys(r.uniforms).forEach(function(n){i.set(a.uniforms,\"[\"+e.id(n)+\"]\",r.uniforms[n].append(t,i))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new Z).forEach(function(t){i.set(a,\".\"+t,n[t])})}),n(\"vert\"),n(\"frag\"),0<Object.keys(r.state).length&&(i(o,\".dirty=true;\"),i.exit(o,\".dirty=true;\")),i(\"a1(\",t.shared.context,\",a0,\",t.batchId,\");\")}function X(t,e,r){var n=e.static[r];if(n&&function(t){if(\"object\"==typeof t&&!m(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(U.isDynamic(t[e[r]]))return!0;return!1}}(n)){var i=t.global,a=Object.keys(n),o=!1,s=!1,l=!1,c=t.global.def(\"{}\");a.forEach(function(e){var r=n[e];if(U.isDynamic(r))\"function\"==typeof r&&(r=n[e]=U.unbox(r)),e=B(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(i(c,\".\",e,\"=\"),typeof r){case\"number\":i(r);break;case\"string\":i('\"',r,'\"');break;case\"object\":Array.isArray(r)&&i(\"[\",r.join(),\"]\");break;default:i(t.link(r))}i(\";\")}}),e.dynamic[r]=new U.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:c,append:function(t,e){a.forEach(function(r){var i=n[r];U.isDynamic(i)&&(i=t.invoke(e,i),e(c,\".\",r,\"=\",i,\";\"))})}}),delete e.static[r]}}var Z=u.Record,$={add:32774,subtract:32778,\"reverse subtract\":32779};r.ext_blend_minmax&&($.min=32775,$.max=32776);var K=r.angle_instanced_arrays,Q=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},nt=[],it={},at={};y(\"dither\",3024),y(\"blend.enable\",3042),x(\"blend.color\",\"blendColor\",[0,0,0,0]),x(\"blend.equation\",\"blendEquationSeparate\",[32774,32774]),x(\"blend.func\",\"blendFuncSeparate\",[1,0,1,0]),y(\"depth.enable\",2929,!0),x(\"depth.func\",\"depthFunc\",513),x(\"depth.range\",\"depthRange\",[0,1]),x(\"depth.mask\",\"depthMask\",!0),x(\"colorMask\",\"colorMask\",[!0,!0,!0,!0]),y(\"cull.enable\",2884),x(\"cull.face\",\"cullFace\",1029),x(\"frontFace\",\"frontFace\",2305),x(\"lineWidth\",\"lineWidth\",1),y(\"polygonOffset.enable\",32823),x(\"polygonOffset.offset\",\"polygonOffset\",[0,0]),y(\"sample.alpha\",32926),y(\"sample.enable\",32928),x(\"sample.coverage\",\"sampleCoverage\",[1,!1]),y(\"stencil.enable\",2960),x(\"stencil.mask\",\"stencilMask\",-1),x(\"stencil.func\",\"stencilFunc\",[519,0,-1]),x(\"stencil.opFront\",\"stencilOpSeparate\",[1028,7680,7680,7680]),x(\"stencil.opBack\",\"stencilOpSeparate\",[1029,7680,7680,7680]),y(\"scissor.enable\",3089),x(\"scissor.box\",\"scissor\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x(\"viewport\",\"viewport\",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var ot={gl:t,context:p,strings:e,next:et,current:tt,draw:h,elements:o,buffer:i,shader:f,attributes:u.state,uniforms:c,framebuffer:l,extensions:r,timer:d,isBufferArgs:P},st={primTypes:rt,compareFuncs:kt,blendFuncs:wt,blendEquations:$,stencilOps:Mt,glTypes:J,orientationType:At};Q&&(st.backBuffer=[1029],st.drawBuffer=a(n.maxDrawbuffers,function(t){return 0===t?[0]:a(t,function(t){return 36064+t})}));var lt=0;return{next:et,current:tt,procs:function(){var t=b(),e=t.proc(\"poll\"),r=t.proc(\"refresh\"),i=t.block();e(i),r(i);var o,s=t.shared,l=s.gl,c=s.next,u=s.current;i(u,\".dirty=false;\"),S(t,e),S(t,r,null,!0),K&&(o=t.link(K));for(var f=0;f<n.maxAttributes;++f){var h=r.def(s.attributes,\"[\",f,\"]\"),p=t.cond(h,\".buffer\");p.then(l,\".enableVertexAttribArray(\",f,\");\",l,\".bindBuffer(\",34962,\",\",h,\".buffer.buffer);\",l,\".vertexAttribPointer(\",f,\",\",h,\".size,\",h,\".type,\",h,\".normalized,\",h,\".stride,\",h,\".offset);\").else(l,\".disableVertexAttribArray(\",f,\");\",l,\".vertexAttrib4f(\",f,\",\",h,\".x,\",h,\".y,\",h,\".z,\",h,\".w);\",h,\".buffer=null;\"),r(p),K&&r(o,\".vertexAttribDivisorANGLE(\",f,\",\",h,\".divisor);\")}return Object.keys(it).forEach(function(n){var a=it[n],o=i.def(c,\".\",n),s=t.block();s(\"if(\",o,\"){\",l,\".enable(\",a,\")}else{\",l,\".disable(\",a,\")}\",u,\".\",n,\"=\",o,\";\"),r(s),e(\"if(\",o,\"!==\",u,\".\",n,\"){\",s,\"}\")}),Object.keys(at).forEach(function(n){var o,s,f=at[n],h=tt[n],p=t.block();p(l,\".\",f,\"(\"),m(h)?(f=h.length,o=t.global.def(c,\".\",n),s=t.global.def(u,\".\",n),p(a(f,function(t){return o+\"[\"+t+\"]\"}),\");\",a(f,function(t){return s+\"[\"+t+\"]=\"+o+\"[\"+t+\"];\"}).join(\"\")),e(\"if(\",a(f,function(t){return o+\"[\"+t+\"]!==\"+s+\"[\"+t+\"]\"}).join(\"||\"),\"){\",p,\"}\")):(o=i.def(c,\".\",n),s=i.def(u,\".\",n),p(o,\");\",u,\".\",n,\"=\",o,\";\"),e(\"if(\",o,\"!==\",s,\"){\",p,\"}\")),r(p)}),t.compile()}(),compile:function(t,e,r,n,i){var a=b();return a.stats=a.link(i),Object.keys(e.static).forEach(function(t){X(a,e,t)}),_t.forEach(function(e){X(a,t,e)}),r=A(t,e,r,n),function(t,e){var r=t.proc(\"draw\",1);L(t,r),T(t,r,e.context),S(t,r,e.framebuffer),E(t,r,e),C(t,r,e.state),F(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,\".useProgram(\",n,\".program);\"),e.shader.program)H(t,r,e,e.shader.program);else{var i=t.global.def(\"{}\"),a=r.def(n,\".id\"),o=r.def(i,\"[\",a,\"]\");r(t.cond(o).then(o,\".call(this,a0);\").else(o,\"=\",i,\"[\",a,\"]=\",t.link(function(r){return q(H,t,e,r,1)}),\"(\",n,\");\",o,\".call(this,a0);\"))}0<Object.keys(e.state).length&&r(t.shared.current,\".dirty=true;\")}(a,r),Y(a,r),function(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc(\"batch\",2);t.batchId=\"0\",L(t,n);var i=!1,a=!0;Object.keys(e.context).forEach(function(t){i=i||e.context[t].propDep}),i||(T(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),E(t,n,e),C(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||F(t,n,e,!1,\"a1\"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&&i||a.propDep)W(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,\".useProgram(\",a,\".program);\"),e.shader.program)W(t,n,e,e.shader.program);else{var s=t.global.def(\"{}\"),l=(o=n.def(a,\".id\"),n.def(s,\"[\",o,\"]\"));n(t.cond(l).then(l,\".call(this,a0,a1);\").else(l,\"=\",s,\"[\",o,\"]=\",t.link(function(r){return q(W,t,e,r,2)}),\"(\",a,\");\",l,\".call(this,a0,a1);\"))}0<Object.keys(e.state).length&&n(t.shared.current,\".dirty=true;\")}(a,r),a.compile()}}}function N(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var j=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,U={DynamicVariable:t,define:function(r,n){return new t(r,e(n+\"\"))},isDynamic:function(e){return\"function\"==typeof e&&!e._reglType||e instanceof t},unbox:function(e,r){return\"function\"==typeof e?new t(0,e):e},accessor:e},q={next:\"function\"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:\"function\"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},H=\"undefined\"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},G=s();G.zero=s();var W=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063));var a=!!e.oes_texture_float;if(a){a=t.createTexture(),t.bindTexture(3553,a),t.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var o=t.createFramebuffer();if(t.bindFramebuffer(36160,o),t.framebufferTexture2D(36160,36064,3553,a,0),t.bindTexture(3553,null),36053!==t.checkFramebufferStatus(36160))a=!1;else{t.viewport(0,0,1,1),t.clearColor(1,0,0,1),t.clear(16384);var s=G.allocType(5126,4);t.readPixels(0,0,1,1,6408,5126,s),t.getError()?a=!1:(t.deleteFramebuffer(o),t.deleteTexture(a),a=1===s[0]),G.freeType(s)}}return s=!0,s=t.createTexture(),o=G.allocType(5121,36),t.activeTexture(33984),t.bindTexture(34067,s),t.texImage2D(34069,0,6408,3,3,0,6408,5121,o),G.freeType(o),t.bindTexture(34067,null),t.deleteTexture(s),s=!t.getError(),{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(e).filter(function(t){return!!e[t]}),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:i,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938),readFloat:a,npotTextureCube:s}},Y=function(t){return t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof Uint8ClampedArray},X=function(t){return Object.keys(t).map(function(e){return t[e]})},Z={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;switch(r=n||G.allocType(r,i),e.length){case 0:break;case 1:for(n=e[0],e=0;e<n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],a=i=0;a<n;++a)for(var o=t[a],s=0;s<e;++s)r[i++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,i,a){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var u=r[n+1],f=r[n+2];for(r=r[n+3],s=0;s<l;++s)c(e[s],u,f,r,i,a),a+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,i,a),a+=o}(t,e,0,r,0)}return r}},$={\"[object Int8Array]\":5120,\"[object Int16Array]\":5122,\"[object Int32Array]\":5124,\"[object Uint8Array]\":5121,\"[object Uint8ClampedArray]\":5121,\"[object Uint16Array]\":5123,\"[object Uint32Array]\":5125,\"[object Float32Array]\":5126,\"[object Float64Array]\":5121,\"[object ArrayBuffer]\":5121},J={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},K={dynamic:35048,stream:35040,static:35044},Q=Z.flatten,tt=Z.shape,et=[];et[5120]=1,et[5122]=2,et[5124]=4,et[5121]=1,et[5123]=2,et[5125]=4,et[5126]=4;var rt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},nt=new Float32Array(1),it=new Uint32Array(nt.buffer),at=[9984,9986,9985,9987],ot=[0,6409,6410,6407,6408],st={};st[6409]=st[6406]=st[6402]=1,st[34041]=st[6410]=2,st[6407]=st[35904]=3,st[6408]=st[35906]=4;var lt=v(\"HTMLCanvasElement\"),ct=v(\"CanvasRenderingContext2D\"),ut=v(\"ImageBitmap\"),ft=v(\"HTMLImageElement\"),ht=v(\"HTMLVideoElement\"),pt=Object.keys($).concat([lt,ct,ut,ft,ht]),dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2,dt[5123]=2,dt[5125]=4;var gt=[];gt[32854]=2,gt[32855]=2,gt[36194]=2,gt[34041]=4,gt[33776]=.5,gt[33777]=.5,gt[33778]=1,gt[33779]=1,gt[35986]=.5,gt[35987]=1,gt[34798]=1,gt[35840]=.5,gt[35841]=.25,gt[35842]=.5,gt[35843]=.25,gt[36196]=.5;var mt=[];mt[32854]=2,mt[32855]=2,mt[36194]=2,mt[33189]=2,mt[36168]=1,mt[34041]=4,mt[35907]=4,mt[34836]=16,mt[34842]=8,mt[34843]=6;var vt=function(t,e,r,n,i){function a(t){this.id=c++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete u[e.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,\"rgb5 a1\":32855,depth:33189,stencil:36168,\"depth stencil\":34041};e.ext_srgb&&(s.srgba=35907),e.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach(function(t){l[s[t]]=t});var c=0,u={};return a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,a=0,u=32854;if(\"object\"==typeof e&&e?(\"shape\"in e?(n=0|(a=e.shape)[0],a=0|a[1]):(\"radius\"in e&&(n=a=0|e.radius),\"width\"in e&&(n=0|e.width),\"height\"in e&&(a=0|e.height)),\"format\"in e&&(u=s[e.format])):\"number\"==typeof e?(n=0|e,a=\"number\"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=mt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height?o:(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=mt[c.format]*c.width*c.height),o)},o._reglType=\"renderbuffer\",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){X(u).forEach(o)},restore:function(){X(u).forEach(function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)}),t.bindRenderbuffer(36161,null)}}},yt=[];yt[6408]=4,yt[6407]=3;var xt=[];xt[5121]=1,xt[5126]=4,xt[36193]=2;var bt=[\"x\",\"y\",\"z\",\"w\"],_t=\"blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset\".split(\" \"),wt={0:0,1:1,zero:0,one:1,\"src color\":768,\"one minus src color\":769,\"src alpha\":770,\"one minus src alpha\":771,\"dst color\":774,\"one minus dst color\":775,\"dst alpha\":772,\"one minus dst alpha\":773,\"constant color\":32769,\"one minus constant color\":32770,\"constant alpha\":32771,\"one minus constant alpha\":32772,\"src alpha saturate\":776},kt={never:512,less:513,\"<\":513,equal:514,\"=\":514,\"==\":514,\"===\":514,lequal:515,\"<=\":515,greater:516,\">\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Mt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},At={cw:2304,ccw:2305},Tt=new I(!1,!1,!1,function(){});return function(t){function e(){if(0===Z.length)w&&w.update(),Q=null;else{Q=q.next(e),f();for(var t=Z.length-1;0<=t;--t){var r=Z[t];r&&r(z,null,0)}m.flush(),w&&w.update()}}function r(){!Q&&0<Z.length&&(Q=q.next(e))}function n(){Q&&(q.cancel(e),Q=null)}function a(t){t.preventDefault(),n(),$.forEach(function(t){t()})}function o(t){m.getError(),y.restore(),D.restore(),O.restore(),R.restore(),B.restore(),V.restore(),w&&w.restore(),G.procs.refresh(),r(),J.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var i=t[n];U.isDynamic(i)?r[n]=U.unbox(i,n):e[n]=i}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),i=e(t.attributes||{}),a=e(function(t){function e(t){if(t in r){var e=r[t];delete r[t],Object.keys(e).forEach(function(n){r[t+\".\"+n]=e[n]})}}var r=j({},t);return delete r.uniforms,delete r.attributes,delete r.context,\"stencil\"in r&&r.stencil.op&&(r.stencil.opBack=r.stencil.opFront=r.stencil.op,delete r.stencil.op),e(\"blend\"),e(\"depth\"),e(\"cull\"),e(\"stencil\"),e(\"polygonOffset\"),e(\"scissor\"),e(\"sample\"),r}(t));t={gpuTime:0,cpuTime:0,count:0};var o=(r=G.compile(a,i,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return j(function(t,e){var r;if(\"function\"==typeof t)return l.call(this,null,t,0);if(\"function\"==typeof e)if(\"number\"==typeof t)for(r=0;r<t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r<t.length;++r)l.call(this,t[r],e,r)}else if(\"number\"==typeof t){if(0<t)return s.call(this,function(t){for(;c.length<t;)c.push(null);return c}(0|t),0|t)}else{if(!Array.isArray(t))return o.call(this,t);if(t.length)return s.call(this,t,t.length)}},{stats:t})}function l(t,e){var r=0;G.procs.poll();var n=e.color;n&&(m.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),\"depth\"in e&&(m.clearDepth(+e.depth),r|=256),\"stencil\"in e&&(m.clearStencil(0|e.stencil),r|=1024),m.clear(r)}function c(t){return Z.push(t),r(),{cancel:function(){var e=N(Z,t);Z[e]=function t(){var e=N(Z,t);Z[e]=Z[Z.length-1],--Z.length,0>=Z.length&&n()}}}}function u(){var t=Y.viewport,e=Y.scissor_box;t[0]=t[1]=e[0]=e[1]=0,z.viewportWidth=z.framebufferWidth=z.drawingBufferWidth=t[2]=e[2]=m.drawingBufferWidth,z.viewportHeight=z.framebufferHeight=z.drawingBufferHeight=t[3]=e[3]=m.drawingBufferHeight}function f(){z.tick+=1,z.time=g(),u(),G.procs.poll()}function h(){u(),G.procs.refresh(),w&&w.update()}function g(){return(H()-k)/1e3}if(!(t=i(t)))return null;var m=t.gl,v=m.getContextAttributes();m.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('\"'+a+'\" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return e.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach(function(t){if(!r(t))throw Error(\"(regl): error restoring extension \"+t)})}}}(m,t);if(!y)return null;var x=function(){var t={\"\":0},e=[\"\"];return{id:function(r){var n=t[r];return n||(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}(),b={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function n(t,e,n){var i=s.pop()||new r;i.startQueryIndex=t,i.endQueryIndex=e,i.sum=0,i.stats=n,l.push(i)}var i=e.ext_disjoint_timer_query;if(!i)return null;var a=[],o=[],s=[],l=[],c=[],u=[];return{beginQuery:function(t){var e=a.pop()||i.createQueryEXT();i.beginQueryEXT(35007,e),o.push(e),n(o.length-1,o.length,t)},endQuery:function(){i.endQueryEXT(35007)},pushScopeStats:n,update:function(){var t,e;if(0!==(t=o.length)){u.length=Math.max(u.length,t+1),c.length=Math.max(c.length,t+1),c[0]=0;var r=u[0]=0;for(e=t=0;e<o.length;++e){var n=o[e];i.getQueryObjectEXT(n,34919)?(r+=i.getQueryObjectEXT(n,34918),a.push(n)):o[t++]=n,c[e+1]=r,u[e+1]=t}for(o.length=t,e=t=0;e<l.length;++e){var f=(r=l[e]).startQueryIndex;n=r.endQueryIndex,r.sum+=c[n]-c[f],f=u[f],(n=u[n])===f?(r.stats.gpuTime+=r.sum/1e6,s.push(r)):(r.startQueryIndex=f,r.endQueryIndex=n,l[t++]=r)}l.length=t}},getNumPendingQueries:function(){return o.length},clear:function(){a.push.apply(a,o);for(var t=0;t<a.length;t++)i.deleteQueryEXT(a[t]);o.length=0,a.length=0},restore:function(){o.length=0,a.length=0}}}(0,_),k=H(),C=m.drawingBufferWidth,L=m.drawingBufferHeight,z={tick:0,time:0,viewportWidth:C,viewportHeight:L,framebufferWidth:C,framebufferHeight:L,drawingBufferWidth:C,drawingBufferHeight:L,pixelRatio:t.pixelRatio},P=W(m,_),O=(C=function(t,e,r,n){for(t=r.maxAttributes,e=Array(t),r=0;r<t;++r)e[r]=new T;return{Record:T,scope:{},state:e}}(m,_,P),p(m,b,t,C)),I=d(m,_,O,b),D=S(m,x,b,t),R=M(m,_,P,function(){G.procs.poll()},z,b,t),B=vt(m,_,0,b,t),V=A(m,_,P,R,B,b),G=F(m,x,_,P,O,I,0,V,{},C,D,{elements:null,primitive:4,count:-1,offset:0,instances:-1},z,w,t),Y=(x=E(m,V,G.procs.poll,z),G.next),X=m.canvas,Z=[],$=[],J=[],K=[t.onDestroy],Q=null;X&&(X.addEventListener(\"webglcontextlost\",a,!1),X.addEventListener(\"webglcontextrestored\",o,!1));var tt=V.setFBO=s({framebuffer:U.define.call(null,1,\"framebuffer\")});return h(),v=j(s,{clear:function(t){if(\"framebuffer\"in t)if(t.framebuffer&&\"framebufferCube\"===t.framebuffer_reglType)for(var e=0;6>e;++e)tt(j({framebuffer:t.framebuffer.faces[e]},t),l);else tt(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return O.create(t,34962,!1,!1)},elements:function(t){return I.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:B.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:v,frame:c,on:function(t,e){var r;switch(t){case\"frame\":return c(e);case\"lost\":r=$;break;case\"restore\":r=J;break;case\"destroy\":r=K}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:P,hasExtension:function(t){return 0<=P.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){Z.length=0,n(),X&&(X.removeEventListener(\"webglcontextlost\",a),X.removeEventListener(\"webglcontextrestored\",o)),D.clear(),V.clear(),B.clear(),R.clear(),I.clear(),O.clear(),w&&w.clear(),K.forEach(function(t){t()})},_gl:m,_refresh:h,poll:function(){f(),w&&w.update()},now:g,stats:b}),t.onDone(null,v),v}},\"object\"==typeof r&&\"undefined\"!=typeof e?e.exports=i():n.createREGL=i()},{}],476:[function(t,e,r){\"use strict\";var n,i=\"\";e.exports=function(t,e){if(\"string\"!=typeof t)throw new TypeError(\"expected a string\");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||\"undefined\"==typeof n)n=t,i=\"\";else if(i.length>=r)return i.substr(0,r);for(;r>i.length&&e>1;)1&e&&(i+=t),e>>=1,t+=t;return i=(i+=t).substr(0,r)}},{}],477:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],478:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i],s=(r=a+o)-a,l=o-s;l&&(t[--n]=r,r=l)}for(var c=0,i=n;i<e;++i){var a=t[i],o=r,s=(r=a+o)-a,l=o-s;l&&(t[c++]=l)}return t[c++]=r,t.length=c,t}},{}],479:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\"),a=t(\"robust-scale\"),o=t(\"robust-compress\"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function c(t){if(2===t.length)return[\"sum(prod(\",t[0][0],\",\",t[1][1],\"),prod(-\",t[0][1],\",\",t[1][0],\"))\"].join(\"\");for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",c(l(t,r)),\",\",(n=r,1&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return function t(e){if(1===e.length)return e[0];if(2===e.length)return[\"sum(\",e[0],\",\",e[1],\")\"].join(\"\");var r=e.length>>1;return[\"sum(\",t(e.slice(0,r)),\",\",t(e.slice(r)),\")\"].join(\"\")}(e);var n}function u(t){return new Function(\"sum\",\"scale\",\"prod\",\"compress\",[\"function robustDeterminant\",t,\"(m){return compress(\",c(function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m[\",r,\"][\",n,\"]\"].join(\"\")}return e}(t)),\")};return robustDeterminant\",t].join(\"\"))(i,a,n,o)}var f=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;f.length<s;)f.push(u(f.length));for(var t=[],r=[\"function robustDeterminant(m){switch(m.length){\"],n=0;n<s;++n)t.push(\"det\"+n),r.push(\"case \",n,\":return det\",n,\"(m);\");r.push(\"}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant\"),t.push(\"CACHE\",\"gen\",r.join(\"\"));var i=Function.apply(void 0,t);for(e.exports=i.apply(void 0,f.concat([f,u])),n=0;n<f.length;++n)e.exports[n]=f[n]}()},{\"robust-compress\":478,\"robust-scale\":485,\"robust-sum\":488,\"two-product\":517}],480:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\");e.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a<t.length;++a)r=i(r,n(t[a],e[a]));return r}},{\"robust-sum\":488,\"two-product\":517}],481:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\"),a=t(\"robust-subtract\"),o=t(\"robust-scale\"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function c(t){if(1===t.length)return t[0];if(2===t.length)return[\"sum(\",t[0],\",\",t[1],\")\"].join(\"\");var e=t.length>>1;return[\"sum(\",c(t.slice(0,e)),\",\",c(t.slice(e)),\")\"].join(\"\")}function u(t,e){if(\"m\"===t.charAt(0)){if(\"w\"===e.charAt(0)){var r=t.split(\"[\");return[\"w\",e.substr(1),\"m\",r[0].substr(1)].join(\"\")}return[\"prod(\",t,\",\",e,\")\"].join(\"\")}return u(e,t)}function f(t){if(2===t.length)return[[\"diff(\",u(t[0][0],t[1][1]),\",\",u(t[1][0],t[0][1]),\")\"].join(\"\")];for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",c(f(l(t,r))),\",\",(n=r,!0&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return e;var n}function h(t,e){for(var r=[],n=0;n<e-2;++n)r.push([\"prod(m\",t,\"[\",n,\"],m\",t,\"[\",n,\"])\"].join(\"\"));return c(r)}function p(t){for(var e=[],r=[],s=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m\",n,\"[\",t-r-2,\"]\"].join(\"\")}return e}(t),u=0;u<t;++u)s[0][u]=\"1\",s[t-1][u]=\"w\"+u;for(u=0;u<t;++u)0==(1&u)?e.push.apply(e,f(l(s,u))):r.push.apply(r,f(l(s,u)));var p=c(e),d=c(r),g=\"exactInSphere\"+t,m=[];for(u=0;u<t;++u)m.push(\"m\"+u);var v=[\"function \",g,\"(\",m.join(),\"){\"];for(u=0;u<t;++u){v.push(\"var w\",u,\"=\",h(u,t),\";\");for(var y=0;y<t;++y)y!==u&&v.push(\"var w\",u,\"m\",y,\"=scale(w\",u,\",m\",y,\"[0]);\")}return v.push(\"var p=\",p,\",n=\",d,\",d=diff(p,n);return d[d.length-1];}return \",g),new Function(\"sum\",\"diff\",\"prod\",\"scale\",v.join(\"\"))(i,a,n,o)}var d=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;d.length<=s;)d.push(p(d.length));for(var t=[],r=[\"slow\"],n=0;n<=s;++n)t.push(\"a\"+n),r.push(\"o\"+n);var i=[\"function testInSphere(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"];for(n=2;n<=s;++n)i.push(\"case \",n,\":return o\",n,\"(\",t.slice(0,n).join(),\");\");i.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere\"),r.push(i.join(\"\"));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=p(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{\"robust-scale\":485,\"robust-subtract\":487,\"robust-sum\":488,\"two-product\":517}],482:[function(t,e,r){\"use strict\";var n=t(\"robust-determinant\"),i=6;function a(t){for(var e=\"robustLinearSolve\"+t+\"d\",r=[\"function \",e,\"(A,b){return [\"],i=0;i<t;++i){r.push(\"det([\");for(var a=0;a<t;++a){a>0&&r.push(\",\"),r.push(\"[\");for(var o=0;o<t;++o)o>0&&r.push(\",\"),o===i?r.push(\"+b[\",a,\"]\"):r.push(\"+A[\",a,\"][\",o,\"]\");r.push(\"]\")}r.push(\"]),\")}r.push(\"det(A)]}return \",e);var s=new Function(\"det\",r.join(\"\"));return s(t<6?n[t]:n)}var o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length<i;)o.push(a(o.length));for(var t=[],r=[\"function dispatchLinearSolve(A,b){switch(A.length){\"],n=0;n<i;++n)t.push(\"s\"+n),r.push(\"case \",n,\":return s\",n,\"(A,b);\");r.push(\"}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve\"),t.push(\"CACHE\",\"g\",r.join(\"\"));var s=Function.apply(void 0,t);for(e.exports=s.apply(void 0,o.concat([o,a])),n=0;n<i;++n)e.exports[n]=o[n]}()},{\"robust-determinant\":479}],483:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"robust-sum\"),a=t(\"robust-scale\"),o=t(\"robust-subtract\"),s=5;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var i=r[n-1]=new Array(t.length-1),a=0,o=0;a<t.length;++a)a!==e&&(i[o++]=t[n][a]);return r}function c(t){if(1===t.length)return t[0];if(2===t.length)return[\"sum(\",t[0],\",\",t[1],\")\"].join(\"\");var e=t.length>>1;return[\"sum(\",c(t.slice(0,e)),\",\",c(t.slice(e)),\")\"].join(\"\")}function u(t){if(2===t.length)return[[\"sum(prod(\",t[0][0],\",\",t[1][1],\"),prod(-\",t[0][1],\",\",t[1][0],\"))\"].join(\"\")];for(var e=[],r=0;r<t.length;++r)e.push([\"scale(\",c(u(l(t,r))),\",\",(n=r,1&n?\"-\":\"\"),t[0][r],\")\"].join(\"\"));return e;var n}function f(t){for(var e=[],r=[],s=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=[\"m\",n,\"[\",t-r-1,\"]\"].join(\"\")}return e}(t),f=[],h=0;h<t;++h)0==(1&h)?e.push.apply(e,u(l(s,h))):r.push.apply(r,u(l(s,h))),f.push(\"m\"+h);var p=c(e),d=c(r),g=\"orientation\"+t+\"Exact\",m=[\"function \",g,\"(\",f.join(),\"){var p=\",p,\",n=\",d,\",d=sub(p,n);return d[d.length-1];};return \",g].join(\"\");return new Function(\"sum\",\"prod\",\"scale\",\"sub\",m)(i,n,a,o)}var h=f(3),p=f(4),d=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:h(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],f=e[2]-n[2],h=r[2]-n[2],d=a*c,g=o*l,m=o*s,v=i*c,y=i*l,x=a*s,b=u*(d-g)+f*(m-v)+h*(y-x),_=7.771561172376103e-16*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(m)+Math.abs(v))*Math.abs(f)+(Math.abs(y)+Math.abs(x))*Math.abs(h));return b>_||-b>_?b:p(t,e,r,n)}];!function(){for(;d.length<=s;)d.push(f(d.length));for(var t=[],r=[\"slow\"],n=0;n<=s;++n)t.push(\"a\"+n),r.push(\"o\"+n);var i=[\"function getOrientation(\",t.join(),\"){switch(arguments.length){case 0:case 1:return 0;\"];for(n=2;n<=s;++n)i.push(\"case \",n,\":return o\",n,\"(\",t.slice(0,n).join(),\");\");i.push(\"}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation\"),r.push(i.join(\"\"));var a=Function.apply(void 0,r);for(e.exports=a.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=f(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{\"robust-scale\":485,\"robust-subtract\":487,\"robust-sum\":488,\"two-product\":517}],484:[function(t,e,r){\"use strict\";var n=t(\"robust-sum\"),i=t(\"robust-scale\");e.exports=function(t,e){if(1===t.length)return i(e,t[0]);if(1===e.length)return i(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var a=0;a<t.length;++a)r=n(r,i(e,t[a]));else for(var a=0;a<e.length;++a)r=n(r,i(t,e[a]));return r}},{\"robust-scale\":485,\"robust-sum\":488}],485:[function(t,e,r){\"use strict\";var n=t(\"two-product\"),i=t(\"two-sum\");e.exports=function(t,e){var r=t.length;if(1===r){var a=n(t[0],e);return a[0]?a:[a[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],c=0;n(t[0],e,s),s[0]&&(o[c++]=s[0]);for(var u=1;u<r;++u){n(t[u],e,l);var f=s[1];i(f,l[0],s),s[0]&&(o[c++]=s[0]);var h=l[1],p=s[1],d=h+p,g=d-h,m=p-g;s[1]=d,m&&(o[c++]=m)}s[1]&&(o[c++]=s[1]);0===c&&(o[c++]=0);return o.length=c,o}},{\"two-product\":517,\"two-sum\":518}],486:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,i){var a=n(t,r,i),o=n(e,r,i);if(a>0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===a&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],f=Math.min(c,u),h=Math.max(c,u);if(h<s||l<f)return!1}return!0}(t,e,r,i);return!0};var n=t(\"robust-orientation\")[3]},{\"robust-orientation\":483}],487:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],-e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=-e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(c+=1)<n&&(p=-e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],488:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);if(i)return[i,r];return[r]}(t[0],e[0]);var i,a,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,f=t[l],h=u(f),p=e[c],d=u(p);h<d?(a=f,(l+=1)<r&&(f=t[l],h=u(f))):(a=p,(c+=1)<n&&(p=e[c],d=u(p)));l<r&&h<d||c>=n?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p)));var g,m,v=i+a,y=v-i,x=a-y,b=x,_=v;for(;l<r&&c<n;)h<d?(i=f,(l+=1)<r&&(f=t[l],h=u(f))):(i=p,(c+=1)<n&&(p=e[c],d=u(p))),(x=(a=b)-(y=(v=i+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g;for(;l<r;)(x=(a=b)-(y=(v=(i=f)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(l+=1)<r&&(f=t[l]);for(;c<n;)(x=(a=b)-(y=(v=(i=p)+a)-i))&&(o[s++]=x),b=_-((g=_+v)-(m=g-_))+(v-m),_=g,(c+=1)<n&&(p=e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],489:[function(t,e,r){\"use strict\";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],490:[function(t,e,r){\"use strict\";e.exports=function(t){return i(n(t))};var n=t(\"boundary-cells\"),i=t(\"reduce-simplicial-complex\")},{\"boundary-cells\":82,\"reduce-simplicial-complex\":469}],491:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,s){r=r||0,\"undefined\"==typeof s&&(s=function(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}(t));if(0===t.length||s<1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=i.mallocUint8(r),a=0;a<r;++a)n[a]=t[a]<e|0;return n}(e,+r),c=function(t,e){for(var r=t.length,o=e*(e+1)/2*r|0,s=i.mallocUint32(2*o),l=0,c=0;c<r;++c)for(var u=t[c],e=u.length,f=0;f<e;++f)for(var h=0;h<f;++h){var p=u[h],d=u[f];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}a(n(s,[l/2|0,2]));for(var g=2,c=2;c<l;c+=2)s[c-2]===s[c]&&s[c-1]===s[c+1]||(s[g++]=s[c],s[g++]=s[c+1]);return n(s,[g/2|0,2])}(t,s),u=function(t,e,r,a){for(var o=t.data,s=t.shape[0],l=i.mallocDouble(s),c=0,u=0;u<s;++u){var f=o[2*u],h=o[2*u+1];if(r[f]!==r[h]){var p=e[f],d=e[h];o[2*c]=f,o[2*c+1]=h,l[c++]=(d-a)/(d-p)}}return t.shape[0]=c,n(l,[c])}(c,e,l,+r),f=function(t,e){var r=i.mallocInt32(2*e),n=t.shape[0],a=t.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=a[2*s];if(l!==o){for(r[2*o+1]=s;++o<l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}r[2*o+1]=n;for(;++o<e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),h=o(s)(t,c.data,f,l),p=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(c),d=[].slice.call(u.data,0,u.shape[0]);return i.free(l),i.free(c.data),i.free(u.data),i.free(f),{cells:h,vertexIds:p,vertexWeights:d}};var n=t(\"ndarray\"),i=t(\"typedarray-pool\"),a=t(\"ndarray-sort\"),o=t(\"./lib/codegen\")},{\"./lib/codegen\":492,ndarray:430,\"ndarray-sort\":428,\"typedarray-pool\":519}],492:[function(t,e,r){\"use strict\";e.exports=function(t){var e=a[t];e||(e=a[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var a=1;a<=t;++a)for(var o=r[a]=i(a),s=0;s<o.length;++s)e=Math.max(e,o[a].length);var l=[\"function B(C,E,i,j){\",\"var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];\",\"while(l<h){\",\"var m=(l+h)>>1,v=E[2*m+1];\",\"if(v===b){return m}\",\"if(b<v){h=m}else{l=m+1}\",\"}\",\"return l;\",\"};\",\"function getContour\",t,\"d(F,E,C,S){\",\"var n=F.length,R=[];\",\"for(var i=0;i<n;++i){var c=F[i],l=c.length;\"];function c(t){if(!(t.length<=0)){l.push(\"R.push(\");for(var e=0;e<t.length;++e){var r=t[e];e>0&&l.push(\",\"),l.push(\"[\");for(var n=0;n<r.length;++n){var i=r[n];n>0&&l.push(\",\"),l.push(\"B(C,E,c[\",i[0],\"],c[\",i[1],\"])\")}l.push(\"]\")}l.push(\");\")}}for(var a=t+1;a>1;--a){a<t+1&&l.push(\"else \"),l.push(\"if(l===\",a,\"){\");for(var u=[],s=0;s<a;++s)u.push(\"(S[c[\"+s+\"]]<<\"+s+\")\");l.push(\"var M=\",u.join(\"+\"),\";if(M===0||M===\",(1<<a)-1,\"){continue}switch(M){\");for(var o=r[a-1],s=0;s<o.length;++s)l.push(\"case \",s,\":\"),c(o[s]),l.push(\"break;\");l.push(\"}}\")}return l.push(\"}return R;};return getContour\",t,\"d\"),new Function(\"pool\",l.join(\"\"))(n)}(t));return e};var n=t(\"typedarray-pool\"),i=t(\"marching-simplex-table\"),a={}},{\"marching-simplex-table\":407,\"typedarray-pool\":519}],493:[function(t,e,r){\"use strict\";var n=t(\"bit-twiddle\"),i=t(\"union-find\");function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),c=i(e[0],e[1]);return(s=i(l,t[2])-i(c,e[2]))||i(l+t[2],a)-i(c+e[2],o);default:var u=t.slice(0);u.sort();var f=e.slice(0);f.sort();for(var h=0;h<r;++h)if(n=u[h]-f[h])return n;return 0}}function o(t,e){return a(t[0],e[0])}function s(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];n.sort(o);for(i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(a),t}function l(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(a(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var o=r+n>>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i<o;++i)r[i]=[];for(var s=[],l=(i=0,e.length);i<l;++i)for(var u=e[i],f=u.length,h=1,p=1<<f;h<p;++h){s.length=n.popCount(h);for(var d=0,g=0;g<f;++g)h&1<<g&&(s[d++]=u[g]);var m=c(t,s);if(!(m<0))for(;r[m++].push(i),!(m>=t.length||0!==a(t[m],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<<e+1)-1,a=0;a<t.length;++a)for(var o=t[a],l=i;l<1<<o.length;l=n.nextCombination(l)){for(var c=new Array(e+1),u=0,f=0;f<o.length;++f)l&1<<f&&(c[u++]=o[f]);r.push(c)}return s(r)}r.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1},r.countVertices=function(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1},r.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},r.compareCells=a,r.normalize=s,r.unique=l,r.findCell=c,r.incidence=u,r.dual=function(t,e){if(!e)return u(l(f(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,l=1<<a;o<l;++o){for(var c=[],u=0;u<a;++u)o>>>u&1&&c.push(i[u]);e.push(c)}return s(e)},r.skeleton=f,r.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var l=new Array(i.length-1),c=0,u=0;c<o;++c)c!==a&&(l[u++]=i[c]);e.push(l)}return s(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new i(e),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var s=o+1;s<a.length;++s)r.link(a[o],a[s]);var l=[],c=r.ranks;for(n=0;n<c.length;++n)c[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);c[u]<0?(c[u]=l.length,l.push([t[n].slice(0)])):l[c[u]].push(t[n].slice(0))}return l}(t,e):function(t){for(var e=l(s(f(t,0))),r=new i(e.length),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var u=c(e,[a[o]]),h=o+1;h<a.length;++h)r.link(u,c(e,[a[h]]));var p=[],d=r.ranks;for(n=0;n<d.length;++n)d[n]=-1;for(n=0;n<t.length;++n){var g=r.find(c(e,[t[n][0]]));d[g]<0?(d[g]=p.length,p.push([t[n].slice(0)])):p[d[g]].push(t[n].slice(0))}return p}(t)}},{\"bit-twiddle\":79,\"union-find\":520}],494:[function(t,e,r){arguments[4][79][0].apply(r,arguments)},{dup:79}],495:[function(t,e,r){arguments[4][493][0].apply(r,arguments)},{\"bit-twiddle\":494,dup:493,\"union-find\":496}],496:[function(t,e,r){\"use strict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n,n.prototype.length=function(){return this.roots.length},n.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},n.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},n.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],497:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){for(var a=e.length,o=t.length,s=new Array(a),l=new Array(a),c=new Array(a),u=new Array(a),f=0;f<a;++f)s[f]=l[f]=-1,c[f]=1/0,u[f]=!1;for(var f=0;f<o;++f){var h=t[f];if(2!==h.length)throw new Error(\"Input must be a graph\");var p=h[1],d=h[0];-1!==l[d]?l[d]=-2:l[d]=p,-1!==s[p]?s[p]=-2:s[p]=d}function g(t){if(u[t])return 1/0;var r,i,a,o,c,f=s[t],h=l[t];return f<0||h<0?1/0:(r=e[t],i=e[f],a=e[h],o=Math.abs(n(r,i,a)),c=Math.sqrt(Math.pow(i[0]-a[0],2)+Math.pow(i[1]-a[1],2)),o/c)}function m(t,e){var r=M[t],n=M[e];M[t]=n,M[e]=r,A[r]=e,A[n]=t}function v(t){return c[M[t]]}function y(t){return 1&t?t-1>>1:(t>>1)-1}function x(t){for(var e=v(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n<S){var o=v(n);o<r&&(a=n,r=o)}if(i<S){var s=v(i);s<r&&(a=i)}if(a===t)return t;m(t,a),t=a}}function b(t){for(var e=v(t);t>0;){var r=y(t);if(r>=0){var n=v(r);if(e<n){m(t,r),t=r;continue}}return t}}function _(){if(S>0){var t=M[0];return m(0,S-1),S-=1,x(0),t}return-1}function w(t,e){var r=M[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((S+=1)-1))}function k(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],g(e)),A[r]>=0&&w(A[r],g(r))}}for(var M=[],A=new Array(a),f=0;f<a;++f){var T=c[f]=g(f);T<1/0?(A[f]=M.length,M.push(f)):A[f]=-1}for(var S=M.length,f=S>>1;f>=0;--f)x(f);for(;;){var E=_();if(E<0||c[E]>r)break;k(E)}for(var C=[],f=0;f<a;++f)u[f]||(A[f]=C.length,C.push(e[f].slice()));C.length;function L(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!u[n]||i<0||i===n)break;if(i=t[n=i],!u[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}var z=[];return t.forEach(function(t){var e=L(s,t[0]),r=L(l,t[1]);if(e>=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&z.push([n,i])}}),i.unique(i.normalize(z)),{positions:C,edges:z}};var n=t(\"robust-orientation\"),i=t(\"simplicial-complex\")},{\"robust-orientation\":483,\"simplicial-complex\":495}],498:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,a,o,s;if(e[0][0]<e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]>e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=t(\"robust-orientation\");function i(t,e){var r,i,a,o;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return l<c?l-c:s>u?s-u:l-u}r=e[1],i=e[0]}t[0][1]<t[1][1]?(a=t[0],o=t[1]):(a=t[1],o=t[0]);var f=n(i,r,a);return f||((f=n(i,r,o))||o-i)}},{\"robust-orientation\":483}],499:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=2*e,n=new Array(r),a=0;a<e;++a){var l=t[a],c=l[0][0]<l[1][0];n[2*a]=new f(l[0][0],l,c,a),n[2*a+1]=new f(l[1][0],l,!c,a)}n.sort(function(t,e){var r=t.x-e.x;return r||((r=t.create-e.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))});for(var h=i(o),p=[],d=[],g=[],a=0;a<r;){for(var m=n[a].x,v=[];a<r;){var y=n[a];if(y.x!==m)break;a+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(v.push(new u(y.segment[0][1],y.index,!0,!0)),v.push(new u(y.segment[1][1],y.index,!1,!1))):(v.push(new u(y.segment[1][1],y.index,!0,!1)),v.push(new u(y.segment[0][1],y.index,!1,!0)))):h=y.create?h.insert(y.segment,y.index):h.remove(y.segment)}p.push(h.root),d.push(m),g.push(v)}return new s(p,d,g)};var n=t(\"binary-search-bounds\"),i=t(\"functional-red-black-tree\"),a=t(\"robust-orientation\"),o=t(\"./lib/order-segments\");function s(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function l(t,e){return t.y-e}function c(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=a(n,i,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h<f.length){var p=f[h];if(t[1]===p.y){if(p.closed)return p.index;for(;h<f.length-1&&f[h+1].y===t[1];)if((p=f[h+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((h+=1)>=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},{\"./lib/order-segments\":498,\"binary-search-bounds\":78,\"functional-red-black-tree\":218,\"robust-orientation\":483}],500:[function(t,e,r){\"use strict\";var n=t(\"robust-dot-product\"),i=t(\"robust-sum\");function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=i*t[l]+a*r[l];return s}e.exports=function(t,e){for(var r=[],n=[],i=a(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c<t.length;++c,s=l){var u=a(l=t[c],e);if(i<0&&u>0||i>0&&u<0){var f=o(s,u,l,i);r.push(f),n.push(f.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var c=a(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{\"robust-dot-product\":480,\"robust-sum\":488}],501:[function(t,e,r){!function(){\"use strict\";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^\\)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[\\+\\-]/};function e(r){return function(r,n){var i,a,o,s,l,c,u,f,h,p=1,d=r.length,g=\"\";for(a=0;a<d;a++)if(\"string\"==typeof r[a])g+=r[a];else if(Array.isArray(r[a])){if((s=r[a])[2])for(i=n[p],o=0;o<s[2].length;o++){if(!i.hasOwnProperty(s[2][o]))throw new Error(e('[sprintf] property \"%s\" does not exist',s[2][o]));i=i[s[2][o]]}else i=s[1]?n[s[1]]:n[p++];if(t.not_type.test(s[8])&&t.not_primitive.test(s[8])&&i instanceof Function&&(i=i()),t.numeric_arg.test(s[8])&&\"number\"!=typeof i&&isNaN(i))throw new TypeError(e(\"[sprintf] expecting number but found %T\",i));switch(t.number.test(s[8])&&(f=i>=0),s[8]){case\"b\":i=parseInt(i,10).toString(2);break;case\"c\":i=String.fromCharCode(parseInt(i,10));break;case\"d\":case\"i\":i=parseInt(i,10);break;case\"j\":i=JSON.stringify(i,null,s[6]?parseInt(s[6]):0);break;case\"e\":i=s[7]?parseFloat(i).toExponential(s[7]):parseFloat(i).toExponential();break;case\"f\":i=s[7]?parseFloat(i).toFixed(s[7]):parseFloat(i);break;case\"g\":i=s[7]?String(Number(i.toPrecision(s[7]))):parseFloat(i);break;case\"o\":i=(parseInt(i,10)>>>0).toString(8);break;case\"s\":i=String(i),i=s[7]?i.substring(0,s[7]):i;break;case\"t\":i=String(!!i),i=s[7]?i.substring(0,s[7]):i;break;case\"T\":i=Object.prototype.toString.call(i).slice(8,-1).toLowerCase(),i=s[7]?i.substring(0,s[7]):i;break;case\"u\":i=parseInt(i,10)>>>0;break;case\"v\":i=i.valueOf(),i=s[7]?i.substring(0,s[7]):i;break;case\"x\":i=(parseInt(i,10)>>>0).toString(16);break;case\"X\":i=(parseInt(i,10)>>>0).toString(16).toUpperCase()}t.json.test(s[8])?g+=i:(!t.number.test(s[8])||f&&!s[3]?h=\"\":(h=f?\"+\":\"-\",i=i.toString().replace(t.sign,\"\")),c=s[4]?\"0\"===s[4]?\"0\":s[4].charAt(1):\" \",u=s[6]-(h+i).length,l=s[6]&&u>0?c.repeat(u):\"\",g+=s[5]?h+i+l:\"0\"===c?h+l+i:l+h+i)}return g}(function(e){if(i[e])return i[e];var r,n=e,a=[],o=0;for(;n;){if(null!==(r=t.text.exec(n)))a.push(r[0]);else if(null!==(r=t.modulo.exec(n)))a.push(\"%\");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError(\"[sprintf] unexpected placeholder\");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");for(s.push(c[1]);\"\"!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError(\"[sprintf] failed to parse named argument key\");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");a.push(r)}n=n.substring(r[0].length)}return i[e]=a}(r),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}var i=Object.create(null);\"undefined\"!=typeof r&&(r.sprintf=e,r.vsprintf=n),\"undefined\"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],502:[function(t,e,r){\"use strict\";var n=t(\"parenthesis\");e.exports=function(t,e,r){if(null==t)throw Error(\"First argument should be a string\");if(null==e)throw Error(\"Separator should be a string or a RegExp\");r?(\"string\"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201c\\u201d\",\"\\xab\\xbb\"]:(\"string\"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map(function(t){return 1===t.length&&(t+=t),t}));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s<a.length;s++){var l=a[s],c=a[s+1];\"\\\\\"===l[l.length-1]&&\"\\\\\"!==l[l.length-2]?(o.push(l+e+c),s++):o.push(l)}a=o}for(s=0;s<a.length;s++)i[0]=a[s],a[s]=n.stringify(i,{flat:!0});return a}},{parenthesis:438}],503:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var c,u=0,f=[],h=[];function p(e){var l=[e],c=[e];for(r[e]=n[e]=u,i[e]=!0,u+=1;c.length>0;){e=c[c.length-1];var p=t[e];if(a[e]<p.length){for(var d=a[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=u,i[g]=!0,u+=1,l.push(g),c.push(g);break}i[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}a[e]=d}else{if(n[e]===r[e]){for(var m=[],v=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,m.push(x),v.push(s[x]),y+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(m);for(var b=new Array(y),d=0;d<v.length;d++)for(var _=0;_<v[d].length;_++)b[--y]=v[d][_];h.push(b)}c.pop()}}}for(var l=0;l<e;++l)r[l]<0&&p(l);for(var l=0;l<h.length;l++){var d=h[l];if(0!==d.length){d.sort(function(t,e){return t-e}),c=[d[0]];for(var g=1;g<d.length;g++)d[g]!==d[g-1]&&c.push(d[g]);h[l]=c}}return{components:f,adjacencyList:h}}},{}],504:[function(t,e,r){\"use strict\";e.exports=function(t){return t.split(\"\").map(function(t){return t in n?n[t]:\"\"}).join(\"\")};var n={\" \":\" \",0:\"\\u2070\",1:\"\\xb9\",2:\"\\xb2\",3:\"\\xb3\",4:\"\\u2074\",5:\"\\u2075\",6:\"\\u2076\",7:\"\\u2077\",8:\"\\u2078\",9:\"\\u2079\",\"+\":\"\\u207a\",\"-\":\"\\u207b\",a:\"\\u1d43\",b:\"\\u1d47\",c:\"\\u1d9c\",d:\"\\u1d48\",e:\"\\u1d49\",f:\"\\u1da0\",g:\"\\u1d4d\",h:\"\\u02b0\",i:\"\\u2071\",j:\"\\u02b2\",k:\"\\u1d4f\",l:\"\\u02e1\",m:\"\\u1d50\",n:\"\\u207f\",o:\"\\u1d52\",p:\"\\u1d56\",r:\"\\u02b3\",s:\"\\u02e2\",t:\"\\u1d57\",u:\"\\u1d58\",v:\"\\u1d5b\",w:\"\\u02b7\",x:\"\\u02e3\",y:\"\\u02b8\",z:\"\\u1dbb\"}},{}],505:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=a(t,e),n=r.length,i=new Array(n),o=new Array(n),s=0;s<n;++s)i[s]=[r[s]],o[s]=[s];return{positions:i,cells:o}}(t,e);var r=t.order.join()+\"-\"+t.dtype,s=o[r],e=+e||0;s||(s=o[r]=function(t,e){var r=t.length,a=[\"'use strict';\"],o=\"surfaceNets\"+t.join(\"_\")+\"d\"+e;a.push(\"var contour=genContour({\",\"order:[\",t.join(),\"],\",\"scalarArguments: 3,\",\"phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },\"),\"generic\"===e&&a.push(\"getters:[0],\");for(var s=[],l=[],c=0;c<r;++c)s.push(\"d\"+c),l.push(\"d\"+c);for(var c=0;c<1<<r;++c)s.push(\"v\"+c),l.push(\"v\"+c);for(var c=0;c<1<<r;++c)s.push(\"p\"+c),l.push(\"p\"+c);s.push(\"a\",\"b\",\"c\"),l.push(\"a\",\"c\"),a.push(\"vertex:function vertexFunc(\",s.join(),\"){\");for(var u=[],c=0;c<1<<r;++c)u.push(\"(p\"+c+\"<<\"+c+\")\");a.push(\"var m=(\",u.join(\"+\"),\")|0;if(m===0||m===\",(1<<(1<<r))-1,\"){return}\");var f=[],h=[];1<<(1<<r)<=128?(a.push(\"switch(m){\"),h=a):a.push(\"switch(m>>>7){\");for(var c=0;c<1<<(1<<r);++c){if(1<<(1<<r)>128&&c%128==0){f.length>0&&h.push(\"}}\");var p=\"vExtra\"+f.length;a.push(\"case \",c>>>7,\":\",p,\"(m&0x7f,\",l.join(),\");break;\"),h=[\"function \",p,\"(m,\",l.join(),\"){switch(m){\"],f.push(h)}h.push(\"case \",127&c,\":\");for(var d=new Array(r),g=new Array(r),m=new Array(r),v=new Array(r),y=0,x=0;x<r;++x)d[x]=[],g[x]=[],m[x]=0,v[x]=0;for(var x=0;x<1<<r;++x)for(var b=0;b<r;++b){var _=x^1<<b;if(!(_>x)&&!(c&1<<_)!=!(c&1<<x)){var w=1;c&1<<_?g[b].push(\"v\"+_+\"-v\"+x):(g[b].push(\"v\"+x+\"-v\"+_),w=-w),w<0?(d[b].push(\"-v\"+x+\"-v\"+_),m[b]+=2):(d[b].push(\"v\"+x+\"+v\"+_),m[b]-=2),y+=1;for(var k=0;k<r;++k)k!==b&&(_&1<<k?v[k]+=1:v[k]-=1)}}for(var M=[],b=0;b<r;++b)if(0===d[b].length)M.push(\"d\"+b+\"-0.5\");else{var A=\"\";m[b]<0?A=m[b]+\"*c\":m[b]>0&&(A=\"+\"+m[b]+\"*c\");var T=d[b].length/y*.5,S=.5+v[b]/y*.5;M.push(\"d\"+b+\"-\"+S+\"-\"+T+\"*(\"+d[b].join(\"+\")+A+\")/(\"+g[b].join(\"+\")+\")\")}h.push(\"a.push([\",M.join(),\"]);\",\"break;\")}a.push(\"}},\"),f.length>0&&h.push(\"}}\");for(var E=[],c=0;c<1<<r-1;++c)E.push(\"v\"+c);E.push(\"c0\",\"c1\",\"p0\",\"p1\",\"a\",\"b\",\"c\"),a.push(\"cell:function cellFunc(\",E.join(),\"){\");var C=i(r-1);a.push(\"if(p0){b.push(\",C.map(function(t){return\"[\"+t.map(function(t){return\"v\"+t})+\"]\"}).join(),\")}else{b.push(\",C.map(function(t){var e=t.slice();return e.reverse(),\"[\"+e.map(function(t){return\"v\"+t})+\"]\"}).join(),\")}}});function \",o,\"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return \",o,\";\");for(var c=0;c<f.length;++c)a.push(f[c].join(\"\"));return new Function(\"genContour\",a.join(\"\"))(n)}(t.order,t.dtype));return s(t,e)};var n=t(\"ndarray-extract-contour\"),i=t(\"triangulate-hypercube\"),a=t(\"zero-crossings\");var o={}},{\"ndarray-extract-contour\":419,\"triangulate-hypercube\":515,\"zero-crossings\":548}],506:[function(t,e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0});var n=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),i=2*Math.PI,a=function(t,e,r,n,i,a,o){var s=t.x,l=t.y;return{x:n*(s*=e)-i*(l*=r)+a,y:i*s+n*l+o}},o=function(t,e){var r=.551915024494,n=Math.cos(t),i=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},s=function(t,e,r,n){var i=t*n-e*r<0?-1:1,a=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return a>1&&(a=1),a<-1&&(a=-1),i*Math.acos(a)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,f=t.ry,h=t.xAxisRotation,p=void 0===h?0:h,d=t.largeArcFlag,g=void 0===d?0:d,m=t.sweepFlag,v=void 0===m?0:m,y=[];if(0===u||0===f)return[];var x=Math.sin(p*i/360),b=Math.cos(p*i/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),f=Math.abs(f);var k=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(f,2);k>1&&(u*=Math.sqrt(k),f*=Math.sqrt(k));var M=function(t,e,r,n,a,o,l,c,u,f,h,p){var d=Math.pow(a,2),g=Math.pow(o,2),m=Math.pow(h,2),v=Math.pow(p,2),y=d*g-d*v-g*m;y<0&&(y=0),y/=d*v+g*m;var x=(y=Math.sqrt(y)*(l===c?-1:1))*a/o*p,b=y*-o/a*h,_=f*x-u*b+(t+r)/2,w=u*x+f*b+(e+n)/2,k=(h-x)/a,M=(p-b)/o,A=(-h-x)/a,T=(-p-b)/o,S=s(1,0,k,M),E=s(k,M,A,T);return 0===c&&E>0&&(E-=i),1===c&&E<0&&(E+=i),[_,w,S,E]}(e,r,l,c,u,f,g,v,x,b,_,w),A=n(M,4),T=A[0],S=A[1],E=A[2],C=A[3],L=Math.max(Math.ceil(Math.abs(C)/(i/4)),1);C/=L;for(var z=0;z<L;z++)y.push(o(E,C)),E+=C;return y.map(function(t){var e=a(t[0],u,f,b,x,T,S),r=e.x,n=e.y,i=a(t[1],u,f,b,x,T,S),o=i.x,s=i.y,l=a(t[2],u,f,b,x,T,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}})},e.exports=r.default},{}],507:[function(t,e,r){\"use strict\";var n=t(\"parse-svg-path\"),i=t(\"abs-svg-path\"),a=t(\"normalize-svg-path\"),o=t(\"is-svg-path\"),s=t(\"assert\");e.exports=function(t){Array.isArray(t)&&1===t.length&&\"string\"==typeof t[0]&&(t=t[0]);\"string\"==typeof t&&(s(o(t),\"String is not an SVG path.\"),t=n(t));if(s(Array.isArray(t),\"Argument should be a string or an array of path segments.\"),t=i(t),!(t=a(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,l=t.length;r<l;r++)for(var c=t[r].slice(1),u=0;u<c.length;u+=2)c[u+0]<e[0]&&(e[0]=c[u+0]),c[u+1]<e[1]&&(e[1]=c[u+1]),c[u+0]>e[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{\"abs-svg-path\":47,assert:55,\"is-svg-path\":404,\"normalize-svg-path\":508,\"parse-svg-path\":440}],508:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,f=null,h=0,p=0,d=0,g=t.length;d<g;d++){var m=t[d],v=m[0];switch(v){case\"M\":l=m[1],c=m[2];break;case\"A\":var y=n({px:h,py:p,cx:m[6],cy:m[7],rx:m[1],ry:m[2],xAxisRotation:m[3],largeArcFlag:m[4],sweepFlag:m[5]});if(!y.length)continue;for(var x,b=0;b<y.length;b++)x=y[b],m=[\"C\",x.x1,x.y1,x.x2,x.y2,x.x,x.y],b<y.length-1&&r.push(m);break;case\"S\":var _=h,w=p;\"C\"!=e&&\"S\"!=e||(_+=_-o,w+=w-s),m=[\"C\",_,w,m[1],m[2],m[3],m[4]];break;case\"T\":\"Q\"==e||\"T\"==e?(u=2*h-u,f=2*p-f):(u=h,f=p),m=a(h,p,u,f,m[1],m[2]);break;case\"Q\":u=m[1],f=m[2],m=a(h,p,m[1],m[2],m[3],m[4]);break;case\"L\":m=i(h,p,m[1],m[2]);break;case\"H\":m=i(h,p,m[1],p);break;case\"V\":m=i(h,p,h,m[1]);break;case\"Z\":m=i(h,p,l,c)}e=v,h=m[m.length-2],p=m[m.length-1],m.length>4?(o=m[m.length-4],s=m[m.length-3]):(o=h,s=p),r.push(m)}return r};var n=t(\"svg-arc-to-cubic-bezier\");function i(t,e,r,n){return[\"C\",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return[\"C\",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},{\"svg-arc-to-cubic-bezier\":506}],509:[function(t,e,r){(function(r){\"use strict\";var n=t(\"svg-path-bounds\"),i=t(\"parse-svg-path\"),a=t(\"draw-svg-path\"),o=t(\"is-svg-path\"),s=t(\"bitmap-sdf\"),l=document.createElement(\"canvas\"),c=l.getContext(\"2d\");e.exports=function(t,e){if(!o(t))throw Error(\"Argument should be valid svg path string\");e||(e={});var u,f;e.shape?(u=e.shape[0],f=e.shape[1]):(u=l.width=e.w||e.width||200,f=l.height=e.h||e.height||200);var h=Math.min(u,f),p=e.stroke||0,d=e.viewbox||e.viewBox||n(t),g=[u/(d[2]-d[0]),f/(d[3]-d[1])],m=Math.min(g[0]||0,g[1]||0)/2;c.fillStyle=\"black\",c.fillRect(0,0,u,f),c.fillStyle=\"white\",p&&(\"number\"!=typeof p&&(p=1),c.strokeStyle=p>0?\"white\":\"black\",c.lineWidth=Math.abs(p));if(c.translate(.5*u,.5*f),c.scale(m,m),r.Path2D){var v=new Path2D(t);c.fill(v),p&&c.stroke(v)}else{var y=i(t);a(c,y),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),s(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"bitmap-sdf\":80,\"draw-svg-path\":152,\"is-svg-path\":404,\"parse-svg-path\":440,\"svg-path-bounds\":507}],510:[function(t,e,r){(function(r){\"use strict\";e.exports=function t(e,r,i){var i=i||{};var o=a[e];o||(o=a[e]={\" \":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var c=r[s[l]];n[i++]=c[0],n[i++]=c[1]+1.4,a=Math.max(c[0],a)}return{data:n,shape:a}}(n(r,{triangles:!0,font:e,textAlign:i.textAlign||\"left\",textBaseline:\"alphabetic\"}));else{for(var l=r.split(/(\\d|\\s)/),c=new Array(l.length),u=0,f=0,h=0;h<l.length;++h)c[h]=t(e,l[h]),u+=c[h].data.length,f+=c[h].shape,h>0&&(f+=.02);for(var p=new Float32Array(u),d=0,g=-.5*f,h=0;h<c.length;++h){for(var m=c[h].data,v=0;v<m.length;v+=2)p[d++]=m[v]+g,p[d++]=m[v+1];g+=c[h].shape+.02}s=o[r]={data:p,shape:f}}return s};var n=t(\"vectorize-text\"),i=window||r.global||{},a=i.__TEXT_CACHE||{};i.__TEXT_CACHE={}}).call(this,t(\"_process\"))},{_process:462,\"vectorize-text\":524}],511:[function(t,e,r){!function(t){var r=/^\\s+/,n=/\\s+$/,i=0,a=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(l=l||{},(e=e||\"\")instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var i={r:0,g:0,b:0},a=1,l=null,c=null,u=null,f=!1,h=!1;\"string\"==typeof e&&(e=function(t){t=t.replace(r,\"\").replace(n,\"\").toLowerCase();var e,i=!1;if(S[t])t=S[t],i=!0;else if(\"transparent\"==t)return{r:0,g:0,b:0,a:0,format:\"name\"};if(e=j.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=j.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=j.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=j.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=j.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=j.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=j.hex8.exec(t))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),a:R(e[4]),format:i?\"name\":\"hex8\"};if(e=j.hex6.exec(t))return{r:P(e[1]),g:P(e[2]),b:P(e[3]),format:i?\"name\":\"hex\"};if(e=j.hex4.exec(t))return{r:P(e[1]+\"\"+e[1]),g:P(e[2]+\"\"+e[2]),b:P(e[3]+\"\"+e[3]),a:R(e[4]+\"\"+e[4]),format:i?\"name\":\"hex8\"};if(e=j.hex3.exec(t))return{r:P(e[1]+\"\"+e[1]),g:P(e[2]+\"\"+e[2]),b:P(e[3]+\"\"+e[3]),format:i?\"name\":\"hex\"};return!1}(e));\"object\"==typeof e&&(V(e.r)&&V(e.g)&&V(e.b)?(p=e.r,d=e.g,g=e.b,i={r:255*L(p,255),g:255*L(d,255),b:255*L(g,255)},f=!0,h=\"%\"===String(e.r).substr(-1)?\"prgb\":\"rgb\"):V(e.h)&&V(e.s)&&V(e.v)?(l=I(e.s),c=I(e.v),i=function(e,r,n){e=6*L(e,360),r=L(r,100),n=L(n,100);var i=t.floor(e),a=e-i,o=n*(1-r),s=n*(1-a*r),l=n*(1-(1-a)*r),c=i%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(e.h,l,c),f=!0,h=\"hsv\"):V(e.h)&&V(e.s)&&V(e.l)&&(l=I(e.s),u=I(e.l),i=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=L(t,360),e=L(e,100),r=L(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(e.h,l,u),f=!0,h=\"hsl\"),e.hasOwnProperty(\"a\")&&(a=e.a));var p,d,g;return a=C(a),{ok:f,format:e.format||h,r:o(255,s(i.r,0)),g:o(255,s(i.g,0)),b:o(255,s(i.b,0)),a:a}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=a(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=u.ok,this._tc_id=i++}function u(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=(a+l)/2;if(a==l)n=i=0;else{var u=a-l;switch(i=c>.5?u/(2-a-l):u/(a+l),a){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:i,l:c}}function f(t,e,r){t=L(t,255),e=L(e,255),r=L(r,255);var n,i,a=s(t,e,r),l=o(t,e,r),c=a,u=a-l;if(i=0===a?0:u/a,a==l)n=0;else{switch(a){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:i,v:c}}function h(t,e,r,n){var i=[O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join(\"\")}function p(t,e,r,n){return[O(D(n)),O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16))].join(\"\")}function d(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s-=e/100,r.s=z(r.s),c(r)}function g(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s+=e/100,r.s=z(r.s),c(r)}function m(t){return c(t).desaturate(100)}function v(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l+=e/100,r.l=z(r.l),c(r)}function y(t,e){e=0===e?0:e||10;var r=c(t).toRgb();return r.r=s(0,o(255,r.r-a(-e/100*255))),r.g=s(0,o(255,r.g-a(-e/100*255))),r.b=s(0,o(255,r.b-a(-e/100*255))),c(r)}function x(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l-=e/100,r.l=z(r.l),c(r)}function b(t,e){var r=c(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,c(r)}function _(t){var e=c(t).toHsl();return e.h=(e.h+180)%360,c(e)}function w(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+120)%360,s:e.s,l:e.l}),c({h:(r+240)%360,s:e.s,l:e.l})]}function k(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+90)%360,s:e.s,l:e.l}),c({h:(r+180)%360,s:e.s,l:e.l}),c({h:(r+270)%360,s:e.s,l:e.l})]}function M(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+72)%360,s:e.s,l:e.l}),c({h:(r+216)%360,s:e.s,l:e.l})]}function A(t,e,r){e=e||6,r=r||30;var n=c(t).toHsl(),i=360/r,a=[c(t)];for(n.h=(n.h-(i*e>>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(c(n));return a}function T(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:i,v:a})),a=(a+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,i=this.toRgb();return e=i.r/255,r=i.g/255,n=i.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=C(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=f(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=f(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.v);return 1==this._a?\"hsv(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsva(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=a(360*t.h),r=a(100*t.s),n=a(100*t.l);return 1==this._a?\"hsl(\"+e+\", \"+r+\"%, \"+n+\"%)\":\"hsla(\"+e+\", \"+r+\"%, \"+n+\"%, \"+this._roundA+\")\"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return\"#\"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var o=[O(a(t).toString(16)),O(a(e).toString(16)),O(a(r).toString(16)),O(D(n))];if(i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join(\"\")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return\"#\"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?\"rgb(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\")\":\"rgba(\"+a(this._r)+\", \"+a(this._g)+\", \"+a(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:a(100*L(this._r,255))+\"%\",g:a(100*L(this._g,255))+\"%\",b:a(100*L(this._b,255))+\"%\",a:this._a}},toPercentageRgbString:function(){return 1==this._a?\"rgb(\"+a(100*L(this._r,255))+\"%, \"+a(100*L(this._g,255))+\"%, \"+a(100*L(this._b,255))+\"%)\":\"rgba(\"+a(100*L(this._r,255))+\"%, \"+a(100*L(this._g,255))+\"%, \"+a(100*L(this._b,255))+\"%, \"+this._roundA+\")\"},toName:function(){return 0===this._a?\"transparent\":!(this._a<1)&&(E[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e=\"#\"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?\"GradientType = 1, \":\"\";if(t){var i=c(t);r=\"#\"+p(i._r,i._g,i._b,i._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+n+\"startColorstr=\"+e+\",endColorstr=\"+r+\")\"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||\"hex\"!==t&&\"hex6\"!==t&&\"hex3\"!==t&&\"hex4\"!==t&&\"hex8\"!==t&&\"name\"!==t?(\"rgb\"===t&&(r=this.toRgbString()),\"prgb\"===t&&(r=this.toPercentageRgbString()),\"hex\"!==t&&\"hex6\"!==t||(r=this.toHexString()),\"hex3\"===t&&(r=this.toHexString(!0)),\"hex4\"===t&&(r=this.toHex8String(!0)),\"hex8\"===t&&(r=this.toHex8String()),\"name\"===t&&(r=this.toName()),\"hsl\"===t&&(r=this.toHslString()),\"hsv\"===t&&(r=this.toHsvString()),r||this.toHexString()):\"name\"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(m,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(T,arguments)},splitcomplement:function(){return this._applyCombination(M,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},c.fromRatio=function(t,e){if(\"object\"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]=\"a\"===n?t[n]:I(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),i=c(e).toRgb(),a=r/100;return c({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},c.readability=function(e,r){var n=c(e),i=c(r);return(t.max(n.getLuminance(),i.getLuminance())+.05)/(t.min(n.getLuminance(),i.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,i,a=c.readability(t,e);switch(i=!1,(n=function(t){var e,r;e=((t=t||{level:\"AA\",size:\"small\"}).level||\"AA\").toUpperCase(),r=(t.size||\"small\").toLowerCase(),\"AA\"!==e&&\"AAA\"!==e&&(e=\"AA\");\"small\"!==r&&\"large\"!==r&&(r=\"small\");return{level:e,size:r}}(r)).level+n.size){case\"AAsmall\":case\"AAAlarge\":i=a>=4.5;break;case\"AAlarge\":i=a>=3;break;case\"AAAsmall\":i=a>=7}return i},c.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;u<e.length;u++)(n=c.readability(t,e[u]))>l&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,c.mostReadable(t,[\"#fff\",\"#000\"],r))};var S=c.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function C(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function L(e,r){(function(t){return\"string\"==typeof t&&-1!=t.indexOf(\".\")&&1===parseFloat(t)})(e)&&(e=\"100%\");var n=function(t){return\"string\"==typeof t&&-1!=t.indexOf(\"%\")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function z(t){return o(1,s(0,t))}function P(t){return parseInt(t,16)}function O(t){return 1==t.length?\"0\"+t:\"\"+t}function I(t){return t<=1&&(t=100*t+\"%\"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return P(t)/255}var B,F,N,j=(F=\"[\\\\s|\\\\(]+(\"+(B=\"(?:[-\\\\+]?\\\\d*\\\\.\\\\d+%?)|(?:[-\\\\+]?\\\\d+%?)\")+\")[,|\\\\s]+(\"+B+\")[,|\\\\s]+(\"+B+\")\\\\s*\\\\)?\",N=\"[\\\\s|\\\\(]+(\"+B+\")[,|\\\\s]+(\"+B+\")[,|\\\\s]+(\"+B+\")[,|\\\\s]+(\"+B+\")\\\\s*\\\\)?\",{CSS_UNIT:new RegExp(B),rgb:new RegExp(\"rgb\"+F),rgba:new RegExp(\"rgba\"+N),hsl:new RegExp(\"hsl\"+F),hsla:new RegExp(\"hsla\"+N),hsv:new RegExp(\"hsv\"+F),hsva:new RegExp(\"hsva\"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function V(t){return!!j.CSS_UNIT.exec(t)}\"undefined\"!=typeof e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],512:[function(t,e,r){\"use strict\";function n(t){if(t instanceof Float32Array)return t;if(\"number\"==typeof t)return new Float32Array([t])[0];var e=new Float32Array(t);return e.set(t),e}e.exports=n,e.exports.float32=e.exports.float=n,e.exports.fract32=e.exports.fract=function(t){if(\"number\"==typeof t)return n(t-n(t));for(var e=n(t),r=0,i=e.length;r<i;r++)e[r]=t[r]-e[r];return e}},{}],513:[function(t,e,r){\"use strict\";var n=t(\"parse-unit\");e.exports=o;var i=96;function a(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*o(r[1],t)}function o(t,e){switch(e=e||document.body,t=(t||\"px\").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case\"%\":return e.clientHeight/100;case\"ch\":case\"ex\":return function(t,e){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+t,e.appendChild(r);var n=a(r,\"font-size\")/128;return e.removeChild(r),n}(t,e);case\"em\":return a(e,\"font-size\");case\"rem\":return a(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return i;case\"cm\":return i/2.54;case\"mm\":return i/25.4;case\"pt\":return i/72;case\"pc\":return i/6}return 1}},{\"parse-unit\":441}],514:[function(t,e,r){var n;n=this,function(t){\"use strict\";var e=function(t){return t},r=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){return e||(n=i=0),t[0]=(n+=t[0])*a+s,t[1]=(i+=t[1])*o+l,t}},n=function(t){var e=t.bbox;function n(t){l[0]=t[0],l[1]=t[1],s(l),l[0]<c&&(c=l[0]),l[0]>f&&(f=l[0]),l[1]<u&&(u=l[1]),l[1]>h&&(h=l[1])}function i(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(i);break;case\"Point\":n(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(n)}}if(!e){var a,o,s=r(t),l=new Array(2),c=1/0,u=c,f=-c,h=-c;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)a=t[e],l[0]=a[0],l[1]=a[1],s(l,e),l[0]<c&&(c=l[0]),l[0]>f&&(f=l[0]),l[1]<u&&(u=l[1]),l[1]>h&&(h=l[1])}),t.objects)i(t.objects[o]);e=t.bbox=[c,u,f,h]}return e},i=function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r};function a(t,e){var r=e.id,n=e.bbox,i=null==e.properties?{}:e.properties,a=o(t,e);return null==r&&null==n?{type:\"Feature\",properties:i,geometry:a}:null==n?{type:\"Feature\",id:r,properties:i,geometry:a}:{type:\"Feature\",id:r,bbox:n,properties:i,geometry:a}}function o(t,e){var n=r(t),a=t.arcs;function o(t,e){e.length&&e.pop();for(var r=a[t<0?~t:t],o=0,s=r.length;o<s;++o)e.push(n(r[o].slice(),o));t<0&&i(e,s)}function s(t){return n(t.slice())}function l(t){for(var e=[],r=0,n=t.length;r<n;++r)o(t[r],e);return e.length<2&&e.push(e[0].slice()),e}function c(t){for(var e=l(t);e.length<4;)e.push(e[0].slice());return e}function u(t){return t.map(c)}return function t(e){var r,n=e.type;switch(n){case\"GeometryCollection\":return{type:n,geometries:e.geometries.map(t)};case\"Point\":r=s(e.coordinates);break;case\"MultiPoint\":r=e.coordinates.map(s);break;case\"LineString\":r=l(e.arcs);break;case\"MultiLineString\":r=e.arcs.map(l);break;case\"Polygon\":r=u(e.arcs);break;case\"MultiPolygon\":r=e.arcs.map(u);break;default:return null}return{type:n,coordinates:r}}(e)}var s=function(t,e){var r={},n={},i={},a=[],o=-1;function s(t,e){for(var n in t){var i=t[n];delete e[i.start],delete i.start,delete i.end,i.forEach(function(t){r[t<0?~t:t]=1}),a.push(i)}}return e.forEach(function(r,n){var i,a=t.arcs[r<0?~r:r];a.length<3&&!a[1][0]&&!a[1][1]&&(i=e[++o],e[o]=r,e[n]=i)}),e.forEach(function(e){var r,a,o=function(e){var r,n=t.arcs[e<0?~e:e],i=n[0];t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1];return e<0?[r,i]:[i,r]}(e),s=o[0],l=o[1];if(r=i[s])if(delete i[r.end],r.push(e),r.end=l,a=n[l]){delete n[a.start];var c=a===r?r:r.concat(a);n[c.start=r.start]=i[c.end=a.end]=c}else n[r.start]=i[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,a=i[s]){delete i[a.end];var u=a===r?r:a.concat(r);n[u.start=a.start]=i[u.end=r.end]=u}else n[r.start]=i[r.end]=r;else n[(r=[e]).start=s]=i[r.end=l]=r}),s(i,n),s(n,i),e.forEach(function(t){r[t<0?~t:t]||a.push([t])}),a};function l(t,e,r){var n,i,a;if(arguments.length>1)n=function(t,e,r){var n,i=[],a=[];function o(t){var e=t<0?~t:t;(a[e]||(a[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case\"GeometryCollection\":e.geometries.forEach(t);break;case\"LineString\":s(e.arcs);break;case\"MultiLineString\":case\"Polygon\":l(e.arcs);break;case\"MultiPolygon\":e.arcs.forEach(l)}}(e),a.forEach(null==r?function(t){i.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&i.push(t[0].i)}),i}(0,e,r);else for(i=0,n=new Array(a=t.arcs.length);i<a;++i)n[i]=i;return{type:\"MultiLineString\",arcs:s(t,n)}}function c(t,e){var r={},n=[],i=[];function a(t){t.forEach(function(e){e.forEach(function(e){(r[e=e<0?~e:e]||(r[e]=[])).push(t)})}),n.push(t)}function l(e){return function(t){for(var e,r=-1,n=t.length,i=t[n-1],a=0;++r<n;)e=i,i=t[r],a+=e[0]*i[1]-e[1]*i[0];return Math.abs(a)}(o(t,{type:\"Polygon\",arcs:[e]}).coordinates[0])}return e.forEach(function t(e){switch(e.type){case\"GeometryCollection\":e.geometries.forEach(t);break;case\"Polygon\":a(e.arcs);break;case\"MultiPolygon\":e.arcs.forEach(a)}}),n.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,i.push(e);t=n.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].forEach(function(t){t._||(t._=1,n.push(t))})})})}}),n.forEach(function(t){delete t._}),{type:\"MultiPolygon\",arcs:i.map(function(e){var n,i=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].length<2&&i.push(t)})})}),(n=(i=s(t,i)).length)>1)for(var a,o,c=1,u=l(i[0]);c<n;++c)(a=l(i[c]))>u&&(o=i[0],i[0]=i[c],i[c]=o,u=a);return i})}}var u=function(t,e){for(var r=0,n=t.length;r<n;){var i=r+n>>>1;t[i]<e?r=i+1:n=i}return r};t.bbox=n,t.feature=function(t,e){return\"GeometryCollection\"===e.type?{type:\"FeatureCollection\",features:e.geometries.map(function(e){return a(t,e)})}:a(t,e)},t.mesh=function(t){return o(t,l.apply(this,arguments))},t.meshArcs=l,t.merge=function(t){return o(t,c.apply(this,arguments))},t.mergeArcs=c,t.neighbors=function(t){var e={},r=t.map(function(){return[]});function n(t,r){t.forEach(function(t){t<0&&(t=~t);var n=e[t];n?n.push(r):e[t]=[r]})}function i(t,e){t.forEach(function(t){n(t,e)})}var a={LineString:n,MultiLineString:i,Polygon:i,MultiPolygon:function(t,e){t.forEach(function(t){i(t,e)})}};for(var o in t.forEach(function t(e,r){\"GeometryCollection\"===e.type?e.geometries.forEach(function(e){t(e,r)}):e.type in a&&a[e.type](e.arcs,r)}),e)for(var s=e[o],l=s.length,c=0;c<l;++c)for(var f=c+1;f<l;++f){var h,p=s[c],d=s[f];(h=r[p])[o=u(h,d)]!==d&&h.splice(o,0,d),(h=r[d])[o=u(h,p)]!==p&&h.splice(o,0,p)}return r},t.quantize=function(t,e){if(!((e=Math.floor(e))>=2))throw new Error(\"n must be \\u22652\");if(t.transform)throw new Error(\"already quantized\");var r,i=n(t),a=i[0],o=(i[2]-a)/(e-1)||1,s=i[1],l=(i[3]-s)/(e-1)||1;function c(t){t[0]=Math.round((t[0]-a)/o),t[1]=Math.round((t[1]-s)/l)}function u(t){switch(t.type){case\"GeometryCollection\":t.geometries.forEach(u);break;case\"Point\":c(t.coordinates);break;case\"MultiPoint\":t.coordinates.forEach(c)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,i=1,c=1,u=t.length,f=t[0],h=f[0]=Math.round((f[0]-a)/o),p=f[1]=Math.round((f[1]-s)/l);i<u;++i)f=t[i],r=Math.round((f[0]-a)/o),n=Math.round((f[1]-s)/l),r===h&&n===p||((e=t[c++])[0]=r-h,h=r,e[1]=n-p,p=n);c<2&&((e=t[c++])[0]=0,e[1]=0),t.length=c}),t.objects)u(t.objects[r]);return t.transform={scale:[o,l],translate:[a,s]},t},t.transform=r,t.untransform=function(t){if(null==(r=t.transform))return e;var r,n,i,a=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){e||(n=i=0);var r=Math.round((t[0]-s)/a),c=Math.round((t[1]-l)/o);return t[0]=r-n,n=r,t[1]=c-i,i=c,t}},Object.defineProperty(t,\"__esModule\",{value:!0})}(\"object\"==typeof r&&\"undefined\"!=typeof e?r:n.topojson=n.topojson||{})},{}],515:[function(t,e,r){\"use strict\";e.exports=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(a(t+1)),r=[],o=0;o<e;++o){for(var s=n.unrank(t,o),l=[0],c=0,u=0;u<s.length;++u)c+=1<<s[u],l.push(c);i(s)<1&&(l[0]=c,l[t]=0),r.push(l)}return r};var n=t(\"permutation-rank\"),i=t(\"permutation-parity\"),a=t(\"gamma\")},{gamma:219,\"permutation-parity\":443,\"permutation-rank\":444}],516:[function(t,e,r){\"use strict\";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||f(r),i=t.radius||1,a=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),\"eye\"in t){var p=t.eye,d=[p[0]-e[0],p[1]-e[1],p[2]-e[2]];o(n,d,r),c(n[0],n[1],n[2])<1e-6?n=f(r):s(n,n),i=c(d[0],d[1],d[2]);var g=l(r,d)/i,m=l(n,d)/i;u=Math.acos(g),a=Math.acos(m)}return i=Math.log(i),new h(t.zoomMin,t.zoomMax,e,r,n,i,a,u)};var n=t(\"filtered-vector\"),i=t(\"gl-mat4/invert\"),a=t(\"gl-mat4/rotate\"),o=t(\"gl-vec3/cross\"),s=t(\"gl-vec3/normalize\"),l=t(\"gl-vec3/dot\");function c(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t){return Math.min(1,Math.max(-1,t))}function f(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],g=this.computedAngle[1],m=Math.cos(d),v=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=m*y,w=v*y,k=x,M=-m*x,A=-v*x,T=y,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var C=_*r[a]+w*h[a]+k*e[a];E[4*a+1]=M*r[a]+A*h[a]+T*e[a],E[4*a+2]=C,E[4*a+3]=0}var L=E[1],z=E[5],P=E[9],O=E[2],I=E[6],D=E[10],R=z*D-P*I,B=P*O-L*D,F=L*I-z*O,N=c(R,B,F);R/=N,B/=N,F/=N,E[0]=R,E[4]=B,E[8]=F;for(a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=E[a+4*j]*S[j];E[12+a]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];a(i,i,n,d);for(c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],f=i[4],h=i[8],p=u*a+f*o+h*s,d=c(u-=a*p,f-=o*p,h-=s*p),g=(u/=d)*e+a*r,m=(f/=d)*e+o*r,v=(h/=d)*e+s*r;this.center.move(t,g,m,v);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;\"number\"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),g=Math.max(h,p,d);h===g?(s=s<0?-1:1,l=f=0):d===g?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var m=c(s,l,f);s/=m,l/=m,f/=m}var v,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,k=c(x-=s*w,b-=l*w,_-=f*w),M=l*(_/=k)-f*(b/=k),A=f*(x/=k)-s*_,T=s*b-l*x,S=c(M,A,T);if(M/=S,A/=S,T/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],C=e[5],L=e[9],z=E*x+C*b+L*_,P=E*M+C*A+L*T;v=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(P,z)}else{var O=e[2],I=e[6],D=e[10],R=O*s+I*l+D*f,B=O*x+I*b+D*_,F=O*M+I*A+D*T;v=Math.asin(u(R)),y=Math.atan2(F,B)}this.angle.jump(t,y,v),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;i(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,W=U[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-V*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=c(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,g=d[0],m=d[1],v=d[2],y=i*g+a*m+o*v,x=c(g-=y*i,m-=y*a,v-=y*o);if(!(x<.01&&(x=c(g=a*h-o*f,m=o*l-i*h,v=i*f-a*l))<1e-6)){g/=x,m/=x,v/=x,this.up.set(t,i,a,o),this.right.set(t,g,m,v),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*v-o*m,_=o*g-i*v,w=i*m-a*g,k=c(b,_,w),M=i*l+a*f+o*h,A=g*l+m*f+v*h,T=(b/=k)*l+(_/=k)*f+(w/=k)*h,S=Math.asin(u(M)),E=Math.atan2(T,A),C=this.angle._state,L=C[C.length-1],z=C[C.length-2];L%=2*Math.PI;var P=Math.abs(L+2*Math.PI-E),O=Math.abs(L-E),I=Math.abs(L-2*Math.PI-E);P<O&&(L+=2*Math.PI),I<O&&(L-=2*Math.PI),this.angle.jump(this.angle.lastT(),L,z),this.angle.set(t,E,S)}}}}},{\"filtered-vector\":214,\"gl-mat4/invert\":253,\"gl-mat4/rotate\":257,\"gl-vec3/cross\":315,\"gl-vec3/dot\":320,\"gl-vec3/normalize\":337}],517:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var i=t*e,a=n*t,o=a-(a-t),s=t-o,l=n*e,c=l-(l-e),u=e-c,f=s*u-(i-o*c-s*c-o*u);if(r)return r[0]=f,r[1]=i,r;return[f,i]};var n=+(Math.pow(2,27)+1)},{}],518:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);if(r)return r[0]=o+a,r[1]=n,r;return[o+a,n]}},{}],519:[function(t,e,r){(function(e,n){\"use strict\";var i=t(\"bit-twiddle\"),a=t(\"dup\");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:a([32,0]),UINT16:a([32,0]),UINT32:a([32,0]),INT8:a([32,0]),INT16:a([32,0]),INT32:a([32,0]),FLOAT:a([32,0]),DOUBLE:a([32,0]),DATA:a([32,0]),UINT8C:a([32,0]),BUFFER:a([32,0])});var o=\"undefined\"!=typeof Uint8ClampedArray,s=e.__TYPEDARRAY_POOL;s.UINT8C||(s.UINT8C=a([32,0])),s.BUFFER||(s.BUFFER=a([32,0]));var l=s.DATA,c=s.BUFFER;function u(t){if(t){var e=t.length||t.byteLength,r=i.log2(e);l[r].push(t)}}function f(t){t=i.nextPow2(t);var e=i.log2(t),r=l[e];return r.length>0?r.pop():new ArrayBuffer(t)}function h(t){return new Uint8Array(f(t),0,t)}function p(t){return new Uint16Array(f(2*t),0,t)}function d(t){return new Uint32Array(f(4*t),0,t)}function g(t){return new Int8Array(f(t),0,t)}function m(t){return new Int16Array(f(2*t),0,t)}function v(t){return new Int32Array(f(4*t),0,t)}function y(t){return new Float32Array(f(4*t),0,t)}function x(t){return new Float64Array(f(8*t),0,t)}function b(t){return o?new Uint8ClampedArray(f(t),0,t):h(t)}function _(t){return new DataView(f(t),0,t)}function w(t){t=i.nextPow2(t);var e=i.log2(t),r=c[e];return r.length>0?r.pop():new n(t)}r.free=function(t){if(n.isBuffer(t))c[i.log2(t.length)].push(t);else{if(\"[object ArrayBuffer]\"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|i.log2(e);l[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){u(t.buffer)},r.freeArrayBuffer=u,r.freeBuffer=function(t){c[i.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||\"arraybuffer\"===e)return f(t);switch(e){case\"uint8\":return h(t);case\"uint16\":return p(t);case\"uint32\":return d(t);case\"int8\":return g(t);case\"int16\":return m(t);case\"int32\":return v(t);case\"float\":case\"float32\":return y(t);case\"double\":case\"float64\":return x(t);case\"uint8_clamped\":return b(t);case\"buffer\":return w(t);case\"data\":case\"dataview\":return _(t);default:return null}return null},r.mallocArrayBuffer=f,r.mallocUint8=h,r.mallocUint16=p,r.mallocUint32=d,r.mallocInt8=g,r.mallocInt16=m,r.mallocInt32=v,r.mallocFloat32=r.mallocFloat=y,r.mallocFloat64=r.mallocDouble=x,r.mallocUint8Clamped=b,r.mallocDataView=_,r.mallocBuffer=w,r.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,l[t].length=0,c[t].length=0}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{},t(\"buffer\").Buffer)},{\"bit-twiddle\":79,buffer:92,dup:154}],520:[function(t,e,r){\"use strict\";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var i=n.prototype;Object.defineProperty(i,\"length\",{get:function(){return this.roots.length}}),i.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},i.find=function(t){for(var e=t,r=this.roots;r[t]!==t;)t=r[t];for(;r[e]!==t;){var n=r[e];r[e]=t,e=n}return t},i.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},{}],521:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,e(i=t[o],a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},{}],522:[function(t,e,r){var n=/[\\'\\\"]/;e.exports=function(t){return t?(n.test(t.charAt(0))&&(t=t.substr(1)),n.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}},{}],523:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if(\"function\"==typeof a[o]&&void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],524:[function(t,e,r){\"use strict\";e.exports=function(t,e){\"object\"==typeof e&&null!==e||(e={});return n(t,e.canvas||i,e.context||a,e)};var n=t(\"./lib/vtext\"),i=null,a=null;\"undefined\"!=typeof document&&((i=document.createElement(\"canvas\")).width=8192,i.height=1024,a=i.getContext(\"2d\"))},{\"./lib/vtext\":525}],525:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var a=n.size||64,o=n.font||\"normal\";return r.font=a+\"px \"+o,r.textAlign=\"start\",r.textBaseline=\"alphabetic\",r.direction=\"ltr\",f(function(t,e,r,n){var a=0|Math.ceil(e.measureText(r).width+2*n);if(a>8192)throw new Error(\"vectorize-text: String too long (sorry, this will get fixed later)\");var o=3*n;t.height<o&&(t.height=o),e.fillStyle=\"#000\",e.fillRect(0,0,t.width,t.height),e.fillStyle=\"#fff\",e.fillText(r,n,2*n);var s=e.getImageData(0,0,a,o);return i(s.data,[o,a,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,a),n,a)},e.exports.processPixels=f;var n=t(\"surface-nets\"),i=t(\"ndarray\"),a=t(\"simplify-planar-graph\"),o=t(\"clean-pslg\"),s=t(\"cdt2d\"),l=t(\"planar-graph-to-polyline\");function c(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function u(t,e,r,n){var i=c(t,n),a=function(t,e,r){for(var n=e.textAlign||\"start\",i=e.textBaseline||\"alphabetic\",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var c=t[l],u=0;u<2;++u)a[u]=0|Math.min(a[u],c[u]),o[u]=0|Math.max(o[u],c[u]);var f=0;switch(n){case\"center\":f=-.5*(a[0]+o[0]);break;case\"right\":case\"end\":f=-o[0];break;case\"left\":case\"start\":f=-a[0];break;default:throw new Error(\"vectorize-text: Unrecognized textAlign: '\"+n+\"'\")}var h=0;switch(i){case\"hanging\":case\"top\":h=-a[1];break;case\"middle\":h=-.5*(a[1]+o[1]);break;case\"alphabetic\":case\"ideographic\":h=-3*r;break;case\"bottom\":h=-o[1];break;default:throw new Error(\"vectorize-text: Unrecoginized textBaseline: '\"+i+\"'\")}var p=1/r;return\"lineHeight\"in e?p*=+e.lineHeight:\"width\"in e?p=e.width/(o[0]-a[0]):\"height\"in e&&(p=e.height/(o[1]-a[1])),t.map(function(t){return[p*(t[0]+f),p*(t[1]+h)]})}(i.positions,e,r),u=i.edges,f=\"ccw\"===e.orientation;if(o(a,u),e.polygons||e.polygon||e.polyline){for(var h=l(u,a),p=new Array(h.length),d=0;d<h.length;++d){for(var g=h[d],m=new Array(g.length),v=0;v<g.length;++v){for(var y=g[v],x=new Array(y.length),b=0;b<y.length;++b)x[b]=a[y[b]].slice();f&&x.reverse(),m[v]=x}p[d]=m}return p}return e.triangles||e.triangulate||e.triangle?{cells:s(a,u,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:u,positions:a}}function f(t,e,r){try{return u(t,e,r,!0)}catch(t){}try{return u(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},{cdt2d:93,\"clean-pslg\":103,ndarray:430,\"planar-graph-to-polyline\":448,\"simplify-planar-graph\":497,\"surface-nets\":505}],526:[function(t,e,r){!function(){\"use strict\";if(\"undefined\"==typeof ses||!ses.ok||ses.ok()){\"undefined\"!=typeof ses&&(ses.weakMapPermitHostObjects=m);var t=!1;if(\"function\"==typeof WeakMap){var r=WeakMap;if(\"undefined\"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,i=Object.freeze({});if(n.set(i,1),1===n.get(i))return void(e.exports=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var a=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l=\"weakmap:\",c=l+\"ident:\"+Math.random()+\"___\";if(\"undefined\"!=typeof crypto&&\"function\"==typeof crypto.getRandomValues&&\"function\"==typeof ArrayBuffer&&\"function\"==typeof Uint8Array){var u=new ArrayBuffer(25),f=new Uint8Array(u);crypto.getRandomValues(f),c=l+\"rand:\"+Array.prototype.map.call(f,function(t){return(t%36).toString(36)}).join(\"\")+\"___\"}if(o(Object,\"getOwnPropertyNames\",{value:function(t){return a(t).filter(v)}}),\"getPropertyNames\"in Object){var h=Object.getPropertyNames;o(Object,\"getPropertyNames\",{value:function(t){return h(t).filter(v)}})}!function(){var t=Object.freeze;o(Object,\"freeze\",{value:function(e){return y(e),t(e)}});var e=Object.seal;o(Object,\"seal\",{value:function(t){return y(t),e(t)}});var r=Object.preventExtensions;o(Object,\"preventExtensions\",{value:function(t){return y(t),r(t)}})}();var p=!1,d=0,g=function(){this instanceof g||b();var t=[],e=[],r=d++;return Object.create(g.prototype,{get___:{value:x(function(n,i){var a,o=y(n);return o?r in o?o[r]:i:(a=t.indexOf(n))>=0?e[a]:i})},has___:{value:x(function(e){var n=y(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:x(function(n,i){var a,o=y(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this})},delete___:{value:x(function(n){var i,a,o=y(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))})}})};g.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),\"function\"==typeof r?function(){function n(){this instanceof g||b();var e,n=new r,i=void 0,a=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new g),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new g),i.set___(t,e)}else n.set(t,e);return this},Object.create(g.prototype,{get___:{value:x(function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)})},has___:{value:x(function(t){return n.has(t)||!!i&&i.has___(t)})},set___:{value:x(e)},delete___:{value:x(function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e})},permitHostObjects___:{value:x(function(t){if(t!==m)throw new Error(\"bogus call to permitHostObjects___\");a=!0})}})}t&&\"undefined\"!=typeof Proxy&&(Proxy=void 0),n.prototype=g.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(\"undefined\"!=typeof Proxy&&(Proxy=void 0),e.exports=g)}function m(t){t.permitHostObjects___&&t.permitHostObjects___(m)}function v(t){return!(t.substr(0,l.length)==l&&\"___\"===t.substr(t.length-3))}function y(t){if(t!==Object(t))throw new TypeError(\"Not an object: \"+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||\"undefined\"==typeof console||(p=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}}()},{}],527:[function(t,e,r){var n=t(\"./hidden-store.js\");e.exports=function(){var t={};return function(e){if((\"object\"!=typeof e||null===e)&&\"function\"!=typeof e)throw new Error(\"Weakmap-shim: Key must be object\");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{\"./hidden-store.js\":528}],528:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,\"valueOf\",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],529:[function(t,e,r){var n=t(\"./create-store.js\");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty(\"value\")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return\"value\"in t(e)},delete:function(e){return delete t(e).value}}}},{\"./create-store.js\":527}],530:[function(t,e,r){var n=t(\"get-canvas-context\");e.exports=function(t){return n(\"webgl\",t)}},{\"get-canvas-context\":220}],531:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Chinese\",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(t,e){if(\"string\"==typeof t){var r=t.match(l);return r?r[0]:\"\"}var n=this._validateYear(t),i=t.month(),a=\"\"+this.toChineseMonth(n,i);return e&&a.length<2&&(a=\"0\"+a),this.isIntercalaryMonth(n,i)&&(a+=\"i\"),a},monthNames:function(t){if(\"string\"==typeof t){var e=t.match(c);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=[\"\\u4e00\\u6708\",\"\\u4e8c\\u6708\",\"\\u4e09\\u6708\",\"\\u56db\\u6708\",\"\\u4e94\\u6708\",\"\\u516d\\u6708\",\"\\u4e03\\u6708\",\"\\u516b\\u6708\",\"\\u4e5d\\u6708\",\"\\u5341\\u6708\",\"\\u5341\\u4e00\\u6708\",\"\\u5341\\u4e8c\\u6708\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"\\u95f0\"+i),i},monthNamesShort:function(t){if(\"string\"==typeof t){var e=t.match(u);return e?e[0]:\"\"}var r=this._validateYear(t),n=t.month(),i=[\"\\u4e00\",\"\\u4e8c\",\"\\u4e09\",\"\\u56db\",\"\\u4e94\",\"\\u516d\",\"\\u4e03\",\"\\u516b\",\"\\u4e5d\",\"\\u5341\",\"\\u5341\\u4e00\",\"\\u5341\\u4e8c\"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i=\"\\u95f0\"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))\"\\u95f0\"===e[0]&&(r=!0,e=e.substring(1)),\"\\u6708\"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+[\"\\u4e00\",\"\\u4e8c\",\"\\u4e09\",\"\\u56db\",\"\\u4e94\",\"\\u516d\",\"\\u4e03\",\"\\u516b\",\"\\u4e5d\",\"\\u5341\",\"\\u5341\\u4e00\",\"\\u5341\\u4e8c\"].indexOf(e);else{var i=e[e.length-1];r=\"i\"===i||\"I\"===i}return this.toMonthIndex(t,n,r)},dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),\"number\"!=typeof t||t<1888||t>2111)throw e.replace(/\\{0\\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),f[t-f[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),\"d\");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\\{0\\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if(\"object\"==typeof t)o=t,a=e||{};else{var l=\"number\"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error(\"Lunar year outside range 1888-2111\");var c=\"number\"==typeof e&&e>=1&&e<=12;if(!c)throw new Error(\"Lunar month outside range 1 - 12\");var u,p=\"number\"==typeof r&&r>=1&&r<=30;if(!p)throw new Error(\"Lunar day outside range 1 - 30\");\"object\"==typeof n?(u=!1,a=n):(u=!!n,a=i||{}),o={year:t,month:e,day:r,isIntercalary:u}}s=o.day-1;var d,g=f[o.year-f[0]],m=g>>13;d=m?o.month>m?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var v=0;v<d;v++){var y=g&1<<12-v?30:29;s+=y}var x=h[o.year-h[0]],b=new Date(x>>9&4095,(x>>5&15)-1,(31&x)+s);return a.year=b.getFullYear(),a.month=1+b.getMonth(),a.day=b.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if(\"object\"==typeof t)i=t,a=e||{};else{var o=\"number\"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error(\"Solar year outside range 1888-2111\");var s=\"number\"==typeof e&&e>=1&&e<=12;if(!s)throw new Error(\"Solar month outside range 1 - 12\");var l=\"number\"==typeof r&&r>=1&&r<=31;if(!l)throw new Error(\"Solar day outside range 1 - 31\");i={year:t,month:e,day:r},a=n||{}}var c=h[i.year-h[0]],u=i.year<<9|i.month<<5|i.day;a.year=u>=c?i.year:i.year-1,c=h[a.year-h[0]];var p,d=new Date(c>>9&4095,(c>>5&15)-1,31&c),g=new Date(i.year,i.month-1,i.day);p=Math.round((g-d)/864e5);var m,v=f[a.year-f[0]];for(m=0;m<13;m++){var y=v&1<<12-m?30:29;if(p<y)break;p-=y}var x=v>>13;!x||m<x?(a.isIntercalary=!1,a.month=1+m):m===x?(a.isIntercalary=!0,a.month=m):(a.isIntercalary=!1,a.month=m);return a.day=1+p,a}(e.year(),e.month(),e.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(t){var e=t.match(s),r=this._validateYear(+e[1]),n=+e[2],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var n=t.year(),i=t.month(),a=this.isIntercalaryMonth(n,i),s=this.toChineseMonth(n,i),l=Object.getPrototypeOf(o.prototype).add.call(this,t,e,r);if(\"y\"===r){var c=l.year(),u=l.month(),f=this.isIntercalaryMonth(c,s),h=a&&f?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);h!==u&&l.month(h)}return l}});var s=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-\\/](\\d?\\d)([iI]?)[-\\/](\\d?\\d)/m,l=/^\\d?\\d[iI]?/m,c=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?\\u6708/m,u=/^\\u95f0?\\u5341?[\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]?/m;n.calendars.chinese=o;var f=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],h=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904]},{\"../main\":545,\"object-assign\":434}],532:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Coptic\",jdEpoch:1825029.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Coptic\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Thout\",\"Paopi\",\"Hathor\",\"Koiak\",\"Tobi\",\"Meshir\",\"Paremhat\",\"Paremoude\",\"Pashons\",\"Paoni\",\"Epip\",\"Mesori\",\"Pi Kogi Enavot\"],monthNamesShort:[\"Tho\",\"Pao\",\"Hath\",\"Koi\",\"Tob\",\"Mesh\",\"Pat\",\"Pad\",\"Pash\",\"Pao\",\"Epi\",\"Meso\",\"PiK\"],dayNames:[\"Tkyriaka\",\"Pesnau\",\"Pshoment\",\"Peftoou\",\"Ptiou\",\"Psoou\",\"Psabbaton\"],dayNamesShort:[\"Tky\",\"Pes\",\"Psh\",\"Pef\",\"Pti\",\"Pso\",\"Psa\"],dayNamesMin:[\"Tk\",\"Pes\",\"Psh\",\"Pef\",\"Pt\",\"Pso\",\"Psa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.coptic=a},{\"../main\":545,\"object-assign\":434}],533:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Discworld\",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Discworld\",epochs:[\"BUC\",\"UC\"],monthNames:[\"Ick\",\"Offle\",\"February\",\"March\",\"April\",\"May\",\"June\",\"Grune\",\"August\",\"Spune\",\"Sektober\",\"Ember\",\"December\"],monthNamesShort:[\"Ick\",\"Off\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Gru\",\"Aug\",\"Spu\",\"Sek\",\"Emb\",\"Dec\"],dayNames:[\"Sunday\",\"Octeday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Oct\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Oc\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,n.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n>=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||\"\"}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:\"Fruitbat\",21:\"Anchovy\"};n.calendars.discworld=a},{\"../main\":545,\"object-assign\":434}],534:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Ethiopian\",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Ethiopian\",epochs:[\"BEE\",\"EE\"],monthNames:[\"Meskerem\",\"Tikemet\",\"Hidar\",\"Tahesas\",\"Tir\",\"Yekatit\",\"Megabit\",\"Miazia\",\"Genbot\",\"Sene\",\"Hamle\",\"Nehase\",\"Pagume\"],monthNamesShort:[\"Mes\",\"Tik\",\"Hid\",\"Tah\",\"Tir\",\"Yek\",\"Meg\",\"Mia\",\"Gen\",\"Sen\",\"Ham\",\"Neh\",\"Pag\"],dayNames:[\"Ehud\",\"Segno\",\"Maksegno\",\"Irob\",\"Hamus\",\"Arb\",\"Kidame\"],dayNamesShort:[\"Ehu\",\"Seg\",\"Mak\",\"Iro\",\"Ham\",\"Arb\",\"Kid\"],dayNamesMin:[\"Eh\",\"Se\",\"Ma\",\"Ir\",\"Ha\",\"Ar\",\"Ki\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},{\"../main\":545,\"object-assign\":434}],535:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s<e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s<e;s++)o+=this.daysInMonth(t,s);return o},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return o(3*(n+1),7)<3&&n++,n},_delay2:function(t){var e=this._delay1(t-1),r=this._delay1(t);return this._delay1(t+1)-r==356?2:r-e==382?1:0},fromJD:function(t){t=Math.floor(t)+.5;for(var e=Math.floor(98496*(t-this.jdEpoch)/35975351)-1;t>=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t<this.toJD(e,1,1)?7:1;t>this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},{\"../main\":545,\"object-assign\":434}],536:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Islamic\",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Islamic\",epochs:[\"BH\",\"AH\"],monthNames:[\"Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' al-thani\",\"Jumada al-awwal\",\"Jumada al-thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-ahad\",\"Yawm al-ithnayn\",\"Yawm ath-thulaathaa'\",\"Yawm al-arbi'aa'\",\"Yawm al-kham\\u012bs\",\"Yawm al-jum'a\",\"Yawm as-sabt\"],dayNamesShort:[\"Aha\",\"Ith\",\"Thu\",\"Arb\",\"Kha\",\"Jum\",\"Sab\"],dayNamesMin:[\"Ah\",\"It\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},{\"../main\":545,\"object-assign\":434}],537:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Julian\",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Julian\",epochs:[\"BC\",\"AD\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},{\"../main\":545,\"object-assign\":434}],538:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+\".\"+Math.floor(t/20)+\".\"+t%20},forYear:function(t){if((t=t.split(\".\")).length<3)throw\"Invalid Mayan year\";for(var e=0,r=0;r<t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)>19||r>0&&n<0)throw\"Invalid Mayan year\";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},{\"../main\":545,\"object-assign\":434}],539:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar;var o=n.instance(\"gregorian\");i(a.prototype,{name:\"Nanakshahi\",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[\"\"].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s<i.month();s++)a+=this.daysPerMonth[s-1];return a+o.toJD(t+1468,3,13)},fromJD:function(t){t=Math.floor(t+.5);for(var e=Math.floor((t-(this.jdEpoch-1))/366);t>=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},{\"../main\":545,\"object-assign\":434}],540:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Nepali\",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),\"undefined\"==typeof this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),\"undefined\"==typeof this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,\"d\").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)\"undefined\"==typeof this.NEPALI_CALENDAR_DATA[r]&&(this.NEPALI_CALENDAR_DATA[r]=e)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2000:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),n.calendars.nepali=a},{\"../main\":545,\"object-assign\":434}],541:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"Persian\",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Persian\",epochs:[\"BP\",\"AP\"],monthNames:[\"Farvardin\",\"Ordibehesht\",\"Khordad\",\"Tir\",\"Mordad\",\"Shahrivar\",\"Mehr\",\"Aban\",\"Azar\",\"Day\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Day\",\"Bah\",\"Esf\"],dayNames:[\"Yekshambe\",\"Doshambe\",\"Seshambe\",\"Ch\\xe6harshambe\",\"Panjshambe\",\"Jom'e\",\"Shambe\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Ch\\xe6\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 682*((e.year()-(e.year()>0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),f=t-this.toJD(l,u,1)+1;return this.newDate(l,u,f)}}),n.calendars.persian=a,n.calendars.jalali=a},{\"../main\":545,\"object-assign\":434}],542:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Taiwan\",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Taiwan\",epochs:[\"BROC\",\"ROC\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{\"../main\":545,\"object-assign\":434}],543:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\"),a=n.instance();function o(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}o.prototype=new n.baseCalendar,i(o.prototype,{name:\"Thai\",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Thai\",epochs:[\"BBE\",\"BE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(i.year());return a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(i.year());return a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{\"../main\":545,\"object-assign\":434}],544:[function(t,e,r){var n=t(\"../main\"),i=t(\"object-assign\");function a(t){this.local=this.regionalOptions[t||\"\"]||this.regionalOptions[\"\"]}a.prototype=new n.baseCalendar,i(a.prototype,{name:\"UmmAlQura\",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Umm al-Qura\",epochs:[\"BH\",\"AH\"],monthNames:[\"Al-Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' Al-Thani\",\"Jumada Al-Awwal\",\"Jumada Al-Thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-Ahad\",\"Yawm al-Ithnain\",\"Yawm al-Thal\\u0101th\\u0101\\u2019\",\"Yawm al-Arba\\u2018\\u0101\\u2019\",\"Yawm al-Kham\\u012bs\",\"Yawm al-Jum\\u2018a\",\"Yawm al-Sabt\"],dayNamesMin:[\"Ah\",\"Ith\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;a<o.length;a++){if(o[a]>r)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<o.length&&!(o[n]>e);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\\{0\\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{\"../main\":545,\"object-assign\":434}],545:[function(t,e,r){var n=t(\"object-assign\");function i(){this.regionalOptions=[],this.regionalOptions[\"\"]={invalidCalendar:\"Calendar {0} not found\",invalidDate:\"Invalid {0} date\",invalidMonth:\"Invalid {0} month\",invalidYear:\"Invalid {0} year\",differentCalendars:\"Cannot mix {0} and {1} dates\"},this.local=this.regionalOptions[\"\"],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function o(t,e){return\"000000\".substring(0,e-(t=\"\"+t).length)+t}function s(){this.shortYearCutoff=\"+10\"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[\"\"]}n(i.prototype,{instance:function(t,e){t=(t||\"gregorian\").toLowerCase(),e=e||\"\";var r=this._localCals[t+\"-\"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+\"-\"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():\"string\"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+\"\").replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(0===a?\"\":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,\"y\")},month:function(t){return 0===arguments.length?this._month:this.set(t,\"m\")},day:function(t){return 0===arguments.length?this._day:this.set(t,\"d\")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?\"-\":\"\")+o(Math.abs(this.year()),4)+\"-\"+o(this.month(),2)+\"-\"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return(e.year()<0?\"-\":\"\")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,\"d\"===r||\"w\"===r){var n=t.toJD()+e*(\"w\"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+(\"y\"===r?e:0),o=t.monthOfYear()+(\"m\"===r?e:0);i=t.day();\"y\"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):\"m\"===r&&(!function(t){for(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||\"y\"!==n&&\"m\"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);var n=\"y\"===r?e:t.year(),i=\"m\"===r?e:t.month(),a=\"d\"===r?e:t.day();return\"y\"!==r&&\"m\"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);return c.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(c.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this.local.name).replace(/\\{1\\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\\{0\\}/,this.local.name);var i=this.newDate(t,e,r);return this._validateLevel--,i}catch(t){throw this._validateLevel--,t}}}),l.prototype=new s,n(l.prototype,{name:\"Gregorian\",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Gregorian\",epochs:[\"BCE\",\"CE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[\"\"].invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==0&&(t%100!=0||t%400==0)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[\"\"].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25),n=(r=e+1+r-Math.floor(r/4))+1524,i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},{\"object-assign\":434}],546:[function(t,e,r){var n=t(\"object-assign\"),i=t(\"./main\");n(i.regionalOptions[\"\"],{invalidArguments:\"Invalid arguments\",invalidFormat:\"Cannot format a date from another calendar\",missingNumberAt:\"Missing number at position {0}\",unknownNameAt:\"Unknown name at position {0}\",unexpectedLiteralAt:\"Unexpected literal at position {0}\",unexpectedText:\"Additional text found at end\"}),i.local=i.regionalOptions[\"\"],n(i.cdate.prototype,{formatDate:function(t,e){return\"string\"!=typeof t&&(e=t,t=\"\"),this._calendar.formatDate(t||\"\",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(t,e,r){if(\"string\"!=typeof t&&(r=e,e=t,t=\"\"),!e)return\"\";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[\"\"].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,f=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n<t.length&&t.charAt(w+n)===e;)n++;return w+=n-1,Math.floor(n/(r||1))>1}),d=function(t,e,r,n){var i=\"\"+e;if(p(t,n))for(;i.length<r;)i=\"0\"+i;return i},g=this,m=function(t){return\"function\"==typeof u?u.call(g,t,p(\"m\")):x(d(\"m\",t.month(),2))},v=function(t,e){return e?\"function\"==typeof h?h.call(g,t):h[t.month()-g.minMonth]:\"function\"==typeof f?f.call(g,t):f[t.month()-g.minMonth]},y=this.local.digits,x=function(t){return r.localNumbers&&y?y(t):t},b=\"\",_=!1,w=0;w<t.length;w++)if(_)\"'\"!==t.charAt(w)||p(\"'\")?b+=t.charAt(w):_=!1;else switch(t.charAt(w)){case\"d\":b+=x(d(\"d\",e.day(),2));break;case\"D\":b+=(n=\"D\",a=e.dayOfWeek(),o=l,s=c,p(n)?s[a]:o[a]);break;case\"o\":b+=d(\"o\",e.dayOfYear(),3);break;case\"w\":b+=d(\"w\",e.weekOfYear(),2);break;case\"m\":b+=m(e);break;case\"M\":b+=v(e,p(\"M\"));break;case\"y\":b+=p(\"y\",2)?e.year():(e.year()%100<10?\"0\":\"\")+e.year()%100;break;case\"Y\":p(\"Y\",2),b+=e.formatYear();break;case\"J\":b+=e.toJD();break;case\"@\":b+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case\"!\":b+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case\"'\":p(\"'\")?b+=\"'\":_=!0;break;default:b+=t.charAt(w)}return b},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[\"\"].invalidArguments;if(\"\"===(e=\"object\"==typeof e?e.toString():e+\"\"))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n=\"string\"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var a=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,f=-1,h=-1,p=-1,d=-1,g=-1,m=!1,v=!1,y=function(e,r){for(var n=1;T+n<t.length&&t.charAt(T+n)===e;)n++;return T+=n-1,Math.floor(n/(r||1))>1},x=function(t,r){var n=y(t,r),a=[2,3,n?4:2,n?4:2,10,11,20][\"oyYJ@!\".indexOf(t)+1],o=new RegExp(\"^-?\\\\d{1,\"+a+\"}\"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if(\"function\"==typeof l){y(\"m\");var t=l.call(b,e.substring(A));return A+=t.length,t}return x(\"m\")},w=function(t,r,n,a){for(var o=y(t,a)?n:r,s=0;s<o.length;s++)if(e.substr(A,o[s].length).toLowerCase()===o[s].toLowerCase())return A+=o[s].length,s+b.minMonth;throw(i.local.unknownNameAt||i.regionalOptions[\"\"].unknownNameAt).replace(/\\{0\\}/,A)},k=function(){if(\"function\"==typeof u){var t=y(\"M\")?u.call(b,e.substring(A)):c.call(b,e.substring(A));return A+=t.length,t}return w(\"M\",c,u)},M=function(){if(e.charAt(A)!==t.charAt(T))throw(i.local.unexpectedLiteralAt||i.regionalOptions[\"\"].unexpectedLiteralAt).replace(/\\{0\\}/,A);A++},A=0,T=0;T<t.length;T++)if(v)\"'\"!==t.charAt(T)||y(\"'\")?M():v=!1;else switch(t.charAt(T)){case\"d\":d=x(\"d\");break;case\"D\":w(\"D\",a,o);break;case\"o\":g=x(\"o\");break;case\"w\":x(\"w\");break;case\"m\":p=_();break;case\"M\":p=k();break;case\"y\":var S=T;m=!y(\"y\",2),T=S,h=x(\"y\",2);break;case\"Y\":h=x(\"Y\",2);break;case\"J\":f=x(\"J\")+.5,\".\"===e.charAt(A)&&(A++,x(\"J\"));break;case\"@\":f=x(\"@\")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case\"!\":f=x(\"!\")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case\"*\":A=e.length;break;case\"'\":y(\"'\")?M():v=!0;break;default:M()}if(A<e.length)throw i.local.unexpectedText||i.regionalOptions[\"\"].unexpectedText;if(-1===h?h=this.today().year():h<100&&m&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),\"string\"==typeof p&&(p=s.call(this,h,p)),g>-1){p=1,d=g;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&\"object\"!=typeof r&&(i=n,n=r,r=null),\"string\"!=typeof n&&(i=n,n=\"\");var a=this;return e=e?e.newDate():null,t=null==t?e:\"string\"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||\"d\"),s=o.exec(t);return e}(t):\"number\"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,\"d\"):a.newDate(t)}})},{\"./main\":545,\"object-assign\":434}],547:[function(t,e,r){e.exports=t(\"cwise-compiler\")({args:[\"array\",{offset:[1],array:0},\"scalar\",\"scalar\",\"index\"],pre:{body:\"{}\",args:[],thisVars:[],localVars:[]},post:{body:\"{}\",args:[],thisVars:[],localVars:[]},body:{body:\"{\\n        var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\\n        var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\\n        if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\\n          _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\\n        }\\n      }\",args:[{name:\"_inline_1_arg0_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg1_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg2_\",lvalue:!1,rvalue:!0,count:1},{name:\"_inline_1_arg3_\",lvalue:!1,rvalue:!0,count:2},{name:\"_inline_1_arg4_\",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[\"_inline_1_da\",\"_inline_1_db\"]},funcName:\"zeroCrossings\"})},{\"cwise-compiler\":133}],548:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t(\"./lib/zc-core\")},{\"./lib/zc-core\":547}],549:[function(t,e,r){\"use strict\";e.exports=[{path:\"\",backoff:0},{path:\"M-2.4,-3V3L0.6,0Z\",backoff:.6},{path:\"M-3.7,-2.5V2.5L1.3,0Z\",backoff:1.3},{path:\"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z\",backoff:1.55},{path:\"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z\",backoff:1.6},{path:\"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z\",backoff:2},{path:\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\",backoff:0,noRotate:!0},{path:\"M2,2V-2H-2V2Z\",backoff:0,noRotate:!0}]},{}],550:[function(t,e,r){\"use strict\";var n=t(\"./arrow_paths\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../plots/cartesian/constants\"),o=t(\"../../plot_api/plot_template\").templatedArray;e.exports=o(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:i({editType:\"calc+arraydraw\",colorEditType:\"arraydraw\"}),width:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},height:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"center\",editType:\"arraydraw\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"arraydraw\"},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},borderpad:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},showarrow:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},arrowcolor:{valType:\"color\",editType:\"arraydraw\"},arrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:n.length,dflt:1,editType:\"arraydraw\"},arrowside:{valType:\"flaglist\",flags:[\"end\",\"start\"],extras:[\"none\"],dflt:\"end\",editType:\"arraydraw\"},arrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},startarrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},arrowwidth:{valType:\"number\",min:.1,editType:\"calc+arraydraw\"},standoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},startstandoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},ax:{valType:\"any\",editType:\"calc+arraydraw\"},ay:{valType:\"any\",editType:\"calc+arraydraw\"},axref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",a.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.x.toString()],editType:\"calc\"},x:{valType:\"any\",editType:\"calc+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calc+arraydraw\"},xshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",a.idRegex.y.toString()],editType:\"calc\"},y:{valType:\"any\",editType:\"calc+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"calc+arraydraw\"},yshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},clicktoshow:{valType:\"enumerated\",values:[!1,\"onoff\",\"onout\"],dflt:!1,editType:\"arraydraw\"},xclick:{valType:\"any\",editType:\"arraydraw\"},yclick:{valType:\"any\",editType:\"arraydraw\"},hovertext:{valType:\"string\",editType:\"arraydraw\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",editType:\"arraydraw\"},font:i({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\",_deprecated:{ref:{valType:\"string\",editType:\"calc\"}}})},{\"../../plot_api/plot_template\":732,\"../../plots/cartesian/constants\":747,\"../../plots/font_attributes\":768,\"./arrow_paths\":549}],551:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"./draw\").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach(function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref);e._extremes={},r&&s(e,r),n&&s(e,n)})}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t[\"a\"+a],l=t[a+\"ref\"],c=t[\"a\"+a+\"ref\"],u=t[\"_\"+a+\"padplus\"],f=t[\"_\"+a+\"padminus\"],h={x:1,y:-1}[a]*t[a+\"shift\"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,g=p-h,m=3*t.startarrowsize*t.arrowwidth||0,v=m+h,y=m-h;if(c===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:g}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,v),ppadminus:Math.max(f,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else v=s?v+s:v,y=s?y-s:y,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,v),ppadminus:Math.max(f,g,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"./draw\":556}],552:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"../../plot_api/plot_template\").arrayEditor;function o(t,e){var r,n,i,a,o,l,c,u=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r<u.length;r++)if(a=(i=u[r]).clicktoshow){for(n=0;n<d;n++)if(l=(o=e[n]).xaxis,c=o.yaxis,l._id===i.xref&&c._id===i.yref&&l.d2r(o.x)===s(i._xclick,l)&&c.d2r(o.y)===s(i._yclick,c)){(i.visible?\"onout\"===a?h:p:f).push(r);break}n===d&&i.visible&&\"onout\"===a&&h.push(r)}return{on:f,off:h,explicitOff:p}}function s(t,e){return\"log\"===e.type?e.l2r(t):e.d2r(t)}e.exports={hasClickToShow:function(t,e){var r=o(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r<c.length;r++)(s=a(t.layout,\"annotations\",h[c[r]])).modifyItem(\"visible\",!0),n.extendFlat(f,s.getUpdateObj());for(r=0;r<u.length;r++)(s=a(t.layout,\"annotations\",h[u[r]])).modifyItem(\"visible\",!1),n.extendFlat(f,s.getUpdateObj());return i.call(\"update\",t,{},f)}}},{\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../registry\":825}],553:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../color\");e.exports=function(t,e,r,a){a(\"opacity\");var o=a(\"bgcolor\"),s=a(\"bordercolor\"),l=i.opacity(s);a(\"borderpad\");var c=a(\"borderwidth\"),u=a(\"showarrow\");if(a(\"text\",u?\" \":r._dfltTitle.annotation),a(\"textangle\"),n.coerceFont(a,\"font\",r.font),a(\"width\"),a(\"align\"),a(\"height\")&&a(\"valign\"),u){var f,h,p=a(\"arrowside\");-1!==p.indexOf(\"end\")&&(f=a(\"arrowhead\"),h=a(\"arrowsize\")),-1!==p.indexOf(\"start\")&&(a(\"startarrowhead\",f),a(\"startarrowsize\",h)),a(\"arrowcolor\",l?e.bordercolor:i.defaultLine),a(\"arrowwidth\",2*(l&&c||1)),a(\"standoff\"),a(\"startstandoff\")}var d=a(\"hovertext\"),g=r.hoverlabel||{};if(d){var m=a(\"hoverlabel.bgcolor\",g.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),v=a(\"hoverlabel.bordercolor\",g.bordercolor||i.contrast(m));n.coerceFont(a,\"hoverlabel.font\",{family:g.font.family,size:g.font.size,color:g.font.color||v})}a(\"captureevents\",!!d)}},{\"../../lib\":693,\"../color\":567}],554:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib/to_log_range\");e.exports=function(t,e,r,a){e=e||{};var o=\"log\"===r&&\"linear\"===e.type,s=\"linear\"===r&&\"log\"===e.type;if(o||s)for(var l,c,u=t._fullLayout.annotations,f=e._id.charAt(0),h=0;h<u.length;h++)l=u[h],c=\"annotations[\"+h+\"].\",l[f+\"ref\"]===e._id&&p(f),l[\"a\"+f+\"ref\"]===e._id&&p(\"a\"+f);function p(t){var r=l[t],s=null;s=o?i(r,e.range):Math.pow(10,r),n(s)||(s=null),a(c+t,s)}}},{\"../../lib/to_log_range\":720,\"fast-isnumeric\":213}],555:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/array_container_defaults\"),o=t(\"./common_defaults\"),s=t(\"./attributes\");function l(t,e,r){function a(r,i){return n.coerce(t,e,s,r,i)}var l=a(\"visible\"),c=a(\"clicktoshow\");if(l||c){o(t,e,r,a);for(var u=e.showarrow,f=[\"x\",\"y\"],h=[-10,-30],p={_fullLayout:r},d=0;d<2;d++){var g=f[d],m=i.coerceRef(t,e,p,g,\"\",\"paper\");if(\"paper\"!==m)i.getFromId(p,m)._annIndices.push(e._index);if(i.coercePosition(e,p,a,m,g,.5),u){var v=\"a\"+g,y=i.coerceRef(t,e,p,v,\"pixel\");\"pixel\"!==y&&y!==m&&(y=e[v]=\"pixel\");var x=\"pixel\"===y?h[d]:.4;i.coercePosition(e,p,a,y,v,x)}a(g+\"anchor\"),a(g+\"shift\")}if(n.noneOrAll(t,e,[\"x\",\"y\"]),u&&n.noneOrAll(t,e,[\"ax\",\"ay\"]),c){var b=a(\"xclick\"),_=a(\"yclick\");e._xclick=void 0===b?e.x:i.cleanPosition(b,p,e.xref),e._yclick=void 0===_?e.y:i.cleanPosition(_,p,e.yref)}}}e.exports=function(t,e){a(t,e,{name:\"annotations\",handleItemDefaults:l})}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"../../plots/cartesian/axes\":742,\"./attributes\":550,\"./common_defaults\":553}],556:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../plots/plots\"),o=t(\"../../lib\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../color\"),c=t(\"../drawing\"),u=t(\"../fx\"),f=t(\"../../lib/svg_text_utils\"),h=t(\"../../lib/setcursor\"),p=t(\"../dragelement\"),d=t(\"../../plot_api/plot_template\").arrayEditor,g=t(\"./draw_arrow_head\");function m(t,e){var r=t._fullLayout.annotations[e]||{};v(t,r,e,!1,s.getFromId(t,r.xref),s.getFromId(t,r.yref))}function v(t,e,r,a,s,m){var v,y,x=t._fullLayout,b=t._fullLayout._size,_=t._context.edits;a?(v=\"annotation-\"+a,y=a+\".annotations\"):(v=\"annotation\",y=\"annotations\");var w=d(t.layout,y,e),k=w.modifyBase,M=w.modifyItem,A=w.getUpdateObj;x._infolayer.selectAll(\".\"+v+'[data-index=\"'+r+'\"]').remove();var T=\"clip\"+x._uid+\"_ann\"+r;if(e._input&&!1!==e.visible){var S={x:{},y:{}},E=+e.textangle||0,C=x._infolayer.append(\"g\").classed(v,!0).attr(\"data-index\",String(r)).style(\"opacity\",e.opacity),L=C.append(\"g\").classed(\"annotation-text-g\",!0),z=_[e.showarrow?\"annotationTail\":\"annotationPosition\"],P=e.captureevents||_.annotationText||z,O=L.append(\"g\").style(\"pointer-events\",P?\"all\":null).call(h,\"pointer\").on(\"click\",function(){t._dragging=!1;var i={index:r,annotation:e._input,fullAnnotation:e,event:n.event};a&&(i.subplotId=a),t.emit(\"plotly_clickannotation\",i)});e.hovertext&&O.on(\"mouseover\",function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();u.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:e.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:t})}).on(\"mouseout\",function(){u.loneUnhover(x._hoverlayer.node())});var I=e.borderwidth,D=e.borderpad,R=I+D,B=O.append(\"rect\").attr(\"class\",\"bg\").style(\"stroke-width\",I+\"px\").call(l.stroke,e.bordercolor).call(l.fill,e.bgcolor),F=e.width||e.height,N=x._topclips.selectAll(\"#\"+T).data(F?[0]:[]);N.enter().append(\"clipPath\").classed(\"annclip\",!0).attr(\"id\",T).append(\"rect\"),N.exit().remove();var j=e.font,V=O.append(\"text\").classed(\"annotation-text\",!0).text(e.text);_.annotationText?V.call(f.makeEditable,{delegate:O,gd:t}).call(U).on(\"edit\",function(r){e.text=r,this.call(U),M(\"text\",r),s&&s.autorange&&k(s._name+\".autorange\",!0),m&&m.autorange&&k(m._name+\".autorange\",!0),i.call(\"relayout\",t,A())}):V.call(U)}else n.selectAll(\"#\"+T).remove();function U(r){return r.call(c.font,j).attr({\"text-anchor\":{left:\"start\",right:\"end\"}[e.align]||\"middle\"}),f.convertToTspans(r,t,q),r}function q(){var r=V.selectAll(\"a\");1===r.size()&&r.text()===V.text()&&O.insert(\"a\",\":first-child\").attr({\"xlink:xlink:href\":r.attr(\"xlink:href\"),\"xlink:xlink:show\":r.attr(\"xlink:show\")}).style({cursor:\"pointer\"}).node().appendChild(B.node());var n=O.select(\".annotation-text-math-group\"),u=!n.empty(),d=c.bBox((u?n:V).node()),v=d.width,y=d.height,w=e.width||v,P=e.height||y,D=Math.round(w+2*R),j=Math.round(P+2*R);function U(t,e){return\"auto\"===e&&(e=t<1/3?\"left\":t>2/3?\"right\":\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var q=!1,H=[\"x\",\"y\"],G=0;G<H.length;G++){var W,Y,X,Z,$,J=H[G],K=e[J+\"ref\"]||J,Q=e[\"a\"+J+\"ref\"],tt={x:s,y:m}[J],et=(E+(\"x\"===J?0:-90))*Math.PI/180,rt=D*Math.cos(et),nt=j*Math.sin(et),it=Math.abs(rt)+Math.abs(nt),at=e[J+\"anchor\"],ot=e[J+\"shift\"]*(\"x\"===J?1:-1),st=S[J];if(tt){var lt=tt.r2fraction(e[J]);(lt<0||lt>1)&&(Q===K?((lt=tt.r2fraction(e[\"a\"+J]))<0||lt>1)&&(q=!0):q=!0),W=tt._offset+tt.r2p(e[J]),Z=.5}else\"x\"===J?(X=e[J],W=b.l+b.w*X):(X=1-e[J],W=b.t+b.h*X),Z=e.showarrow?.5:X;if(e.showarrow){st.head=W;var ct=e[\"a\"+J];$=rt*U(.5,e.xanchor)-nt*U(.5,e.yanchor),Q===K?(st.tail=tt._offset+tt.r2p(ct),Y=$):(st.tail=W+ct,Y=$+ct),st.text=st.tail+$;var ut=x[\"x\"===J?\"width\":\"height\"];if(\"paper\"===K&&(st.head=o.constrain(st.head,1,ut-1)),\"pixel\"===Q){var ft=-Math.max(st.tail-3,st.text),ht=Math.min(st.tail+3,st.text)-ut;ft>0?(st.tail+=ft,st.text+=ft):ht>0&&(st.tail-=ht,st.text-=ht)}st.tail+=ot,st.head+=ot}else Y=$=it*U(Z,at),st.text=W+$;st.text+=ot,$+=ot,Y+=ot,e[\"_\"+J+\"padplus\"]=it/2+Y,e[\"_\"+J+\"padminus\"]=it/2-Y,e[\"_\"+J+\"size\"]=it,e[\"_\"+J+\"shift\"]=$}if(t._dragging||!q){var pt=0,dt=0;if(\"left\"!==e.align&&(pt=(w-v)*(\"center\"===e.align?.5:1)),\"top\"!==e.valign&&(dt=(P-y)*(\"middle\"===e.valign?.5:1)),u)n.select(\"svg\").attr({x:R+pt-1,y:R+dt}).call(c.setClipUrl,F?T:null);else{var gt=R+dt-d.top,mt=R+pt-d.left;V.call(f.positionText,mt,gt).call(c.setClipUrl,F?T:null)}N.select(\"rect\").call(c.setRect,R,R,w,P),B.call(c.setRect,I/2,I/2,D-I,j-I),O.call(c.setTranslate,Math.round(S.x.text-D/2),Math.round(S.y.text-j/2)),L.attr({transform:\"rotate(\"+E+\",\"+S.x.text+\",\"+S.y.text+\")\"});var vt,yt=function(r,n){C.selectAll(\".annotation-arrow-g\").remove();var u=S.x.head,f=S.y.head,h=S.x.tail+r,d=S.y.tail+n,v=S.x.text+r,y=S.y.text+n,x=o.rotationXYMatrix(E,v,y),w=o.apply2DTransform(x),T=o.apply2DTransform2(x),z=+B.attr(\"width\"),P=+B.attr(\"height\"),I=v-.5*z,D=I+z,R=y-.5*P,F=R+P,N=[[I,R,I,F],[I,F,D,F],[D,F,D,R],[D,R,I,R]].map(T);if(!N.reduce(function(t,e){return t^!!o.segmentsIntersect(u,f,u+1e6,f+1e6,e[0],e[1],e[2],e[3])},!1)){N.forEach(function(t){var e=o.segmentsIntersect(h,d,u,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,d=e.y)});var j=e.arrowwidth,V=e.arrowcolor,U=e.arrowside,q=C.append(\"g\").style({opacity:l.opacity(V)}).classed(\"annotation-arrow-g\",!0),H=q.append(\"path\").attr(\"d\",\"M\"+h+\",\"+d+\"L\"+u+\",\"+f).style(\"stroke-width\",j+\"px\").call(l.stroke,l.rgb(V));if(g(H,U,e),_.annotationPosition&&H.node().parentNode&&!a){var G=u,W=f;if(e.standoff){var Y=Math.sqrt(Math.pow(u-h,2)+Math.pow(f-d,2));G+=e.standoff*(h-u)/Y,W+=e.standoff*(d-f)/Y}var X,Z,$=q.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(h-G)+\",\"+(d-W),transform:\"translate(\"+G+\",\"+W+\")\"}).style(\"stroke-width\",j+6+\"px\").call(l.stroke,\"rgba(0,0,0,0)\").call(l.fill,\"rgba(0,0,0,0)\");p.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(O);X=t.x,Z=t.y,s&&s.autorange&&k(s._name+\".autorange\",!0),m&&m.autorange&&k(m._name+\".autorange\",!0)},moveFn:function(t,r){var n=w(X,Z),i=n[0]+t,a=n[1]+r;O.call(c.setTranslate,i,a),M(\"x\",s?s.p2r(s.r2p(e.x)+t):e.x+t/b.w),M(\"y\",m?m.p2r(m.r2p(e.y)+r):e.y-r/b.h),e.axref===e.xref&&M(\"ax\",s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&M(\"ay\",m.p2r(m.r2p(e.ay)+r)),q.attr(\"transform\",\"translate(\"+t+\",\"+r+\")\"),L.attr({transform:\"rotate(\"+E+\",\"+i+\",\"+a+\")\"})},doneFn:function(){i.call(\"relayout\",t,A());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&yt(0,0),z)p.init({element:O.node(),gd:t,prepFn:function(){vt=L.attr(\"transform\")},moveFn:function(t,r){var n=\"pointer\";if(e.showarrow)e.axref===e.xref?M(\"ax\",s.p2r(s.r2p(e.ax)+t)):M(\"ax\",e.ax+t),e.ayref===e.yref?M(\"ay\",m.p2r(m.r2p(e.ay)+r)):M(\"ay\",e.ay+r),yt(t,r);else{if(a)return;var i,o;if(s)i=s.p2r(s.r2p(e.x)+t);else{var l=e._xsize/b.w,c=e.x+(e._xshift-e.xshift)/b.w-l/2;i=p.align(c+t/b.w,l,0,1,e.xanchor)}if(m)o=m.p2r(m.r2p(e.y)+r);else{var u=e._ysize/b.h,f=e.y-(e._yshift+e.yshift)/b.h-u/2;o=p.align(f-r/b.h,u,0,1,e.yanchor)}M(\"x\",i),M(\"y\",o),s&&m||(n=p.getCursor(s?.5:i,m?.5:o,e.xanchor,e.yanchor))}L.attr({transform:\"translate(\"+t+\",\"+r+\")\"+vt}),h(O,n)},doneFn:function(){h(O),i.call(\"relayout\",t,A());var e=document.querySelector(\".js-notes-box-panel\");e&&e.redraw(e.selectedObj)}})}else O.remove()}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(\".annotation\").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&m(t,r);return a.previousPromises(t)},drawOne:m,drawRaw:v}},{\"../../lib\":693,\"../../lib/setcursor\":714,\"../../lib/svg_text_utils\":718,\"../../plot_api/plot_template\":732,\"../../plots/cartesian/axes\":742,\"../../plots/plots\":805,\"../../registry\":825,\"../color\":567,\"../dragelement\":589,\"../drawing\":592,\"../fx\":609,\"./draw_arrow_head\":557,d3:147}],557:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../color\"),a=t(\"./arrow_paths\");e.exports=function(t,e,r){var o,s,l,c,u=t.node(),f=a[r.arrowhead||0],h=a[r.startarrowhead||0],p=(r.arrowwidth||1)*(r.arrowsize||1),d=(r.arrowwidth||1)*(r.startarrowsize||1),g=e.indexOf(\"start\")>=0,m=e.indexOf(\"end\")>=0,v=f.backoff*p+r.standoff,y=h.backoff*d+r.startstandoff;if(\"line\"===u.nodeName){o={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},s={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var x=o.x-s.x,b=o.y-s.y;if(c=(l=Math.atan2(b,x))+Math.PI,v&&y&&v+y>Math.sqrt(x*x+b*b))return void z();if(v){if(v*v>x*x+b*b)return void z();var _=v*Math.cos(l),w=v*Math.sin(l);s.x+=_,s.y+=w,t.attr({x2:s.x,y2:s.y})}if(y){if(y*y>x*x+b*b)return void z();var k=y*Math.cos(l),M=y*Math.sin(l);o.x-=k,o.y-=M,t.attr({x1:o.x,y1:o.y})}}else if(\"path\"===u.nodeName){var A=u.getTotalLength(),T=\"\";if(A<v+y)return void z();var S=u.getPointAtLength(0),E=u.getPointAtLength(.1);l=Math.atan2(S.y-E.y,S.x-E.x),o=u.getPointAtLength(Math.min(y,A)),T=\"0px,\"+y+\"px,\";var C=u.getPointAtLength(A),L=u.getPointAtLength(A-.1);c=Math.atan2(C.y-L.y,C.x-L.x),s=u.getPointAtLength(Math.max(0,A-v)),T+=A-(T?y+v:v)+\"px,\"+A+\"px\",t.style(\"stroke-dasharray\",T)}function z(){t.style(\"stroke-dasharray\",\"0px,100px\")}function P(e,a,o,s){e.path&&(e.noRotate&&(o=0),n.select(u.parentNode).append(\"path\").attr({class:t.attr(\"class\"),d:e.path,transform:\"translate(\"+a.x+\",\"+a.y+\")\"+(o?\"rotate(\"+180*o/Math.PI+\")\":\"\")+\"scale(\"+s+\")\"}).style({fill:i.rgb(r.arrowcolor),\"stroke-width\":0}))}g&&P(h,o,l,d),m&&P(f,s,c,p)}},{\"../color\":567,\"./arrow_paths\":549,d3:147}],558:[function(t,e,r){\"use strict\";var n=t(\"./draw\"),i=t(\"./click\");e.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),includeBasePlot:t(\"../../plots/cartesian/include_components\")(\"annotations\"),calcAutorange:t(\"./calc_autorange\"),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:t(\"./convert_coords\")}},{\"../../plots/cartesian/include_components\":752,\"./attributes\":550,\"./calc_autorange\":551,\"./click\":552,\"./convert_coords\":554,\"./defaults\":555,\"./draw\":556}],559:[function(t,e,r){\"use strict\";var n=t(\"../annotations/attributes\"),i=t(\"../../plot_api/edit_types\").overrideAll,a=t(\"../../plot_api/plot_template\").templatedArray;e.exports=i(a(\"annotation\",{visible:n.visible,x:{valType:\"any\"},y:{valType:\"any\"},z:{valType:\"any\"},ax:{valType:\"number\"},ay:{valType:\"number\"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),\"calc\",\"from-root\")},{\"../../plot_api/edit_types\":725,\"../../plot_api/plot_template\":732,\"../annotations/attributes\":550}],560:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\");function a(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:\"linear\",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),i.setConvert(t._xa),t._xa._offset=a.l+r.x[0]*a.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*a.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),i.setConvert(t._ya),t._ya._offset=a.t+(1-r.y[1])*a.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*a.h*(r.y[1]-r.y[0])}}e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)a(e[r],t);t.fullLayout._infolayer.selectAll(\".annotation-\"+t.id).remove()}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742}],561:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/array_container_defaults\"),o=t(\"../annotations/common_defaults\"),s=t(\"./attributes\");function l(t,e,r,a){function l(r,i){return n.coerce(t,e,s,r,i)}function c(t){var n=t+\"axis\",a={_fullLayout:{}};return a._fullLayout[n]=r[n],i.coercePosition(e,a,l,t,t,.5)}l(\"visible\")&&(o(t,e,a.fullLayout,l),c(\"x\"),c(\"y\"),c(\"z\"),n.noneOrAll(t,e,[\"x\",\"y\",\"z\"]),e.xref=\"x\",e.yref=\"y\",e.zref=\"z\",l(\"xanchor\"),l(\"yanchor\"),l(\"xshift\"),l(\"yshift\"),e.showarrow&&(e.axref=\"pixel\",e.ayref=\"pixel\",l(\"ax\",-10),l(\"ay\",-30),n.noneOrAll(t,e,[\"ax\",\"ay\"])))}e.exports=function(t,e,r){a(t,e,{name:\"annotations\",handleItemDefaults:l,fullLayout:r.fullLayout})}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"../../plots/cartesian/axes\":742,\"../annotations/common_defaults\":553,\"./attributes\":559}],562:[function(t,e,r){\"use strict\";var n=t(\"../annotations/draw\").drawRaw,i=t(\"../../plots/gl3d/project\"),a=[\"x\",\"y\",\"z\"];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s<o.length;s++){for(var l=o[s],c=!1,u=0;u<3;u++){var f=a[u],h=l[f],p=e[f+\"axis\"].r2fraction(h);if(p<0||p>1){c=!0;break}}c?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+s+'\"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{\"../../plots/gl3d/project\":793,\"../annotations/draw\":556}],563:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\");e.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:t(\"./attributes\")}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var a=r.attrRegex,o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];a.test(l)&&(t[l].annotations||[]).length&&(i.pushUnique(e._basePlotModules,r),i.pushUnique(e._subplots.gl3d,l))}},convert:t(\"./convert\"),draw:t(\"./draw\")}},{\"../../lib\":693,\"../../registry\":825,\"./attributes\":559,\"./convert\":560,\"./defaults\":561,\"./draw\":562}],564:[function(t,e,r){\"use strict\";e.exports=t(\"world-calendars/dist/main\"),t(\"world-calendars/dist/plus\"),t(\"world-calendars/dist/calendars/chinese\"),t(\"world-calendars/dist/calendars/coptic\"),t(\"world-calendars/dist/calendars/discworld\"),t(\"world-calendars/dist/calendars/ethiopian\"),t(\"world-calendars/dist/calendars/hebrew\"),t(\"world-calendars/dist/calendars/islamic\"),t(\"world-calendars/dist/calendars/julian\"),t(\"world-calendars/dist/calendars/mayan\"),t(\"world-calendars/dist/calendars/nanakshahi\"),t(\"world-calendars/dist/calendars/nepali\"),t(\"world-calendars/dist/calendars/persian\"),t(\"world-calendars/dist/calendars/taiwan\"),t(\"world-calendars/dist/calendars/thai\"),t(\"world-calendars/dist/calendars/ummalqura\")},{\"world-calendars/dist/calendars/chinese\":531,\"world-calendars/dist/calendars/coptic\":532,\"world-calendars/dist/calendars/discworld\":533,\"world-calendars/dist/calendars/ethiopian\":534,\"world-calendars/dist/calendars/hebrew\":535,\"world-calendars/dist/calendars/islamic\":536,\"world-calendars/dist/calendars/julian\":537,\"world-calendars/dist/calendars/mayan\":538,\"world-calendars/dist/calendars/nanakshahi\":539,\"world-calendars/dist/calendars/nepali\":540,\"world-calendars/dist/calendars/persian\":541,\"world-calendars/dist/calendars/taiwan\":542,\"world-calendars/dist/calendars/thai\":543,\"world-calendars/dist/calendars/ummalqura\":544,\"world-calendars/dist/main\":545,\"world-calendars/dist/plus\":546}],565:[function(t,e,r){\"use strict\";var n=t(\"./calendars\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\"),o=a.EPOCHJD,s=a.ONEDAY,l={valType:\"enumerated\",values:Object.keys(n.calendars),editType:\"calc\",dflt:\"gregorian\"},c=function(t,e,r,n){var a={};return a[r]=l,i.coerce(t,e,a,r,n)},u=\"##\",f={d:{0:\"dd\",\"-\":\"d\"},e:{0:\"d\",\"-\":\"d\"},a:{0:\"D\",\"-\":\"D\"},A:{0:\"DD\",\"-\":\"DD\"},j:{0:\"oo\",\"-\":\"o\"},W:{0:\"ww\",\"-\":\"w\"},m:{0:\"mm\",\"-\":\"m\"},b:{0:\"M\",\"-\":\"M\"},B:{0:\"MM\",\"-\":\"MM\"},y:{0:\"yy\",\"-\":\"yy\"},Y:{0:\"yyyy\",\"-\":\"yyyy\"},U:u,w:u,c:{0:\"D M d %X yyyy\",\"-\":\"D M d %X yyyy\"},x:{0:\"mm/dd/yyyy\",\"-\":\"mm/dd/yyyy\"}};var h={};function p(t){var e=h[t];return e||(e=h[t]=n.instance(t))}function d(t){return i.extendFlat({},l,{description:t})}function g(t){return\"Sets the calendar system to use with `\"+t+\"` date data.\"}var m={xcalendar:d(g(\"x\"))},v=i.extendFlat({},m,{ycalendar:d(g(\"y\"))}),y=i.extendFlat({},v,{zcalendar:d(g(\"z\"))}),x=d([\"Sets the calendar system to use for `range` and `tick0`\",\"if this is a date axis. This does not set the calendar for\",\"interpreting data on this axis, that's specified in the trace\",\"or via the global `layout.calendar`\"].join(\" \"));e.exports={moduleType:\"component\",name:\"calendars\",schema:{traces:{scatter:v,bar:v,box:v,heatmap:v,contour:v,histogram:v,histogram2d:v,histogram2dcontour:v,scatter3d:y,surface:y,mesh3d:y,scattergl:v,ohlc:m,candlestick:m},layout:{calendar:d([\"Sets the default calendar system to use for interpreting and\",\"displaying dates throughout the plot.\"].join(\" \"))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:d([\"Sets the calendar system to use for `value`, if it is a date.\"].join(\" \")),targetcalendar:d([\"Sets the calendar system to use for `target`, if it is an\",\"array of dates. If `target` is a string (eg *x*) we use the\",\"corresponding trace attribute (eg `xcalendar`) if it exists,\",\"even if `targetcalendar` is provided.\"].join(\" \"))}}},layoutAttributes:l,handleDefaults:c,handleTraceDefaults:function(t,e,r,n){for(var i=0;i<r.length;i++)c(t,e,r[i]+\"calendar\",n.calendar)},CANONICAL_SUNDAY:{chinese:\"2000-01-02\",coptic:\"2000-01-03\",discworld:\"2000-01-03\",ethiopian:\"2000-01-05\",hebrew:\"5000-01-01\",islamic:\"1000-01-02\",julian:\"2000-01-03\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-05\",nepali:\"2000-01-05\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-04\",thai:\"2000-01-04\",ummalqura:\"1400-01-06\"},CANONICAL_TICK:{chinese:\"2000-01-01\",coptic:\"2000-01-01\",discworld:\"2000-01-01\",ethiopian:\"2000-01-01\",hebrew:\"5000-01-01\",islamic:\"1000-01-01\",julian:\"2000-01-01\",mayan:\"5000-01-01\",nanakshahi:\"1000-01-01\",nepali:\"2000-01-01\",persian:\"1000-01-01\",jalali:\"1000-01-01\",taiwan:\"1000-01-01\",thai:\"2000-01-01\",ummalqura:\"1400-01-01\"},DFLTRANGE:{chinese:[\"2000-01-01\",\"2001-01-01\"],coptic:[\"1700-01-01\",\"1701-01-01\"],discworld:[\"1800-01-01\",\"1801-01-01\"],ethiopian:[\"2000-01-01\",\"2001-01-01\"],hebrew:[\"5700-01-01\",\"5701-01-01\"],islamic:[\"1400-01-01\",\"1401-01-01\"],julian:[\"2000-01-01\",\"2001-01-01\"],mayan:[\"5200-01-01\",\"5201-01-01\"],nanakshahi:[\"0500-01-01\",\"0501-01-01\"],nepali:[\"2000-01-01\",\"2001-01-01\"],persian:[\"1400-01-01\",\"1401-01-01\"],jalali:[\"1400-01-01\",\"1401-01-01\"],taiwan:[\"0100-01-01\",\"0101-01-01\"],thai:[\"2500-01-01\",\"2501-01-01\"],ummalqura:[\"1400-01-01\",\"1401-01-01\"]},getCal:p,worldCalFmt:function(t,e,r){for(var n,i,a,l,c,h=Math.floor((e+.05)/s)+o,d=p(r).fromJD(h),g=0;-1!==(g=t.indexOf(\"%\",g));)\"0\"===(n=t.charAt(g+1))||\"-\"===n||\"_\"===n?(a=3,i=t.charAt(g+2),\"_\"===n&&(n=\"-\")):(i=n,n=\"0\",a=2),(l=f[i])?(c=l===u?u:d.formatDate(l[n]),t=t.substr(0,g)+c+t.substr(g+a),g+=c.length):g+=a;return t}}},{\"../../constants/numerical\":670,\"../../lib\":693,\"./calendars\":564}],566:[function(t,e,r){\"use strict\";r.defaults=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"],r.defaultLine=\"#444\",r.lightLine=\"#eee\",r.background=\"#fff\",r.borderLine=\"#BEC8D9\",r.lightFraction=1e3/11},{}],567:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\"),i=t(\"fast-isnumeric\"),a=e.exports={},o=t(\"./attributes\");a.defaults=o.defaults;var s=a.defaultLine=o.defaultLine;a.lightLine=o.lightLine;var l=a.background=o.background;function c(t){if(i(t)||\"string\"!=typeof t)return t;var e=t.trim();if(\"rgb\"!==e.substr(0,3))return t;var r=e.match(/^rgba?\\s*\\(([^()]*)\\)$/);if(!r)return t;var n=r[1].trim().split(/\\s*[\\s,]\\s*/),a=\"a\"===e.charAt(3)&&4===n.length;if(!a&&3!==n.length)return t;for(var o=0;o<n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]>=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+\", \"+Math.round(255*n[1])+\", \"+Math.round(255*n[2]);return a?\"rgba(\"+s+\", \"+n[3]+\")\":\"rgb(\"+s+\")\"}a.tinyRGB=function(t){var e=t.toRgb();return\"rgb(\"+Math.round(e.r)+\", \"+Math.round(e.g)+\", \"+Math.round(e.b)+\")\"},a.rgb=function(t){return a.tinyRGB(n(t))},a.opacity=function(t){return t?n(t).getAlpha():0},a.addOpacity=function(t,e){var r=n(t).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+e+\")\"},a.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||l).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},a.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(a.combine(t,l))),(i.isDark()?e?i.lighten(e):l:r?i.darken(r):s).toString()},a.stroke=function(t,e){var r=n(e);t.style({stroke:a.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})},a.fill=function(t,e){var r=n(e);t.style({fill:a.tinyRGB(r),\"fill-opacity\":r.getAlpha()})},a.clean=function(t){if(t&&\"object\"==typeof t){var e,r,n,i,o=Object.keys(t);for(e=0;e<o.length;e++)if(i=t[n=o[e]],\"color\"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=c(i[r]);else t[n]=c(i);else if(\"colorscale\"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=c(i[r][1]));else if(Array.isArray(i)){var s=i[0];if(!Array.isArray(s)&&s&&\"object\"==typeof s)for(r=0;r<i.length;r++)a.clean(i[r])}else i&&\"object\"==typeof i&&a.clean(i)}}},{\"./attributes\":566,\"fast-isnumeric\":213,tinycolor2:511}],568:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/layout_attributes\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"../../plot_api/edit_types\").overrideAll;e.exports=o({thicknessmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\"},thickness:{valType:\"number\",min:0,dflt:30},lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",dflt:1.02,min:-2,max:3},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},xpad:{valType:\"number\",min:0,dflt:10},y:{valType:\"number\",dflt:.5,min:-2,max:3},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\"},ypad:{valType:\"number\",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:\"\"}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:i({}),tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,showexponent:n.showexponent,title:{valType:\"string\"},titlefont:i({}),titleside:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"],dflt:\"top\"}},\"colorbars\",\"from-root\")},{\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/cartesian/layout_attributes\":754,\"../../plots/font_attributes\":768}],569:[function(t,e,r){\"use strict\";var n=t(\"./draw\");e.exports=function(t,e,r){if(\"function\"==typeof r)return r(t,e);var i=e[0].trace,a=\"cb\"+i.uid,o=r.container,s=o?i[o]:i;(t._fullLayout._infolayer.selectAll(\".\"+a).remove(),s&&s.showscale)&&(e[0].t.cb=n(t,a)).fillgradient(s.colorscale).zrange([s[r.min],s[r.max]]).options(s.colorbar)()}},{\"./draw\":572}],570:[function(t,e,r){\"use strict\";e.exports={cn:{colorbar:\"colorbar\",cbbg:\"cbbg\",cbfill:\"cbfill\",cbfills:\"cbfills\",cbline:\"cbline\",cblines:\"cblines\",cbaxis:\"cbaxis\",cbtitleunshift:\"cbtitleunshift\",cbtitle:\"cbtitle\",cboutline:\"cboutline\",crisp:\"crisp\",jsPlaceholder:\"js-placeholder\"}}},{}],571:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plot_api/plot_template\"),a=t(\"../../plots/cartesian/tick_value_defaults\"),o=t(\"../../plots/cartesian/tick_mark_defaults\"),s=t(\"../../plots/cartesian/tick_label_defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r){var c=i.newContainer(e,\"colorbar\"),u=t.colorbar||{};function f(t,e){return n.coerce(u,c,l,t,e)}var h=f(\"thicknessmode\");f(\"thickness\",\"fraction\"===h?30/(r.width-r.margin.l-r.margin.r):30);var p=f(\"lenmode\");f(\"len\",\"fraction\"===p?1:r.height-r.margin.t-r.margin.b),f(\"x\"),f(\"xanchor\"),f(\"xpad\"),f(\"y\"),f(\"yanchor\"),f(\"ypad\"),n.noneOrAll(u,c,[\"x\",\"y\"]),f(\"outlinecolor\"),f(\"outlinewidth\"),f(\"bordercolor\"),f(\"borderwidth\"),f(\"bgcolor\"),a(u,c,f,\"linear\");var d={outerTicks:!1,font:r.font};s(u,c,f,\"linear\",d),o(u,c,f,\"linear\",d),f(\"title\",r._dfltTitle.colorbar),n.coerceFont(f,\"titlefont\",r.font),f(\"titleside\")}},{\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../plots/cartesian/tick_label_defaults\":761,\"../../plots/cartesian/tick_mark_defaults\":762,\"../../plots/cartesian/tick_value_defaults\":763,\"./attributes\":568}],572:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../dragelement\"),c=t(\"../../lib\"),u=t(\"../../lib/extend\").extendFlat,f=t(\"../../lib/setcursor\"),h=t(\"../drawing\"),p=t(\"../color\"),d=t(\"../titles\"),g=t(\"../../lib/svg_text_utils\"),m=t(\"../../constants/alignment\"),v=m.LINE_SPACING,y=m.FROM_TL,x=m.FROM_BR,b=t(\"../../plots/cartesian/axis_defaults\"),_=t(\"../../plots/cartesian/position_defaults\"),w=t(\"../../plots/cartesian/layout_attributes\"),k=t(\"./attributes\"),M=t(\"./constants\").cn;e.exports=function(t,e){var r={};for(var m in k)r[m]=null;function A(){var m=t._fullLayout,k=m._size;if(\"function\"==typeof r.fillcolor||\"function\"==typeof r.line.color||r.fillgradient){var S,E,C=r.zrange||n.extent((\"function\"==typeof r.fillcolor?r.fillcolor:r.line.color).domain()),L=[],z=[],P=\"function\"==typeof r.line.color?r.line.color:function(){return r.line.color},O=\"function\"==typeof r.fillcolor?r.fillcolor:function(){return r.fillcolor},I=r.levels.end+r.levels.size/100,D=r.levels.size,R=1.001*C[0]-.001*C[1],B=1.001*C[1]-.001*C[0];for(E=0;E<1e5&&(S=r.levels.start+E*D,!(D>0?S>=I:S<=I));E++)S>R&&S<B&&L.push(S);if(r.fillgradient)z=[0];else if(\"function\"==typeof r.fillcolor)if(r.filllevels)for(I=r.filllevels.end+r.filllevels.size/100,D=r.filllevels.size,E=0;E<1e5&&(S=r.filllevels.start+E*D,!(D>0?S>=I:S<=I));E++)S>C[0]&&S<C[1]&&z.push(S);else(z=L.map(function(t){return t-r.levels.size/2})).push(z[z.length-1]+r.levels.size);else r.fillcolor&&\"string\"==typeof r.fillcolor&&(z=[0]);r.levels.size<0&&(L.reverse(),z.reverse());var F,N=k.h,j=k.w,V=Math.round(r.thickness*(\"fraction\"===r.thicknessmode?j:1)),U=V/k.w,q=Math.round(r.len*(\"fraction\"===r.lenmode?N:1)),H=q/k.h,G=r.xpad/k.w,W=(r.borderwidth+r.outlinewidth)/2,Y=r.ypad/k.h,X=Math.round(r.x*k.w+r.xpad),Z=r.x-U*({middle:.5,right:1}[r.xanchor]||0),$=r.y+H*(({top:-.5,bottom:.5}[r.yanchor]||0)-.5),J=Math.round(k.h*(1-$)),K=J-q,Q={type:\"linear\",range:C,tickmode:r.tickmode,nticks:r.nticks,tick0:r.tick0,dtick:r.dtick,tickvals:r.tickvals,ticktext:r.ticktext,ticks:r.ticks,ticklen:r.ticklen,tickwidth:r.tickwidth,tickcolor:r.tickcolor,showticklabels:r.showticklabels,tickfont:r.tickfont,tickangle:r.tickangle,tickformat:r.tickformat,exponentformat:r.exponentformat,separatethousands:r.separatethousands,showexponent:r.showexponent,showtickprefix:r.showtickprefix,tickprefix:r.tickprefix,showticksuffix:r.showticksuffix,ticksuffix:r.ticksuffix,title:r.title,titlefont:r.titlefont,showline:!0,anchor:\"free\",position:1},tt={type:\"linear\",_id:\"y\"+e},et={letter:\"y\",font:m.font,noHover:!0,calendar:m.calendar};if(b(Q,tt,mt,et,m),_(Q,tt,mt,et),tt.position=r.x+G+U,A.axis=tt,-1!==[\"top\",\"bottom\"].indexOf(r.titleside)&&(tt.titleside=r.titleside,tt.titlex=r.x+G,tt.titley=$+(\"top\"===r.titleside?H-Y:Y)),r.line.color&&\"auto\"===r.tickmode){tt.tickmode=\"linear\",tt.tick0=r.levels.start;var rt=r.levels.size,nt=c.constrain((J-K)/50,4,15)+1,it=(C[1]-C[0])/((r.nticks||nt)*rt);if(it>1){var at=Math.pow(10,Math.floor(Math.log(it)/Math.LN10));rt*=at*c.roundUp(it/at,[2,5,10]),(Math.abs(r.levels.start)/r.levels.size+1e-6)%1<2e-6&&(tt.tick0=0)}tt.dtick=rt}tt.domain=[$+Y,$+H-Y],tt.setScale();var ot=c.ensureSingle(m._infolayer,\"g\",e,function(t){t.classed(M.colorbar,!0).each(function(){var t=n.select(this);t.append(\"rect\").classed(M.cbbg,!0),t.append(\"g\").classed(M.cbfills,!0),t.append(\"g\").classed(M.cblines,!0),t.append(\"g\").classed(M.cbaxis,!0).classed(M.crisp,!0),t.append(\"g\").classed(M.cbtitleunshift,!0).append(\"g\").classed(M.cbtitle,!0),t.append(\"rect\").classed(M.cboutline,!0),t.select(\".cbtitle\").datum(0)})});ot.attr(\"transform\",\"translate(\"+Math.round(k.l)+\",\"+Math.round(k.t)+\")\");var st=ot.select(\".cbtitleunshift\").attr(\"transform\",\"translate(-\"+Math.round(k.l)+\",-\"+Math.round(k.t)+\")\");tt._axislayer=ot.select(\".cbaxis\");var lt=0;if(-1!==[\"top\",\"bottom\"].indexOf(r.titleside)){var ct,ut=k.l+(r.x+G)*k.w,ft=tt.titlefont.size;ct=\"top\"===r.titleside?(1-($+H-Y))*k.h+k.t+3+.75*ft:(1-($+Y))*k.h+k.t-3-.25*ft,vt(tt._id+\"title\",{attributes:{x:ut,y:ct,\"text-anchor\":\"start\"}})}var ht,pt,dt,gt=c.syncOrAsync([a.previousPromises,function(){if(-1!==[\"top\",\"bottom\"].indexOf(r.titleside)){var a=ot.select(\".cbtitle\"),o=a.select(\"text\"),l=[-r.outlinewidth/2,r.outlinewidth/2],u=a.select(\".h\"+tt._id+\"title-math-group\").node(),f=15.6;if(o.node()&&(f=parseInt(o.node().style.fontSize,10)*v),u?(lt=h.bBox(u).height)>f&&(l[1]-=(lt-f)/2):o.node()&&!o.classed(M.jsPlaceholder)&&(lt=h.bBox(o.node()).height),lt){if(lt+=5,\"top\"===r.titleside)tt.domain[1]-=lt/k.h,l[1]*=-1;else{tt.domain[0]+=lt/k.h;var p=g.lineCount(o);l[1]+=(1-p)*f}a.attr(\"transform\",\"translate(\"+l+\")\"),tt.setScale()}}ot.selectAll(\".cbfills,.cblines\").attr(\"transform\",\"translate(0,\"+Math.round(k.h*(1-tt.domain[1]))+\")\"),tt._axislayer.attr(\"transform\",\"translate(0,\"+Math.round(-k.t)+\")\");var d=ot.select(\".cbfills\").selectAll(\"rect.cbfill\").data(z);d.enter().append(\"rect\").classed(M.cbfill,!0).style(\"stroke\",\"none\"),d.exit().remove();var y=C.map(tt.c2p).map(Math.round).sort(function(t,e){return t-e});d.each(function(a,o){var s=[0===o?C[0]:(z[o]+z[o-1])/2,o===z.length-1?C[1]:(z[o]+z[o+1])/2].map(tt.c2p).map(Math.round);s[1]=c.constrain(s[1]+(s[1]>s[0])?1:-1,y[0],y[1]);var l=n.select(this).attr({x:X,width:Math.max(V,2),y:n.min(s),height:Math.max(n.max(s)-n.min(s),2)});if(r.fillgradient)h.gradient(l,t,e,\"vertical\",r.fillgradient,\"fill\");else{var u=O(a).replace(\"e-\",\"\");l.attr(\"fill\",i(u).toHexString())}});var x=ot.select(\".cblines\").selectAll(\"path.cbline\").data(r.line.color&&r.line.width?L:[]);return x.enter().append(\"path\").classed(M.cbline,!0),x.exit().remove(),x.each(function(t){n.select(this).attr(\"d\",\"M\"+X+\",\"+(Math.round(tt.c2p(t))+r.line.width/2%1)+\"h\"+V).call(h.lineGroupStyle,r.line.width,P(t),r.line.dash)}),tt._axislayer.selectAll(\"g.\"+tt._id+\"tick,path\").remove(),tt._pos=X+V+(r.outlinewidth||0)/2-(\"outside\"===r.ticks?1:0),tt.side=\"right\",c.syncOrAsync([function(){return s.doTicksSingle(t,tt,!0)},function(){if(-1===[\"top\",\"bottom\"].indexOf(r.titleside)){var e=tt.titlefont.size,i=tt._offset+tt._length/2,a=k.l+(tt.position||0)*k.w+(\"right\"===tt.side?10+e*(tt.showticklabels?1:.5):-10-e*(tt.showticklabels?.5:0));vt(\"h\"+tt._id+\"title\",{avoid:{selection:n.select(t).selectAll(\"g.\"+tt._id+\"tick\"),side:r.titleside,offsetLeft:k.l,offsetTop:0,maxShift:m.width},attributes:{x:a,y:i,\"text-anchor\":\"middle\"},transform:{rotate:\"-90\",offset:0}})}}])},a.previousPromises,function(){var n=V+r.outlinewidth/2+h.bBox(tt._axislayer.node()).width;if((F=st.select(\"text\")).node()&&!F.classed(M.jsPlaceholder)){var i,o=st.select(\".h\"+tt._id+\"title-math-group\").node();i=o&&-1!==[\"top\",\"bottom\"].indexOf(r.titleside)?h.bBox(o).width:h.bBox(st.node()).right-X-k.l,n=Math.max(n,i)}var s=2*r.xpad+n+r.borderwidth+r.outlinewidth/2,l=J-K;ot.select(\".cbbg\").attr({x:X-r.xpad-(r.borderwidth+r.outlinewidth)/2,y:K-W,width:Math.max(s,2),height:Math.max(l+2*W,2)}).call(p.fill,r.bgcolor).call(p.stroke,r.bordercolor).style({\"stroke-width\":r.borderwidth}),ot.selectAll(\".cboutline\").attr({x:X,y:K+r.ypad+(\"top\"===r.titleside?lt:0),width:Math.max(V,2),height:Math.max(l-2*r.ypad-lt,2)}).call(p.stroke,r.outlinecolor).style({fill:\"None\",\"stroke-width\":r.outlinewidth});var c=({center:.5,right:1}[r.xanchor]||0)*s;ot.attr(\"transform\",\"translate(\"+(k.l-c)+\",\"+k.t+\")\");var u={},f=y[r.yanchor],d=x[r.yanchor];\"pixels\"===r.lenmode?(u.y=r.y,u.t=l*f,u.b=l*d):(u.t=u.b=0,u.yt=r.y+r.len*f,u.yb=r.y-r.len*d);var g=y[r.xanchor],m=x[r.xanchor];if(\"pixels\"===r.thicknessmode)u.x=r.x,u.l=s*g,u.r=s*m;else{var v=s-V;u.l=v*g,u.r=v*m,u.xl=r.x-r.thickness*g,u.xr=r.x+r.thickness*m}a.autoMargin(t,e,u)}],t);if(gt&&gt.then&&(t._promises||[]).push(gt),t._context.edits.colorbarPosition)l.init({element:ot.node(),gd:t,prepFn:function(){ht=ot.attr(\"transform\"),f(ot)},moveFn:function(t,e){ot.attr(\"transform\",ht+\" translate(\"+t+\",\"+e+\")\"),pt=l.align(Z+t/k.w,U,0,1,r.xanchor),dt=l.align($-e/k.h,H,0,1,r.yanchor);var n=l.getCursor(pt,dt,r.xanchor,r.yanchor);f(ot,n)},doneFn:function(){f(ot),void 0!==pt&&void 0!==dt&&o.call(\"restyle\",t,{\"colorbar.x\":pt,\"colorbar.y\":dt},T().index)}});return gt}function mt(t,e){return c.coerce(Q,tt,w,t,e)}function vt(e,r){var n=T(),i=\"colorbar.title\",a=n._module.colorbar.container;a&&(i=a+\".\"+i);var o={propContainer:tt,propName:i,traceIndex:n.index,placeholder:m._dfltTitle.colorbar,containerGroup:ot.select(\".cbtitle\")},s=\"h\"===e.charAt(0)?e.substr(1):\"h\"+e;ot.selectAll(\".\"+s+\",.\"+s+\"-math-group\").remove(),d.draw(t,e,u(o,r||{}))}m._infolayer.selectAll(\"g.\"+e).remove()}function T(){var r,n,i=e.substr(2);for(r=0;r<t._fullData.length;r++)if((n=t._fullData[r]).uid===i)return n}return r.fillcolor=null,r.line={color:null,width:null,dash:null},r.levels={start:null,end:null,size:null},r.filllevels=null,r.fillgradient=null,r.zrange=null,Object.keys(r).forEach(function(t){A[t]=function(e){return arguments.length?(r[t]=c.isPlainObject(r[t])?c.extendFlat(r[t],e):e,A):r[t]}}),A.options=function(t){for(var e in t)\"function\"==typeof A[e]&&A[e](t[e]);return A},A._opts=r,A}},{\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/extend\":682,\"../../lib/setcursor\":714,\"../../lib/svg_text_utils\":718,\"../../plots/cartesian/axes\":742,\"../../plots/cartesian/axis_defaults\":744,\"../../plots/cartesian/layout_attributes\":754,\"../../plots/cartesian/position_defaults\":757,\"../../plots/plots\":805,\"../../registry\":825,\"../color\":567,\"../dragelement\":589,\"../drawing\":592,\"../titles\":658,\"./attributes\":568,\"./constants\":570,d3:147,tinycolor2:511}],573:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{\"../../lib\":693}],574:[function(t,e,r){\"use strict\";var n=t(\"./scales.js\");Object.keys(n);function i(t){return\"`\"+t+\"`\"}e.exports=function(t,e){t=t||\"\";var r,a=(e=e||{}).cLetter||\"c\",o=(\"onlyIfNumerical\"in e?e.onlyIfNumerical:Boolean(t),\"noScale\"in e?e.noScale:\"marker.line\"===t),s=\"showScaleDflt\"in e?e.showScaleDflt:\"z\"===a,l=\"string\"==typeof e.colorscaleDflt?n[e.colorscaleDflt]:null,c=e.editTypeOverride||\"\",u=t?t+\".\":\"\";\"colorAttr\"in e?(r=e.colorAttr,e.colorAttr):i(u+(r={z:\"z\",c:\"color\"}[a]));var f=a+\"auto\",h=a+\"min\",p=a+\"max\",d=(i(u+h),i(u+p),{});d[h]=d[p]=void 0;var g={};g[f]=!1;var m={};return\"color\"===r&&(m.color={valType:\"color\",arrayOk:!0,editType:c||\"style\"}),m[f]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:d},m[h]={valType:\"number\",dflt:null,editType:c||\"plot\",impliedEdits:g},m[p]={valType:\"number\",dflt:null,editType:c||\"plot\",impliedEdits:g},m.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:l,impliedEdits:{autocolorscale:!1}},m.autocolorscale={valType:\"boolean\",dflt:!1!==e.autoColorDflt,editType:\"calc\",impliedEdits:{colorscale:void 0}},m.reversescale={valType:\"boolean\",dflt:!1,editType:\"calc\"},o||(m.showscale={valType:\"boolean\",dflt:s,editType:\"calc\"}),m}},{\"./scales.js\":586}],575:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./scales\"),a=t(\"./flip_scale\");e.exports=function(t,e,r,o){var s=t,l=t._input,c=t._fullInput,u=t.updateStyle;function f(e,n,i){void 0===i&&(i=n),u?u(t._input,r?r+\".\"+e:e,n):l[e]=n,s[e]=i,c&&t!==t._fullInput&&(u?u(t._fullInput,r?r+\".\"+e:e,i):c[e]=i)}r&&(s=n.nestedProperty(s,r).get(),l=n.nestedProperty(l,r).get(),c=n.nestedProperty(c,r).get()||{});var h=o+\"auto\",p=o+\"min\",d=o+\"max\",g=s[h],m=s[p],v=s[d],y=s.colorscale;!1===g&&void 0!==m||(m=n.aggNums(Math.min,null,e)),!1===g&&void 0!==v||(v=n.aggNums(Math.max,null,e)),m===v&&(m-=.5,v+=.5),f(p,m),f(d,v),f(h,!1!==g||void 0===m&&void 0===v),s.autocolorscale&&(f(\"colorscale\",y=m*v<0?i.RdBu:m>=0?i.Reds:i.Blues,s.reversescale?a(y):y),l.autocolorscale||f(\"autocolorscale\",!1))}},{\"../../lib\":693,\"./flip_scale\":579,\"./scales\":586}],576:[function(t,e,r){\"use strict\";var n=t(\"./scales\");e.exports=n.RdBu},{\"./scales\":586}],577:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../colorbar/has_colorbar\"),o=t(\"../colorbar/defaults\"),s=t(\"./is_valid_scale\"),l=t(\"./flip_scale\");e.exports=function(t,e,r,c,u){var f,h=u.prefix,p=u.cLetter,d=h.slice(0,h.length-1),g=h?i.nestedProperty(t,d).get()||{}:t,m=h?i.nestedProperty(e,d).get()||{}:e,v=g[p+\"min\"],y=g[p+\"max\"],x=g.colorscale;c(h+p+\"auto\",!(n(v)&&n(y)&&v<y)),c(h+p+\"min\"),c(h+p+\"max\"),void 0!==x&&(f=!s(x)),c(h+\"autocolorscale\",f);var b,_=c(h+\"colorscale\");(c(h+\"reversescale\")&&(m.colorscale=l(_)),\"marker.line.\"!==h)&&(u.noScale||(h&&(b=a(g)),c(h+\"showscale\",b)&&o(g,m,r)))}},{\"../../lib\":693,\"../colorbar/defaults\":571,\"../colorbar/has_colorbar\":573,\"./flip_scale\":579,\"./is_valid_scale\":583,\"fast-isnumeric\":213}],578:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){for(var n=t.length,i=new Array(n),a=new Array(n),o=0;o<n;o++){var s=t[o];i[o]=e+s[0]*(r-e),a[o]=s[1]}return{domain:i,range:a}}},{}],579:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e,r=t.length,n=new Array(r),i=r-1,a=0;i>=0;i--,a++)e=t[i],n[a]=[1-e[0],e[1]];return n}},{}],580:[function(t,e,r){\"use strict\";var n=t(\"./scales\"),i=t(\"./default_scale\"),a=t(\"./is_valid_scale_array\");e.exports=function(t,e){if(e||(e=i),!t)return e;function r(){try{t=n[t]||JSON.parse(t)}catch(r){t=e}}return\"string\"==typeof t&&(r(),\"string\"==typeof t&&r()),a(t)?t:e}},{\"./default_scale\":576,\"./is_valid_scale_array\":584,\"./scales\":586}],581:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"./is_valid_scale\");e.exports=function(t,e){var r=e?i.nestedProperty(t,e).get()||{}:t,o=r.color,s=!1;if(i.isArrayOrTypedArray(o))for(var l=0;l<o.length;l++)if(n(o[l])){s=!0;break}return i.isPlainObject(r)&&(s||!0===r.showscale||n(r.cmin)&&n(r.cmax)||a(r.colorscale)||i.isPlainObject(r.colorbar))}},{\"../../lib\":693,\"./is_valid_scale\":583,\"fast-isnumeric\":213}],582:[function(t,e,r){\"use strict\";r.scales=t(\"./scales\"),r.defaultScale=t(\"./default_scale\"),r.attributes=t(\"./attributes\"),r.handleDefaults=t(\"./defaults\"),r.calc=t(\"./calc\"),r.hasColorscale=t(\"./has_colorscale\"),r.isValidScale=t(\"./is_valid_scale\"),r.getScale=t(\"./get_scale\"),r.flipScale=t(\"./flip_scale\"),r.extractScale=t(\"./extract_scale\"),r.makeColorScaleFunc=t(\"./make_color_scale_func\")},{\"./attributes\":574,\"./calc\":575,\"./default_scale\":576,\"./defaults\":577,\"./extract_scale\":578,\"./flip_scale\":579,\"./get_scale\":580,\"./has_colorscale\":581,\"./is_valid_scale\":583,\"./make_color_scale_func\":585,\"./scales\":586}],583:[function(t,e,r){\"use strict\";var n=t(\"./scales\"),i=t(\"./is_valid_scale_array\");e.exports=function(t){return void 0!==n[t]||i(t)}},{\"./is_valid_scale_array\":584,\"./scales\":586}],584:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\");e.exports=function(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var i=t[r];if(2!==i.length||+i[0]<e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}},{tinycolor2:511}],585:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"fast-isnumeric\"),o=t(\"../color\");function s(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return i(e).toRgbString()}e.exports=function(t,e){e=e||{};for(var r=t.domain,l=t.range,c=l.length,u=new Array(c),f=0;f<c;f++){var h=i(l[f]).toRgb();u[f]=[h.r,h.g,h.b,h.a]}var p,d=n.scale.linear().domain(r).range(u).clamp(!0),g=e.noNumericCheck,m=e.returnArray;return(p=g&&m?d:g?function(t){return s(d(t))}:m?function(t){return a(t)?d(t):i(t).isValid()?t:o.defaultLine}:function(t){return a(t)?s(d(t)):i(t).isValid()?t:o.defaultLine}).domain=d.domain,p.range=function(){return l},p}},{\"../color\":567,d3:147,\"fast-isnumeric\":213,tinycolor2:511}],586:[function(t,e,r){\"use strict\";e.exports={Greys:[[0,\"rgb(0,0,0)\"],[1,\"rgb(255,255,255)\"]],YlGnBu:[[0,\"rgb(8,29,88)\"],[.125,\"rgb(37,52,148)\"],[.25,\"rgb(34,94,168)\"],[.375,\"rgb(29,145,192)\"],[.5,\"rgb(65,182,196)\"],[.625,\"rgb(127,205,187)\"],[.75,\"rgb(199,233,180)\"],[.875,\"rgb(237,248,217)\"],[1,\"rgb(255,255,217)\"]],Greens:[[0,\"rgb(0,68,27)\"],[.125,\"rgb(0,109,44)\"],[.25,\"rgb(35,139,69)\"],[.375,\"rgb(65,171,93)\"],[.5,\"rgb(116,196,118)\"],[.625,\"rgb(161,217,155)\"],[.75,\"rgb(199,233,192)\"],[.875,\"rgb(229,245,224)\"],[1,\"rgb(247,252,245)\"]],YlOrRd:[[0,\"rgb(128,0,38)\"],[.125,\"rgb(189,0,38)\"],[.25,\"rgb(227,26,28)\"],[.375,\"rgb(252,78,42)\"],[.5,\"rgb(253,141,60)\"],[.625,\"rgb(254,178,76)\"],[.75,\"rgb(254,217,118)\"],[.875,\"rgb(255,237,160)\"],[1,\"rgb(255,255,204)\"]],Bluered:[[0,\"rgb(0,0,255)\"],[1,\"rgb(255,0,0)\"]],RdBu:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(106,137,247)\"],[.5,\"rgb(190,190,190)\"],[.6,\"rgb(220,170,132)\"],[.7,\"rgb(230,145,90)\"],[1,\"rgb(178,10,28)\"]],Reds:[[0,\"rgb(220,220,220)\"],[.2,\"rgb(245,195,157)\"],[.4,\"rgb(245,160,105)\"],[1,\"rgb(178,10,28)\"]],Blues:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(40,60,190)\"],[.5,\"rgb(70,100,245)\"],[.6,\"rgb(90,120,245)\"],[.7,\"rgb(106,137,247)\"],[1,\"rgb(220,220,220)\"]],Picnic:[[0,\"rgb(0,0,255)\"],[.1,\"rgb(51,153,255)\"],[.2,\"rgb(102,204,255)\"],[.3,\"rgb(153,204,255)\"],[.4,\"rgb(204,204,255)\"],[.5,\"rgb(255,255,255)\"],[.6,\"rgb(255,204,255)\"],[.7,\"rgb(255,153,255)\"],[.8,\"rgb(255,102,204)\"],[.9,\"rgb(255,102,102)\"],[1,\"rgb(255,0,0)\"]],Rainbow:[[0,\"rgb(150,0,90)\"],[.125,\"rgb(0,0,200)\"],[.25,\"rgb(0,25,255)\"],[.375,\"rgb(0,152,255)\"],[.5,\"rgb(44,255,150)\"],[.625,\"rgb(151,255,0)\"],[.75,\"rgb(255,234,0)\"],[.875,\"rgb(255,111,0)\"],[1,\"rgb(255,0,0)\"]],Portland:[[0,\"rgb(12,51,131)\"],[.25,\"rgb(10,136,186)\"],[.5,\"rgb(242,211,56)\"],[.75,\"rgb(242,143,56)\"],[1,\"rgb(217,30,30)\"]],Jet:[[0,\"rgb(0,0,131)\"],[.125,\"rgb(0,60,170)\"],[.375,\"rgb(5,255,255)\"],[.625,\"rgb(255,255,0)\"],[.875,\"rgb(250,0,0)\"],[1,\"rgb(128,0,0)\"]],Hot:[[0,\"rgb(0,0,0)\"],[.3,\"rgb(230,0,0)\"],[.6,\"rgb(255,210,0)\"],[1,\"rgb(255,255,255)\"]],Blackbody:[[0,\"rgb(0,0,0)\"],[.2,\"rgb(230,0,0)\"],[.4,\"rgb(230,210,0)\"],[.7,\"rgb(255,255,255)\"],[1,\"rgb(160,200,255)\"]],Earth:[[0,\"rgb(0,0,130)\"],[.1,\"rgb(0,180,180)\"],[.2,\"rgb(40,210,40)\"],[.4,\"rgb(230,230,50)\"],[.6,\"rgb(120,70,20)\"],[1,\"rgb(255,255,255)\"]],Electric:[[0,\"rgb(0,0,0)\"],[.15,\"rgb(30,0,100)\"],[.4,\"rgb(120,0,100)\"],[.6,\"rgb(160,90,0)\"],[.8,\"rgb(230,200,0)\"],[1,\"rgb(255,250,220)\"]],Viridis:[[0,\"#440154\"],[.06274509803921569,\"#48186a\"],[.12549019607843137,\"#472d7b\"],[.18823529411764706,\"#424086\"],[.25098039215686274,\"#3b528b\"],[.3137254901960784,\"#33638d\"],[.3764705882352941,\"#2c728e\"],[.4392156862745098,\"#26828e\"],[.5019607843137255,\"#21918c\"],[.5647058823529412,\"#1fa088\"],[.6274509803921569,\"#28ae80\"],[.6901960784313725,\"#3fbc73\"],[.7529411764705882,\"#5ec962\"],[.8156862745098039,\"#84d44b\"],[.8784313725490196,\"#addc30\"],[.9411764705882353,\"#d8e219\"],[1,\"#fde725\"]],Cividis:[[0,\"rgb(0,32,76)\"],[.058824,\"rgb(0,42,102)\"],[.117647,\"rgb(0,52,110)\"],[.176471,\"rgb(39,63,108)\"],[.235294,\"rgb(60,74,107)\"],[.294118,\"rgb(76,85,107)\"],[.352941,\"rgb(91,95,109)\"],[.411765,\"rgb(104,106,112)\"],[.470588,\"rgb(117,117,117)\"],[.529412,\"rgb(131,129,120)\"],[.588235,\"rgb(146,140,120)\"],[.647059,\"rgb(161,152,118)\"],[.705882,\"rgb(176,165,114)\"],[.764706,\"rgb(192,177,109)\"],[.823529,\"rgb(209,191,102)\"],[.882353,\"rgb(225,204,92)\"],[.941176,\"rgb(243,219,79)\"],[1,\"rgb(255,233,69)\"]]}},{}],587:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return\"left\"===i||\"bottom\"===i?a:\"center\"===i||\"middle\"===i?s:\"right\"===i||\"top\"===i?o:a<2/3-s?a:o>4/3-s?o:s}},{}],588:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];e.exports=function(t,e,r,a){return t=\"left\"===r?0:\"center\"===r?1:\"right\"===r?2:n.constrain(Math.floor(3*t),0,2),e=\"bottom\"===a?0:\"middle\"===a?1:\"top\"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},{\"../../lib\":693}],589:[function(t,e,r){\"use strict\";var n=t(\"mouse-event-offset\"),i=t(\"has-hover\"),a=t(\"has-passive-events\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../plots/cartesian/constants\"),c=t(\"../../constants/interactions\"),u=e.exports={};u.align=t(\"./align\"),u.getCursor=t(\"./cursor\");var f=t(\"./unhover\");function h(){var t=document.createElement(\"div\");t.className=\"dragcover\";var e=t.style;return e.position=\"fixed\",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background=\"none\",document.body.appendChild(t),t}function p(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}u.unhover=f.wrapped,u.unhoverRaw=f.raw,u.init=function(t){var e,r,n,f,d,g,m,v,y=t.gd,x=1,b=c.DBLCLICKDELAY,_=t.element;y._mouseDownTime||(y._mouseDownTime=0),_.style.pointerEvents=\"all\",_.onmousedown=k,a?(_._ontouchstart&&_.removeEventListener(\"touchstart\",_._ontouchstart),_._ontouchstart=k,_.addEventListener(\"touchstart\",k,{passive:!1})):_.ontouchstart=k;var w=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function k(a){a.preventDefault(),y._dragged=!1,y._dragging=!0;var o=p(a);e=o[0],r=o[1],m=a.target,g=a,v=2===a.buttons||a.ctrlKey,\"undefined\"==typeof a.clientX&&\"undefined\"==typeof a.clientY&&(a.clientX=e,a.clientY=r),(n=(new Date).getTime())-y._mouseDownTime<b?x+=1:(x=1,y._mouseDownTime=n),t.prepFn&&t.prepFn(a,e,r),i&&!v?(d=h()).style.cursor=window.getComputedStyle(_).cursor:i||(d=document,f=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(_).cursor),document.addEventListener(\"mousemove\",M),document.addEventListener(\"mouseup\",A),document.addEventListener(\"touchmove\",M),document.addEventListener(\"touchend\",A)}function M(n){n.preventDefault();var i=p(n),a=t.minDrag||l.MINDRAG,o=w(i[0]-e,i[1]-r,a),s=o[0],c=o[1];(s||c)&&(y._dragged=!0,u.unhover(y)),y._dragged&&t.moveFn&&!v&&t.moveFn(s,c)}function A(e){if(document.removeEventListener(\"mousemove\",M),document.removeEventListener(\"mouseup\",A),document.removeEventListener(\"touchmove\",M),document.removeEventListener(\"touchend\",A),e.preventDefault(),i?s.removeElement(d):f&&(d.documentElement.style.cursor=f,f=null),y._dragging){if(y._dragging=!1,(new Date).getTime()-y._mouseDownTime>b&&(x=Math.max(x-1,1)),y._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(x,g),!v){var r;try{r=new MouseEvent(\"click\",e)}catch(t){var n=p(e);(r=document.createEvent(\"MouseEvents\")).initMouseEvent(\"click\",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}m.dispatchEvent(r)}!function(t){t._dragging=!1,t._replotPending&&o.call(\"plot\",t)}(y),y._dragged=!1}else y._dragged=!1}},u.coverSlip=h},{\"../../constants/interactions\":669,\"../../lib\":693,\"../../plots/cartesian/constants\":747,\"../../registry\":825,\"./align\":587,\"./cursor\":588,\"./unhover\":590,\"has-hover\":391,\"has-passive-events\":392,\"mouse-event-offset\":416}],590:[function(t,e,r){\"use strict\";var n=t(\"../../lib/events\"),i=t(\"../../lib/throttle\"),a=t(\"../../lib/get_graph_div\"),o=t(\"../fx/constants\"),s=e.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!1===n.triggerHandler(t,\"plotly_beforehover\",e)||(r._hoverlayer.selectAll(\"g\").remove(),r._hoverlayer.selectAll(\"line\").remove(),r._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,e.target&&i&&t.emit(\"plotly_unhover\",{event:e,points:i}))}},{\"../../lib/events\":681,\"../../lib/get_graph_div\":688,\"../../lib/throttle\":719,\"../fx/constants\":604}],591:[function(t,e,r){\"use strict\";r.dash={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"}},{}],592:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"tinycolor2\"),o=t(\"../../registry\"),s=t(\"../color\"),l=t(\"../colorscale\"),c=t(\"../../lib\"),u=t(\"../../lib/svg_text_utils\"),f=t(\"../../constants/xmlns_namespaces\"),h=t(\"../../constants/alignment\").LINE_SPACING,p=t(\"../../constants/interactions\").DESELECTDIM,d=t(\"../../traces/scatter/subtypes\"),g=t(\"../../traces/scatter/make_bubble_size_func\"),m=e.exports={};m.font=function(t,e,r,n){c.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style(\"font-family\",e),r+1&&t.style(\"font-size\",r+\"px\"),n&&t.call(s.fill,n)},m.setPosition=function(t,e,r){t.attr(\"x\",e).attr(\"y\",r)},m.setSize=function(t,e,r){t.attr(\"width\",e).attr(\"height\",r)},m.setRect=function(t,e,r,n,i){t.call(m.setPosition,e,r).call(m.setSize,n,i)},m.translatePoint=function(t,e,r,n){var a=r.c2p(t.x),o=n.c2p(t.y);return!!(i(a)&&i(o)&&e.node())&&(\"text\"===e.node().nodeName?e.attr(\"x\",a).attr(\"y\",o):e.attr(\"transform\",\"translate(\"+a+\",\"+o+\")\"),!0)},m.translatePoints=function(t,e,r){t.each(function(t){var i=n.select(this);m.translatePoint(t,i,e,r)})},m.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr(\"display\",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:\"none\")},m.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each(function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,l=\"bar\"===a.type?\".bartext\":\".point,.textpoint\";t.selectAll(l).each(function(t){m.hideOutsideRangePoint(t,n.select(this),r,i,o,s)})})}},m.crispRound=function(t,e,r){return e&&i(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},m.singleLineStyle=function(t,e,r,n,i){e.style(\"fill\",\"none\");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,l=i||a.dash||\"\";s.stroke(e,n||a.color),m.dashLine(e,l,o)},m.lineGroupStyle=function(t,e,r,i){t.style(\"fill\",\"none\").each(function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,l=i||a.dash||\"\";n.select(this).call(s.stroke,r||a.color).call(m.dashLine,l,o)})},m.dashLine=function(t,e,r){r=+r||0,e=m.dashStyle(e,r),t.style({\"stroke-dasharray\":e,\"stroke-width\":r+\"px\"})},m.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return\"solid\"===t?t=\"\":\"dot\"===t?t=r+\"px,\"+r+\"px\":\"dash\"===t?t=3*r+\"px,\"+3*r+\"px\":\"longdash\"===t?t=5*r+\"px,\"+5*r+\"px\":\"dashdot\"===t?t=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":\"longdashdot\"===t&&(t=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),t},m.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},m.fillGroupStyle=function(t){t.style(\"stroke-width\",0).each(function(e){var r=n.select(this);try{r.call(s.fill,e[0].trace.fillcolor)}catch(e){c.error(e,t),r.remove()}})};var v=t(\"./symbol_defs\");m.symbolNames=[],m.symbolFuncs=[],m.symbolNeedLines={},m.symbolNoDot={},m.symbolNoFill={},m.symbolList=[],Object.keys(v).forEach(function(t){var e=v[t];m.symbolList=m.symbolList.concat([e.n,t,e.n+100,t+\"-open\"]),m.symbolNames[e.n]=t,m.symbolFuncs[e.n]=e.f,e.needLine&&(m.symbolNeedLines[e.n]=!0),e.noDot?m.symbolNoDot[e.n]=!0:m.symbolList=m.symbolList.concat([e.n+200,t+\"-dot\",e.n+300,t+\"-open-dot\"]),e.noFill&&(m.symbolNoFill[e.n]=!0)});var y=m.symbolNames.length,x=\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";function b(t,e){var r=t%100;return m.symbolFuncs[r](e)+(t>=200?x:\"\")}m.symbolNumber=function(t){if(\"string\"==typeof t){var e=0;t.indexOf(\"-open\")>0&&(e=100,t=t.replace(\"-open\",\"\")),t.indexOf(\"-dot\")>0&&(e+=200,t=t.replace(\"-dot\",\"\")),(t=m.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=y||t>=400?0:Math.floor(Math.max(t,0))};var _={x1:1,x2:0,y1:0,y2:0},w={x1:0,x2:0,y1:1,y2:0},k=n.format(\"~.1f\"),M={radial:{node:\"radialGradient\"},radialreversed:{node:\"radialGradient\",reversed:!0},horizontal:{node:\"linearGradient\",attrs:_},horizontalreversed:{node:\"linearGradient\",attrs:_,reversed:!0},vertical:{node:\"linearGradient\",attrs:w},verticalreversed:{node:\"linearGradient\",attrs:w,reversed:!0}};m.gradient=function(t,e,r,i,o,l){for(var u=o.length,f=M[i],h=new Array(u),p=0;p<u;p++)f.reversed?h[u-1-p]=[k(100*(1-o[p][0])),o[p][1]]:h[p]=[k(100*o[p][0]),o[p][1]];var d=\"g\"+e._fullLayout._uid+\"-\"+r,g=e._fullLayout._defs.select(\".gradients\").selectAll(\"#\"+d).data([i+h.join(\";\")],c.identity);g.exit().remove(),g.enter().append(f.node).each(function(){var t=n.select(this);f.attrs&&t.attr(f.attrs),t.attr(\"id\",d);var e=t.selectAll(\"stop\").data(h);e.exit().remove(),e.enter().append(\"stop\"),e.each(function(t){var e=a(t[1]);n.select(this).attr({offset:t[0]+\"%\",\"stop-color\":s.tinyRGB(e),\"stop-opacity\":e.getAlpha()})})}),t.style(l,\"url(#\"+d+\")\").style(l+\"-opacity\",null)},m.initGradients=function(t){c.ensureSingle(t._fullLayout._defs,\"g\",\"gradients\").selectAll(\"linearGradient,radialGradient\").remove()},m.pointStyle=function(t,e,r){if(t.size()){var i=m.makePointStyleFns(e);t.each(function(t){m.singlePointStyle(t,n.select(this),e,i,r)})}},m.singlePointStyle=function(t,e,r,n,i){var a=r.marker,o=a.line;if(e.style(\"opacity\",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?a.opacity:t.mo),n.ms2mrc){var l;l=\"various\"===t.ms||\"various\"===a.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=m.symbolNumber(t.mx||a.symbol)||0;t.om=u%200>=100,e.attr(\"d\",b(u,l))}var f,h,p,d=!1;if(t.so)p=o.outlierwidth,h=o.outliercolor,f=a.outliercolor;else{var g=(o||{}).width;p=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,h=\"mlc\"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(a.color)&&(f=s.defaultLine,d=!0),f=\"mc\"in t?t.mcc=n.markerScale(t.mc):a.color||\"rgba(0,0,0,0)\",n.selectedColorFn&&(f=n.selectedColorFn(t))}if(t.om)e.call(s.stroke,f).style({\"stroke-width\":(p||1)+\"px\",fill:\"none\"});else{e.style(\"stroke-width\",p+\"px\");var v=a.gradient,y=t.mgt;if(y?d=!0:y=v&&v.type,Array.isArray(y)&&(y=y[0],M[y]||(y=0)),y&&\"none\"!==y){var x=t.mgc;x?d=!0:x=v.color;var _=r.uid;d&&(_+=\"-\"+t.i),m.gradient(e,i,_,y,[[0,x],[1,f]],\"fill\")}else s.fill(e,f);p&&s.stroke(e,h)}},m.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=m.tryColorscale(r,\"\"),e.lineScale=m.tryColorscale(r,\"line\"),o.traceIs(t,\"symbols\")&&(e.ms2mrc=d.isBubble(t)?g(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,m.makeSelectedPointStyleFns(t)),e},m.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.marker||{},a=r.marker||{},s=n.marker||{},l=i.opacity,u=a.opacity,f=s.opacity,h=void 0!==u,d=void 0!==f;(c.isArrayOrTypedArray(l)||h||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?i.opacity:t.mo;return t.selected?h?u:e:d?f:p*e});var g=i.color,m=a.color,v=s.color;(m||v)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?m||e:v||e});var y=i.size,x=a.size,b=s.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,\"symbols\")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},m.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},l=i.color,c=a.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?c||e:u||(c?e:s.addOpacity(e,p))},e},m.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push(function(t,e){t.style(\"opacity\",r.selectedOpacityFn(e))}),r.selectedColorFn&&a.push(function(t,e){s.fill(t,r.selectedColorFn(e))}),r.selectedSizeFn&&a.push(function(t,e){var n=e.mx||i.symbol||0,a=r.selectedSizeFn(e);t.attr(\"d\",b(m.symbolNumber(n),a)),e.mrc2=a}),a.length&&t.each(function(t){for(var e=n.select(this),r=0;r<a.length;r++)a[r](e,t)})}},m.tryColorscale=function(t,e){var r=e?c.nestedProperty(t,e).get():t;if(r){var n=r.colorscale,i=r.color;if(n&&c.isArrayOrTypedArray(i))return l.makeColorScaleFunc(l.extractScale(n,r.cmin,r.cmax))}return c.identity};var A={start:1,end:-1,middle:0,bottom:1,top:-1};function T(t,e,r,i){var a=n.select(t.node().parentNode),o=-1!==e.indexOf(\"top\")?\"top\":-1!==e.indexOf(\"bottom\")?\"bottom\":\"middle\",s=-1!==e.indexOf(\"left\")?\"end\":-1!==e.indexOf(\"right\")?\"start\":\"middle\",l=i?i/.8+1:0,c=(u.lineCount(t)-1)*h+1,f=A[s]*l,p=.75*r+A[o]*l+(A[o]-1)*c*r/2;t.attr(\"text-anchor\",s),a.attr(\"transform\",\"translate(\"+f+\",\"+p+\")\")}function S(t,e){var r=t.ts||e.textfont.size;return i(r)&&r>0?r:0}m.textPointStyle=function(t,e,r){if(t.size()){var i;if(e.selectedpoints){var a=m.makeSelectedTextStyleFns(e);i=a.selectedTextColorFn}t.each(function(t){var a=n.select(this),o=c.extractOption(t,e,\"tx\",\"text\");if(o||0===o){var s=t.tp||e.textposition,l=S(t,e),f=i?i(t):t.tc||e.textfont.color;a.call(m.font,t.tf||e.textfont.family,l,f).text(o).call(u.convertToTspans,r).call(T,s,l,t.mrc)}else a.remove()})}},m.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedTextStyleFns(e);t.each(function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=S(t,e);s.fill(i,a),T(i,o,l,t.mrc2||t.mrc)})}};var E=.5;function C(t,e,r,i){var a=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(a*a+o*o,E/2),u=Math.pow(s*s+l*l,E/2),f=(u*u*a-c*c*s)*i,h=(u*u*o-c*c*l)*i,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&f/p),2),n.round(e[1]+(p&&h/p),2)],[n.round(e[0]-(d&&f/d),2),n.round(e[1]-(d&&h/d),2)]]}m.smoothopen=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\");var r,n=\"M\"+t[0],i=[];for(r=1;r<t.length-1;r++)i.push(C(t[r-1],t[r],t[r+1],e));for(n+=\"Q\"+i[0][0]+\" \"+t[1],r=2;r<t.length-1;r++)n+=\"C\"+i[r-2][1]+\" \"+i[r-1][0]+\" \"+t[r];return n+=\"Q\"+i[t.length-3][1]+\" \"+t[t.length-1]},m.smoothclosed=function(t,e){if(t.length<3)return\"M\"+t.join(\"L\")+\"Z\";var r,n=\"M\"+t[0],i=t.length-1,a=[C(t[i],t[0],t[1],e)];for(r=1;r<i;r++)a.push(C(t[r-1],t[r],t[r+1],e));for(a.push(C(t[i-1],t[i],t[0],e)),r=1;r<=i;r++)n+=\"C\"+a[r-1][1]+\" \"+a[r][0]+\" \"+t[r];return n+=\"C\"+a[i][1]+\" \"+a[0][0]+\" \"+t[0]+\"Z\"};var L={hv:function(t,e){return\"H\"+n.round(e[0],2)+\"V\"+n.round(e[1],2)},vh:function(t,e){return\"V\"+n.round(e[1],2)+\"H\"+n.round(e[0],2)},hvh:function(t,e){return\"H\"+n.round((t[0]+e[0])/2,2)+\"V\"+n.round(e[1],2)+\"H\"+n.round(e[0],2)},vhv:function(t,e){return\"V\"+n.round((t[1]+e[1])/2,2)+\"H\"+n.round(e[0],2)+\"V\"+n.round(e[1],2)}},z=function(t,e){return\"L\"+n.round(e[0],2)+\",\"+n.round(e[1],2)};m.steps=function(t){var e=L[t]||z;return function(t){for(var r=\"M\"+n.round(t[0][0],2)+\",\"+n.round(t[0][1],2),i=1;i<t.length;i++)r+=e(t[i-1],t[i]);return r}},m.makeTester=function(){var t=c.ensureSingleById(n.select(\"body\"),\"svg\",\"js-plotly-tester\",function(t){t.attr(f.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"})}),e=c.ensureSingle(t,\"path\",\"js-reference-point\",function(t){t.attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"})});m.tester=t,m.testref=e},m.savedBBoxes={};var P=0;function O(t){var e=t.getAttribute(\"data-unformatted\");if(null!==e)return e+t.getAttribute(\"data-math\")+t.getAttribute(\"text-anchor\")+t.getAttribute(\"style\")}m.bBox=function(t,e,r){var i,a,o;if(r||(r=O(t)),r){if(i=m.savedBBoxes[r])return c.extendFlat({},i)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(r=O(s)){var l=+s.getAttribute(\"x\")||0,f=+s.getAttribute(\"y\")||0,h=s.getAttribute(\"transform\");if(!h){var p=m.bBox(s,!1,r);return l&&(p.left+=l,p.right+=l),f&&(p.top+=f,p.bottom+=f),p}if(r+=\"~\"+l+\"~\"+f+\"~\"+h,i=m.savedBBoxes[r])return c.extendFlat({},i)}}e?a=t:(o=m.tester.node(),a=t.cloneNode(!0),o.appendChild(a)),n.select(a).attr(\"transform\",null).call(u.positionText,0,0);var d=a.getBoundingClientRect(),g=m.testref.node().getBoundingClientRect();e||o.removeChild(a);var v={height:d.height,width:d.width,left:d.left-g.left,top:d.top-g.top,right:d.right-g.left,bottom:d.bottom-g.top};return P>=1e4&&(m.savedBBoxes={},P=0),r&&(m.savedBBoxes[r]=v),P++,c.extendFlat({},v)},m.setClipUrl=function(t,e){if(e){if(void 0===m.baseUrl){var r=n.select(\"base\");r.size()&&r.attr(\"href\")?m.baseUrl=window.location.href.split(\"#\")[0]:m.baseUrl=\"\"}t.attr(\"clip-path\",\"url(\"+m.baseUrl+\"#\"+e+\")\")}else t.attr(\"clip-path\",null)},m.getTranslate=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,function(t,e,r){return[e,r].join(\" \")}).split(\" \");return{x:+e[0]||0,y:+e[1]||0}},m.setTranslate=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||0,r=r||0,a=a.replace(/(\\btranslate\\(.*?\\);?)/,\"\").trim(),a=(a+=\" translate(\"+e+\", \"+r+\")\").trim(),t[i](\"transform\",a),a},m.getScale=function(t){var e=(t[t.attr?\"attr\":\"getAttribute\"](\"transform\")||\"\").replace(/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,function(t,e,r){return[e,r].join(\" \")}).split(\" \");return{x:+e[0]||1,y:+e[1]||1}},m.setScale=function(t,e,r){var n=t.attr?\"attr\":\"getAttribute\",i=t.attr?\"attr\":\"setAttribute\",a=t[n](\"transform\")||\"\";return e=e||1,r=r||1,a=a.replace(/(\\bscale\\(.*?\\);?)/,\"\").trim(),a=(a+=\" scale(\"+e+\", \"+r+\")\").trim(),t[i](\"transform\",a),a};var I=/\\s*sc.*/;m.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?\"\":\" scale(\"+e+\",\"+r+\")\";t.each(function(){var t=(this.getAttribute(\"transform\")||\"\").replace(I,\"\");t=(t+=n).trim(),this.setAttribute(\"transform\",t)})}};var D=/translate\\([^)]*\\)\\s*$/;m.setTextPointsScale=function(t,e,r){t&&t.each(function(){var t,i=n.select(this),a=i.select(\"text\");if(a.node()){var o=parseFloat(a.attr(\"x\")||0),s=parseFloat(a.attr(\"y\")||0),l=(i.attr(\"transform\")||\"\").match(D);t=1===e&&1===r?[]:[\"translate(\"+o+\",\"+s+\")\",\"scale(\"+e+\",\"+r+\")\",\"translate(\"+-o+\",\"+-s+\")\"],l&&t.push(l),i.attr(\"transform\",t.join(\" \"))}})}},{\"../../constants/alignment\":665,\"../../constants/interactions\":669,\"../../constants/xmlns_namespaces\":671,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../registry\":825,\"../../traces/scatter/make_bubble_size_func\":1049,\"../../traces/scatter/subtypes\":1056,\"../color\":567,\"../colorscale\":582,\"./symbol_defs\":593,d3:147,\"fast-isnumeric\":213,tinycolor2:511}],593:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"}},square:{n:1,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"Z\"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H\"+e+\"V\"+r+\"H-\"+e+\"V\"+e+\"H-\"+r+\"V-\"+e+\"H-\"+e+\"V-\"+r+\"H\"+e+\"V-\"+e+\"H\"+r+\"Z\"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r=\"l\"+e+\",\"+e,i=\"l\"+e+\",-\"+e,a=\"l-\"+e+\",-\"+e,o=\"l-\"+e+\",\"+e;return\"M0,\"+e+r+i+a+i+a+o+a+o+r+o+r+\"Z\"}},\"triangle-up\":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+e+\",\"+n.round(t/2,2)+\"H\"+e+\"L0,-\"+n.round(t,2)+\"Z\"}},\"triangle-down\":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+e+\",-\"+n.round(t/2,2)+\"H\"+e+\"L0,\"+n.round(t,2)+\"Z\"}},\"triangle-left\":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M\"+n.round(t/2,2)+\",-\"+e+\"V\"+e+\"L-\"+n.round(t,2)+\",0Z\"}},\"triangle-right\":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return\"M-\"+n.round(t/2,2)+\",-\"+e+\"V\"+e+\"L\"+n.round(t,2)+\",0Z\"}},\"triangle-ne\":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+r+\",-\"+e+\"H\"+e+\"V\"+r+\"Z\"}},\"triangle-se\":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+e+\",-\"+r+\"V\"+e+\"H-\"+r+\"Z\"}},\"triangle-sw\":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M\"+r+\",\"+e+\"H-\"+e+\"V-\"+r+\"Z\"}},\"triangle-nw\":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return\"M-\"+e+\",\"+r+\"V-\"+e+\"H\"+r+\"Z\"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),i=n.round(-t,2),a=n.round(-.309*t,2);return\"M\"+e+\",\"+a+\"L\"+r+\",\"+n.round(.809*t,2)+\"H-\"+r+\"L-\"+e+\",\"+a+\"L0,\"+i+\"Z\"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\"M\"+i+\",-\"+r+\"V\"+r+\"L0,\"+e+\"L-\"+i+\",\"+r+\"V-\"+r+\"L0,-\"+e+\"Z\"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),i=n.round(t*Math.sqrt(3)/2,2);return\"M-\"+r+\",\"+i+\"H\"+r+\"L\"+e+\",0L\"+r+\",-\"+i+\"H-\"+r+\"L-\"+e+\",0Z\"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return\"M-\"+r+\",-\"+e+\"H\"+r+\"L\"+e+\",-\"+r+\"V\"+r+\"L\"+r+\",\"+e+\"H-\"+r+\"L-\"+e+\",\"+r+\"V-\"+r+\"Z\"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),i=n.round(.951*e,2),a=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return\"M\"+r+\",\"+l+\"H\"+i+\"L\"+a+\",\"+c+\"L\"+o+\",\"+u+\"L0,\"+n.round(.382*e,2)+\"L-\"+o+\",\"+u+\"L-\"+a+\",\"+c+\"L-\"+i+\",\"+l+\"H-\"+r+\"L0,\"+s+\"Z\"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),i=n.round(.76*t,2);return\"M-\"+i+\",0l-\"+r+\",-\"+e+\"h\"+i+\"l\"+r+\",-\"+e+\"l\"+r+\",\"+e+\"h\"+i+\"l-\"+r+\",\"+e+\"l\"+r+\",\"+e+\"h-\"+i+\"l-\"+r+\",\"+e+\"l-\"+r+\",-\"+e+\"h-\"+i+\"Z\"}},\"star-triangle-up\":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M-\"+e+\",\"+r+o+e+\",\"+r+o+\"0,-\"+i+o+\"-\"+e+\",\"+r+\"Z\"}},\"star-triangle-down\":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),i=n.round(1.6*t,2),a=n.round(4*t,2),o=\"A \"+a+\",\"+a+\" 0 0 1 \";return\"M\"+e+\",-\"+r+o+\"-\"+e+\",-\"+r+o+\"0,\"+i+o+e+\",-\"+r+\"Z\"}},\"star-square\":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),i=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",-\"+e+i+\"-\"+e+\",\"+e+i+e+\",\"+e+i+e+\",-\"+e+i+\"-\"+e+\",-\"+e+\"Z\"}},\"star-diamond\":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),i=\"A \"+r+\",\"+r+\" 0 0 1 \";return\"M-\"+e+\",0\"+i+\"0,\"+e+i+e+\",0\"+i+\"0,-\"+e+i+\"-\"+e+\",0Z\"}},\"diamond-tall\":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},\"diamond-wide\":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return\"M0,\"+r+\"L\"+e+\",0L0,-\"+r+\"L-\"+e+\",0Z\"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"H-\"+e+\"L\"+e+\",-\"+e+\"H-\"+e+\"Z\"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"V-\"+e+\"L-\"+e+\",\"+e+\"V-\"+e+\"Z\"},noDot:!0},\"circle-cross\":{n:27,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r+\"M\"+e+\",0A\"+e+\",\"+e+\" 0 1,1 0,-\"+e+\"A\"+e+\",\"+e+\" 0 0,1 \"+e+\",0Z\"},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(t){var e=n.round(t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e+\"M\"+e+\",\"+e+\"H-\"+e+\"V-\"+e+\"H\"+e+\"Z\"},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(t){var e=n.round(1.3*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM0,-\"+e+\"V\"+e+\"M-\"+e+\",0H\"+e},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return\"M\"+e+\",0L0,\"+e+\"L-\"+e+\",0L0,-\"+e+\"ZM-\"+r+\",-\"+r+\"L\"+r+\",\"+r+\"M-\"+r+\",\"+r+\"L\"+r+\",-\"+r},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e+\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return\"M0,\"+e+\"V-\"+e+\"M\"+e+\",0H-\"+e+\"M\"+r+\",\"+r+\"L-\"+r+\",-\"+r+\"M\"+r+\",-\"+r+\"L-\"+r+\",\"+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return\"M\"+e+\",\"+r+\"V-\"+r+\"m-\"+r+\",0V\"+r+\"M\"+r+\",\"+e+\"H-\"+r+\"m0,-\"+r+\"H\"+r},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+e+\",\"+i+\"L0,0M\"+e+\",\"+i+\"L0,0M0,-\"+r+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+e+\",-\"+i+\"L0,0M\"+e+\",-\"+i+\"L0,0M0,\"+r+\"L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M\"+i+\",\"+e+\"L0,0M\"+i+\",-\"+e+\"L0,0M-\"+r+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),i=n.round(.8*t,2);return\"M-\"+i+\",\"+e+\"L0,0M-\"+i+\",-\"+e+\"L0,0M\"+r+\",0L0,0\"},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(t){var e=n.round(1.4*t,2);return\"M\"+e+\",0H-\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(t){var e=n.round(1.4*t,2);return\"M0,\"+e+\"V-\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(t){var e=n.round(t,2);return\"M\"+e+\",-\"+e+\"L-\"+e+\",\"+e},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(t){var e=n.round(t,2);return\"M\"+e+\",\"+e+\"L-\"+e+\",-\"+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:147}],594:[function(t,e,r){\"use strict\";e.exports={visible:{valType:\"boolean\",editType:\"calc\"},type:{valType:\"enumerated\",values:[\"percent\",\"constant\",\"sqrt\",\"data\"],editType:\"calc\"},symmetric:{valType:\"boolean\",editType:\"calc\"},array:{valType:\"data_array\",editType:\"calc\"},arrayminus:{valType:\"data_array\",editType:\"calc\"},value:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},valueminus:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},traceref:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},tracerefminus:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},copy_ystyle:{valType:\"boolean\",editType:\"plot\"},copy_zstyle:{valType:\"boolean\",editType:\"style\"},color:{valType:\"color\",editType:\"style\"},thickness:{valType:\"number\",min:0,dflt:2,editType:\"style\"},width:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\",_deprecated:{opacity:{valType:\"number\",editType:\"style\"}}}},{}],595:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../registry\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"./compute_error\");function s(t,e,r,i){var s=e[\"error_\"+i]||{},l=[];if(s.visible&&-1!==[\"linear\",\"log\"].indexOf(r.type)){for(var c=o(s),u=0;u<t.length;u++){var f=t[u],h=f.i;if(void 0===h)h=u;else if(null===h)continue;var p=f[i];if(n(r.c2l(p))){var d=c(p,h);if(n(d[0])&&n(d[1])){var g=f[i+\"s\"]=p-d[0],m=f[i+\"h\"]=p+d[1];l.push(g,m)}}}var v=a.findExtremes(r,l,{padded:!0}),y=r._id;e._extremes[y].min=e._extremes[y].min.concat(v.min),e._extremes[y].max=e._extremes[y].max.concat(v.max)}}e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],o=n[0].trace;if(!0===o.visible&&i.traceIs(o,\"errorBarsOK\")){var l=a.getFromId(t,o.xaxis),c=a.getFromId(t,o.yaxis);s(n,o,l,\"x\"),s(n,o,c,\"y\")}}}},{\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"./compute_error\":596,\"fast-isnumeric\":213}],596:[function(t,e,r){\"use strict\";function n(t,e){return\"percent\"===t?function(t){return Math.abs(t*e/100)}:\"constant\"===t?function(){return Math.abs(e)}:\"sqrt\"===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if(\"data\"===e){var i=t.array||[];if(r)return function(t,e){var r=+i[e];return[r,r]};var a=t.arrayminus||[];return function(t,e){var r=+i[e],n=+a[e];return isNaN(r)&&isNaN(n)?[NaN,NaN]:[n||0,r||0]}}var o=n(e,t.value),s=n(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=o(t);return[e,e]}:function(t){return[s(t),o(t)]}}},{}],597:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../../plot_api/plot_template\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){var c=\"error_\"+l.axis,u=o.newContainer(e,c),f=t[c]||{};function h(t,e){return a.coerce(f,u,s,t,e)}if(!1!==h(\"visible\",void 0!==f.array||void 0!==f.value||\"sqrt\"===f.type)){var p=h(\"type\",\"array\"in f?\"data\":\"percent\"),d=!0;\"sqrt\"!==p&&(d=h(\"symmetric\",!((\"data\"===p?\"arrayminus\":\"valueminus\")in f))),\"data\"===p?(h(\"array\"),h(\"traceref\"),d||(h(\"arrayminus\"),h(\"tracerefminus\"))):\"percent\"!==p&&\"constant\"!==p||(h(\"value\"),d||h(\"valueminus\"));var g=\"copy_\"+l.inherit+\"style\";if(l.inherit)(e[\"error_\"+l.inherit]||{}).visible&&h(g,!(f.color||n(f.thickness)||n(f.width)));l.inherit&&u[g]||(h(\"color\",r),h(\"thickness\"),h(\"width\",i.traceIs(e,\"gl3d\")?0:4))}}},{\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../registry\":825,\"./attributes\":594,\"fast-isnumeric\":213}],598:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plot_api/edit_types\").overrideAll,a=t(\"./attributes\"),o={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a)};delete o.error_x.copy_zstyle,delete o.error_y.copy_zstyle,delete o.error_y.copy_ystyle;var s={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a),error_z:n.extendFlat({},a)};delete s.error_x.copy_ystyle,delete s.error_y.copy_ystyle,delete s.error_z.copy_ystyle,delete s.error_z.copy_zstyle,e.exports={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:o,bar:o,histogram:o,scatter3d:i(s,\"calc\",\"nested\"),scattergl:i(o,\"calc\",\"nested\")}},supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),makeComputeError:t(\"./compute_error\"),plot:t(\"./plot\"),style:t(\"./style\"),hoverInfo:function(t,e,r){(e.error_y||{}).visible&&(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys));(e.error_x||{}).visible&&(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}}},{\"../../lib\":693,\"../../plot_api/edit_types\":725,\"./attributes\":594,\"./calc\":595,\"./compute_error\":596,\"./defaults\":597,\"./plot\":599,\"./style\":600}],599:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../drawing\"),o=t(\"../../traces/scatter/subtypes\");e.exports=function(t,e,r){var s=e.xaxis,l=e.yaxis,c=r&&r.duration>0;t.each(function(t){var u,f=t[0].trace,h=f.error_x||{},p=f.error_y||{};f.ids&&(u=function(t){return t.id});var d=o.hasMarkers(f)&&f.marker.maxdisplayed>0;p.visible||h.visible||(t=[]);var g=n.select(this).selectAll(\"g.errorbar\").data(t,u);if(g.exit().remove(),t.length){h.visible||g.selectAll(\"path.xerror\").remove(),p.visible||g.selectAll(\"path.yerror\").remove(),g.style(\"opacity\",1);var m=g.enter().append(\"g\").classed(\"errorbar\",!0);c&&m.style(\"opacity\",0).transition().duration(r.duration).style(\"opacity\",1),a.setClipUrl(g,e.layerClipId),g.each(function(t){var e=n.select(this),a=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,s,l);if(!d||t.vis){var o,u=e.select(\"path.yerror\");if(p.visible&&i(a.x)&&i(a.yh)&&i(a.ys)){var f=p.width;o=\"M\"+(a.x-f)+\",\"+a.yh+\"h\"+2*f+\"m-\"+f+\",0V\"+a.ys,a.noYS||(o+=\"m-\"+f+\",0h\"+2*f),!u.size()?u=e.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"yerror\",!0):c&&(u=u.transition().duration(r.duration).ease(r.easing)),u.attr(\"d\",o)}else u.remove();var g=e.select(\"path.xerror\");if(h.visible&&i(a.y)&&i(a.xh)&&i(a.xs)){var m=(h.copy_ystyle?p:h).width;o=\"M\"+a.xh+\",\"+(a.y-m)+\"v\"+2*m+\"m0,-\"+m+\"H\"+a.xs,a.noXS||(o+=\"m0,-\"+m+\"v\"+2*m),!g.size()?g=e.append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").classed(\"xerror\",!0):c&&(g=g.transition().duration(r.duration).ease(r.easing)),g.attr(\"d\",o)}else g.remove()}})}})}},{\"../../traces/scatter/subtypes\":1056,\"../drawing\":592,d3:147,\"fast-isnumeric\":213}],600:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../color\");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",r.thickness+\"px\").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(i.stroke,a.color)})}},{\"../color\":567,d3:147}],601:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\");e.exports={hoverlabel:{bgcolor:{valType:\"color\",arrayOk:!0,editType:\"none\"},bordercolor:{valType:\"color\",arrayOk:!0,editType:\"none\"},font:n({arrayOk:!0,editType:\"none\"}),namelength:{valType:\"integer\",min:-1,arrayOk:!0,editType:\"none\"},editType:\"calc\"}}},{\"../../plots/font_attributes\":768}],602:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\");function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s<e.length;s++){var l=e[s],c=l[0].trace;if(!i.traceIs(c,\"pie\")){var u=i.traceIs(c,\"2dMap\")?a:n.fillArray;u(c.hoverinfo,l,\"hi\",o(c)),c.hoverlabel&&(u(c.hoverlabel.bgcolor,l,\"hbg\"),u(c.hoverlabel.bordercolor,l,\"hbc\"),u(c.hoverlabel.font.size,l,\"hts\"),u(c.hoverlabel.font.color,l,\"htc\"),u(c.hoverlabel.font.family,l,\"htf\"),u(c.hoverlabel.namelength,l,\"hnl\"))}}}},{\"../../lib\":693,\"../../registry\":825}],603:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./hover\").hover;e.exports=function(t,e,r){var a=n.getComponentMethod(\"annotations\",\"onClick\")(t,t._hoverdata);function o(){t.emit(\"plotly_click\",{points:t._hoverdata,event:e})}void 0!==r&&i(t,e,r,!0),t._hoverdata&&e&&e.target&&(a&&a.then?a.then(o):o(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{\"../../registry\":825,\"./hover\":607}],604:[function(t,e,r){\"use strict\";e.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,HOVERID:\"-hover\"}},{}],605:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"./hoverlabel_defaults\");e.exports=function(t,e,r,o){a(t,e,function(r,a){return n.coerce(t,e,i,r,a)},o.hoverlabel)}},{\"../../lib\":693,\"./attributes\":601,\"./hoverlabel_defaults\":608}],606:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.isTraceInSubplots=function(t,e){if(\"splom\"===t.type){for(var n=t.xaxes||[],i=t.yaxes||[],a=0;a<n.length;a++)for(var o=0;o<i.length;o++)if(-1!==e.indexOf(n[a]+i[o]))return!0;return!1}return-1!==e.indexOf(r.getSubplot(t))},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,i){return\"closest\"===t?i||r.quadrature(e,n):\"x\"===t?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index>=0&&r.index<t.length?r.distance=0:r.index=!1;else for(var n=0;n<t.length;n++){var i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},r.inbox=function(t,e,r){return t*e<0||0===t?r:1/0},r.quadrature=function(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}},r.makeEventData=function(t,e,n){var i=\"index\"in t?t.index:t.pointNumber,a={data:e._input,fullData:e,curveNumber:e.index,pointNumber:i};if(e._indexToPoints){var o=e._indexToPoints[i];1===o.length?a.pointIndex=o[0]:a.pointIndices=o}else a.pointIndex=i;return e._module.eventData?a=e._module.eventData(a,t,e,n,i):(\"xVal\"in t?a.x=t.xVal:\"x\"in t&&(a.x=t.x),\"yVal\"in t?a.y=t.yVal:\"y\"in t&&(a.y=t.y),t.xa&&(a.xaxis=t.xa),t.ya&&(a.yaxis=t.ya),void 0!==t.zLabelVal&&(a.z=t.zLabelVal)),r.appendArrayPointValue(a,e,i),a},r.appendArrayPointValue=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){var u=o(n.nestedProperty(e,l).get(),r);void 0!==u&&(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],c=a(l);if(void 0===t[c]){for(var u=n.nestedProperty(e,l).get(),f=new Array(r.length),h=0;h<r.length;h++)f[h]=o(u,r[h]);t[c]=f}}};var i={ids:\"id\",locations:\"location\",labels:\"label\",values:\"value\",\"marker.colors\":\"color\"};function a(t){return i[t]||t}function o(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}},{\"../../lib\":693}],607:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"tinycolor2\"),o=t(\"../../lib\"),s=t(\"../../lib/events\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../lib/override_cursor\"),u=t(\"../drawing\"),f=t(\"../color\"),h=t(\"../dragelement\"),p=t(\"../../plots/cartesian/axes\"),d=t(\"../../registry\"),g=t(\"./helpers\"),m=t(\"./constants\"),v=m.YANGLE,y=Math.PI*v/180,x=1/Math.sin(y),b=Math.cos(y),_=Math.sin(y),w=m.HOVERARROWSIZE,k=m.HOVERTEXTPAD;function M(t,e,r){var i=e.hovermode,a=e.rotateLabels,s=e.bgColor,c=e.container,h=e.outerContainer,p=e.commonLabelOpts||{},d=e.fontFamily||m.HOVERFONT,g=e.fontSize||m.HOVERFONTSIZE,y=t[0],x=y.xa,b=y.ya,_=\"y\"===i?\"yLabel\":\"xLabel\",M=y[_],A=(String(M)||\"\").split(\" \")[0],T=h.node().getBoundingClientRect(),S=T.top,E=T.width,C=T.height,L=void 0!==M&&y.distance<=e.hoverdistance&&(\"x\"===i||\"y\"===i);if(L){var z,P,O=!0;for(z=0;z<t.length;z++){O&&void 0===t[z].zLabel&&(O=!1),P=t[z].hoverinfo||t[z].trace.hoverinfo;var I=Array.isArray(P)?P:P.split(\"+\");if(-1===I.indexOf(\"all\")&&-1===I.indexOf(i)){L=!1;break}}O&&(L=!1)}var D=c.selectAll(\"g.axistext\").data(L?[0]:[]);D.enter().append(\"g\").classed(\"axistext\",!0),D.exit().remove(),D.each(function(){var e=n.select(this),a=o.ensureSingle(e,\"path\",\"\",function(t){t.style({\"stroke-width\":\"1px\"})}),s=o.ensureSingle(e,\"text\",\"\",function(t){t.attr(\"data-notex\",1)}),c=p.bgcolor||f.defaultLine,h=p.bordercolor||f.contrast(c),m=f.contrast(c);a.style({fill:c,stroke:h}),s.text(M).call(u.font,p.font.family||d,p.font.size||g,p.font.color||m).call(l.positionText,0,0).call(l.convertToTspans,r),e.attr(\"transform\",\"\");var v=s.node().getBoundingClientRect();if(\"x\"===i){s.attr(\"text-anchor\",\"middle\").call(l.positionText,0,\"top\"===x.side?S-v.bottom-w-k:S-v.top+w+k);var T=\"top\"===x.side?\"-\":\"\";a.attr(\"d\",\"M0,0L\"+w+\",\"+T+w+\"H\"+(k+v.width/2)+\"v\"+T+(2*k+v.height)+\"H-\"+(k+v.width/2)+\"V\"+T+w+\"H-\"+w+\"Z\"),e.attr(\"transform\",\"translate(\"+(x._offset+(y.x0+y.x1)/2)+\",\"+(b._offset+(\"top\"===x.side?0:b._length))+\")\")}else{s.attr(\"text-anchor\",\"right\"===b.side?\"start\":\"end\").call(l.positionText,(\"right\"===b.side?1:-1)*(k+w),S-v.top-v.height/2);var E=\"right\"===b.side?\"\":\"-\";a.attr(\"d\",\"M0,0L\"+E+w+\",\"+w+\"V\"+(k+v.height/2)+\"h\"+E+(2*k+v.width)+\"V-\"+(k+v.height/2)+\"H\"+E+w+\"V-\"+w+\"Z\"),e.attr(\"transform\",\"translate(\"+(x._offset+(\"right\"===b.side?x._length:0))+\",\"+(b._offset+(y.y0+y.y1)/2)+\")\")}t=t.filter(function(t){return void 0!==t.zLabelVal||(t[_]||\"\").split(\" \")[0]===A})});var R=c.selectAll(\"g.hovertext\").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||\"\"].join(\",\")});return R.enter().append(\"g\").classed(\"hovertext\",!0).each(function(){var t=n.select(this);t.append(\"rect\").call(f.fill,f.addOpacity(s,.8)),t.append(\"text\").classed(\"name\",!0),t.append(\"path\").style(\"stroke-width\",\"1px\"),t.append(\"text\").classed(\"nums\",!0).call(u.font,d,g)}),R.exit().remove(),R.each(function(t){var e=n.select(this).attr(\"transform\",\"\"),o=\"\",c=\"\",h=t.bgcolor||t.color,p=f.combine(f.opacity(h)?h:f.defaultLine,s),m=f.combine(f.opacity(t.color)?t.color:f.defaultLine,s),y=t.borderColor||f.contrast(p);if(void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name){o=l.plainText(t.name||\"\");var x=Math.round(t.nameLength);x>-1&&o.length>x&&(o=x>3?o.substr(0,x-3)+\"...\":o.substr(0,x))}void 0!==t.zLabel?(void 0!==t.xLabel&&(c+=\"x: \"+t.xLabel+\"<br>\"),void 0!==t.yLabel&&(c+=\"y: \"+t.yLabel+\"<br>\"),c+=(c?\"z: \":\"\")+t.zLabel):L&&t[i+\"Label\"]===M?c=t[(\"x\"===i?\"y\":\"x\")+\"Label\"]||\"\":void 0===t.xLabel?void 0!==t.yLabel&&(c=t.yLabel):c=void 0===t.yLabel?t.xLabel:\"(\"+t.xLabel+\", \"+t.yLabel+\")\",!t.text&&0!==t.text||Array.isArray(t.text)||(c+=(c?\"<br>\":\"\")+t.text),void 0!==t.extraText&&(c+=(c?\"<br>\":\"\")+t.extraText),\"\"===c&&(\"\"===o&&e.remove(),c=o);var b=e.select(\"text.nums\").call(u.font,t.fontFamily||d,t.fontSize||g,t.fontColor||y).text(c).attr(\"data-notex\",1).call(l.positionText,0,0).call(l.convertToTspans,r),_=e.select(\"text.name\"),A=0;o&&o!==c?(_.call(u.font,t.fontFamily||d,t.fontSize||g,m).text(o).attr(\"data-notex\",1).call(l.positionText,0,0).call(l.convertToTspans,r),A=_.node().getBoundingClientRect().width+2*k):(_.remove(),e.select(\"rect\").remove()),e.select(\"path\").style({fill:p,stroke:y});var T,z,P=b.node().getBoundingClientRect(),O=t.xa._offset+(t.x0+t.x1)/2,I=t.ya._offset+(t.y0+t.y1)/2,D=Math.abs(t.x1-t.x0),R=Math.abs(t.y1-t.y0),B=P.width+w+k+A;t.ty0=S-P.top,t.bx=P.width+2*k,t.by=P.height+2*k,t.anchor=\"start\",t.txwidth=P.width,t.tx2width=A,t.offset=0,a?(t.pos=O,T=I+R/2+B<=C,z=I-R/2-B>=0,\"top\"!==t.idealAlign&&T||!z?T?(I+=R/2,t.anchor=\"start\"):t.anchor=\"middle\":(I-=R/2,t.anchor=\"end\")):(t.pos=I,T=O+D/2+B<=E,z=O-D/2-B>=0,\"left\"!==t.idealAlign&&T||!z?T?(O+=D/2,t.anchor=\"start\"):t.anchor=\"middle\":(O-=D/2,t.anchor=\"end\")),b.attr(\"text-anchor\",t.anchor),A&&_.attr(\"text-anchor\",t.anchor),e.attr(\"transform\",\"translate(\"+O+\",\"+I+\")\"+(a?\"rotate(\"+v+\")\":\"\"))}),R}function A(t,e){t.each(function(t){var r=n.select(this);if(t.del)r.remove();else{var i=\"end\"===t.anchor?-1:1,a=r.select(\"text.nums\"),o={start:1,end:-1,middle:0}[t.anchor],s=o*(w+k),c=s+o*(t.txwidth+k),f=0,h=t.offset;\"middle\"===t.anchor&&(s-=t.tx2width/2,c+=t.txwidth/2+k),e&&(h*=-_,f=t.offset*b),r.select(\"path\").attr(\"d\",\"middle\"===t.anchor?\"M-\"+(t.bx/2+t.tx2width/2)+\",\"+(h-t.by/2)+\"h\"+t.bx+\"v\"+t.by+\"h-\"+t.bx+\"Z\":\"M0,0L\"+(i*w+f)+\",\"+(w+h)+\"v\"+(t.by/2-w)+\"h\"+i*t.bx+\"v-\"+t.by+\"H\"+(i*w+f)+\"V\"+(h-w)+\"Z\"),a.call(l.positionText,s+f,h+t.ty0-t.by/2+k),t.tx2width&&(r.select(\"text.name\").call(l.positionText,c+o*k+f,h+t.ty0-t.by/2+k),r.select(\"rect\").call(u.setRect,c+(o-1)*t.tx2width/2+f,h-t.by/2-1,t.tx2width,t.by+2))}})}function T(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],a=t.cd[r]||{},s=Array.isArray(r)?function(t,e){return o.castOption(i,r,t)||o.extractOption({},n,\"\",e)}:function(t,e){return o.extractOption(a,n,t,e)};function l(e,r,n){var i=s(r,n);i&&(t[e]=i)}if(l(\"hoverinfo\",\"hi\",\"hoverinfo\"),l(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),l(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),l(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),l(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),l(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),l(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),t.posref=\"y\"===e?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel=\"xLabel\"in t?t.xLabel:p.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel=\"yLabel\"in t?t.yLabel:p.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||\"log\"===t.xa.type&&t.xerr<=0)){var c=p.tickText(t.xa,t.xa.c2l(t.xerr),\"hover\").text;void 0!==t.xerrneg?t.xLabel+=\" +\"+c+\" / -\"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),\"hover\").text:t.xLabel+=\" \\xb1 \"+c,\"x\"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||\"log\"===t.ya.type&&t.yerr<=0)){var u=p.tickText(t.ya,t.ya.c2l(t.yerr),\"hover\").text;void 0!==t.yerrneg?t.yLabel+=\" +\"+u+\" / -\"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),\"hover\").text:t.yLabel+=\" \\xb1 \"+u,\"y\"===e&&(t.distance+=1)}var f=t.hoverinfo||t.trace.hoverinfo;return\"all\"!==f&&(-1===(f=Array.isArray(f)?f:f.split(\"+\")).indexOf(\"x\")&&(t.xLabel=void 0),-1===f.indexOf(\"y\")&&(t.yLabel=void 0),-1===f.indexOf(\"z\")&&(t.zLabel=void 0),-1===f.indexOf(\"text\")&&(t.text=void 0),-1===f.indexOf(\"name\")&&(t.name=void 0)),t}function S(t,e){var r,n,i=e.container,o=e.fullLayout,s=e.event,l=!!t.hLinePoint,c=!!t.vLinePoint;if(i.selectAll(\".spikeline\").remove(),c||l){var h=f.combine(o.plot_bgcolor,o.paper_bgcolor);if(l){var p,d,g=t.hLinePoint;r=g&&g.xa,\"cursor\"===(n=g&&g.ya).spikesnap?(p=s.pointerX,d=s.pointerY):(p=r._offset+g.x,d=n._offset+g.y);var m,v,y=a.readability(g.color,h)<1.5?f.contrast(h):g.color,x=n.spikemode,b=n.spikethickness,_=n.spikecolor||y,w=n._boundingBox,k=(w.left+w.right)/2<p?w.right:w.left;-1===x.indexOf(\"toaxis\")&&-1===x.indexOf(\"across\")||(-1!==x.indexOf(\"toaxis\")&&(m=k,v=p),-1!==x.indexOf(\"across\")&&(m=n._counterSpan[0],v=n._counterSpan[1]),i.insert(\"line\",\":first-child\").attr({x1:m,x2:v,y1:d,y2:d,\"stroke-width\":b,stroke:_,\"stroke-dasharray\":u.dashStyle(n.spikedash,b)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),i.insert(\"line\",\":first-child\").attr({x1:m,x2:v,y1:d,y2:d,\"stroke-width\":b+2,stroke:h}).classed(\"spikeline\",!0).classed(\"crisp\",!0)),-1!==x.indexOf(\"marker\")&&i.insert(\"circle\",\":first-child\").attr({cx:k+(\"right\"!==n.side?b:-b),cy:d,r:b,fill:_}).classed(\"spikeline\",!0)}if(c){var M,A,T=t.vLinePoint;r=T&&T.xa,n=T&&T.ya,\"cursor\"===r.spikesnap?(M=s.pointerX,A=s.pointerY):(M=r._offset+T.x,A=n._offset+T.y);var S,E,C=a.readability(T.color,h)<1.5?f.contrast(h):T.color,L=r.spikemode,z=r.spikethickness,P=r.spikecolor||C,O=r._boundingBox,I=(O.top+O.bottom)/2<A?O.bottom:O.top;-1===L.indexOf(\"toaxis\")&&-1===L.indexOf(\"across\")||(-1!==L.indexOf(\"toaxis\")&&(S=I,E=A),-1!==L.indexOf(\"across\")&&(S=r._counterSpan[0],E=r._counterSpan[1]),i.insert(\"line\",\":first-child\").attr({x1:M,x2:M,y1:S,y2:E,\"stroke-width\":z,stroke:P,\"stroke-dasharray\":u.dashStyle(r.spikedash,z)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),i.insert(\"line\",\":first-child\").attr({x1:M,x2:M,y1:S,y2:E,\"stroke-width\":z+2,stroke:h}).classed(\"spikeline\",!0).classed(\"crisp\",!0)),-1!==L.indexOf(\"marker\")&&i.insert(\"circle\",\":first-child\").attr({cx:M,cy:I-(\"top\"!==r.side?z:-z),r:z,fill:P}).classed(\"spikeline\",!0)}}}function E(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}r.hover=function(t,e,r,a){t=o.getGraphDiv(t),o.throttle(t._fullLayout._uid+m.HOVERID,m.HOVERMINTIME,function(){!function(t,e,r,a){r||(r=\"xy\");var l=Array.isArray(r)?r:[r],u=t._fullLayout,m=u._plots||[],v=m[r],y=u._has(\"cartesian\");if(v){var b=v.overlays.map(function(t){return t.id});l=l.concat(b)}for(var _=l.length,w=new Array(_),k=new Array(_),C=!1,L=0;L<_;L++){var z=l[L],P=m[z];if(P)C=!0,w[L]=p.getFromId(t,P.xaxis._id),k[L]=p.getFromId(t,P.yaxis._id);else{var O=u[z]._subplot;w[L]=O.xaxis,k[L]=O.yaxis}}var I=e.hovermode||u.hovermode;I&&!C&&(I=\"closest\");if(-1===[\"x\",\"y\",\"closest\"].indexOf(I)||!t.calcdata||t.querySelector(\".zoombox\")||t._dragging)return h.unhoverRaw(t,e);var D,R,B,F,N,j,V,U,q,H,G,W,Y,X=-1===u.hoverdistance?1/0:u.hoverdistance,Z=-1===u.spikedistance?1/0:u.spikedistance,$=[],J=[],K={hLinePoint:null,vLinePoint:null},Q=!1;if(Array.isArray(e))for(I=\"array\",B=0;B<e.length;B++)N=t.calcdata[e[B].curveNumber||0],j=N[0].trace,\"skip\"!==N[0].trace.hoverinfo&&(J.push(N),\"h\"===j.orientation&&(Q=!0));else{for(F=0;F<t.calcdata.length;F++)N=t.calcdata[F],\"skip\"!==(j=N[0].trace).hoverinfo&&g.isTraceInSubplots(j,l)&&(J.push(N),\"h\"===j.orientation&&(Q=!0));var tt,et,rt=!e.target;if(rt)tt=\"xpx\"in e?e.xpx:w[0]._length/2,et=\"ypx\"in e?e.ypx:k[0]._length/2;else{if(!1===s.triggerHandler(t,\"plotly_beforehover\",e))return;var nt=e.target.getBoundingClientRect();if(tt=e.clientX-nt.left,et=e.clientY-nt.top,tt<0||tt>w[0]._length||et<0||et>k[0]._length)return h.unhoverRaw(t,e)}if(e.pointerX=tt+w[0]._offset,e.pointerY=et+k[0]._offset,D=\"xval\"in e?g.flat(l,e.xval):g.p2c(w,tt),R=\"yval\"in e?g.flat(l,e.yval):g.p2c(k,et),!i(D[0])||!i(R[0]))return o.warn(\"Fx.hover failed\",e,t),h.unhoverRaw(t,e)}var it=1/0;for(F=0;F<J.length;F++)if((N=J[F])&&N[0]&&N[0].trace&&!0===N[0].trace.visible&&(j=N[0].trace,-1===[\"carpet\",\"contourcarpet\"].indexOf(j._module.name))){if(\"splom\"===j.type?V=l[U=0]:(V=g.getSubplot(j),U=l.indexOf(V)),q=I,W={cd:N,trace:j,xa:w[U],ya:k[U],maxHoverDistance:X,maxSpikeDistance:Z,index:!1,distance:Math.min(it,X),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:f.defaultLine,name:j.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},u[V]&&(W.subplot=u[V]._subplot),Y=$.length,\"array\"===q){var at=e[F];\"pointNumber\"in at?(W.index=at.pointNumber,q=\"closest\"):(q=\"\",\"xval\"in at&&(H=at.xval,q=\"x\"),\"yval\"in at&&(G=at.yval,q=q?\"closest\":\"y\"))}else H=D[U],G=R[U];if(0!==X)if(j._module&&j._module.hoverPoints){var ot=j._module.hoverPoints(W,H,G,q,u._hoverlayer);if(ot)for(var st,lt=0;lt<ot.length;lt++)st=ot[lt],i(st.x0)&&i(st.y0)&&$.push(T(st,I))}else o.log(\"Unrecognized trace type in hover:\",j);if(\"closest\"===I&&$.length>Y&&($.splice(0,Y),it=$[0].distance),y&&0!==Z&&0===$.length){W.distance=Z,W.index=!1;var ct=j._module.hoverPoints(W,H,G,\"closest\",u._hoverlayer);if(ct&&(ct=ct.filter(function(t){return t.spikeDistance<=Z})),ct&&ct.length){var ut,ft=ct.filter(function(t){return t.xa.showspikes});if(ft.length){var ht=ft[0];i(ht.x0)&&i(ht.y0)&&(ut=mt(ht),(!K.vLinePoint||K.vLinePoint.spikeDistance>ut.spikeDistance)&&(K.vLinePoint=ut))}var pt=ct.filter(function(t){return t.ya.showspikes});if(pt.length){var dt=pt[0];i(dt.x0)&&i(dt.y0)&&(ut=mt(dt),(!K.hLinePoint||K.hLinePoint.spikeDistance>ut.spikeDistance)&&(K.hLinePoint=ut))}}}}function gt(t,e){for(var r,n=null,i=1/0,a=0;a<t.length;a++)(r=t[a].spikeDistance)<i&&r<=e&&(n=t[a],i=r);return n}function mt(t){return t?{xa:t.xa,ya:t.ya,x:void 0!==t.xSpike?t.xSpike:(t.x0+t.x1)/2,y:void 0!==t.ySpike?t.ySpike:(t.y0+t.y1)/2,distance:t.distance,spikeDistance:t.spikeDistance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}var vt={fullLayout:u,container:u._hoverlayer,outerContainer:u._paperdiv,event:e},yt=t._spikepoints,xt={vLinePoint:K.vLinePoint,hLinePoint:K.hLinePoint};if(t._spikepoints=xt,y&&0!==Z&&0!==$.length){var bt=$.filter(function(t){return t.ya.showspikes}),_t=gt(bt,Z);K.hLinePoint=mt(_t);var wt=$.filter(function(t){return t.xa.showspikes}),kt=gt(wt,Z);K.vLinePoint=mt(kt)}if(0===$.length){var Mt=h.unhoverRaw(t,e);return!y||null===K.hLinePoint&&null===K.vLinePoint||E(yt)&&S(K,vt),Mt}y&&E(yt)&&S(K,vt);$.sort(function(t,e){return t.distance-e.distance});var At=t._hoverdata,Tt=[];for(B=0;B<$.length;B++){var St=$[B];Tt.push(g.makeEventData(St,St.trace,St.cd))}t._hoverdata=Tt;var Et=\"y\"===I&&(J.length>1||$.length>1)||\"closest\"===I&&Q&&$.length>1,Ct=f.combine(u.plot_bgcolor||f.background,u.paper_bgcolor),Lt={hovermode:I,rotateLabels:Et,bgColor:Ct,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},zt=M($,Lt,t);if(function(t,e,r){var n,i,a,o,s,l,c,u=0,f=1,h=t.map(function(t,n){var i=t[e],a=\"x\"===i._id.charAt(0),o=i.range;return!n&&o&&o[0]>o[1]!==a&&(f=-1),[{i:n,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?x:1)/2,pmin:0,pmax:a?r.width:r.height}]}).sort(function(t,e){return t[0].posref-e[0].posref||f*(e[0].traceIndex-t[0].traceIndex)});function p(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var c=0;for(o=0;o<t.length;o++)(l=t[o]).pos+l.dp+l.size>e.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o<t.length&&!(c<=0);o++)if((l=t[o]).pos<e.pmin+1)for(l.del=!0,c--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}for(;!n&&u<=t.length;){for(u++,n=!0,o=0;o<h.length-1;){var d=h[o],g=h[o+1],m=d[d.length-1],v=g[0];if((i=m.pos+m.dp+m.size-v.pos-v.dp+v.size)>.01&&m.pmin===v.pmin&&m.pmax===v.pmax){for(s=g.length-1;s>=0;s--)g[s].dp+=i;for(d.push.apply(d,g),h.splice(o+1,1),c=0,s=d.length-1;s>=0;s--)c+=d[s].dp;for(a=c/d.length,s=d.length-1;s>=0;s--)d[s].dp-=a;n=!1}else o++}h.forEach(p)}for(o=h.length-1;o>=0;o--){var y=h[o];for(s=y.length-1;s>=0;s--){var b=y[s],_=t[b.i];_.offset=b.dp,_.del=b.del}}}($,Et?\"xa\":\"ya\",u),A(zt,Et),e.target&&e.target.tagName){var Pt=d.getComponentMethod(\"annotations\",\"hasClickToShow\")(t,Tt);c(n.select(e.target),Pt?\"pointer\":\"\")}if(!e.target||a||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber))return!0}return!1}(t,0,At))return;At&&t.emit(\"plotly_unhover\",{event:e,points:At});t.emit(\"plotly_hover\",{event:e,points:t._hoverdata,xaxes:w,yaxes:k,xvals:D,yvals:R})}(t,e,r,a)})},r.loneHover=function(t,e){var r={color:t.color||f.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,trace:{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0},i=n.select(e.container),a=e.outerContainer?n.select(e.outerContainer):i,o={hovermode:\"closest\",rotateLabels:!1,bgColor:e.bgColor||f.background,container:i,outerContainer:a},s=M([r],o,e.gd);return A(s,o.rotateLabels),s.node()}},{\"../../lib\":693,\"../../lib/events\":681,\"../../lib/override_cursor\":705,\"../../lib/svg_text_utils\":718,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"../color\":567,\"../dragelement\":589,\"../drawing\":592,\"./constants\":604,\"./helpers\":606,d3:147,\"fast-isnumeric\":213,tinycolor2:511}],608:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r,i){r(\"hoverlabel.bgcolor\",(i=i||{}).bgcolor),r(\"hoverlabel.bordercolor\",i.bordercolor),r(\"hoverlabel.namelength\",i.namelength),n.coerceFont(r,\"hoverlabel.font\",i.font)}},{\"../../lib\":693}],609:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../dragelement\"),o=t(\"./helpers\"),s=t(\"./layout_attributes\");e.exports={moduleType:\"component\",name:\"fx\",constants:t(\"./constants\"),schema:{layout:s},attributes:t(\"./attributes\"),layoutAttributes:s,supplyLayoutGlobalDefaults:t(\"./layout_global_defaults\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,\"hoverlabel.\"+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,\"hoverinfo\",function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:t(\"./hover\").hover,unhover:a.unhover,loneHover:t(\"./hover\").loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll(\"g.hovertext\").remove(),e.selectAll(\".spikeline\").remove()},click:t(\"./click\")}},{\"../../lib\":693,\"../dragelement\":589,\"./attributes\":601,\"./calc\":602,\"./click\":603,\"./constants\":604,\"./defaults\":605,\"./helpers\":606,\"./hover\":607,\"./layout_attributes\":610,\"./layout_defaults\":611,\"./layout_global_defaults\":612,d3:147}],610:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../plots/font_attributes\")({editType:\"none\"});i.family.dflt=n.HOVERFONT,i.size.dflt=n.HOVERFONTSIZE,e.exports={clickmode:{valType:\"flaglist\",flags:[\"event\",\"select\"],dflt:\"event\",editType:\"plot\",extras:[\"none\"]},dragmode:{valType:\"enumerated\",values:[\"zoom\",\"pan\",\"select\",\"lasso\",\"orbit\",\"turntable\"],dflt:\"zoom\",editType:\"modebar\"},hovermode:{valType:\"enumerated\",values:[\"x\",\"y\",\"closest\",!1],editType:\"modebar\"},hoverdistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},spikedistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"none\"},bordercolor:{valType:\"color\",editType:\"none\"},font:i,namelength:{valType:\"integer\",min:-1,dflt:15,editType:\"none\"},editType:\"none\"},selectdirection:{valType:\"enumerated\",values:[\"h\",\"v\",\"d\",\"any\"],dflt:\"any\",editType:\"none\"}}},{\"../../plots/font_attributes\":768,\"./constants\":604}],611:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}var o,s=a(\"clickmode\");\"select\"===a(\"dragmode\")&&a(\"selectdirection\"),e._has(\"cartesian\")?s.indexOf(\"select\")>-1?o=\"closest\":(e._isHoriz=function(t){for(var e=!0,r=0;r<t.length;r++){var n=t[r];if(\"h\"!==n.orientation){e=!1;break}}return e}(r),o=e._isHoriz?\"y\":\"x\"):o=\"closest\",a(\"hovermode\",o)&&(a(\"hoverdistance\"),a(\"spikedistance\"));var l=e._has(\"mapbox\"),c=e._has(\"geo\"),u=e._basePlotModules.length;\"zoom\"===e.dragmode&&((l||c)&&1===u||l&&c&&2===u)&&(e.dragmode=\"pan\")}},{\"../../lib\":693,\"./layout_attributes\":610}],612:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./hoverlabel_defaults\"),a=t(\"./layout_attributes\");e.exports=function(t,e){i(t,e,function(r,i){return n.coerce(t,e,a,r,i)})}},{\"../../lib\":693,\"./hoverlabel_defaults\":608,\"./layout_attributes\":610}],613:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../lib/regex\").counter,a=t(\"../../plots/domain\").attributes,o=t(\"../../plots/cartesian/constants\").idRegex,s=t(\"../../plot_api/plot_template\"),l={rows:{valType:\"integer\",min:1,editType:\"plot\"},roworder:{valType:\"enumerated\",values:[\"top to bottom\",\"bottom to top\"],dflt:\"top to bottom\",editType:\"plot\"},columns:{valType:\"integer\",min:1,editType:\"plot\"},subplots:{valType:\"info_array\",freeLength:!0,dimensions:2,items:{valType:\"enumerated\",values:[i(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[o.y.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},pattern:{valType:\"enumerated\",values:[\"independent\",\"coupled\"],dflt:\"coupled\",editType:\"plot\"},xgap:{valType:\"number\",min:0,max:1,editType:\"plot\"},ygap:{valType:\"number\",min:0,max:1,editType:\"plot\"},domain:a({name:\"grid\",editType:\"plot\",noGridCell:!0},{}),xside:{valType:\"enumerated\",values:[\"bottom\",\"bottom plot\",\"top plot\",\"top\"],dflt:\"bottom plot\",editType:\"plot\"},yside:{valType:\"enumerated\",values:[\"left\",\"left plot\",\"right plot\",\"right\"],dflt:\"left plot\",editType:\"plot\"},editType:\"plot\"};function c(t,e,r){var n=e[r+\"axes\"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function u(t,e,r,n,i,a){var o=e(t+\"gap\",r),s=e(\"domain.\"+t);e(t+\"side\",n);for(var l=new Array(i),c=s[0],u=(s[1]-c)/(i-o),f=u*(1-o),h=0;h<i;h++){var p=c+u*h;l[a?i-1-h:h]=[p,p+f]}return l}function f(t,e,r,n,i){var a,o=new Array(r);function s(t,r){-1!==e.indexOf(r)&&void 0===n[r]?(o[t]=r,n[r]=t):o[t]=\"\"}if(Array.isArray(t))for(a=0;a<r;a++)s(a,t[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}e.exports={moduleType:\"component\",name:\"grid\",schema:{layout:{grid:l}},layoutAttributes:l,sizeDefaults:function(t,e){var r=t.grid||{},i=c(e,r,\"x\"),a=c(e,r,\"y\");if(t.grid||i||a){var o,f,h=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),p=Array.isArray(i),d=Array.isArray(a),g=p&&i!==r.xaxes&&d&&a!==r.yaxes;h?(o=r.subplots.length,f=r.subplots[0].length):(d&&(o=a.length),p&&(f=i.length));var m=s.newContainer(e,\"grid\"),v=M(\"rows\",o),y=M(\"columns\",f);if(v*y>1){h||p||d||\"independent\"===M(\"pattern\")&&(h=!0),m._hasSubplotGrid=h;var x,b,_=\"top to bottom\"===M(\"roworder\"),w=h?.2:.1,k=h?.3:.1;g&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),m._domains={x:u(\"x\",M,w,x,y),y:u(\"y\",M,k,b,v,_)}}else delete e.grid}function M(t,e){return n.coerce(r,m,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,g=r.rows,m=r.columns,v=\"independent\"===r.pattern,y=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(g);var b=1;for(n=0;n<g;n++){var _=l[n]=new Array(m),w=x[n]||[];for(i=0;i<m;i++)if(v?(s=1===b?\"xy\":\"x\"+b+\"y\"+b,b++):s=w[i],_[i]=\"\",-1!==p.cartesian.indexOf(s)){if(u=s.indexOf(\"y\"),a=s.slice(0,u),o=s.slice(u),void 0!==y[a]&&y[a]!==i||void 0!==y[o]&&y[o]!==n)continue;_[i]=s,y[a]=i,y[o]=n}}}else{var k=c(e,h,\"x\"),M=c(e,h,\"y\");r.xaxes=f(k,p.xaxis,m,y,\"x\"),r.yaxes=f(M,p.yaxis,g,y,\"y\")}var A=r._anchors={},T=\"top to bottom\"===r.roworder;for(var S in y){var E,C,L,z=S.charAt(0),P=r[z+\"side\"];if(P.length<8)A[S]=\"free\";else if(\"x\"===z){if(\"t\"===P.charAt(0)===T?(E=0,C=1,L=g):(E=g-1,C=-1,L=-1),d){var O=y[S];for(n=E;n!==L;n+=C)if((s=l[n][O])&&(u=s.indexOf(\"y\"),s.slice(0,u)===S)){A[S]=s.slice(u);break}}else for(n=E;n!==L;n+=C)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){A[S]=o;break}}else if(\"l\"===P.charAt(0)?(E=0,C=1,L=m):(E=m-1,C=-1,L=-1),d){var I=y[S];for(n=E;n!==L;n+=C)if((s=l[I][n])&&(u=s.indexOf(\"y\"),s.slice(u)===S)){A[S]=s.slice(0,u);break}}else for(n=E;n!==L;n+=C)if(a=r.xaxes[n],-1!==p.cartesian.indexOf(a+S)){A[S]=a;break}}}}}},{\"../../lib\":693,\"../../lib/regex\":710,\"../../plot_api/plot_template\":732,\"../../plots/cartesian/constants\":747,\"../../plots/domain\":767}],614:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/constants\"),i=t(\"../../plot_api/plot_template\").templatedArray;e.exports=i(\"image\",{visible:{valType:\"boolean\",dflt:!0,editType:\"arraydraw\"},source:{valType:\"string\",editType:\"arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},sizex:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizey:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},x:{valType:\"any\",dflt:0,editType:\"arraydraw\"},y:{valType:\"any\",dflt:0,editType:\"arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\",editType:\"arraydraw\"},xref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",n.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"})},{\"../../plot_api/plot_template\":732,\"../../plots/cartesian/constants\":747}],615:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib/to_log_range\");e.exports=function(t,e,r,a){e=e||{};var o=\"log\"===r&&\"linear\"===e.type,s=\"linear\"===r&&\"log\"===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,f=e._id.charAt(0),h=0;h<u.length;h++)if(c=\"images[\"+h+\"].\",(l=u[h])[f+\"ref\"]===e._id){var p=l[f],d=l[\"size\"+f],g=null,m=null;if(o){g=i(p,e.range);var v=d/Math.pow(10,g)/2;m=2*Math.log(v+Math.sqrt(1+v*v))/Math.LN10}else m=(g=Math.pow(10,p))*(Math.pow(10,d/2)-Math.pow(10,-d/2));n(g)?n(m)||(m=null):(g=null,m=null),a(c+f,g),a(c+\"size\"+f,m)}}},{\"../../lib/to_log_range\":720,\"fast-isnumeric\":213}],616:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/array_container_defaults\"),o=t(\"./attributes\");function s(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}var s=a(\"source\");if(!a(\"visible\",!!s))return e;a(\"layer\"),a(\"xanchor\"),a(\"yanchor\"),a(\"sizex\"),a(\"sizey\"),a(\"sizing\"),a(\"opacity\");for(var l={_fullLayout:r},c=[\"x\",\"y\"],u=0;u<2;u++){var f=c[u],h=i.coerceRef(t,e,l,f,\"paper\");i.coercePosition(e,l,a,h,f,0)}return e}e.exports=function(t,e){a(t,e,{name:\"images\",handleItemDefaults:s})}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"../../plots/cartesian/axes\":742,\"./attributes\":614}],617:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../drawing\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../constants/xmlns_namespaces\");e.exports=function(t){var e,r,s=t._fullLayout,l=[],c={},u=[];for(r=0;r<s.images.length;r++){var f=s.images[r];if(f.visible)if(\"below\"===f.layer&&\"paper\"!==f.xref&&\"paper\"!==f.yref){e=f.xref+f.yref;var h=s._plots[e];if(!h){u.push(f);continue}h.mainplot&&(e=h.mainplot.id),c[e]||(c[e]=[]),c[e].push(f)}else\"above\"===f.layer?l.push(f):u.push(f)}var p={x:{left:{sizing:\"xMin\",offset:0},center:{sizing:\"xMid\",offset:-.5},right:{sizing:\"xMax\",offset:-1}},y:{top:{sizing:\"YMin\",offset:0},middle:{sizing:\"YMid\",offset:-.5},bottom:{sizing:\"YMax\",offset:-1}}};function d(e){var r=n.select(this);if(!this.img||this.img.src!==e.source){r.attr(\"xmlns\",o.svg);var i=new Promise(function(t){var n=new Image;function i(){r.remove(),t()}this.img=n,n.setAttribute(\"crossOrigin\",\"anonymous\"),n.onerror=i,n.onload=function(){var e=document.createElement(\"canvas\");e.width=this.width,e.height=this.height,e.getContext(\"2d\").drawImage(this,0,0);var n=e.toDataURL(\"image/png\");r.attr(\"xlink:href\",n),t()},r.on(\"error\",i),n.src=e.source}.bind(this));t._promises.push(i)}}function g(e){var r=n.select(this),o=a.getFromId(t,e.xref),l=a.getFromId(t,e.yref),c=s._size,u=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*c.w,f=l?Math.abs(l.l2p(e.sizey)-l.l2p(0)):e.sizey*c.h,h=u*p.x[e.xanchor].offset,d=f*p.y[e.yanchor].offset,g=p.x[e.xanchor].sizing+p.y[e.yanchor].sizing,m=(o?o.r2p(e.x)+o._offset:e.x*c.w+c.l)+h,v=(l?l.r2p(e.y)+l._offset:c.h-e.y*c.h+c.t)+d;switch(e.sizing){case\"fill\":g+=\" slice\";break;case\"stretch\":g=\"none\"}r.attr({x:m,y:v,width:u,height:f,preserveAspectRatio:g,opacity:e.opacity});var y=(o?o._id:\"\")+(l?l._id:\"\");r.call(i.setClipUrl,y?\"clip\"+s._uid+y:null)}var m=s._imageLowerLayer.selectAll(\"image\").data(u),v=s._imageUpperLayer.selectAll(\"image\").data(l);m.enter().append(\"image\"),v.enter().append(\"image\"),m.exit().remove(),v.exit().remove(),m.each(function(t){d.bind(this)(t),g.bind(this)(t)}),v.each(function(t){d.bind(this)(t),g.bind(this)(t)});var y=Object.keys(s._plots);for(r=0;r<y.length;r++){e=y[r];var x=s._plots[e];if(x.imagelayer){var b=x.imagelayer.selectAll(\"image\").data(c[e]||[]);b.enter().append(\"image\"),b.exit().remove(),b.each(function(t){d.bind(this)(t),g.bind(this)(t)})}}}},{\"../../constants/xmlns_namespaces\":671,\"../../plots/cartesian/axes\":742,\"../drawing\":592,d3:147}],618:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"images\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),includeBasePlot:t(\"../../plots/cartesian/include_components\")(\"images\"),draw:t(\"./draw\"),convertCoords:t(\"./convert_coords\")}},{\"../../plots/cartesian/include_components\":752,\"./attributes\":614,\"./convert_coords\":615,\"./defaults\":616,\"./draw\":617}],619:[function(t,e,r){\"use strict\";r.isRightAnchor=function(t){return\"right\"===t.xanchor||\"auto\"===t.xanchor&&t.x>=2/3},r.isCenterAnchor=function(t){return\"center\"===t.xanchor||\"auto\"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isBottomAnchor=function(t){return\"bottom\"===t.yanchor||\"auto\"===t.yanchor&&t.y<=1/3},r.isMiddleAnchor=function(t){return\"middle\"===t.yanchor||\"auto\"===t.yanchor&&t.y>1/3&&t.y<2/3}},{}],620:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\");e.exports={bgcolor:{valType:\"color\",editType:\"legend\"},bordercolor:{valType:\"color\",dflt:i.defaultLine,editType:\"legend\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"legend\"},font:n({editType:\"legend\"}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\",editType:\"legend\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"],editType:\"legend\"},tracegroupgap:{valType:\"number\",min:0,dflt:10,editType:\"legend\"},x:{valType:\"number\",min:-2,max:3,dflt:1.02,editType:\"legend\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"legend\"},y:{valType:\"number\",min:-2,max:3,dflt:1,editType:\"legend\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"legend\"},editType:\"legend\"}},{\"../../plots/font_attributes\":768,\"../color/attributes\":566}],621:[function(t,e,r){\"use strict\";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4,textOffsetX:40}},{}],622:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../plot_api/plot_template\"),o=t(\"./attributes\"),s=t(\"../../plots/layout_attributes\"),l=t(\"./helpers\");e.exports=function(t,e,r){for(var c,u,f,h,p=t.legend||{},d=0,g=!1,m=\"normal\",v=0;v<r.length;v++){var y=r[v];y.visible&&((y.showlegend||y._dfltShowLegend)&&(d++,y.showlegend&&(g=!0,(n.traceIs(y,\"pie\")||!0===y._input.showlegend)&&d++)),(n.traceIs(y,\"bar\")&&\"stack\"===e.barmode||-1!==[\"tonextx\",\"tonexty\"].indexOf(y.fill))&&(m=l.isGrouped({traceorder:m})?\"grouped+reversed\":\"reversed\"),void 0!==y.legendgroup&&\"\"!==y.legendgroup&&(m=l.isReversed({traceorder:m})?\"reversed+grouped\":\"grouped\"))}if(!1!==i.coerce(t,e,s,\"showlegend\",g&&d>1)){var x=a.newContainer(e,\"legend\");if(_(\"bgcolor\",e.paper_bgcolor),_(\"bordercolor\"),_(\"borderwidth\"),i.coerceFont(_,\"font\",e.font),_(\"orientation\"),\"h\"===x.orientation){var b=t.xaxis;b&&b.rangeslider&&b.rangeslider.visible?(c=0,f=\"left\",u=1.1,h=\"bottom\"):(c=0,f=\"left\",u=-.1,h=\"top\")}_(\"traceorder\",m),l.isGrouped(e.legend)&&_(\"tracegroupgap\"),_(\"x\",c),_(\"xanchor\",f),_(\"y\",u),_(\"yanchor\",h),i.noneOrAll(p,x,[\"x\",\"y\"])}function _(t,e){return i.coerce(p,x,o,t,e)}}},{\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../plots/layout_attributes\":796,\"../../registry\":825,\"./attributes\":620,\"./helpers\":626}],623:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib/events\"),l=t(\"../dragelement\"),c=t(\"../drawing\"),u=t(\"../color\"),f=t(\"../../lib/svg_text_utils\"),h=t(\"./handle_click\"),p=t(\"./constants\"),d=t(\"../../constants/interactions\"),g=t(\"../../constants/alignment\"),m=g.LINE_SPACING,v=g.FROM_TL,y=g.FROM_BR,x=t(\"./get_legend_data\"),b=t(\"./style\"),_=t(\"./helpers\"),w=t(\"./anchor_utils\"),k=d.DBLCLICKDELAY;function M(t,e,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(a._group&&(o.group=a._group),\"pie\"===a.type&&(o.label=r.datum()[0].label),!1!==s.triggerHandler(t,\"plotly_legendclick\",o))if(1===n)e._clickTimeout=setTimeout(function(){h(r,t,n)},k);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,\"plotly_legenddoubleclick\",o)&&h(r,t,n)}}function A(t,e,r){var n=t.data()[0][0],a=e._fullLayout,s=n.trace,l=o.traceIs(s,\"pie\"),u=s.index,h=l?n.label:s.name,d=e._context.edits.legendText&&!l,g=i.ensureSingle(t,\"text\",\"legendtext\");function v(r){f.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,i,a=t.select(\"g[class*=math-group]\"),o=a.node(),s=e._fullLayout.legend.font.size*m;if(o){var l=c.bBox(o);n=l.height,i=l.width,c.setTranslate(a,0,n/4)}else{var u=t.select(\".legendtext\"),h=f.lineCount(u),d=u.node();n=s*h,i=d?c.bBox(d).width:0;var g=s*(.3+(1-h)/2);f.positionText(u,p.textOffsetX,g)}n=Math.max(n,16)+3,r.height=n,r.width=i}(t,e)})}g.attr(\"text-anchor\",\"start\").classed(\"user-select-none\",!0).call(c.font,a.legend.font).text(d?T(h,r):h),f.positionText(g,p.textOffsetX,0),d?g.call(f.makeEditable,{gd:e,text:h}).call(v).on(\"edit\",function(t){this.text(T(t,r)).call(v);var a=n.trace._fullInput||{},s={};if(o.hasTransform(a,\"groupby\")){var l=o.getTransformIndices(a,\"groupby\"),c=l[l.length-1],f=i.keyedContainer(a,\"transforms[\"+c+\"].styles\",\"target\",\"value.name\");f.set(n.trace._group,t),s=f.constructUpdate()}else s.name=t;return o.call(\"restyle\",e,s,u)}):v(g)}function T(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||\"\").length;n>0;n--)t+=\" \";return t}function S(t,e){var r,a=1,o=i.ensureSingle(t,\"rect\",\"legendtoggle\",function(t){t.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\").call(u.fill,\"rgba(0,0,0,0)\")});o.on(\"mousedown\",function(){(r=(new Date).getTime())-e._legendMouseDownTime<k?a+=1:(a=1,e._legendMouseDownTime=r)}),o.on(\"mouseup\",function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>k&&(a=Math.max(a-1,1)),M(e,r,t,a,n.event)}})}function E(t,e,r){var i=t._fullLayout,a=i.legend,o=a.borderwidth,s=_.isGrouped(a),l=0;if(a._width=0,a._height=0,_.isVertical(a))s&&e.each(function(t,e){c.setTranslate(this,0,e*a.tracegroupgap)}),r.each(function(t){var e=t[0],r=e.height,n=e.width;c.setTranslate(this,o,5+o+a._height+r/2),a._height+=r,a._width=Math.max(a._width,n)}),a._width+=45+2*o,a._height+=10+2*o,s&&(a._height+=(a._lgroupsLength-1)*a.tracegroupgap),l=40;else if(s){for(var u=[a._width],f=e.data(),h=0,p=f.length;h<p;h++){var d=f[h].map(function(t){return t[0].width}),g=40+Math.max.apply(null,d);a._width+=a.tracegroupgap+g,u.push(a._width)}e.each(function(t,e){c.setTranslate(this,u[e],0)}),e.each(function(){var t=n.select(this).selectAll(\"g.traces\"),e=0;t.each(function(t){var r=t[0].height;c.setTranslate(this,0,5+o+e+r/2),e+=r}),a._height=Math.max(a._height,e)}),a._height+=10+2*o,a._width+=2*o}else{var m,v=0,y=0,x=0,b=0,w=0,k=a.tracegroupgap||5;r.each(function(t){x=Math.max(40+t[0].width,x),w+=40+t[0].width+k}),m=i._size.w>o+w-k,r.each(function(t){var e=t[0],r=m?40+t[0].width:x;o+b+k+r>i._size.w&&(b=0,v+=y,a._height=a._height+y,y=0),c.setTranslate(this,o+b,5+o+e.height/2+v),a._width+=k+r,a._height=Math.max(a._height,e.height),b+=k+r,y=Math.max(e.height,y)}),a._width+=2*o,a._height+=10+2*o}a._width=Math.ceil(a._width),a._height=Math.ceil(a._height);var M=t._context.edits.legendText||t._context.edits.legendPosition;r.each(function(t){var e=t[0],r=n.select(this).select(\".legendtoggle\");c.setRect(r,0,-e.height/2,(M?0:a._width)+l,e.height)})}function C(t){var e=t._fullLayout.legend,r=\"left\";w.isRightAnchor(e)?r=\"right\":w.isCenterAnchor(e)&&(r=\"center\");var n=\"top\";w.isBottomAnchor(e)?n=\"bottom\":w.isMiddleAnchor(e)&&(n=\"middle\"),a.autoMargin(t,\"legend\",{x:e.x,y:e.y,l:e._width*v[r],r:e._width*y[r],b:e._height*y[n],t:e._height*v[n]})}e.exports=function(t){var e=t._fullLayout,r=\"legend\"+e._uid;if(e._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var s=e.legend,f=e.showlegend&&x(t.calcdata,s),h=e.hiddenlabels||[];if(!e.showlegend||!f.length)return e._infolayer.selectAll(\".legend\").remove(),e._topdefs.select(\"#\"+r).remove(),void a.autoMargin(t,\"legend\");for(var d=0,g=0;g<f.length;g++)for(var m=0;m<f[g].length;m++){var _=f[g][m][0],k=_.trace,T=o.traceIs(k,\"pie\")?_.label:k.name;d=Math.max(d,T&&T.length||0)}var L=!1,z=i.ensureSingle(e._infolayer,\"g\",\"legend\",function(t){t.attr(\"pointer-events\",\"all\"),L=!0}),P=i.ensureSingleById(e._topdefs,\"clipPath\",r,function(t){t.append(\"rect\")}),O=i.ensureSingle(z,\"rect\",\"bg\",function(t){t.attr(\"shape-rendering\",\"crispEdges\")});O.call(u.stroke,s.bordercolor).call(u.fill,s.bgcolor).style(\"stroke-width\",s.borderwidth+\"px\");var I=i.ensureSingle(z,\"g\",\"scrollbox\"),D=i.ensureSingle(z,\"rect\",\"scrollbar\",function(t){t.attr({rx:20,ry:3,width:0,height:0}).call(u.fill,\"#808BA4\")}),R=I.selectAll(\"g.groups\").data(f);R.enter().append(\"g\").attr(\"class\",\"groups\"),R.exit().remove();var B=R.selectAll(\"g.traces\").data(i.identity);B.enter().append(\"g\").attr(\"class\",\"traces\"),B.exit().remove(),B.call(b,t).style(\"opacity\",function(t){var e=t[0].trace;return o.traceIs(e,\"pie\")?-1!==h.indexOf(t[0].label)?.5:1:\"legendonly\"===e.visible?.5:1}).each(function(){n.select(this).call(A,t,d).call(S,t)}),i.syncOrAsync([a.previousPromises,function(){L&&(E(t,R,B),C(t));var u=e.width,f=e.height;E(t,R,B),s._height>f?function(t){var e=t._fullLayout.legend,r=\"left\";w.isRightAnchor(e)?r=\"right\":w.isCenterAnchor(e)&&(r=\"center\");a.autoMargin(t,\"legend\",{x:e.x,y:.5,l:e._width*v[r],r:e._width*y[r],b:0,t:0})}(t):C(t);var h=e._size,d=h.l+h.w*s.x,g=h.t+h.h*(1-s.y);w.isRightAnchor(s)?d-=s._width:w.isCenterAnchor(s)&&(d-=s._width/2),w.isBottomAnchor(s)?g-=s._height:w.isMiddleAnchor(s)&&(g-=s._height/2);var m=s._width,x=h.w;m>x?(d=h.l,m=x):(d+m>u&&(d=u-m),d<0&&(d=0),m=Math.min(u-d,s._width));var b,_,k,A,T=s._height,S=h.h;if(T>S?(g=h.t,T=S):(g+T>f&&(g=f-T),g<0&&(g=0),T=Math.min(f-g,s._height)),c.setTranslate(z,d,g),D.on(\".drag\",null),z.on(\"wheel\",null),s._height<=T||t._context.staticPlot)O.attr({width:m-s.borderwidth,height:T-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),c.setTranslate(I,0,0),P.select(\"rect\").attr({width:m-2*s.borderwidth,height:T-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth}),c.setClipUrl(I,r),c.setRect(D,0,0,0,0),delete s._scrollY;else{var F,N,j=Math.max(p.scrollBarMinHeight,T*T/s._height),V=T-j-2*p.scrollBarMargin,U=s._height-T,q=V/U,H=Math.min(s._scrollY||0,U);O.attr({width:m-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:T-s.borderwidth,x:s.borderwidth/2,y:s.borderwidth/2}),P.select(\"rect\").attr({width:m-2*s.borderwidth+p.scrollBarWidth+p.scrollBarMargin,height:T-2*s.borderwidth,x:s.borderwidth,y:s.borderwidth+H}),c.setClipUrl(I,r),W(H,j,q),z.on(\"wheel\",function(){W(H=i.constrain(s._scrollY+n.event.deltaY/V*U,0,U),j,q),0!==H&&H!==U&&n.event.preventDefault()});var G=n.behavior.drag().on(\"dragstart\",function(){F=n.event.sourceEvent.clientY,N=H}).on(\"drag\",function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||W(H=i.constrain((t.clientY-F)/q+N,0,U),j,q)});D.call(G)}function W(e,r,n){s._scrollY=t._fullLayout.legend._scrollY=e,c.setTranslate(I,0,-e),c.setRect(D,m,p.scrollBarMargin+e*n,p.scrollBarWidth,r),P.select(\"rect\").attr({y:s.borderwidth+e})}t._context.edits.legendPosition&&(z.classed(\"cursor-move\",!0),l.init({element:z.node(),gd:t,prepFn:function(){var t=c.getTranslate(z);k=t.x,A=t.y},moveFn:function(t,e){var r=k+t,n=A+e;c.setTranslate(z,r,n),b=l.align(r,0,h.l,h.l+h.w,s.xanchor),_=l.align(n,0,h.t+h.h,h.t,s.yanchor)},doneFn:function(){void 0!==b&&void 0!==_&&o.call(\"relayout\",t,{\"legend.x\":b,\"legend.y\":_})},clickFn:function(r,n){var i=e._infolayer.selectAll(\"g.traces\").filter(function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom});i.size()>0&&M(t,z,i,r,n)}}))}],t)}}},{\"../../constants/alignment\":665,\"../../constants/interactions\":669,\"../../lib\":693,\"../../lib/events\":681,\"../../lib/svg_text_utils\":718,\"../../plots/plots\":805,\"../../registry\":825,\"../color\":567,\"../dragelement\":589,\"../drawing\":592,\"./anchor_utils\":619,\"./constants\":621,\"./get_legend_data\":624,\"./handle_click\":625,\"./helpers\":626,\"./style\":628,d3:147}],624:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./helpers\");e.exports=function(t,e){var r,a,o={},s=[],l=!1,c={},u=0;function f(t,r){if(\"\"!==t&&i.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n=\"~~i\"+u;s.push(n),o[n]=[[r]],u++}}for(r=0;r<t.length;r++){var h=t[r],p=h[0],d=p.trace,g=d.legendgroup;if(d.visible&&d.showlegend)if(n.traceIs(d,\"pie\"))for(c[g]||(c[g]={}),a=0;a<h.length;a++){var m=h[a].label;c[g][m]||(f(g,{label:m,color:h[a].color,i:h[a].i,trace:d,pts:h[a].pts}),c[g][m]=!0)}else f(g,p)}if(!s.length)return[];var v,y,x=s.length;if(l&&i.isGrouped(e))for(y=new Array(x),r=0;r<x;r++)v=o[s[r]],y[r]=i.isReversed(e)?v.reverse():v;else{for(y=[new Array(x)],r=0;r<x;r++)v=o[s[r]][0],y[0][i.isReversed(e)?x-r-1:r]=v;x=1}return e._lgroupsLength=x,y}},{\"../../registry\":825,\"./helpers\":626}],625:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=!0;e.exports=function(t,e,r){if(!e._dragged&&!e._editing){var o,s,l,c,u,f=e._fullLayout.hiddenlabels?e._fullLayout.hiddenlabels.slice():[],h=t.data()[0][0],p=e._fullData,d=h.trace,g=d.legendgroup,m={},v=[],y=[],x=[];if(1===r&&a&&e.data&&e._context.showTips?(n.notifier(n._(e,\"Double-click on legend to isolate one trace\"),\"long\"),a=!1):a=!1,i.traceIs(d,\"pie\")){var b=h.label,_=f.indexOf(b);1===r?-1===_?f.push(b):f.splice(_,1):2===r&&(f=[],e.calcdata[0].forEach(function(t){b!==t.label&&f.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===f.length&&-1===_&&(f=[])),i.call(\"relayout\",e,\"hiddenlabels\",f)}else{var w,k=g&&g.length,M=[];if(k)for(o=0;o<p.length;o++)(w=p[o]).visible&&w.legendgroup===g&&M.push(o);if(1===r){var A;switch(d.visible){case!0:A=\"legendonly\";break;case!1:A=!1;break;case\"legendonly\":A=!0}if(k)for(o=0;o<p.length;o++)!1!==p[o].visible&&p[o].legendgroup===g&&P(p[o],A);else P(d,A)}else if(2===r){var T,S,E=!0;for(o=0;o<p.length;o++)if(!(p[o]===d)&&!(T=k&&p[o].legendgroup===g)&&!0===p[o].visible&&!i.traceIs(p[o],\"notLegendIsolatable\")){E=!1;break}for(o=0;o<p.length;o++)if(!1!==p[o].visible&&!i.traceIs(p[o],\"notLegendIsolatable\"))switch(d.visible){case\"legendonly\":P(p[o],!0);break;case!0:S=!!E||\"legendonly\",T=p[o]===d||k&&p[o].legendgroup===g,P(p[o],!!T||S)}}for(o=0;o<y.length;o++)if(l=y[o]){var C=l.constructUpdate(),L=Object.keys(C);for(s=0;s<L.length;s++)c=L[s],(m[c]=m[c]||[])[x[o]]=C[c]}for(u=Object.keys(m),o=0;o<u.length;o++)for(c=u[o],s=0;s<v.length;s++)m[c].hasOwnProperty(s)||(m[c][s]=void 0);i.call(\"restyle\",e,m,v)}}function z(t,e,r){var n=v.indexOf(t),i=m[e];return i||(i=m[e]=[]),-1===v.indexOf(t)&&(v.push(t),n=v.length-1),i[n]=r,n}function P(t,e){var r=t._fullInput;if(i.hasTransform(r,\"groupby\")){var a=y[r.index];if(!a){var o=i.getTransformIndices(r,\"groupby\"),s=o[o.length-1];a=n.keyedContainer(r,\"transforms[\"+s+\"].styles\",\"target\",\"value.visible\"),y[r.index]=a}var l=a.get(t._group);void 0===l&&(l=!0),!1!==l&&a.set(t._group,e),x[r.index]=z(r.index,\"visible\",!1!==r.visible)}else{var c=!1!==r.visible&&e;z(r.index,\"visible\",c)}}}},{\"../../lib\":693,\"../../registry\":825}],626:[function(t,e,r){\"use strict\";r.isGrouped=function(t){return-1!==(t.traceorder||\"\").indexOf(\"grouped\")},r.isVertical=function(t){return\"h\"!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||\"\").indexOf(\"reversed\")}},{}],627:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"legend\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\"),style:t(\"./style\")}},{\"./attributes\":620,\"./defaults\":622,\"./draw\":623,\"./style\":628}],628:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../drawing\"),s=t(\"../color\"),l=t(\"../../traces/scatter/subtypes\"),c=t(\"../../traces/pie/style_one\");e.exports=function(t,e){t.each(function(t){var e=n.select(this),r=a.ensureSingle(e,\"g\",\"layers\");r.style(\"opacity\",t[0].trace.opacity),r.selectAll(\"g.legendfill\").data([t]).enter().append(\"g\").classed(\"legendfill\",!0),r.selectAll(\"g.legendlines\").data([t]).enter().append(\"g\").classed(\"legendlines\",!0);var i=r.selectAll(\"g.legendsymbols\").data([t]);i.enter().append(\"g\").classed(\"legendsymbols\",!0),i.selectAll(\"g.legendpoints\").data([t]).enter().append(\"g\").classed(\"legendpoints\",!0)}).each(function(t){var e=t[0].trace,r=e.marker||{},a=r.line||{},o=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbar\").data(i.traceIs(e,\"bar\")?[t]:[]);o.enter().append(\"path\").classed(\"legendbar\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),o.exit().remove(),o.each(function(t){var e=n.select(this),i=t[0],o=(i.mlw+1||a.width+1)-1;e.style(\"stroke-width\",o+\"px\").call(s.fill,i.mc||r.color),o&&e.call(s.stroke,i.mlc||a.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(i.traceIs(e,\"box-violin\")&&e.visible?[t]:[]);r.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),r.exit().remove(),r.each(function(){var t=e.line.width,r=n.select(this);r.style(\"stroke-width\",t+\"px\").call(s.fill,e.fillcolor),t&&s.stroke(r,e.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendpie\").data(i.traceIs(e,\"pie\")&&e.visible?[t]:[]);r.enter().append(\"path\").classed(\"legendpie\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",\"translate(20,0)\"),r.exit().remove(),r.size()&&r.call(c,t[0],e)}).each(function(t){var r=t[0].trace,i=r.visible&&r.fill&&\"none\"!==r.fill,a=l.hasLines(r),s=r.contours,c=!1,u=!1;if(s){var f=s.coloring;\"lines\"===f?c=!0:a=\"none\"===f||\"heatmap\"===f||s.showlines,\"constraint\"===s.type?i=\"=\"!==s._operation:\"fill\"!==f&&\"heatmap\"!==f||(u=!0)}var h=l.hasMarkers(r)||l.hasText(r),p=i||u,d=a||c,g=h||!p?\"M5,0\":d?\"M5,-2\":\"M5,-3\",m=n.select(this),v=m.select(\".legendfill\").selectAll(\"path\").data(i||u?[t]:[]);v.enter().append(\"path\").classed(\"js-fill\",!0),v.exit().remove(),v.attr(\"d\",g+\"h30v6h-30z\").call(i?o.fillGroupStyle:function(t){if(t.size()){var n=\"legendfill-\"+r.uid;o.gradient(t,e,n,\"horizontalreversed\",r.colorscale,\"fill\")}});var y=m.select(\".legendlines\").selectAll(\"path\").data(a||c?[t]:[]);y.enter().append(\"path\").classed(\"js-line\",!0),y.exit().remove(),y.attr(\"d\",g+(c?\"l30,0.0001\":\"h30\")).call(a?o.lineGroupStyle:function(t){if(t.size()){var n=\"legendline-\"+r.uid;o.lineGroupStyle(t),o.gradient(t,e,n,\"horizontalreversed\",r.colorscale,\"stroke\")}})}).each(function(t){var r,i,s=t[0],c=s.trace,u=l.hasMarkers(c),f=l.hasText(c),h=l.hasLines(c);function p(t,e,r){var n=a.nestedProperty(c,t).get(),i=Array.isArray(n)&&e?e(n):n;if(r){if(i<r[0])return r[0];if(i>r[1])return r[1]}return i}function d(t){return t[0]}if(u||f||h){var g={},m={};if(u){g.mc=p(\"marker.color\",d),g.mx=p(\"marker.symbol\",d),g.mo=p(\"marker.opacity\",a.mean,[.2,1]),g.mlc=p(\"marker.line.color\",d),g.mlw=p(\"marker.line.width\",a.mean,[0,5]),m.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var v=p(\"marker.size\",a.mean,[2,16]);g.ms=v,m.marker.size=v}h&&(m.line={width:p(\"line.width\",d,[0,10])}),f&&(g.tx=\"Aa\",g.tp=p(\"textposition\",d),g.ts=10,g.tc=p(\"textfont.color\",d),g.tf=p(\"textfont.family\",d)),r=[a.minExtend(s,g)],(i=a.minExtend(c,m)).selectedpoints=null}var y=n.select(this).select(\"g.legendpoints\"),x=y.selectAll(\"path.scatterpts\").data(u?r:[]);x.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",\"translate(20,0)\"),x.exit().remove(),x.call(o.pointStyle,i,e),u&&(r[0].mrc=3);var b=y.selectAll(\"g.pointtext\").data(f?r:[]);b.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",\"translate(20,0)\"),b.exit().remove(),b.selectAll(\"text\").call(o.textPointStyle,i,e)}).each(function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(\"candlestick\"===e.type&&e.visible?[t,t]:[]);r.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",function(t,e){return e?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"}).attr(\"transform\",\"translate(20,0)\").style(\"stroke-miterlimit\",1),r.exit().remove(),r.each(function(t,r){var i=e[r?\"increasing\":\"decreasing\"],a=i.line.width,o=n.select(this);o.style(\"stroke-width\",a+\"px\").call(s.fill,i.fillcolor),a&&s.stroke(o,i.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(\"ohlc\"===e.type&&e.visible?[t,t]:[]);r.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",function(t,e){return e?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"}).attr(\"transform\",\"translate(20,0)\").style(\"stroke-miterlimit\",1),r.exit().remove(),r.each(function(t,r){var i=e[r?\"increasing\":\"decreasing\"],a=i.line.width,l=n.select(this);l.style(\"fill\",\"none\").call(o.dashLine,i.line.dash,a),a&&s.stroke(l,i.line.color)})})}},{\"../../lib\":693,\"../../registry\":825,\"../../traces/pie/style_one\":1018,\"../../traces/scatter/subtypes\":1056,\"../color\":567,\"../drawing\":592,d3:147}],629:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/plots\"),a=t(\"../../plots/cartesian/axis_ids\"),o=t(\"../../lib\"),s=t(\"../../../build/ploticon\"),l=o._,c=e.exports={};function u(t,e){var r,i,o=e.currentTarget,s=o.getAttribute(\"data-attr\"),l=o.getAttribute(\"data-val\")||!0,c=t._fullLayout,u={},f=a.list(t,null,!0),h=\"on\";if(\"zoom\"===s){var p,d=\"in\"===l?.5:2,g=(1+d)/2,m=(1-d)/2;for(i=0;i<f.length;i++)if(!(r=f[i]).fixedrange)if(p=r._name,\"auto\"===l)u[p+\".autorange\"]=!0;else if(\"reset\"===l){if(void 0===r._rangeInitial)u[p+\".autorange\"]=!0;else{var v=r._rangeInitial.slice();u[p+\".range[0]\"]=v[0],u[p+\".range[1]\"]=v[1]}void 0!==r._showSpikeInitial&&(u[p+\".showspikes\"]=r._showSpikeInitial,\"on\"!==h||r._showSpikeInitial||(h=\"off\"))}else{var y=[r.r2l(r.range[0]),r.r2l(r.range[1])],x=[g*y[0]+m*y[1],g*y[1]+m*y[0]];u[p+\".range[0]\"]=r.l2r(x[0]),u[p+\".range[1]\"]=r.l2r(x[1])}c._cartesianSpikesEnabled=h}else{if(\"hovermode\"!==s||\"x\"!==l&&\"y\"!==l){if(\"hovermode\"===s&&\"closest\"===l){for(i=0;i<f.length;i++)r=f[i],\"on\"!==h||r.showspikes||(h=\"off\");c._cartesianSpikesEnabled=h}}else l=c._isHoriz?\"y\":\"x\",o.setAttribute(\"data-val\",l);u[s]=l}n.call(\"relayout\",t,u)}function f(t,e){for(var r=e.currentTarget,i=r.getAttribute(\"data-attr\"),a=r.getAttribute(\"data-val\")||!0,o=t._fullLayout._subplots.gl3d,s={},l=i.split(\".\"),c=0;c<o.length;c++)s[o[c]+\".\"+l[1]]=a;var u=\"pan\"===a?a:\"zoom\";s.dragmode=u,n.call(\"relayout\",t,s)}function h(t,e){for(var r=e.currentTarget.getAttribute(\"data-attr\"),i=t._fullLayout,a=i._subplots.gl3d,s={},l=0;l<a.length;l++){var c=a[l],u=c+\".camera\",f=i[c]._scene;\"resetDefault\"===r?s[u]=null:\"resetLastSave\"===r&&(s[u]=o.extendDeep({},f.cameraInitial))}n.call(\"relayout\",t,s)}function p(t,e){var r=e.currentTarget,i=r._previousVal||!1,a=t.layout,s=t._fullLayout,l=s._subplots.gl3d,c=[\"xaxis\",\"yaxis\",\"zaxis\"],u=[\"showspikes\",\"spikesides\",\"spikethickness\",\"spikecolor\"],f={},h={},p={};if(i)p=o.extendDeep(a,i),r._previousVal=null;else{p={\"allaxes.showspikes\":!1};for(var d=0;d<l.length;d++){var g=l[d],m=s[g],v=f[g]={};v.hovermode=m.hovermode,p[g+\".hovermode\"]=!1;for(var y=0;y<3;y++){var x=c[y];h=v[x]={};for(var b=0;b<u.length;b++){var _=u[b];h[_]=m[x][_]}}}r._previousVal=o.extendDeep({},f)}n.call(\"relayout\",t,p)}function d(t,e){for(var r=e.currentTarget,i=r.getAttribute(\"data-attr\"),a=r.getAttribute(\"data-val\")||!0,o=t._fullLayout,s=o._subplots.geo,l=0;l<s.length;l++){var c=s[l],u=o[c];if(\"zoom\"===i){var f=u.projection.scale,h=\"in\"===a?2*f:.5*f;n.call(\"relayout\",t,c+\".projection.scale\",h)}else\"reset\"===i&&m(t,\"geo\")}}function g(t){var e,r=t._fullLayout;e=r._has(\"cartesian\")?r._isHoriz?\"y\":\"x\":\"closest\";var i=!t._fullLayout.hovermode&&e;n.call(\"relayout\",t,\"hovermode\",i)}function m(t,e){for(var r=t._fullLayout,i=r._subplots[e],a={},o=0;o<i.length;o++)for(var s=i[o],l=r[s]._subplot.viewInitial,c=Object.keys(l),u=0;u<c.length;u++){var f=c[u];a[s+\".\"+f]=l[f]}n.call(\"relayout\",t,a)}c.toImage={name:\"toImage\",title:function(t){var e=(t._context.toImageButtonOptions||{}).format||\"png\";return l(t,\"png\"===e?\"Download plot as a png\":\"Download plot\")},icon:s.camera,click:function(t){var e=t._context.toImageButtonOptions,r={format:e.format||\"png\"};o.notifier(l(t,\"Taking snapshot - this may take a few seconds\"),\"long\"),\"svg\"!==r.format&&o.isIE()&&(o.notifier(l(t,\"IE only supports svg.  Changing format to svg.\"),\"long\"),r.format=\"svg\"),[\"filename\",\"width\",\"height\",\"scale\"].forEach(function(t){e[t]&&(r[t]=e[t])}),n.call(\"downloadImage\",t,r).then(function(e){o.notifier(l(t,\"Snapshot succeeded\")+\" - \"+e,\"long\")}).catch(function(){o.notifier(l(t,\"Sorry, there was a problem downloading your snapshot!\"),\"long\")})}},c.sendDataToCloud={name:\"sendDataToCloud\",title:function(t){return l(t,\"Edit in Chart Studio\")},icon:s.disk,click:function(t){i.sendDataToCloud(t)}},c.zoom2d={name:\"zoom2d\",title:function(t){return l(t,\"Zoom\")},attr:\"dragmode\",val:\"zoom\",icon:s.zoombox,click:u},c.pan2d={name:\"pan2d\",title:function(t){return l(t,\"Pan\")},attr:\"dragmode\",val:\"pan\",icon:s.pan,click:u},c.select2d={name:\"select2d\",title:function(t){return l(t,\"Box Select\")},attr:\"dragmode\",val:\"select\",icon:s.selectbox,click:u},c.lasso2d={name:\"lasso2d\",title:function(t){return l(t,\"Lasso Select\")},attr:\"dragmode\",val:\"lasso\",icon:s.lasso,click:u},c.zoomIn2d={name:\"zoomIn2d\",title:function(t){return l(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:s.zoom_plus,click:u},c.zoomOut2d={name:\"zoomOut2d\",title:function(t){return l(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:s.zoom_minus,click:u},c.autoScale2d={name:\"autoScale2d\",title:function(t){return l(t,\"Autoscale\")},attr:\"zoom\",val:\"auto\",icon:s.autoscale,click:u},c.resetScale2d={name:\"resetScale2d\",title:function(t){return l(t,\"Reset axes\")},attr:\"zoom\",val:\"reset\",icon:s.home,click:u},c.hoverClosestCartesian={name:\"hoverClosestCartesian\",title:function(t){return l(t,\"Show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:s.tooltip_basic,gravity:\"ne\",click:u},c.hoverCompareCartesian={name:\"hoverCompareCartesian\",title:function(t){return l(t,\"Compare data on hover\")},attr:\"hovermode\",val:function(t){return t._fullLayout._isHoriz?\"y\":\"x\"},icon:s.tooltip_compare,gravity:\"ne\",click:u},c.zoom3d={name:\"zoom3d\",title:function(t){return l(t,\"Zoom\")},attr:\"scene.dragmode\",val:\"zoom\",icon:s.zoombox,click:f},c.pan3d={name:\"pan3d\",title:function(t){return l(t,\"Pan\")},attr:\"scene.dragmode\",val:\"pan\",icon:s.pan,click:f},c.orbitRotation={name:\"orbitRotation\",title:function(t){return l(t,\"Orbital rotation\")},attr:\"scene.dragmode\",val:\"orbit\",icon:s[\"3d_rotate\"],click:f},c.tableRotation={name:\"tableRotation\",title:function(t){return l(t,\"Turntable rotation\")},attr:\"scene.dragmode\",val:\"turntable\",icon:s[\"z-axis\"],click:f},c.resetCameraDefault3d={name:\"resetCameraDefault3d\",title:function(t){return l(t,\"Reset camera to default\")},attr:\"resetDefault\",icon:s.home,click:h},c.resetCameraLastSave3d={name:\"resetCameraLastSave3d\",title:function(t){return l(t,\"Reset camera to last save\")},attr:\"resetLastSave\",icon:s.movie,click:h},c.hoverClosest3d={name:\"hoverClosest3d\",title:function(t){return l(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\"ne\",click:p},c.zoomInGeo={name:\"zoomInGeo\",title:function(t){return l(t,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:s.zoom_plus,click:d},c.zoomOutGeo={name:\"zoomOutGeo\",title:function(t){return l(t,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:s.zoom_minus,click:d},c.resetGeo={name:\"resetGeo\",title:function(t){return l(t,\"Reset\")},attr:\"reset\",val:null,icon:s.autoscale,click:d},c.hoverClosestGeo={name:\"hoverClosestGeo\",title:function(t){return l(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\"ne\",click:g},c.hoverClosestGl2d={name:\"hoverClosestGl2d\",title:function(t){return l(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\"ne\",click:g},c.hoverClosestPie={name:\"hoverClosestPie\",title:function(t){return l(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:s.tooltip_basic,gravity:\"ne\",click:g},c.toggleHover={name:\"toggleHover\",title:function(t){return l(t,\"Toggle show closest data on hover\")},attr:\"hovermode\",val:null,toggle:!0,icon:s.tooltip_basic,gravity:\"ne\",click:function(t,e){g(t),p(t,e)}},c.resetViews={name:\"resetViews\",title:function(t){return l(t,\"Reset views\")},icon:s.home,click:function(t,e){var r=e.currentTarget;r.setAttribute(\"data-attr\",\"zoom\"),r.setAttribute(\"data-val\",\"reset\"),u(t,e),r.setAttribute(\"data-attr\",\"resetLastSave\"),h(t,e),m(t,\"geo\"),m(t,\"mapbox\")}},c.toggleSpikelines={name:\"toggleSpikelines\",title:function(t){return l(t,\"Toggle Spike Lines\")},icon:s.spikeline,attr:\"_cartesianSpikesEnabled\",val:\"on\",click:function(t){var e=t._fullLayout;e._cartesianSpikesEnabled=\"on\"===e._cartesianSpikesEnabled?\"off\":\"on\";var r=function(t){for(var e,r,n=t._fullLayout,i=a.list(t,null,!0),o={},s=0;s<i.length;s++)e=i[s],r=e._name,o[r+\".showspikes\"]=\"on\"===n._cartesianSpikesEnabled||e._showSpikeInitial;return o}(t);n.call(\"relayout\",t,r)}},c.resetViewMapbox={name:\"resetViewMapbox\",title:function(t){return l(t,\"Reset view\")},attr:\"reset\",icon:s.home,click:function(t){m(t,\"mapbox\")}}},{\"../../../build/ploticon\":2,\"../../lib\":693,\"../../plots/cartesian/axis_ids\":745,\"../../plots/plots\":805,\"../../registry\":825}],630:[function(t,e,r){\"use strict\";r.manage=t(\"./manage\")},{\"./manage\":631}],631:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axis_ids\"),i=t(\"../../traces/scatter/subtypes\"),a=t(\"../../registry\"),o=t(\"./modebar\"),s=t(\"./buttons\");e.exports=function(t){var e=t._fullLayout,r=t._context,l=e._modeBar;if(r.displayModeBar){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error([\"*modeBarButtonsToRemove* configuration options\",\"must be an array.\"].join(\" \"));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error([\"*modeBarButtonsToAdd* configuration options\",\"must be an array.\"].join(\" \"));var c,u=r.modeBarButtons;c=Array.isArray(u)&&u.length?function(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var i=r[n];if(\"string\"==typeof i){if(void 0===s[i])throw new Error([\"*modeBarButtons* configuration options\",\"invalid button name\"].join(\" \"));t[e][n]=s[i]}}return t}(u):function(t,e,r){var o=t._fullLayout,l=t._fullData,c=o._has(\"cartesian\"),u=o._has(\"gl3d\"),f=o._has(\"geo\"),h=o._has(\"pie\"),p=o._has(\"gl2d\"),d=o._has(\"ternary\"),g=o._has(\"mapbox\"),m=o._has(\"polar\"),v=function(t){for(var e=n.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(o),y=[];function x(t){if(t.length){for(var r=[],n=0;n<t.length;n++){var i=t[n];-1===e.indexOf(i)&&r.push(s[i])}y.push(r)}}x([\"toImage\",\"sendDataToCloud\"]);var b=[],_=[],w=[],k=[];(c||p||h||d)+f+u+g+m>1?(_=[\"toggleHover\"],w=[\"resetViews\"]):f?(b=[\"zoomInGeo\",\"zoomOutGeo\"],_=[\"hoverClosestGeo\"],w=[\"resetGeo\"]):u?(_=[\"hoverClosest3d\"],w=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):g?(_=[\"toggleHover\"],w=[\"resetViewMapbox\"]):_=p?[\"hoverClosestGl2d\"]:h?[\"hoverClosestPie\"]:[\"toggleHover\"];c&&(_=[\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"]);!c&&!p||v||(b=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],\"resetViews\"!==w[0]&&(w=[\"resetScale2d\"]));u?k=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:(c||p)&&!v||d?k=[\"zoom2d\",\"pan2d\"]:g||f?k=[\"pan2d\"]:m&&(k=[\"zoom2d\"]);(function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(a.traceIs(n,\"scatter-like\")?(i.hasMarkers(n)||i.hasText(n))&&(e=!0):a.traceIs(n,\"box-violin\")&&\"all\"!==n.boxpoints&&\"all\"!==n.points||(e=!0))}return e})(l)&&k.push(\"select2d\",\"lasso2d\");return x(k),x(b.concat(w)),x(_),function(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r<e.length;r++)t.push(e[r]);else t.push(e);return t}(y,r)}(t,r.modeBarButtonsToRemove,r.modeBarButtonsToAdd),l?l.update(t,c):e._modeBar=o(t,c)}else l&&(l.destroy(),delete e._modeBar)}},{\"../../plots/cartesian/axis_ids\":745,\"../../registry\":825,\"../../traces/scatter/subtypes\":1056,\"./buttons\":629,\"./modebar\":632}],632:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../../build/ploticon\");function s(t){this.container=t.container,this.element=document.createElement(\"div\"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var l=s.prototype;l.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context;\"hover\"===r.displayModeBar?this.element.className=\"modebar modebar--hover\":this.element.className=\"modebar\";var n=!this.hasButtons(e),i=this.hasLogo!==r.displaylogo,a=this.locale!==r.locale;this.locale=r.locale,(n||i||a)&&(this.removeAllButtons(),this.updateButtons(e),r.displaylogo&&(this.element.appendChild(this.getLogo()),this.hasLogo=!0)),this.updateActiveButton()},l.updateButtons=function(t){var e=this;this.buttons=t,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(t){var r=e.createGroup();t.forEach(function(t){var n=t.name;if(!n)throw new Error(\"must provide button 'name' in button config\");if(-1!==e.buttonsNames.indexOf(n))throw new Error(\"button name '\"+n+\"' is taken\");e.buttonsNames.push(n);var i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)}),e.element.appendChild(r)})},l.createGroup=function(){var t=document.createElement(\"div\");return t.className=\"modebar-group\",t},l.createButton=function(t){var e=this,r=document.createElement(\"a\");r.setAttribute(\"rel\",\"tooltip\"),r.className=\"modebar-btn\";var i=t.title;void 0===i?i=t.name:\"function\"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&r.setAttribute(\"data-title\",i),void 0!==t.attr&&r.setAttribute(\"data-attr\",t.attr);var a=t.val;if(void 0!==a&&(\"function\"==typeof a&&(a=a(this.graphInfo)),r.setAttribute(\"data-val\",a)),\"function\"!=typeof t.click)throw new Error(\"must provide button 'click' function in button config\");r.addEventListener(\"click\",function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute(\"data-toggle\",t.toggle||!1),t.toggle&&n.select(r).classed(\"active\",!0);var s=t.icon;return\"function\"==typeof s?r.appendChild(s()):r.appendChild(this.createIcon(s||o.question)),r.setAttribute(\"data-gravity\",t.gravity||\"n\"),r},l.createIcon=function(t){var e=i(t.height)?Number(t.height):t.ascent-t.descent,r=\"http://www.w3.org/2000/svg\",n=document.createElementNS(r,\"svg\"),a=document.createElementNS(r,\"path\");return n.setAttribute(\"height\",\"1em\"),n.setAttribute(\"width\",t.width/e+\"em\"),n.setAttribute(\"viewBox\",[0,0,t.width,e].join(\" \")),a.setAttribute(\"d\",t.path),t.transform?a.setAttribute(\"transform\",t.transform):void 0!==t.ascent&&a.setAttribute(\"transform\",\"matrix(1 0 0 -1 0 \"+t.ascent+\")\"),n.appendChild(a),n},l.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute(\"data-attr\"):null;this.buttonElements.forEach(function(t){var i=t.getAttribute(\"data-val\")||!0,o=t.getAttribute(\"data-attr\"),s=\"true\"===t.getAttribute(\"data-toggle\"),l=n.select(t);if(s)o===r&&l.classed(\"active\",!l.classed(\"active\"));else{var c=null===o?o:a.nestedProperty(e,o).get();l.classed(\"active\",c===i)}})},l.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},l.getLogo=function(){var t=this.createGroup(),e=document.createElement(\"a\");return e.href=\"https://plot.ly/\",e.target=\"_blank\",e.setAttribute(\"data-title\",a._(this.graphInfo,\"Produced with Plotly\")),e.className=\"modebar-btn plotlyjsicon modebar-btn--logo\",e.appendChild(this.createIcon(o.plotlylogo)),t.appendChild(e),t},l.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},l.destroy=function(){a.removeElement(this.container.querySelector(\".modebar\"))},e.exports=function(t,e){var r=t._fullLayout,i=new s({graphInfo:t,container:r._paperdiv.node(),buttons:e});return r._privateplot&&n.select(i.element).append(\"span\").classed(\"badge-private float--left\",!0).text(\"PRIVATE\"),i}},{\"../../../build/ploticon\":2,\"../../lib\":693,d3:147,\"fast-isnumeric\":213}],633:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=(0,t(\"../../plot_api/plot_template\").templatedArray)(\"button\",{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\",editType:\"plot\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\",editType:\"plot\"},count:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},label:{valType:\"string\",editType:\"plot\"},editType:\"plot\"});e.exports={visible:{valType:\"boolean\",editType:\"plot\"},buttons:a,x:{valType:\"number\",min:-2,max:3,editType:\"plot\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"plot\"},y:{valType:\"number\",min:-2,max:3,editType:\"plot\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\",editType:\"plot\"},font:n({editType:\"plot\"}),bgcolor:{valType:\"color\",dflt:i.lightLine,editType:\"plot\"},activecolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:i.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"}},{\"../../plot_api/plot_template\":732,\"../../plots/font_attributes\":768,\"../color/attributes\":566}],634:[function(t,e,r){\"use strict\";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],635:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../color\"),a=t(\"../../plot_api/plot_template\"),o=t(\"../../plots/array_container_defaults\"),s=t(\"./attributes\"),l=t(\"./constants\");function c(t,e,r,i){var a=i.calendar;function o(r,i){return n.coerce(t,e,s.buttons,r,i)}if(o(\"visible\")){var l=o(\"step\");\"all\"!==l&&(!a||\"gregorian\"===a||\"month\"!==l&&\"year\"!==l?o(\"stepmode\"):e.stepmode=\"backward\",o(\"count\")),o(\"label\")}}e.exports=function(t,e,r,u,f){var h=t.rangeselector||{},p=a.newContainer(e,\"rangeselector\");function d(t,e){return n.coerce(h,p,s,t,e)}if(d(\"visible\",o(h,p,{name:\"buttons\",handleItemDefaults:c,calendar:f}).length>0)){var g=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+l.yPad]}(e,r,u);d(\"x\",g[0]),d(\"y\",g[1]),n.noneOrAll(t,e,[\"x\",\"y\"]),d(\"xanchor\"),d(\"yanchor\"),n.coerceFont(d,\"font\",r.font);var m=d(\"bgcolor\");d(\"activecolor\",i.contrast(m,l.lightAmount,l.darkAmount)),d(\"bordercolor\"),d(\"borderwidth\")}}},{\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../plots/array_container_defaults\":738,\"../color\":567,\"./attributes\":633,\"./constants\":634}],636:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../plots/plots\"),o=t(\"../color\"),s=t(\"../drawing\"),l=t(\"../../lib\"),c=t(\"../../lib/svg_text_utils\"),u=t(\"../../plots/cartesian/axis_ids\"),f=t(\"../legend/anchor_utils\"),h=t(\"../../constants/alignment\"),p=h.LINE_SPACING,d=h.FROM_TL,g=h.FROM_BR,m=t(\"./constants\"),v=t(\"./get_update_object\");function y(t){return t._id}function x(t,e,r){var n=l.ensureSingle(t,\"rect\",\"selector-rect\",function(t){t.attr(\"shape-rendering\",\"crispEdges\")});n.attr({rx:m.rx,ry:m.ry}),n.call(o.stroke,e.bordercolor).call(o.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style(\"stroke-width\",e.borderwidth+\"px\")}function b(t,e,r,n){var i;l.ensureSingle(t,\"text\",\"selector-text\",function(t){t.classed(\"user-select-none\",!0).attr(\"text-anchor\",\"middle\")}).call(s.font,e.font).text((i=r,i.label?i.label:\"all\"===i.step?\"all\":i.count+i.step.charAt(0))).call(function(t){c.convertToTspans(t,n)})}e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(\".rangeselector\").data(function(t){for(var e=u.list(t,\"x\",!0),r=[],n=0;n<e.length;n++){var i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}(t),y);e.enter().append(\"g\").classed(\"rangeselector\",!0),e.exit().remove(),e.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),e.each(function(e){var r=n.select(this),o=e,u=o.rangeselector,h=r.selectAll(\"g.button\").data(l.filterVisible(u.buttons));h.enter().append(\"g\").classed(\"button\",!0),h.exit().remove(),h.each(function(e){var r=n.select(this),a=v(o,e);e._isActive=function(t,e,r){if(\"all\"===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}(o,e,a),r.call(x,u,e),r.call(b,u,e,t),r.on(\"click\",function(){t._dragged||i.call(\"relayout\",t,a)}),r.on(\"mouseover\",function(){e._isHovered=!0,r.call(x,u,e)}),r.on(\"mouseout\",function(){e._isHovered=!1,r.call(x,u,e)})}),function(t,e,r,i,o){var l=0,u=0,h=r.borderwidth;e.each(function(){var t=n.select(this),e=t.select(\".selector-text\"),i=r.font.size*p,a=Math.max(i*c.lineCount(e),16)+3;u=Math.max(u,a)}),e.each(function(){var t=n.select(this),e=t.select(\".selector-rect\"),i=t.select(\".selector-text\"),a=i.node()&&s.bBox(i.node()).width,o=r.font.size*p,f=c.lineCount(i),d=Math.max(a+10,m.minButtonWidth);t.attr(\"transform\",\"translate(\"+(h+l)+\",\"+h+\")\"),e.attr({x:0,y:0,width:d,height:u}),c.positionText(i,d/2,u/2-(f-1)*o/2+3),l+=d+5});var v=t._fullLayout._size,y=v.l+v.w*r.x,x=v.t+v.h*(1-r.y),b=\"left\";f.isRightAnchor(r)&&(y-=l,b=\"right\");f.isCenterAnchor(r)&&(y-=l/2,b=\"center\");var _=\"top\";f.isBottomAnchor(r)&&(x-=u,_=\"bottom\");f.isMiddleAnchor(r)&&(x-=u/2,_=\"middle\");l=Math.ceil(l),u=Math.ceil(u),y=Math.round(y),x=Math.round(x),a.autoMargin(t,i+\"-range-selector\",{x:r.x,y:r.y,l:l*d[b],r:l*g[b],b:u*g[_],t:u*d[_]}),o.attr(\"transform\",\"translate(\"+y+\",\"+x+\")\")}(t,h,u,o._name,r)})}},{\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../plots/cartesian/axis_ids\":745,\"../../plots/plots\":805,\"../../registry\":825,\"../color\":567,\"../drawing\":592,\"../legend/anchor_utils\":619,\"./constants\":634,\"./get_update_object\":637,d3:147}],637:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports=function(t,e){var r=t._name,i={};if(\"all\"===e.step)i[r+\".autorange\"]=!0;else{var a=function(t,e){var r,i=t.range,a=new Date(t.r2l(i[1])),o=e.step,s=e.count;switch(e.stepmode){case\"backward\":r=t.l2r(+n.time[o].utc.offset(a,-s));break;case\"todate\":var l=n.time[o].utc.offset(a,-s);r=t.l2r(+n.time[o].utc.ceil(l))}var c=i[1];return[r,c]}(t,e);i[r+\".range[0]\"]=a[0],i[r+\".range[1]\"]=a[1]}return i}},{d3:147}],638:[function(t,e,r){\"use strict\";e.exports={moduleType:\"component\",name:\"rangeselector\",schema:{subplots:{xaxis:{rangeselector:t(\"./attributes\")}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":633,\"./defaults\":635,\"./draw\":636}],639:[function(t,e,r){\"use strict\";var n=t(\"../color/attributes\");e.exports={bgcolor:{valType:\"color\",dflt:n.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:n.defaultLine,editType:\"plot\"},borderwidth:{valType:\"integer\",dflt:0,min:0,editType:\"plot\"},autorange:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}}],editType:\"calc\",impliedEdits:{autorange:!1}},thickness:{valType:\"number\",dflt:.15,min:0,max:1,editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"}},{\"../color/attributes\":566}],640:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axis_ids\").list,i=t(\"../../plots/cartesian/autorange\").getAutoRange,a=t(\"./constants\");e.exports=function(t){for(var e=n(t,\"x\",!0),r=0;r<e.length;r++){var o=e[r],s=o[a.name];s&&s.visible&&s.autorange&&(s._input.autorange=!0,s._input.range=s.range=i(t,o))}}},{\"../../plots/cartesian/autorange\":741,\"../../plots/cartesian/axis_ids\":745,\"./constants\":641}],641:[function(t,e,r){\"use strict\";e.exports={name:\"rangeslider\",containerClassName:\"rangeslider-container\",bgClassName:\"rangeslider-bg\",rangePlotClassName:\"rangeslider-rangeplot\",maskMinClassName:\"rangeslider-mask-min\",maskMaxClassName:\"rangeslider-mask-max\",slideBoxClassName:\"rangeslider-slidebox\",grabberMinClassName:\"rangeslider-grabber-min\",grabAreaMinClassName:\"rangeslider-grabarea-min\",handleMinClassName:\"rangeslider-handle-min\",grabberMaxClassName:\"rangeslider-grabber-max\",grabAreaMaxClassName:\"rangeslider-grabarea-max\",handleMaxClassName:\"rangeslider-handle-max\",maskMinOppAxisClassName:\"rangeslider-mask-min-opp-axis\",maskMaxOppAxisClassName:\"rangeslider-mask-max-opp-axis\",maskColor:\"rgba(0,0,0,0.4)\",maskOppAxisColor:\"rgba(0,0,0,0.2)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],642:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plot_api/plot_template\"),a=t(\"../../plots/cartesian/axis_ids\"),o=t(\"./attributes\"),s=t(\"./oppaxis_attributes\");e.exports=function(t,e,r){var l=t[r],c=e[r];if(l.rangeslider||e._requestRangeslider[c._id]){n.isPlainObject(l.rangeslider)||(l.rangeslider={});var u,f,h=l.rangeslider,p=i.newContainer(c,\"rangeslider\");if(_(\"visible\")){_(\"bgcolor\",e.plot_bgcolor),_(\"bordercolor\"),_(\"borderwidth\"),_(\"thickness\"),_(\"autorange\",!c.isValidRange(h.range)),_(\"range\");var d=e._subplots;if(d)for(var g=d.cartesian.filter(function(t){return t.substr(0,t.indexOf(\"y\"))===a.name2id(r)}).map(function(t){return t.substr(t.indexOf(\"y\"),t.length)}),m=n.simpleMap(g,a.id2name),v=0;v<m.length;v++){var y=m[v];u=h[y]||{},f=i.newContainer(p,y,\"yaxis\");var x,b=e[y];u.range&&b.isValidRange(u.range)&&(x=\"fixed\"),\"match\"!==w(\"rangemode\",x)&&w(\"range\",b.range.slice())}p._input=h}}function _(t,e){return n.coerce(h,p,o,t,e)}function w(t,e){return n.coerce(u,f,s,t,e)}}},{\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../plots/cartesian/axis_ids\":745,\"./attributes\":639,\"./oppaxis_attributes\":645}],643:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../plots/plots\"),o=t(\"../../lib\"),s=t(\"../drawing\"),l=t(\"../color\"),c=t(\"../titles\"),u=t(\"../../plots/cartesian\"),f=t(\"../../plots/cartesian/axes\"),h=t(\"../dragelement\"),p=t(\"../../lib/setcursor\"),d=t(\"./constants\");function g(t,e,r,n){var i=o.ensureSingle(t,\"rect\",d.bgClassName,function(t){t.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})}),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,l=-n._offsetShift,c=s.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:\"translate(\"+l+\",\"+l+\")\",fill:n.bgcolor,stroke:n.bordercolor,\"stroke-width\":c})}function m(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,\"clipPath\",n._clipId,function(t){t.append(\"rect\").attr({x:0,y:0})}).select(\"rect\").attr({width:n._width,height:n._height})}function v(t,e,r,i){var l,c=f.getSubplots(e,r),h=e.calcdata,p=t.selectAll(\"g.\"+d.rangePlotClassName).data(c,o.identity);p.enter().append(\"g\").attr(\"class\",function(t){return d.rangePlotClassName+\" \"+t}).call(s.setClipUrl,i._clipId),p.order(),p.exit().remove(),p.each(function(t,o){var s=n.select(this),c=0===o,p=f.getFromId(e,t,\"y\"),d=p._name,g=i[d],m={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};m.layout[d]={type:p.type,domain:[0,1],range:\"match\"!==g.rangemode?g.range.slice():p.range.slice(),calendar:p.calendar},a.supplyDefaults(m);var v={id:t,plotgroup:s,xaxis:m._fullLayout.xaxis,yaxis:m._fullLayout[d],isRangePlot:!0};c?l=v:(v.mainplot=\"xy\",v.mainplotinfo=l),u.rangePlot(e,v,function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}(h,t))})}function y(t,e,r,n,i){(o.ensureSingle(t,\"rect\",d.maskMinClassName,function(t){t.attr({x:0,y:0,\"shape-rendering\":\"crispEdges\"})}).attr(\"height\",n._height).call(l.fill,d.maskColor),o.ensureSingle(t,\"rect\",d.maskMaxClassName,function(t){t.attr({y:0,\"shape-rendering\":\"crispEdges\"})}).attr(\"height\",n._height).call(l.fill,d.maskColor),\"match\"!==i.rangemode)&&(o.ensureSingle(t,\"rect\",d.maskMinOppAxisClassName,function(t){t.attr({y:0,\"shape-rendering\":\"crispEdges\"})}).attr(\"width\",n._width).call(l.fill,d.maskOppAxisColor),o.ensureSingle(t,\"rect\",d.maskMaxOppAxisClassName,function(t){t.attr({y:0,\"shape-rendering\":\"crispEdges\"})}).attr(\"width\",n._width).style(\"border-top\",d.maskOppBorder).call(l.fill,d.maskOppAxisColor))}function x(t,e,r,n){e._context.staticPlot||o.ensureSingle(t,\"rect\",d.slideBoxClassName,function(t){t.attr({y:0,cursor:d.slideBoxCursor,\"shape-rendering\":\"crispEdges\"})}).attr({height:n._height,fill:d.slideBoxFill})}function b(t,e,r,n){var i=o.ensureSingle(t,\"g\",d.grabberMinClassName),a=o.ensureSingle(t,\"g\",d.grabberMaxClassName),s={x:0,width:d.handleWidth,rx:d.handleRadius,fill:l.background,stroke:l.defaultLine,\"stroke-width\":d.handleStrokeWidth,\"shape-rendering\":\"crispEdges\"},c={y:Math.round(n._height/4),height:Math.round(n._height/2)};if(o.ensureSingle(i,\"rect\",d.handleMinClassName,function(t){t.attr(s)}).attr(c),o.ensureSingle(a,\"rect\",d.handleMaxClassName,function(t){t.attr(s)}).attr(c),!e._context.staticPlot){var u={width:d.grabAreaWidth,x:0,y:0,fill:d.grabAreaFill,cursor:d.grabAreaCursor};o.ensureSingle(i,\"rect\",d.grabAreaMinClassName,function(t){t.attr(u)}).attr(\"height\",n._height),o.ensureSingle(a,\"rect\",d.grabAreaMaxClassName,function(t){t.attr(u)}).attr(\"height\",n._height)}}e.exports=function(t){var e=t._fullLayout,r=function(t){var e=f.list({_fullLayout:t},\"x\",!0),r=d.name,n=[];if(t._has(\"gl2d\"))return n;for(var i=0;i<e.length;i++){var a=e[i];a[r]&&a[r].visible&&n.push(a)}return n}(e);var s=e._infolayer.selectAll(\"g.\"+d.containerClassName).data(r,function(t){return t._name});s.enter().append(\"g\").classed(d.containerClassName,!0).attr(\"pointer-events\",\"all\"),s.exit().each(function(t){var r=t[d.name];e._topdefs.select(\"#\"+r._clipId).remove()}).remove(),0!==r.length&&s.each(function(r){var s=n.select(this),l=r[d.name],u=e[f.id2name(r.anchor)],_=l[f.id2name(r.anchor)];if(l.range){var w=l.range,k=r.range;w[0]=r.l2r(Math.min(r.r2l(w[0]),r.r2l(k[0]))),w[1]=r.l2r(Math.max(r.r2l(w[1]),r.r2l(k[1]))),l._input.range=w.slice()}r.cleanRange(\"rangeslider.range\");for(var M=e.margin,A=e._size,T=r.domain,S=(r._boundingBox||{}).height||0,E=1/0,C=f.getSubplots(t,r),L=0;L<C.length;L++){var z=f.getFromId(t,C[L].substr(C[L].indexOf(\"y\")));E=Math.min(E,z.domain[0])}l._id=d.name+r._id,l._clipId=l._id+\"-\"+e._uid,l._width=A.w*(T[1]-T[0]),l._height=(e.height-M.b-M.t)*l.thickness,l._offsetShift=Math.floor(l.borderwidth/2);var P=Math.round(M.l+A.w*T[0]),O=Math.round(A.t+A.h*(1-E)+S+l._offsetShift+d.extraPad);s.attr(\"transform\",\"translate(\"+P+\",\"+O+\")\");var I=r.r2l(l.range[0]),D=r.r2l(l.range[1]),R=D-I;if(l.p2d=function(t){return t/l._width*R+I},l.d2p=function(t){return(t-I)/R*l._width},l._rl=[I,D],\"match\"!==_.rangemode){var B=u.r2l(_.range[0]),F=u.r2l(_.range[1])-B;l.d2pOppAxis=function(t){return(t-B)/F*l._height}}s.call(g,t,r,l).call(m,t,r,l).call(v,t,r,l).call(y,t,r,l,_).call(x,t,r,l).call(b,t,r,l),function(t,e,r,a){var s=t.select(\"rect.\"+d.slideBoxClassName).node(),l=t.select(\"rect.\"+d.grabAreaMinClassName).node(),c=t.select(\"rect.\"+d.grabAreaMaxClassName).node();t.on(\"mousedown\",function(){var u=n.event,f=u.target,d=u.clientX,g=d-t.node().getBoundingClientRect().left,m=a.d2p(r._rl[0]),v=a.d2p(r._rl[1]),y=h.coverSlip();function x(t){var u,h,x,b=+t.clientX-d;switch(f){case s:x=\"ew-resize\",u=m+b,h=v+b;break;case l:x=\"col-resize\",u=m+b,h=v;break;case c:x=\"col-resize\",u=m,h=v+b;break;default:x=\"ew-resize\",u=g,h=g+b}if(h<u){var _=h;h=u,u=_}a._pixelMin=u,a._pixelMax=h,p(n.select(y),x),function(t,e,r,n){function a(t){return r.l2r(o.constrain(t,n._rl[0],n._rl[1]))}var s=a(n.p2d(n._pixelMin)),l=a(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){i.call(\"relayout\",e,r._name+\".range\",[s,l])})}(0,e,r,a)}y.addEventListener(\"mousemove\",x),y.addEventListener(\"mouseup\",function t(){y.removeEventListener(\"mousemove\",x);y.removeEventListener(\"mouseup\",t);o.removeElement(y)})})}(s,t,r,l),function(t,e,r,n,i,a){var s=d.handleWidth/2;function l(t){return o.constrain(t,0,n._width)}function c(t){return o.constrain(t,0,n._height)}function u(t){return o.constrain(t,-s,n._width+s)}var f=l(n.d2p(r._rl[0])),h=l(n.d2p(r._rl[1]));if(t.select(\"rect.\"+d.slideBoxClassName).attr(\"x\",f).attr(\"width\",h-f),t.select(\"rect.\"+d.maskMinClassName).attr(\"width\",f),t.select(\"rect.\"+d.maskMaxClassName).attr(\"x\",h).attr(\"width\",n._width-h),\"match\"!==a.rangemode){var p=n._height-c(n.d2pOppAxis(i._rl[1])),g=n._height-c(n.d2pOppAxis(i._rl[0]));t.select(\"rect.\"+d.maskMinOppAxisClassName).attr(\"x\",f).attr(\"height\",p).attr(\"width\",h-f),t.select(\"rect.\"+d.maskMaxOppAxisClassName).attr(\"x\",f).attr(\"y\",g).attr(\"height\",n._height-g).attr(\"width\",h-f),t.select(\"rect.\"+d.slideBoxClassName).attr(\"y\",p).attr(\"height\",g-p)}var m=Math.round(u(f-s))-.5,v=Math.round(u(h-s))+.5;t.select(\"g.\"+d.grabberMinClassName).attr(\"transform\",\"translate(\"+m+\",0.5)\"),t.select(\"g.\"+d.grabberMaxClassName).attr(\"transform\",\"translate(\"+v+\",0.5)\")}(s,0,r,l,u,_),\"bottom\"===r.side&&c.draw(t,r._id+\"title\",{propContainer:r,propName:r._name+\".title\",placeholder:e._dfltTitle.x,attributes:{x:r._offset+r._length/2,y:O+l._height+l._offsetShift+10+1.5*r.titlefont.size,\"text-anchor\":\"middle\"}}),a.autoMargin(t,l._id,{x:T[0],y:E,l:0,r:0,t:0,b:l._height+M.b+S,pad:d.extraPad+2*l._offsetShift})})}},{\"../../lib\":693,\"../../lib/setcursor\":714,\"../../plots/cartesian\":753,\"../../plots/cartesian/axes\":742,\"../../plots/plots\":805,\"../../registry\":825,\"../color\":567,\"../dragelement\":589,\"../drawing\":592,\"../titles\":658,\"./constants\":641,d3:147}],644:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"./oppaxis_attributes\");e.exports={moduleType:\"component\",name:\"rangeslider\",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},i,{yaxis:a})}}},layoutAttributes:t(\"./attributes\"),handleDefaults:t(\"./defaults\"),calcAutorange:t(\"./calc_autorange\"),draw:t(\"./draw\")}},{\"../../lib\":693,\"./attributes\":639,\"./calc_autorange\":640,\"./defaults\":642,\"./draw\":643,\"./oppaxis_attributes\":645}],645:[function(t,e,r){\"use strict\";e.exports={_isSubplotObj:!0,rangemode:{valType:\"enumerated\",values:[\"auto\",\"fixed\",\"match\"],dflt:\"match\",editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},editType:\"calc\"}},{}],646:[function(t,e,r){\"use strict\";var n=t(\"../annotations/attributes\"),i=t(\"../../traces/scatter/attributes\").line,a=t(\"../drawing/attributes\").dash,o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/plot_template\").templatedArray;e.exports=s(\"shape\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},type:{valType:\"enumerated\",values:[\"circle\",\"rect\",\"path\",\"line\"],editType:\"calc+arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},xref:o({},n.xref,{}),xsizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},xanchor:{valType:\"any\",editType:\"calc+arraydraw\"},x0:{valType:\"any\",editType:\"calc+arraydraw\"},x1:{valType:\"any\",editType:\"calc+arraydraw\"},yref:o({},n.yref,{}),ysizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},yanchor:{valType:\"any\",editType:\"calc+arraydraw\"},y0:{valType:\"any\",editType:\"calc+arraydraw\"},y1:{valType:\"any\",editType:\"calc+arraydraw\"},path:{valType:\"string\",editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},line:{color:o({},i.color,{editType:\"arraydraw\"}),width:o({},i.width,{editType:\"calc+arraydraw\"}),dash:o({},a,{editType:\"arraydraw\"}),editType:\"calc+arraydraw\"},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},editType:\"arraydraw\"})},{\"../../lib/extend\":682,\"../../plot_api/plot_template\":732,\"../../traces/scatter/attributes\":1032,\"../annotations/attributes\":550,\"../drawing/attributes\":591}],647:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"./constants\"),o=t(\"./helpers\");function s(t){return c(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return c(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function c(t,e,r,i,s,l){var c=t/2,u=l;if(\"pixel\"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+c:c,g=h>0?h+c:c;return{ppad:c,ppadplus:u?d:g,ppadminus:u?g:d}}return{ppad:c}}function u(t,e,r,n,i){var s=\"category\"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for(\"date\"===t.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(c=i[d[l].charAt(0)].drawn)&&(!(u=d[l].substr(1).match(a.paramRE))||u.length<c||((f=s(u[c]))<h&&(h=f),f>p&&(p=f)));return p>=h?[h,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o<r.length;o++){var c,f,h=r[o];if(h._extremes={},\"paper\"!==h.xref){var p=\"pixel\"===h.xsizemode?h.xanchor:h.x0,d=\"pixel\"===h.xsizemode?h.xanchor:h.x1;(f=u(c=i.getFromId(t,h.xref),p,d,h.path,a.paramIsX))&&(h._extremes[c._id]=i.findExtremes(c,f,s(h)))}if(\"paper\"!==h.yref){var g=\"pixel\"===h.ysizemode?h.yanchor:h.y0,m=\"pixel\"===h.ysizemode?h.yanchor:h.y1;(f=u(c=i.getFromId(t,h.yref),g,m,h.path,a.paramIsY))&&(h._extremes[c._id]=i.findExtremes(c,f,l(h)))}}}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"./constants\":648,\"./helpers\":651}],648:[function(t,e,r){\"use strict\";e.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},{}],649:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../plots/array_container_defaults\"),o=t(\"./attributes\"),s=t(\"./helpers\");function l(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}if(a(\"visible\")){a(\"layer\"),a(\"opacity\"),a(\"fillcolor\"),a(\"line.color\"),a(\"line.width\"),a(\"line.dash\");for(var l=a(\"type\",t.path?\"path\":\"rect\"),c=a(\"xsizemode\"),u=a(\"ysizemode\"),f=[\"x\",\"y\"],h=0;h<2;h++){var p,d,g,m=f[h],v=m+\"anchor\",y=\"x\"===m?c:u,x={_fullLayout:r},b=i.coerceRef(t,e,x,m,\"\",\"paper\");if(\"paper\"!==b?((p=i.getFromId(x,b))._shapeIndices.push(e._index),g=s.rangeToShapePosition(p),d=s.shapePositionToRange(p)):d=g=n.identity,\"path\"!==l){var _=m+\"0\",w=m+\"1\",k=t[_],M=t[w];t[_]=d(t[_],!0),t[w]=d(t[w],!0),\"pixel\"===y?(a(_,0),a(w,10)):(i.coercePosition(e,x,a,b,_,.25),i.coercePosition(e,x,a,b,w,.75)),e[_]=g(e[_]),e[w]=g(e[w]),t[_]=k,t[w]=M}if(\"pixel\"===y){var A=t[v];t[v]=d(t[v],!0),i.coercePosition(e,x,a,b,v,.25),e[v]=g(e[v]),t[v]=A}}\"path\"===l?a(\"path\"):n.noneOrAll(t,e,[\"x0\",\"x1\",\"y0\",\"y1\"])}}e.exports=function(t,e){a(t,e,{name:\"shapes\",handleItemDefaults:l})}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"../../plots/cartesian/axes\":742,\"./attributes\":646,\"./helpers\":651}],650:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../color\"),s=t(\"../drawing\"),l=t(\"../../plot_api/plot_template\").arrayEditor,c=t(\"../dragelement\"),u=t(\"../../lib/setcursor\"),f=t(\"./constants\"),h=t(\"./helpers\");function p(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index=\"'+e+'\"]').remove();var r=t._fullLayout.shapes[e]||{};if(r._input&&!1!==r.visible)if(\"below\"!==r.layer)v(t._fullLayout._shapeUpperLayer);else if(\"paper\"===r.xref||\"paper\"===r.yref)v(t._fullLayout._shapeLowerLayer);else{var p=t._fullLayout._plots[r.xref+r.yref];if(p)v((p.mainplotinfo||p).shapelayer);else v(t._fullLayout._shapeLowerLayer)}function v(p){var v={\"data-index\":e,\"fill-rule\":\"evenodd\",d:g(t,r)},y=r.line.width?r.line.color:\"rgba(0,0,0,0)\",x=p.append(\"path\").attr(v).style(\"opacity\",r.opacity).call(o.stroke,y).call(o.fill,r.fillcolor).call(s.dashLine,r.line.dash,r.line.width);d(x,t,r),t._context.edits.shapePosition&&function(t,e,r,o,p){var v,y,x,b,_,w,k,M,A,T,S,E,C,L,z,P,O=10,I=10,D=\"pixel\"===r.xsizemode,R=\"pixel\"===r.ysizemode,B=\"line\"===r.type,F=\"path\"===r.type,N=l(t.layout,\"shapes\",r),j=N.modifyItem,V=a.getFromId(t,r.xref),U=a.getFromId(t,r.yref),q=h.getDataToPixel(t,V),H=h.getDataToPixel(t,U,!0),G=h.getPixelToData(t,V),W=h.getPixelToData(t,U,!0),Y=B?function(){var t=Math.max(r.line.width,10),n=p.append(\"g\").attr(\"data-index\",o);n.append(\"path\").attr(\"d\",e.attr(\"d\")).style({cursor:\"move\",\"stroke-width\":t,\"stroke-opacity\":\"0\"});var i={\"fill-opacity\":\"0\"},a=t/2>10?t/2:10;return n.append(\"circle\").attr({\"data-line-point\":\"start-point\",cx:D?q(r.xanchor)+r.x0:q(r.x0),cy:R?H(r.yanchor)-r.y0:H(r.y0),r:a}).style(i).classed(\"cursor-grab\",!0),n.append(\"circle\").attr({\"data-line-point\":\"end-point\",cx:D?q(r.xanchor)+r.x1:q(r.x1),cy:R?H(r.yanchor)-r.y1:H(r.y1),r:a}).style(i).classed(\"cursor-grab\",!0),n}():e,X={element:Y.node(),gd:t,prepFn:function(n){D&&(_=q(r.xanchor));R&&(w=H(r.yanchor));\"path\"===r.type?z=r.path:(v=D?r.x0:q(r.x0),y=R?r.y0:H(r.y0),x=D?r.x1:q(r.x1),b=R?r.y1:H(r.y1));v<x?(A=v,C=\"x0\",T=x,L=\"x1\"):(A=x,C=\"x1\",T=v,L=\"x0\");!R&&y<b||R&&y>b?(k=y,S=\"y0\",M=b,E=\"y1\"):(k=b,S=\"y1\",M=y,E=\"y0\");Z(n),K(p,r),function(t,e,r){var n=e.xref,i=e.yref,o=a.getFromId(r,n),l=a.getFromId(r,i),c=\"\";\"paper\"===n||o.autorange||(c+=n);\"paper\"===i||l.autorange||(c+=i);t.call(s.setClipUrl,c?\"clip\"+r._fullLayout._uid+c:null)}(e,r,t),X.moveFn=\"move\"===P?$:J},doneFn:function(){u(e),Q(p),d(e,t,r),n.call(\"relayout\",t,N.getUpdateObj())},clickFn:function(){Q(p)}};function Z(t){if(B)P=\"path\"===t.target.tagName?\"move\":\"start-point\"===t.target.attributes[\"data-line-point\"].value?\"resize-over-start-point\":\"resize-over-end-point\";else{var r=X.element.getBoundingClientRect(),n=r.right-r.left,i=r.bottom-r.top,a=t.clientX-r.left,o=t.clientY-r.top,s=!F&&n>O&&i>I&&!t.shiftKey?c.getCursor(a/n,1-o/i):\"move\";u(e,s),P=s.split(\"-\")[0]}}function $(n,i){if(\"path\"===r.type){var a=function(t){return t},o=a,s=a;D?j(\"xanchor\",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&\"date\"===V.type&&(o=h.encodeDate(o))),R?j(\"yanchor\",r.yanchor=W(w+i)):(s=function(t){return W(H(t)+i)},U&&\"date\"===U.type&&(s=h.encodeDate(s))),j(\"path\",r.path=m(z,o,s))}else D?j(\"xanchor\",r.xanchor=G(_+n)):(j(\"x0\",r.x0=G(v+n)),j(\"x1\",r.x1=G(x+n))),R?j(\"yanchor\",r.yanchor=W(w+i)):(j(\"y0\",r.y0=W(y+i)),j(\"y1\",r.y1=W(b+i)));e.attr(\"d\",g(t,r)),K(p,r)}function J(n,i){if(F){var a=function(t){return t},o=a,s=a;D?j(\"xanchor\",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&\"date\"===V.type&&(o=h.encodeDate(o))),R?j(\"yanchor\",r.yanchor=W(w+i)):(s=function(t){return W(H(t)+i)},U&&\"date\"===U.type&&(s=h.encodeDate(s))),j(\"path\",r.path=m(z,o,s))}else if(B){if(\"resize-over-start-point\"===P){var l=v+n,c=R?y-i:y+i;j(\"x0\",r.x0=D?l:G(l)),j(\"y0\",r.y0=R?c:W(c))}else if(\"resize-over-end-point\"===P){var u=x+n,f=R?b-i:b+i;j(\"x1\",r.x1=D?u:G(u)),j(\"y1\",r.y1=R?f:W(f))}}else{var d=~P.indexOf(\"n\")?k+i:k,N=~P.indexOf(\"s\")?M+i:M,Y=~P.indexOf(\"w\")?A+n:A,X=~P.indexOf(\"e\")?T+n:T;~P.indexOf(\"n\")&&R&&(d=k-i),~P.indexOf(\"s\")&&R&&(N=M-i),(!R&&N-d>I||R&&d-N>I)&&(j(S,r[S]=R?d:W(d)),j(E,r[E]=R?N:W(N))),X-Y>O&&(j(C,r[C]=D?Y:G(Y)),j(L,r[L]=D?X:G(X)))}e.attr(\"d\",g(t,r)),K(p,r)}function K(t,e){(D||R)&&function(){var r=\"path\"!==e.type,n=t.selectAll(\".visual-cue\").data([0]);n.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":1}).classed(\"visual-cue\",!0);var a=q(D?e.xanchor:i.midRange(r?[e.x0,e.x1]:h.extractPathCoords(e.path,f.paramIsX))),o=H(R?e.yanchor:i.midRange(r?[e.y0,e.y1]:h.extractPathCoords(e.path,f.paramIsY)));if(a=h.roundPositionForSharpStrokeRendering(a,1),o=h.roundPositionForSharpStrokeRendering(o,1),D&&R){var s=\"M\"+(a-1-1)+\",\"+(o-1-1)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";n.attr(\"d\",s)}else if(D){var l=\"M\"+(a-1-1)+\",\"+(o-9-1)+\"v18 h2 v-18 Z\";n.attr(\"d\",l)}else{var c=\"M\"+(a-9-1)+\",\"+(o-1-1)+\"h18 v2 h-18 Z\";n.attr(\"d\",c)}}()}function Q(t){t.selectAll(\".visual-cue\").remove()}c.init(X),Y.node().onmousemove=Z}(t,x,r,e,p)}}function d(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,\"\");t.call(s.setClipUrl,n?\"clip\"+e._fullLayout._uid+n:null)}function g(t,e){var r,n,o,s,l,c,u,p,d=e.type,g=a.getFromId(t,e.xref),m=a.getFromId(t,e.yref),v=t._fullLayout._size;if(g?(r=h.shapePositionToRange(g),n=function(t){return g._offset+g.r2p(r(t,!0))}):n=function(t){return v.l+v.w*t},m?(o=h.shapePositionToRange(m),s=function(t){return m._offset+m.r2p(o(t,!0))}):s=function(t){return v.t+v.h*(1-t)},\"path\"===d)return g&&\"date\"===g.type&&(n=h.decodeDate(n)),m&&\"date\"===m.type&&(s=h.decodeDate(s)),function(t,e,r){var n=t.path,a=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(f.segmentRE,function(t){var n=0,c=t.charAt(0),u=f.paramIsX[c],h=f.paramIsY[c],p=f.numParams[c],d=t.substr(1).replace(f.paramRE,function(t){return u[n]?t=\"pixel\"===a?e(s)+Number(t):e(t):h[n]&&(t=\"pixel\"===o?r(l)-Number(t):r(t)),++n>p&&(t=\"X\"),t});return n>p&&(d=d.replace(/[\\s,]*X.*/,\"\"),i.log(\"Ignoring extra params in segment \"+t)),c+d})}(e,n,s);if(\"pixel\"===e.xsizemode){var y=n(e.xanchor);l=y+e.x0,c=y+e.x1}else l=n(e.x0),c=n(e.x1);if(\"pixel\"===e.ysizemode){var x=s(e.yanchor);u=x-e.y0,p=x-e.y1}else u=s(e.y0),p=s(e.y1);if(\"line\"===d)return\"M\"+l+\",\"+u+\"L\"+c+\",\"+p;if(\"rect\"===d)return\"M\"+l+\",\"+u+\"H\"+c+\"V\"+p+\"H\"+l+\"Z\";var b=(l+c)/2,_=(u+p)/2,w=Math.abs(b-l),k=Math.abs(_-u),M=\"A\"+w+\",\"+k,A=b+w+\",\"+_;return\"M\"+A+M+\" 0 1,1 \"+(b+\",\"+(_-k))+M+\" 0 0,1 \"+A+\"Z\"}function m(t,e,r){return t.replace(f.segmentRE,function(t){var n=0,i=t.charAt(0),a=f.paramIsX[i],o=f.paramIsY[i],s=f.numParams[i];return i+t.substr(1).replace(f.paramRE,function(t){return n>=s?t:(a[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}e.exports={draw:function(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll(\"path\").remove(),e._shapeLowerLayer.selectAll(\"path\").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll(\"path\").remove()}for(var i=0;i<e.shapes.length;i++)e.shapes[i].visible&&p(t,i)},drawOne:p}},{\"../../lib\":693,\"../../lib/setcursor\":714,\"../../plot_api/plot_template\":732,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"../color\":567,\"../dragelement\":589,\"../drawing\":592,\"./constants\":648,\"./helpers\":651}],651:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../lib\");r.rangeToShapePosition=function(t){return\"log\"===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return\"log\"===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&&(e=e.replace(\"_\",\" \")),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(\" \",\"_\")}},r.extractPathCoords=function(t,e){var r=[];return t.match(n.segmentRE).forEach(function(t){var a=e[t.charAt(0)].drawn;if(void 0!==a){var o=t.substr(1).match(n.paramRE);!o||o.length<a||r.push(i.cleanNumber(o[a]))}}),r},r.getDataToPixel=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);i=function(t){return e._offset+e.r2p(o(t,!0))},\"date\"===e.type&&(i=r.decodeDate(i))}else i=n?function(t){return a.t+a.h*(1-t)}:function(t){return a.l+a.w*t};return i},r.getPixelToData=function(t,e,n){var i,a=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);i=function(t){return o(e.p2r(t-e._offset))}}else i=n?function(t){return 1-(t-a.t)/a.h}:function(t){return(t-a.l)/a.w};return i},r.roundPositionForSharpStrokeRendering=function(t,e){var r=1===Math.round(e%2),n=Math.round(t);return r?n+.5:n}},{\"../../lib\":693,\"./constants\":648}],652:[function(t,e,r){\"use strict\";var n=t(\"./draw\");e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),includeBasePlot:t(\"../../plots/cartesian/include_components\")(\"shapes\"),calcAutorange:t(\"./calc_autorange\"),draw:n.draw,drawOne:n.drawOne}},{\"../../plots/cartesian/include_components\":752,\"./attributes\":646,\"./calc_autorange\":647,\"./defaults\":649,\"./draw\":650}],653:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../plots/pad_attributes\"),a=t(\"../../lib/extend\").extendDeepAll,o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../plots/animation_attributes\"),l=t(\"../../plot_api/plot_template\").templatedArray,c=t(\"./constants\"),u=l(\"step\",{visible:{valType:\"boolean\",dflt:!0},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\"},value:{valType:\"string\"},execute:{valType:\"boolean\",dflt:!0}});e.exports=o(l(\"slider\",{visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:u,lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",min:-2,max:3,dflt:0},pad:a({},i,{},{t:{dflt:20}}),xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3,dflt:0},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},transition:{duration:{valType:\"number\",min:0,dflt:150},easing:{valType:\"enumerated\",values:s.transition.easing.values,dflt:\"cubic-in-out\"}},currentvalue:{visible:{valType:\"boolean\",dflt:!0},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},offset:{valType:\"number\",dflt:10},prefix:{valType:\"string\"},suffix:{valType:\"string\"},font:n({})},font:n({}),activebgcolor:{valType:\"color\",dflt:c.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:c.railBgColor},bordercolor:{valType:\"color\",dflt:c.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:c.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:c.tickLength},tickcolor:{valType:\"color\",dflt:c.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:c.minorTickLength}}),\"arraydraw\",\"from-root\")},{\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plot_api/plot_template\":732,\"../../plots/animation_attributes\":737,\"../../plots/font_attributes\":768,\"../../plots/pad_attributes\":804,\"./constants\":654}],654:[function(t,e,r){\"use strict\";e.exports={name:\"sliders\",containerClassName:\"slider-container\",groupClassName:\"slider-group\",inputAreaClass:\"slider-input-area\",railRectClass:\"slider-rail-rect\",railTouchRectClass:\"slider-rail-touch-rect\",gripRectClass:\"slider-grip-rect\",tickRectClass:\"slider-tick-rect\",inputProxyClass:\"slider-input-proxy\",labelsClass:\"slider-labels\",labelGroupClass:\"slider-label-group\",labelClass:\"slider-label\",currentValueClass:\"slider-current-value\",railHeight:5,menuIndexAttrName:\"slider-active-index\",autoMarginIdRoot:\"slider-\",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:\"#bec8d9\",railBgColor:\"#f8fafc\",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:\"#bec8d9\",gripBgColor:\"#f6f8fa\",gripBgActiveColor:\"#dbdde0\",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:\"#333\",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:\"#333\",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],655:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/array_container_defaults\"),a=t(\"./attributes\"),o=t(\"./constants\").name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:\"steps\",handleItemDefaults:c}),l=0,u=0;u<s.length;u++)s[u].visible&&l++;if(l<2?e.visible=!1:o(\"visible\")){e._stepCount=l;var f=e._visibleSteps=n.filterVisible(s);(s[o(\"active\")]||{}).visible||(e.active=f[0]._index),o(\"x\"),o(\"y\"),n.noneOrAll(t,e,[\"x\",\"y\"]),o(\"xanchor\"),o(\"yanchor\"),o(\"len\"),o(\"lenmode\"),o(\"pad.t\"),o(\"pad.r\"),o(\"pad.b\"),o(\"pad.l\"),n.coerceFont(o,\"font\",r.font),o(\"currentvalue.visible\")&&(o(\"currentvalue.xanchor\"),o(\"currentvalue.prefix\"),o(\"currentvalue.suffix\"),o(\"currentvalue.offset\"),n.coerceFont(o,\"currentvalue.font\",e.font)),o(\"transition.duration\"),o(\"transition.easing\"),o(\"bgcolor\"),o(\"activebgcolor\"),o(\"bordercolor\"),o(\"borderwidth\"),o(\"ticklen\"),o(\"tickwidth\"),o(\"tickcolor\"),o(\"minorticklen\")}}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}if(\"skip\"===t.method||Array.isArray(t.args)?r(\"visible\"):e.visible=!1){r(\"method\"),r(\"args\");var i=r(\"label\",\"step-\"+e._index);r(\"value\",i),r(\"execute\")}}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"./attributes\":653,\"./constants\":654}],656:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../plots/plots\"),a=t(\"../color\"),o=t(\"../drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../legend/anchor_utils\"),u=t(\"../../plot_api/plot_template\").arrayEditor,f=t(\"./constants\"),h=t(\"../../constants/alignment\"),p=h.LINE_SPACING,d=h.FROM_TL,g=h.FROM_BR;function m(t){return f.autoMarginIdRoot+t._index}function v(t){return t._index}function y(t,e){var r=o.tester.selectAll(\"g.\"+f.labelGroupClass).data(e._visibleSteps);r.enter().append(\"g\").classed(f.labelGroupClass,!0);var a=0,s=0;r.each(function(t){var r=_(n.select(this),{step:t},e).node();if(r){var i=o.bBox(r);s=Math.max(s,i.height),a=Math.max(a,i.width)}}),r.remove();var u=e._dims={};u.inputAreaWidth=Math.max(f.railWidth,f.gripHeight);var h=t._fullLayout._size;u.lx=h.l+h.w*e.x,u.ly=h.t+h.h*(1-e.y),\"fraction\"===e.lenmode?u.outerLength=Math.round(h.w*e.len):u.outerLength=e.len,u.inputAreaStart=0,u.inputAreaLength=Math.round(u.outerLength-e.pad.l-e.pad.r);var p=(u.inputAreaLength-2*f.stepInset)/(e._stepCount-1),v=a+f.labelPadding;if(u.labelStride=Math.max(1,Math.ceil(v/p)),u.labelHeight=s,u.currentValueMaxWidth=0,u.currentValueHeight=0,u.currentValueTotalHeight=0,u.currentValueMaxLines=1,e.currentvalue.visible){var y=o.tester.append(\"g\");r.each(function(t){var r=x(y,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},i=l.lineCount(r);u.currentValueMaxWidth=Math.max(u.currentValueMaxWidth,Math.ceil(n.width)),u.currentValueHeight=Math.max(u.currentValueHeight,Math.ceil(n.height)),u.currentValueMaxLines=Math.max(u.currentValueMaxLines,i)}),u.currentValueTotalHeight=u.currentValueHeight+e.currentvalue.offset,y.remove()}u.height=u.currentValueTotalHeight+f.tickOffset+e.ticklen+f.labelOffset+u.labelHeight+e.pad.t+e.pad.b;var b=\"left\";c.isRightAnchor(e)&&(u.lx-=u.outerLength,b=\"right\"),c.isCenterAnchor(e)&&(u.lx-=u.outerLength/2,b=\"center\");var w=\"top\";c.isBottomAnchor(e)&&(u.ly-=u.height,w=\"bottom\"),c.isMiddleAnchor(e)&&(u.ly-=u.height/2,w=\"middle\"),u.outerLength=Math.ceil(u.outerLength),u.height=Math.ceil(u.height),u.lx=Math.round(u.lx),u.ly=Math.round(u.ly);var k={y:e.y,b:u.height*g[w],t:u.height*d[w]};\"fraction\"===e.lenmode?(k.l=0,k.xl=e.x-e.len*d[b],k.r=0,k.xr=e.x+e.len*g[b]):(k.x=e.x,k.l=u.outerLength*d[b],k.r=u.outerLength*g[b]),i.autoMargin(t,m(e),k)}function x(t,e,r){if(e.currentvalue.visible){var n,i,a=e._dims;switch(e.currentvalue.xanchor){case\"right\":n=a.inputAreaLength-f.currentValueInset-a.currentValueMaxWidth,i=\"left\";break;case\"center\":n=.5*a.inputAreaLength,i=\"middle\";break;default:n=f.currentValueInset,i=\"left\"}var c=s.ensureSingle(t,\"text\",f.labelClass,function(t){t.classed(\"user-select-none\",!0).attr({\"text-anchor\":i,\"data-notex\":1})}),u=e.currentvalue.prefix?e.currentvalue.prefix:\"\";if(\"string\"==typeof r)u+=r;else u+=e.steps[e.active].label;e.currentvalue.suffix&&(u+=e.currentvalue.suffix),c.call(o.font,e.currentvalue.font).text(u).call(l.convertToTspans,e._gd);var h=l.lineCount(c),d=(a.currentValueMaxLines+1-h)*e.currentvalue.font.size*p;return l.positionText(c,n,d),c}}function b(t,e,r){s.ensureSingle(t,\"rect\",f.gripRectClass,function(n){n.call(A,e,t,r).style(\"pointer-events\",\"all\")}).attr({width:f.gripWidth,height:f.gripHeight,rx:f.gripRadius,ry:f.gripRadius}).call(a.stroke,r.bordercolor).call(a.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\")}function _(t,e,r){var n=s.ensureSingle(t,\"text\",f.labelClass,function(t){t.classed(\"user-select-none\",!0).attr({\"text-anchor\":\"middle\",\"data-notex\":1})});return n.call(o.font,r.font).text(e.step.label).call(l.convertToTspans,r._gd),n}function w(t,e){var r=s.ensureSingle(t,\"g\",f.labelsClass),i=e._dims,a=r.selectAll(\"g.\"+f.labelGroupClass).data(i.labelSteps);a.enter().append(\"g\").classed(f.labelGroupClass,!0),a.exit().remove(),a.each(function(t){var r=n.select(this);r.call(_,t,e),o.setTranslate(r,E(e,t.fraction),f.tickOffset+e.ticklen+e.font.size*p+f.labelOffset+i.currentValueTotalHeight)})}function k(t,e,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&M(t,e,r,o,!0,i)}function M(t,e,r,n,a,o){var s=r.active;r.active=n,u(t.layout,f.name,r).applyUpdate(\"active\",n);var l=r.steps[r.active];e.call(S,r,o),e.call(x,r),t.emit(\"plotly_sliderchange\",{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&&l.method&&a&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=a,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:a,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&i.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function A(t,e,r){var i=r.node(),o=n.select(e);function s(){return r.data()[0]}t.on(\"mousedown\",function(){var t=s();e.emit(\"plotly_sliderstart\",{slider:t});var l=r.select(\".\"+f.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(a.fill,t.activebgcolor);var c=C(t,n.mouse(i)[0]);k(e,r,t,c,!0),t._dragging=!0,o.on(\"mousemove\",function(){var t=s(),a=C(t,n.mouse(i)[0]);k(e,r,t,a,!1)}),o.on(\"mouseup\",function(){var t=s();t._dragging=!1,l.call(a.fill,t.bgcolor),o.on(\"mouseup\",null),o.on(\"mousemove\",null),e.emit(\"plotly_sliderend\",{slider:t,step:t.steps[t.active]})})})}function T(t,e){var r=t.selectAll(\"rect.\"+f.tickRectClass).data(e._visibleSteps),i=e._dims;r.enter().append(\"rect\").classed(f.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+\"px\",\"shape-rendering\":\"crispEdges\"}),r.each(function(t,r){var s=r%i.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(a.fill,e.tickcolor),o.setTranslate(l,E(e,r/(e._stepCount-1))-.5*e.tickwidth,(s?f.tickOffset:f.minorTickOffset)+i.currentValueTotalHeight)})}function S(t,e,r){for(var n=t.select(\"rect.\"+f.gripRectClass),i=0,a=0;a<e._stepCount;a++)if(e._visibleSteps[a]._index===e.active){i=a;break}var o=E(e,i/(e._stepCount-1));if(!e._invokingCommand){var s=n;r&&e.transition.duration>0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr(\"transform\",\"translate(\"+(o-.5*f.gripWidth)+\",\"+e._dims.currentValueTotalHeight+\")\")}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function C(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function L(t,e,r){var n=r._dims,i=s.ensureSingle(t,\"rect\",f.railTouchRectClass,function(n){n.call(A,e,t,r).style(\"pointer-events\",\"all\")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr(\"opacity\",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function z(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,\"rect\",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,\"shape-rendering\":\"crispEdges\"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[f.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=e,n.push(a))}return n}(e,t),a=e._infolayer.selectAll(\"g.\"+f.containerClassName).data(r.length>0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,m(e))}if(a.enter().append(\"g\").classed(f.containerClassName,!0).style(\"cursor\",\"ew-resize\"),a.exit().each(function(){n.select(this).selectAll(\"g.\"+f.groupClassName).each(s)}).remove(),0!==r.length){var l=a.selectAll(\"g.\"+f.groupClassName).data(r,v);l.enter().append(\"g\").classed(f.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c<r.length;c++){var u=r[c];y(t,u)}l.each(function(e){var r=n.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t._stepCount,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t._visibleSteps[n]})}(e),i.manageCommandObserver(t,e,e._visibleSteps,function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||M(t,r,n,e.index,!1,!0))}),function(t,e,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index);e.call(x,r).call(z,r).call(w,r).call(T,r).call(L,t,r).call(b,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(S,r,!1),e.call(x,r)}(t,n.select(this),e)})}}},{\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../plot_api/plot_template\":732,\"../../plots/plots\":805,\"../color\":567,\"../drawing\":592,\"../legend/anchor_utils\":619,\"./constants\":654,d3:147}],657:[function(t,e,r){\"use strict\";var n=t(\"./constants\");e.exports={moduleType:\"component\",name:n.name,layoutAttributes:t(\"./attributes\"),supplyLayoutDefaults:t(\"./defaults\"),draw:t(\"./draw\")}},{\"./attributes\":653,\"./constants\":654,\"./defaults\":655,\"./draw\":656}],658:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../drawing\"),c=t(\"../color\"),u=t(\"../../lib/svg_text_utils\"),f=t(\"../../constants/interactions\");e.exports={draw:function(t,e,r){var p,d=r.propContainer,g=r.propName,m=r.placeholder,v=r.traceIndex,y=r.avoid||{},x=r.attributes,b=r.transform,_=r.containerGroup,w=t._fullLayout,k=d.titlefont||{},M=k.family,A=k.size,T=k.color,S=1,E=!1,C=(d.title||\"\").trim();\"title\"===g?p=\"titleText\":-1!==g.indexOf(\"axis\")?p=\"axisTitleText\":g.indexOf(!0)&&(p=\"colorbarTitleText\");var L=t._context.edits[p];\"\"===C?S=0:C.replace(h,\" % \")===m.replace(h,\" % \")&&(S=.2,E=!0,L||(C=\"\"));var z=C||L;_||(_=s.ensureSingle(w._infolayer,\"g\",\"g-\"+e));var P=_.selectAll(\"text\").data(z?[0]:[]);if(P.enter().append(\"text\"),P.text(C).attr(\"class\",e),P.exit().remove(),!z)return _;function O(t){s.syncOrAsync([I,D],t)}function I(e){var r;return b?(r=\"\",b.rotate&&(r+=\"rotate(\"+[b.rotate,x.x,x.y]+\")\"),b.offset&&(r+=\"translate(0, \"+b.offset+\")\")):r=null,e.attr(\"transform\",r),e.style({\"font-family\":M,\"font-size\":n.round(A,2)+\"px\",fill:c.rgb(T),opacity:S*c.opacity(T),\"font-weight\":a.fontWeight}).attr(x).call(u.convertToTspans,t),a.previousPromises(t)}function D(t){var e=n.select(t.node().parentNode);if(y&&y.selection&&y.side&&C){e.attr(\"transform\",null);var r=0,a={left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}[y.side],o=-1!==[\"left\",\"top\"].indexOf(y.side)?-1:1,c=i(y.pad)?y.pad:2,u=l.bBox(e.node()),f={left:0,top:0,right:w.width,bottom:w.height},h=y.maxShift||(f[y.side]-u[y.side])*(\"left\"===y.side||\"top\"===y.side?-1:1);if(h<0)r=h;else{var p=y.offsetLeft||0,d=y.offsetTop||0;u.left-=p,u.right-=p,u.top-=d,u.bottom-=d,y.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(u,t,c)&&(r=Math.max(r,o*(t[y.side]-u[a])+c))}),r=Math.min(h,r)}if(r>0||h<0){var g={left:[-r,0],right:[r,0],top:[0,-r],bottom:[0,r]}[y.side];e.attr(\"transform\",\"translate(\"+g+\")\")}}}P.call(O),L&&(C?P.on(\".opacity\",null):(S=0,E=!0,P.text(m).on(\"mouseover.opacity\",function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style(\"opacity\",0)})),P.call(u.makeEditable,{gd:t}).on(\"edit\",function(e){void 0!==v?o.call(\"restyle\",t,g,e,v):o.call(\"relayout\",t,g,e)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(O)}).on(\"input\",function(t){this.text(t||\" \").call(u.positionText,x.x,x.y)}));return P.classed(\"js-placeholder\",E),_}};var h=/ [XY][0-9]* /},{\"../../constants/interactions\":669,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../plots/plots\":805,\"../../registry\":825,\"../color\":567,\"../drawing\":592,d3:147,\"fast-isnumeric\":213}],659:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../plots/pad_attributes\"),l=t(\"../../plot_api/plot_template\").templatedArray,c=l(\"button\",{visible:{valType:\"boolean\"},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\",dflt:\"\"},execute:{valType:\"boolean\",dflt:!0}});e.exports=o(l(\"updatemenu\",{_arrayAttrRegexps:[/^updatemenus\\[(0|[1-9][0-9]+)\\]\\.buttons/],visible:{valType:\"boolean\"},type:{valType:\"enumerated\",values:[\"dropdown\",\"buttons\"],dflt:\"dropdown\"},direction:{valType:\"enumerated\",values:[\"left\",\"right\",\"up\",\"down\"],dflt:\"down\"},active:{valType:\"integer\",min:-1,dflt:0},showactive:{valType:\"boolean\",dflt:!0},buttons:c,x:{valType:\"number\",min:-2,max:3,dflt:-.05},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"right\"},y:{valType:\"number\",min:-2,max:3,dflt:1},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},pad:a({},s,{}),font:n({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:i.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")},{\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plot_api/plot_template\":732,\"../../plots/font_attributes\":768,\"../../plots/pad_attributes\":804,\"../color/attributes\":566}],660:[function(t,e,r){\"use strict\";e.exports={name:\"updatemenus\",containerClassName:\"updatemenu-container\",headerGroupClassName:\"updatemenu-header-group\",headerClassName:\"updatemenu-header\",headerArrowClassName:\"updatemenu-header-arrow\",dropdownButtonGroupClassName:\"updatemenu-dropdown-button-group\",dropdownButtonClassName:\"updatemenu-dropdown-button\",buttonClassName:\"updatemenu-button\",itemRectClassName:\"updatemenu-item-rect\",itemTextClassName:\"updatemenu-item-text\",menuIndexAttrName:\"updatemenu-active-index\",autoMarginIdRoot:\"updatemenu-\",blankHeaderOpts:{label:\"  \"},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\",arrowSymbol:{left:\"\\u25c4\",right:\"\\u25ba\",up:\"\\u25b2\",down:\"\\u25bc\"}}},{}],661:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/array_container_defaults\"),a=t(\"./attributes\"),o=t(\"./constants\").name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o(\"visible\",i(t,e,{name:\"buttons\",handleItemDefaults:c}).length>0)&&(o(\"active\"),o(\"direction\"),o(\"type\"),o(\"showactive\"),o(\"x\"),o(\"y\"),n.noneOrAll(t,e,[\"x\",\"y\"]),o(\"xanchor\"),o(\"yanchor\"),o(\"pad.t\"),o(\"pad.r\"),o(\"pad.b\"),o(\"pad.l\"),n.coerceFont(o,\"font\",r.font),o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\"),o(\"borderwidth\"))}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r(\"visible\",\"skip\"===t.method||Array.isArray(t.args))&&(r(\"method\"),r(\"args\"),r(\"label\"),r(\"execute\"))}e.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"./attributes\":659,\"./constants\":660}],662:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../plots/plots\"),a=t(\"../color\"),o=t(\"../drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../legend/anchor_utils\"),u=t(\"../../plot_api/plot_template\").arrayEditor,f=t(\"../../constants/alignment\").LINE_SPACING,h=t(\"./constants\"),p=t(\"./scrollbox\");function d(t){return t._index}function g(t,e){return+t.attr(h.menuIndexAttrName)===e._index}function m(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,h.name,e).applyUpdate(\"active\",o),\"buttons\"===e.type?y(t,n,null,null,e):\"dropdown\"===e.type&&(i.attr(h.menuIndexAttrName,\"-1\"),v(t,n,i,a,e),s||y(t,n,i,a,e))}function v(t,e,r,n,i){var a=s.ensureSingle(e,\"g\",h.headerClassName,function(t){t.style(\"pointer-events\",\"all\")}),l=i._dims,c=i.active,u=i.buttons[c]||h.blankHeaderOpts,f={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(x,i,u,t).call(S,i,f,p),s.ensureSingle(e,\"text\",h.headerArrowClassName,function(t){t.classed(\"user-select-none\",!0).attr(\"text-anchor\",\"end\").call(o.font,i.font).text(h.arrowSymbol[i.direction])}).attr({x:l.headerWidth-h.arrowOffsetX+i.pad.l,y:l.headerHeight/2+h.textOffsetY+i.pad.t}),a.on(\"click\",function(){r.call(E,String(g(r,i)?-1:i._index)),y(t,e,r,n,i)}),a.on(\"mouseover\",function(){a.call(k)}),a.on(\"mouseout\",function(){a.call(M,i)}),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr(\"pointer-events\",\"all\");var l=function(t){return-1==+t.attr(h.menuIndexAttrName)}(r)&&\"buttons\"!==o.type?[]:o.buttons,c=\"dropdown\"===o.type?h.dropdownButtonClassName:h.buttonClassName,u=r.selectAll(\"g.\"+c).data(s.filterVisible(l)),f=u.enter().append(\"g\").classed(c,!0),p=u.exit();\"dropdown\"===o.type?(f.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\"),p.transition().attr(\"opacity\",\"0\").remove()):p.remove();var d=0,g=0,v=o._dims,y=-1!==[\"up\",\"down\"].indexOf(o.direction);\"dropdown\"===o.type&&(y?g=v.headerHeight+h.gapButtonHeader:d=v.headerWidth+h.gapButtonHeader),\"dropdown\"===o.type&&\"up\"===o.direction&&(g=-h.gapButtonHeader+h.gapButton-v.openHeight),\"dropdown\"===o.type&&\"left\"===o.direction&&(d=-h.gapButtonHeader+h.gapButton-v.openWidth);var b={x:v.lx+d+o.pad.l,y:v.ly+g+o.pad.t,yPad:h.gapButton,xPad:h.gapButton,index:0},_={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each(function(s,l){var c=n.select(this);c.call(x,o,s,t).call(S,o,b),c.on(\"click\",function(){n.event.defaultPrevented||(m(t,o,0,e,r,a,l),s.execute&&i.executeAPICommand(t,s.method,s.args),t.emit(\"plotly_buttonclicked\",{menu:o,button:s,active:o.active}))}),c.on(\"mouseover\",function(){c.call(k)}),c.on(\"mouseout\",function(){c.call(M,o),u.call(w,o)})}),u.call(w,o),y?(_.w=Math.max(v.openWidth,v.headerWidth),_.h=b.y-_.t):(_.w=b.x-_.l,_.h=Math.max(v.openHeight,v.headerHeight)),_.direction=o.direction,a&&(u.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u=\"up\"===c||\"down\"===c,f=i._dims,p=i.active;if(u)for(s=0,l=0;l<p;l++)s+=f.heights[l]+h.gapButton;else for(o=0,l=0;l<p;l++)o+=f.widths[l]+h.gapButton;n.enable(a,o,s),n.hbar&&n.hbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\");n.vbar&&n.vbar.attr(\"opacity\",\"0\").transition().attr(\"opacity\",\"1\")}(0,0,0,a,o,_):function(t){var e=!!t.hbar,r=!!t.vbar;e&&t.hbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){e=!1,r||t.disable()});r&&t.vbar.transition().attr(\"opacity\",\"0\").each(\"end\",function(){r=!1,e||t.disable()})}(a))}function x(t,e,r,n){t.call(b,e).call(_,e,r,n)}function b(t,e){s.ensureSingle(t,\"rect\",h.itemRectClassName,function(t){t.attr({rx:h.rx,ry:h.ry,\"shape-rendering\":\"crispEdges\"})}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style(\"stroke-width\",e.borderwidth+\"px\")}function _(t,e,r,n){s.ensureSingle(t,\"text\",h.itemTextClassName,function(t){t.classed(\"user-select-none\",!0).attr({\"text-anchor\":\"start\",\"data-notex\":1})}).call(o.font,e.font).text(r.label).call(l.convertToTspans,n)}function w(t,e){var r=e.active;t.each(function(t,i){var o=n.select(this);i===r&&e.showactive&&o.select(\"rect.\"+h.itemRectClassName).call(a.fill,h.activeColor)})}function k(t){t.select(\"rect.\"+h.itemRectClassName).call(a.fill,h.hoverColor)}function M(t,e){t.select(\"rect.\"+h.itemRectClassName).call(a.fill,e.bgcolor)}function A(t,e){var r=e._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},a=o.tester.selectAll(\"g.\"+h.dropdownButtonClassName).data(s.filterVisible(e.buttons));a.enter().append(\"g\").classed(h.dropdownButtonClassName,!0);var u=-1!==[\"up\",\"down\"].indexOf(e.direction);a.each(function(i,a){var s=n.select(this);s.call(x,e,i,t);var c=s.select(\".\"+h.itemTextClassName),p=c.node()&&o.bBox(c.node()).width,d=Math.max(p+h.textPadX,h.minWidth),g=e.font.size*f,m=l.lineCount(c),v=Math.max(g*m,h.minHeight)+h.textOffsetY;v=Math.ceil(v),d=Math.ceil(d),r.widths[a]=d,r.heights[a]=v,r.height1=Math.max(r.height1,v),r.width1=Math.max(r.width1,d),u?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=v+h.gapButton,r.openHeight+=v+h.gapButton):(r.totalWidth+=d+h.gapButton,r.openWidth+=d+h.gapButton,r.totalHeight=Math.max(r.totalHeight,v),r.openHeight=r.totalHeight)}),u?r.totalHeight-=h.gapButton:r.totalWidth-=h.gapButton,r.headerWidth=r.width1+h.arrowPadX,r.headerHeight=r.height1,\"dropdown\"===e.type&&(u?(r.width1+=h.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=h.arrowPadX),a.remove();var p=r.totalWidth+e.pad.l+e.pad.r,d=r.totalHeight+e.pad.t+e.pad.b,g=t._fullLayout._size;r.lx=g.l+g.w*e.x,r.ly=g.t+g.h*(1-e.y);var m=\"left\";c.isRightAnchor(e)&&(r.lx-=p,m=\"right\"),c.isCenterAnchor(e)&&(r.lx-=p/2,m=\"center\");var v=\"top\";c.isBottomAnchor(e)&&(r.ly-=d,v=\"bottom\"),c.isMiddleAnchor(e)&&(r.ly-=d/2,v=\"middle\"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),i.autoMargin(t,T(e),{x:e.x,y:e.y,l:p*({right:1,center:.5}[m]||0),r:p*({left:1,center:.5}[m]||0),b:d*({top:1,middle:.5}[v]||0),t:d*({bottom:1,middle:.5}[v]||0)})}function T(t){return h.autoMarginIdRoot+t._index}function S(t,e,r,n){n=n||{};var i=t.select(\".\"+h.itemRectClassName),a=t.select(\".\"+h.itemTextClassName),s=e.borderwidth,c=r.index,u=e._dims;o.setTranslate(t,s+r.x,s+r.y);var p=-1!==[\"up\",\"down\"].indexOf(e.direction),d=n.height||(p?u.heights[c]:u.height1);i.attr({x:0,y:0,width:n.width||(p?u.width1:u.widths[c]),height:d});var g=e.font.size*f,m=(l.lineCount(a)-1)*g/2;l.positionText(a,h.textOffsetX,d/2-m+h.textOffsetY),p?r.y+=u.heights[c]+r.yPad:r.x+=u.widths[c]+r.xPad,r.index++}function E(t,e){t.attr(h.menuIndexAttrName,e||\"-1\").selectAll(\"g.\"+h.dropdownButtonClassName).remove()}e.exports=function(t){var e=t._fullLayout,r=s.filterVisible(e[h.name]);function a(e){i.autoMargin(t,T(e))}var o=e._menulayer.selectAll(\"g.\"+h.containerClassName).data(r.length>0?[0]:[]);if(o.enter().append(\"g\").classed(h.containerClassName,!0).style(\"cursor\",\"pointer\"),o.exit().each(function(){n.select(this).selectAll(\"g.\"+h.headerGroupClassName).each(a)}).remove(),0!==r.length){var l=o.selectAll(\"g.\"+h.headerGroupClassName).data(r,d);l.enter().append(\"g\").classed(h.headerGroupClassName,!0);for(var c=s.ensureSingle(o,\"g\",h.dropdownButtonGroupClassName,function(t){t.style(\"pointer-events\",\"all\")}),u=0;u<r.length;u++){var f=r[u];A(t,f)}var x=\"updatemenus\"+e._uid,b=new p(t,c,x);l.enter().size()&&(c.node().parentNode.appendChild(c.node()),c.call(E)),l.exit().each(function(t){c.call(E),a(t)}).remove(),l.each(function(e){var r=n.select(this),a=\"dropdown\"===e.type?c:null;i.manageCommandObserver(t,e,e.buttons,function(n){m(t,e,e.buttons[n.index],r,a,b,n.index,!0)}),\"dropdown\"===e.type?(v(t,r,c,b,e),g(c,e)&&y(t,r,c,b,e)):y(t,r,null,null,e)})}}},{\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../plot_api/plot_template\":732,\"../../plots/plots\":805,\"../color\":567,\"../drawing\":592,\"../legend/anchor_utils\":619,\"./constants\":660,\"./scrollbox\":664,d3:147}],663:[function(t,e,r){arguments[4][657][0].apply(r,arguments)},{\"./attributes\":659,\"./constants\":660,\"./defaults\":661,\"./draw\":662,dup:657}],664:[function(t,e,r){\"use strict\";e.exports=s;var n=t(\"d3\"),i=t(\"../color\"),a=t(\"../drawing\"),o=t(\"../../lib\");function s(t,e,r){this.gd=t,this.container=e,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll(\"rect.scrollbox-bg\").data([0]),this.bg.exit().on(\".drag\",null).on(\"wheel\",null).remove(),this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\",!0).style(\"pointer-events\",\"all\").attr({opacity:0,x:0,y:0,width:0,height:0})}s.barWidth=2,s.barLength=20,s.barRadius=2,s.barPad=1,s.barColor=\"#808BA4\",s.prototype.enable=function(t,e,r){var o=this.gd._fullLayout,l=o.width,c=o.height;this.position=t;var u,f,h,p,d=this.position.l,g=this.position.w,m=this.position.t,v=this.position.h,y=this.position.direction,x=\"down\"===y,b=\"left\"===y,_=\"up\"===y,w=g,k=v;x||b||\"right\"===y||_||(this.position.direction=\"down\",x=!0),x||_?(f=(u=d)+w,x?(h=m,k=(p=Math.min(h+k,c))-h):k=(p=m+k)-(h=Math.max(p-k,0))):(p=(h=m)+k,b?w=(f=d+w)-(u=Math.max(f-w,0)):(u=d,w=(f=Math.min(u+w,l))-u)),this._box={l:u,t:h,w:w,h:k};var M=g>w,A=s.barLength+2*s.barPad,T=s.barWidth+2*s.barPad,S=d,E=m+v;E+T>c&&(E=c-T);var C=this.container.selectAll(\"rect.scrollbar-horizontal\").data(M?[0]:[]);C.exit().on(\".drag\",null).remove(),C.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(i.fill,s.barColor),M?(this.hbar=C.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:T}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=v>k,z=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,O=d+g,I=m;O+z>l&&(O=l-z);var D=this.container.selectAll(\"rect.scrollbar-vertical\").data(L?[0]:[]);D.exit().on(\".drag\",null).remove(),D.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(i.fill,s.barColor),L?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:O,y:I,width:z,height:P}),this._vbarYMin=I+P/2,this._vbarTranslateMax=k-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,B=u-.5,F=L?f+z+.5:f+.5,N=h-.5,j=M?p+T+.5:p+.5,V=o._topdefs.selectAll(\"#\"+R).data(M||L?[0]:[]);if(V.exit().remove(),V.enter().append(\"clipPath\").attr(\"id\",R).append(\"rect\"),M||L?(this._clipRect=V.select(\"rect\").attr({x:Math.floor(B),y:Math.floor(N),width:Math.ceil(F)-Math.floor(B),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R),this.bg.attr({x:d,y:m,width:g,height:v})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),M||L){var U=n.behavior.drag().on(\"dragstart\",function(){n.event.sourceEvent.preventDefault()}).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(U);var q=n.behavior.drag().on(\"dragstart\",function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()}).on(\"drag\",this._onBarDrag.bind(this));M&&this.hbar.on(\".drag\",null).call(q),L&&this.vbar.on(\".drag\",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(\".drag\",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(\".drag\",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},{\"../../lib\":693,\"../color\":567,\"../drawing\":592,d3:147}],665:[function(t,e,r){\"use strict\";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}}},{}],666:[function(t,e,r){\"use strict\";e.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}},{}],667:[function(t,e,r){\"use strict\";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],668:[function(t,e,r){\"use strict\";e.exports={circle:\"\\u25cf\",\"circle-open\":\"\\u25cb\",square:\"\\u25a0\",\"square-open\":\"\\u25a1\",diamond:\"\\u25c6\",\"diamond-open\":\"\\u25c7\",cross:\"+\",x:\"\\u274c\"}},{}],669:[function(t,e,r){\"use strict\";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DBLCLICKDELAY:300,DESELECTDIM:.2}},{}],670:[function(t,e,r){\"use strict\";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:\"\\u2212\"}},{}],671:[function(t,e,r){\"use strict\";r.xmlns=\"http://www.w3.org/2000/xmlns/\",r.svg=\"http://www.w3.org/2000/svg\",r.xlink=\"http://www.w3.org/1999/xlink\",r.svgAttrs={xmlns:r.svg,\"xmlns:xlink\":r.xlink}},{}],672:[function(t,e,r){\"use strict\";r.version=\"1.41.3\",t(\"es6-promise\").polyfill(),t(\"../build/plotcss\"),t(\"./fonts/mathjax_config\");for(var n=t(\"./registry\"),i=r.register=n.register,a=t(\"./plot_api\"),o=Object.keys(a),s=0;s<o.length;s++){var l=o[s];r[l]=a[l],i({moduleType:\"apiMethod\",name:l,fn:a[l]})}i(t(\"./traces/scatter\")),i([t(\"./components/fx\"),t(\"./components/legend\"),t(\"./components/annotations\"),t(\"./components/annotations3d\"),t(\"./components/shapes\"),t(\"./components/images\"),t(\"./components/updatemenus\"),t(\"./components/sliders\"),t(\"./components/rangeslider\"),t(\"./components/rangeselector\"),t(\"./components/grid\"),t(\"./components/errorbars\")]),i([t(\"./locale-en\"),t(\"./locale-en-us\")]),r.Icons=t(\"../build/ploticon\"),r.Plots=t(\"./plots/plots\"),r.Fx=t(\"./components/fx\"),r.Snapshot=t(\"./snapshot\"),r.PlotSchema=t(\"./plot_api/plot_schema\"),r.Queue=t(\"./lib/queue\"),r.d3=t(\"d3\")},{\"../build/plotcss\":1,\"../build/ploticon\":2,\"./components/annotations\":558,\"./components/annotations3d\":563,\"./components/errorbars\":598,\"./components/fx\":609,\"./components/grid\":613,\"./components/images\":618,\"./components/legend\":627,\"./components/rangeselector\":638,\"./components/rangeslider\":644,\"./components/shapes\":652,\"./components/sliders\":657,\"./components/updatemenus\":663,\"./fonts/mathjax_config\":673,\"./lib/queue\":709,\"./locale-en\":723,\"./locale-en-us\":722,\"./plot_api\":727,\"./plot_api/plot_schema\":731,\"./plots/plots\":805,\"./registry\":825,\"./snapshot\":830,\"./traces/scatter\":1044,d3:147,\"es6-promise\":202}],673:[function(t,e,r){\"use strict\";\"undefined\"!=typeof MathJax?(r.MathJax=!0,MathJax.Hub.Config({messageStyle:\"none\",skipStartupTypeset:!0,displayAlign:\"left\",tex2jax:{inlineMath:[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]]}}),MathJax.Hub.Configured()):r.MathJax=!1},{}],674:[function(t,e,r){\"use strict\";var n=t(\"./mod\"),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-15}function c(t,e){return a(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0]<e[1]?(r=e[0],n=e[1]):(r=e[1],n=e[0]),(r=i(r,s))>(n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,c){i=i||0,a=a||0;var u,f,h,p,d,g=l([r,n]);function m(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}g?(u=0,f=o,h=s):r<n?(u=r,h=n):(u=n,h=r),t<e?(p=t,d=e):(p=e,d=t);var v,y=Math.abs(h-u)<=o?0:1;function x(t,e,r){return\"A\"+[t,t]+\" \"+[0,y,r]+\" \"+m(t,e)}return g?v=null===p?\"M\"+m(d,u)+x(d,f,0)+x(d,h,0)+\"Z\":\"M\"+m(p,u)+x(p,f,0)+x(p,h,0)+\"ZM\"+m(d,u)+x(d,f,1)+x(d,h,1)+\"Z\":null===p?(v=\"M\"+m(d,u)+x(d,h,0),c&&(v+=\"L0,0Z\")):v=\"M\"+m(p,u)+\"L\"+m(d,u)+x(d,h,0)+\"L\"+m(p,h)+x(p,u,1)+\"Z\",v}e.exports={deg2rad:function(t){return t/180*o},rad2deg:function(t){return t/o*180},angleDelta:c,angleDist:function(t,e){return Math.abs(c(t,e))},isFullCircle:l,isAngleInsideSector:u,isPtInsideSector:function(t,e,r,n){return!!u(e,n)&&(r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),t>=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},{\"./mod\":701}],675:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../constants/numerical\").BADNUM,a=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;e.exports=function(t){return\"string\"==typeof t&&(t=t.replace(a,\"\")),n(t)?Number(t):i}},{\"../constants/numerical\":670,\"fast-isnumeric\":213}],676:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t._fullLayout;e._glcanvas&&e._glcanvas.size()&&e._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0,depth:!0})})}},{}],677:[function(t,e,r){\"use strict\";e.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener(\"resize\",t._responsiveChartHandler),delete t._responsiveChartHandler)}},{}],678:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"../plots/attributes\"),o=t(\"../components/colorscale/get_scale\"),s=(Object.keys(t(\"../components/colorscale/scales\")),t(\"./nested_property\")),l=t(\"./regex\").counter,c=t(\"../constants/interactions\").DESELECTDIM,u=t(\"./mod\").modHalf,f=t(\"./is_array\").isArrayOrTypedArray;function h(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&&f(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var i={},a=i,o={set:function(t){a=t}};return n.coerceFunction(t,o,i,e),a!==i}r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){f(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;n<r.length;n++){var i=String(r[n]);if(\"/\"===i.charAt(0)&&\"/\"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.length-2)).test(t))return!0}else if(t===r[n])return!0}return!1}},boolean:{coerceFunction:function(t,e,r){!0===t||!1===t?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,r,i){!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if(\"string\"!=typeof t){var i=\"number\"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return i(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o(t,r))}},angle:{coerceFunction:function(t,e,r){\"auto\"===t?e.set(\"auto\"):n(t)?e.set(u(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||l(r);\"string\"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||\"string\"==typeof t&&!!l(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(\"string\"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var i=t.split(\"+\"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.join(\"+\")):e.set(r)}else e.set(t);else e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,n,i){function a(t,e,n){var i,a={set:function(t){i=t}};return void 0===n&&(n=e.dflt),r.valObjectMeta[e.valType].coerceFunction(t,a,n,e),i}var o=2===i.dimensions||\"1-2\"===i.dimensions&&Array.isArray(t)&&Array.isArray(t[0]);if(Array.isArray(t)){var s,l,c,u,f,h,p=i.items,d=[],g=Array.isArray(p),m=g&&o&&Array.isArray(p[0]),v=o&&g&&!m,y=g&&!v?p.length:t.length;if(n=Array.isArray(n)?n:[],o)for(s=0;s<y;s++)for(d[s]=[],c=Array.isArray(t[s])?t[s]:[],f=v?p.length:g?p[s].length:c.length,l=0;l<f;l++)u=v?p[l]:g?p[s][l]:p,void 0!==(h=a(c[l],u,(n[s]||[])[l]))&&(d[s][l]=h);else for(s=0;s<y;s++)void 0!==(h=a(t[s],g?p[s]:p,n[s]))&&(d[s]=h);e.set(d)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),i=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var a=0;a<t.length;a++)if(i){if(!Array.isArray(t[a])||!e.freeLength&&t[a].length!==r[a].length)return!1;for(var o=0;o<t[a].length;o++)if(!h(t[a][o],n?r[a][o]:r))return!1}else if(!h(t[a],n?r[a]:r))return!1;return!0}}},r.coerce=function(t,e,n,i,a){var o=s(n,i).get(),l=s(t,i),c=s(e,i),u=l.get(),p=e._template;if(void 0===u&&p&&(u=s(p,i).get(),p=0),void 0===a&&(a=o.dflt),o.arrayOk&&f(u))return c.set(u),u;var d=r.valObjectMeta[o.valType].coerceFunction;d(u,c,a,o);var g=c.get();return p&&g===a&&!h(u,o)&&(d(u=s(p,i).get(),c,a,o),g=c.get()),g},r.coerce2=function(t,e,n,i,a){var o=s(t,i),l=r.coerce(t,e,n,i,a),c=o.get();return null!=c&&l},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+\".family\",r.family),n.size=t(e+\".size\",r.size),n.color=t(e+\".color\",r.color),n},r.coerceHoverinfo=function(t,e,n){var i,o=e._module.attributes,s=o.hoverinfo?o:a,l=s.hoverinfo;if(1===n._dataLength){var c=\"all\"===l.dflt?l.flags.slice():l.dflt.split(\"+\");c.splice(c.indexOf(\"name\"),1),i=c.join(\"+\")}return r.coerce(t,e,s,\"hoverinfo\",i)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;if(void 0!==i)f(i)||t.selected||t.unselected||(r=i,n=c*i),e(\"selected.marker.opacity\",r),e(\"unselected.marker.opacity\",n)}},r.validate=h},{\"../components/colorscale/get_scale\":580,\"../components/colorscale/scales\":586,\"../constants/interactions\":669,\"../plots/attributes\":739,\"./is_array\":694,\"./mod\":701,\"./nested_property\":702,\"./regex\":710,\"fast-isnumeric\":213,tinycolor2:511}],679:[function(t,e,r){\"use strict\";var n,i,a=t(\"d3\"),o=t(\"fast-isnumeric\"),s=t(\"./loggers\"),l=t(\"./mod\").mod,c=t(\"../constants/numerical\"),u=c.BADNUM,f=c.ONEDAY,h=c.ONEHOUR,p=c.ONEMIN,d=c.ONESEC,g=c.EPOCHJD,m=t(\"../registry\"),v=a.time.format.utc,y=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d:?\\d\\d)?)?)?)?)?\\s*$/m,x=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d:?\\d\\d)?)?)?)?)?\\s*$/m,b=(new Date).getFullYear()-70;function _(t){return t&&m.componentsRegistry.calendars&&\"string\"==typeof t&&\"gregorian\"!==t}function w(t,e){return String(t+Math.pow(10,e)).substr(1)}r.dateTick0=function(t,e){return _(t)?e?m.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[t]:m.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[t]:e?\"2000-01-02\":\"2000-01-01\"},r.dfltRange=function(t){return _(t)?m.getComponentMethod(\"calendars\",\"DFLTRANGE\")[t]:[\"2000-01-01\",\"2001-01-01\"]},r.isJSDate=function(t){return\"object\"==typeof t&&null!==t&&\"function\"==typeof t.getTime},r.dateTime2ms=function(t,e){if(r.isJSDate(t)){var a=t.getTimezoneOffset()*p,o=(t.getUTCMinutes()-t.getMinutes())*p+(t.getUTCSeconds()-t.getSeconds())*d+(t.getUTCMilliseconds()-t.getMilliseconds());if(o){var s=3*p;a=a-s/2+l(o-a+s/2,s)}return(t=Number(t)-a)>=n&&t<=i?t:u}if(\"string\"!=typeof t&&\"number\"!=typeof t)return u;t=String(t);var c=_(e),v=t.charAt(0);!c||\"G\"!==v&&\"g\"!==v||(t=t.substr(1),e=\"\");var w=c&&\"chinese\"===e.substr(0,7),k=t.match(w?x:y);if(!k)return u;var M=k[1],A=k[3]||\"1\",T=Number(k[5]||1),S=Number(k[7]||0),E=Number(k[9]||0),C=Number(k[11]||0);if(c){if(2===M.length)return u;var L;M=Number(M);try{var z=m.getComponentMethod(\"calendars\",\"getCal\")(e);if(w){var P=\"i\"===A.charAt(A.length-1);A=parseInt(A,10),L=z.newDate(M,z.toMonthIndex(M,A,P),T)}else L=z.newDate(M,Number(A),T)}catch(t){return u}return L?(L.toJD()-g)*f+S*h+E*p+C*d:u}M=2===M.length?(Number(M)+2e3-b)%100+b:Number(M),A-=1;var O=new Date(Date.UTC(2e3,A,T,S,E));return O.setUTCFullYear(M),O.getUTCMonth()!==A?u:O.getUTCDate()!==T?u:O.getTime()+C*d},n=r.MIN_MS=r.dateTime2ms(\"-9999\"),i=r.MAX_MS=r.dateTime2ms(\"9999-12-31 23:59:59.9999\"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var k=90*f,M=3*h,A=5*p;function T(t,e,r,n,i){if((e||r||n||i)&&(t+=\" \"+w(e,2)+\":\"+w(r,2),(n||i)&&(t+=\":\"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+=\".\"+w(i,a)}return t}r.ms2DateTime=function(t,e,r){if(\"number\"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+g,E=Math.floor(l(t,f));try{a=m.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(S).formatDate(\"yyyy-mm-dd\")}catch(t){a=v(\"G%Y-%m-%d\")(new Date(w))}if(\"-\"===a.charAt(0))for(;a.length<11;)a=\"-0\"+a.substr(1);else for(;a.length<10;)a=\"0\"+a;o=e<k?Math.floor(E/h):0,s=e<k?Math.floor(E%h/p):0,c=e<M?Math.floor(E%p/d):0,y=e<A?E%d*10+b:0}else x=new Date(w),a=v(\"%Y-%m-%d\")(x),o=e<k?x.getUTCHours():0,s=e<k?x.getUTCMinutes():0,c=e<M?x.getUTCSeconds():0,y=e<A?10*x.getUTCMilliseconds()+b:0;return T(a,o,s,c,y)},r.ms2DateTimeLocal=function(t){if(!(t>=n+f&&t<=i-f))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return T(a.time.format(\"%Y-%m-%d\")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(r.isJSDate(t)||\"number\"==typeof t){if(_(n))return s.error(\"JS Dates and milliseconds are incompatible with world calendars\",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error(\"unrecognized date\",t),e;return t};var S=/%\\d?f/g;function E(t,e,r,n){t=t.replace(S,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,\"\")||\"0\"});var i=new Date(Math.floor(e+.05));if(_(n))try{t=m.getComponentMethod(\"calendars\",\"worldCalFmt\")(t,e,n)}catch(t){return\"Invalid\"}return r(t)(i)}var C=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if(\"y\"===r)e=a.year;else if(\"m\"===r)e=a.month;else{if(\"d\"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+\":\"+w(l(Math.floor(r/p),60),2);if(\"M\"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),C[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+i}return n}(t,r)+\"\\n\"+E(a.dayMonthYear,t,n,i);e=a.dayMonth+\"\\n\"+a.year}return E(e,t,n,i)};var L=3*f;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+g,a=m.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return e%12?a.add(o,e,\"m\"):a.add(o,e/12,\"y\"),(o.toJD()-g)*f+n}catch(e){s.error(\"invalid ms \"+t+\" in calendar \"+r)}var c=new Date(t+L);return c.setUTCMonth(c.getUTCMonth()+e)+n-L},r.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,c=_(e)&&m.getComponentMethod(\"calendars\",\"getCal\")(e),u=0;u<t.length;u++)if(n=t[u],o(n)){if(!(n%f))if(c)try{1===(r=c.fromJD(n/f+g)).day()?1===r.month()?i++:a++:s++}catch(t){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?i++:a++:s++}else l++;s+=a+=i;var h=t.length-l;return{exactYears:i/h,exactMonths:a/h,exactDays:s/h}}},{\"../constants/numerical\":670,\"../registry\":825,\"./loggers\":698,\"./mod\":701,d3:147,\"fast-isnumeric\":213}],680:[function(t,e,r){\"use strict\";e.exports=function(t,e){return Array.isArray(t)||(t=[]),t.length=e,t}},{}],681:[function(t,e,r){\"use strict\";var n=t(\"events\").EventEmitter,i={init:function(t){if(t._ev instanceof n)return t;var e=new n,r=new n;return t._ev=e,t._internalEv=r,t.on=e.on.bind(e),t.once=e.once.bind(e),t.removeListener=e.removeListener.bind(e),t.removeAllListeners=e.removeAllListeners.bind(e),t._internalOn=r.on.bind(r),t._internalOnce=r.once.bind(r),t._removeInternalListener=r.removeListener.bind(r),t._removeAllInternalListeners=r.removeAllListeners.bind(r),t.emit=function(n,i){\"undefined\"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;\"undefined\"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o,s=a._events[e];if(!s)return n;function l(t){return t.listener?(a.removeListener(e,t.listener),t.fired?void 0:(t.fired=!0,t.listener.apply(a,[r]))):t.apply(a,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return i=l(s[o]),void 0!==n?n:i},purge:function(t){return delete t._ev,delete t.on,delete t.once,delete t.removeListener,delete t.removeAllListeners,delete t.emit,delete t._ev,delete t._internalEv,delete t._internalOn,delete t._internalOnce,delete t._removeInternalListener,delete t._removeAllInternalListeners,t}};e.exports=i},{events:91}],682:[function(t,e,r){\"use strict\";var n=t(\"./is_plain_object.js\"),i=Array.isArray;function a(t,e,r,o){var s,l,c,u,f,h,p=t[0],d=t.length;if(2===d&&i(p)&&i(t[1])&&0===p.length){if(function(t,e){var r,n;for(r=0;r<t.length;r++){if(null!==(n=t[r])&&\"object\"==typeof n)return!1;void 0!==n&&(e[r]=n)}return!0}(t[1],p))return p;p.splice(0,p.length)}for(var g=1;g<d;g++)for(l in s=t[g])c=p[l],u=s[l],o&&i(u)?p[l]=u:e&&u&&(n(u)||(f=i(u)))?(f?(f=!1,h=c&&i(c)?c:[]):h=c&&n(c)?c:{},p[l]=a([h,u],e,r,o)):(\"undefined\"!=typeof u||r)&&(p[l]=u);return p}r.extendFlat=function(){return a(arguments,!1,!1,!1)},r.extendDeep=function(){return a(arguments,!0,!1,!1)},r.extendDeepAll=function(){return a(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return a(arguments,!0,!1,!0)}},{\"./is_plain_object.js\":695}],683:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r}},{}],684:[function(t,e,r){\"use strict\";function n(t){return!0===t.visible}function i(t){return!0===t[0].trace.visible}e.exports=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?i:n),a=[],o=0;o<t.length;o++){var s=t[o];r(s)&&a.push(s)}return a}},{}],685:[function(t,e,r){\"use strict\";var n=t(\"country-regex\"),i=t(\"../lib\"),a=Object.keys(n),o={\"ISO-3\":i.identity,\"USA-states\":i.identity,\"country names\":function(t){for(var e=0;e<a.length;e++){var r=a[e],o=new RegExp(n[r]);if(o.test(t.trim().toLowerCase()))return r}return i.log(\"Unrecognized country name: \"+t+\".\"),!1}};r.locationToFeature=function(t,e,r){if(!e||\"string\"!=typeof e)return!1;var n=function(t,e){return(0,o[t])(e)}(t,e);if(n){for(var a=0;a<r.length;a++){var s=r[a];if(s.id===n)return s}i.log([\"Location with id\",n,\"does not have a matching topojson feature at this resolution.\"].join(\" \"))}return!1}},{\"../lib\":693,\"country-regex\":121}],686:[function(t,e,r){\"use strict\";var n=t(\"../constants/numerical\").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],i=[],a=0;a<t.length;a++){var o=t[a].lonlat;o[0]!==n?i.push(o):!e&&i.length>0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},r.makeLine=function(t){return 1===t.length?{type:\"LineString\",coordinates:t[0]}:{type:\"MultiLineString\",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:\"Polygon\",coordinates:t};for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=[t[r]];return{type:\"MultiPolygon\",coordinates:e}},r.makeBlank=function(){return{type:\"Point\",coordinates:[]}}},{\"../constants/numerical\":670}],687:[function(t,e,r){\"use strict\";var n,i,a,o=t(\"./mod\").mod;function s(t,e,r,n,i,a,o,s){var l=r-t,c=i-t,u=o-i,f=n-e,h=a-e,p=s-a,d=l*p-u*f;if(0===d)return null;var g=(c*p-u*h)/d,m=(c*f-l*h)/d;return m<0||m>1||g<0||g>1?null:{x:t+l*g,y:e+f*g}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,f=n-e,h=o-i,p=c-a,d=u*u+f*f,g=h*h+p*p,m=Math.min(l(u,f,d,i-t,a-e),l(u,f,d,o-t,c-e),l(h,p,g,t-i,e-a),l(h,p,g,r-i,n-a));return Math.sqrt(m)},r.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+c.x)/6,y:(4*f.y+l.y+c.y)/6,theta:u};return n[r]=h,h},r.clearLocationCache=function(){i=null},r.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),f=u;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.x<a?a-r.x:r.x>o?r.x-o:0,f=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(c*c+f*f)}for(var p=h(c);p;){if((c+=p+r)>f)return;p=h(c)}for(p=h(f);p;){if(c>(f-=p+r))return;p=h(f)}return{min:c,max:f,len:f-c,total:u,isClosed:0===c&&f===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f<c;){if(i=(h+p)/2,o=(a=t.getPointAtLength(i))[r]-e,Math.abs(o)<l)return a;u*o>0?p=i:h=i,f++}return a}},{\"./mod\":701}],688:[function(t,e,r){\"use strict\";e.exports=function(t){var e;if(\"string\"==typeof t){if(null===(e=document.getElementById(t)))throw new Error(\"No DOM element with id '\"+t+\"' exists on the page.\");return e}if(null==t)throw new Error(\"DOM element provided is null or undefined\");return t}},{}],689:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"tinycolor2\"),a=t(\"color-normalize\"),o=t(\"../components/colorscale\"),s=t(\"../components/color/attributes\").defaultLine,l=t(\"./is_array\").isArrayOrTypedArray,c=a(s),u=1;function f(t,e){var r=t;return r[3]*=e,r}function h(t){if(n(t))return c;var e=a(t);return e.length?e:c}function p(t){return n(t)?t:u}e.exports={formatColor:function(t,e,r){var n,i,s,d,g,m=t.color,v=l(m),y=l(e),x=[];if(n=void 0!==t.colorscale?o.makeColorScaleFunc(o.extractScale(t.colorscale,t.cmin,t.cmax)):h,i=v?function(t,e){return void 0===t[e]?c:a(n(t[e]))}:h,s=y?function(t,e){return void 0===t[e]?u:p(t[e])}:p,v||y)for(var b=0;b<r;b++)d=i(m,b),g=s(e,b),x[b]=f(d,g);else x=f(a(m),e);return x},parseColorScale:function(t,e){return void 0===e&&(e=1),t.map(function(t){var r=t[0],n=i(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}}},{\"../components/color/attributes\":566,\"../components/colorscale\":582,\"./is_array\":694,\"color-normalize\":107,\"fast-isnumeric\":213,tinycolor2:511}],690:[function(t,e,r){\"use strict\";var n=t(\"./identity\");function i(t){return[t]}e.exports={keyFun:function(t){return t.key},repeat:i,descend:n,wrap:i,unwrap:function(t){return t[0]}}},{\"./identity\":692}],691:[function(t,e,r){\"use strict\";var n=t(\"superscript-text\"),i=t(\"./svg_text_utils\").convertEntities;e.exports=function(t){return\"\"+i(function(t){return t.replace(/\\<.*\\>/g,\"\")}(function(t){for(var e=0;(e=t.indexOf(\"<sup>\",e))>=0;){var r=t.indexOf(\"</sup>\",e);if(r<e)break;t=t.slice(0,e)+n(t.slice(e+5,r))+t.slice(r+6)}return t}(t.replace(/\\<br\\>/g,\"\\n\"))))}},{\"./svg_text_utils\":718,\"superscript-text\":504}],692:[function(t,e,r){\"use strict\";e.exports=function(t){return t}},{}],693:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../constants/numerical\"),o=a.FP_SAFE,s=a.BADNUM,l=e.exports={};l.nestedProperty=t(\"./nested_property\"),l.keyedContainer=t(\"./keyed_container\"),l.relativeAttr=t(\"./relative_attr\"),l.isPlainObject=t(\"./is_plain_object\"),l.toLogRange=t(\"./to_log_range\"),l.relinkPrivateKeys=t(\"./relink_private\"),l.ensureArray=t(\"./ensure_array\");var c=t(\"./mod\");l.mod=c.mod,l.modHalf=c.modHalf;var u=t(\"./is_array\");l.isTypedArray=u.isTypedArray,l.isArrayOrTypedArray=u.isArrayOrTypedArray,l.isArray1D=u.isArray1D;var f=t(\"./coerce\");l.valObjectMeta=f.valObjectMeta,l.coerce=f.coerce,l.coerce2=f.coerce2,l.coerceFont=f.coerceFont,l.coerceHoverinfo=f.coerceHoverinfo,l.coerceSelectionMarkerOpacity=f.coerceSelectionMarkerOpacity,l.validate=f.validate;var h=t(\"./dates\");l.dateTime2ms=h.dateTime2ms,l.isDateTime=h.isDateTime,l.ms2DateTime=h.ms2DateTime,l.ms2DateTimeLocal=h.ms2DateTimeLocal,l.cleanDate=h.cleanDate,l.isJSDate=h.isJSDate,l.formatDate=h.formatDate,l.incrementMonth=h.incrementMonth,l.dateTick0=h.dateTick0,l.dfltRange=h.dfltRange,l.findExactDates=h.findExactDates,l.MIN_MS=h.MIN_MS,l.MAX_MS=h.MAX_MS;var p=t(\"./search\");l.findBin=p.findBin,l.sorterAsc=p.sorterAsc,l.sorterDes=p.sorterDes,l.distinctVals=p.distinctVals,l.roundUp=p.roundUp,l.sort=p.sort,l.findIndexOfMin=p.findIndexOfMin;var d=t(\"./stats\");l.aggNums=d.aggNums,l.len=d.len,l.mean=d.mean,l.midRange=d.midRange,l.variance=d.variance,l.stdev=d.stdev,l.interp=d.interp;var g=t(\"./matrix\");l.init2dArray=g.init2dArray,l.transposeRagged=g.transposeRagged,l.dot=g.dot,l.translationMatrix=g.translationMatrix,l.rotationMatrix=g.rotationMatrix,l.rotationXYMatrix=g.rotationXYMatrix,l.apply2DTransform=g.apply2DTransform,l.apply2DTransform2=g.apply2DTransform2;var m=t(\"./angles\");l.deg2rad=m.deg2rad,l.rad2deg=m.rad2deg,l.angleDelta=m.angleDelta,l.angleDist=m.angleDist,l.isFullCircle=m.isFullCircle,l.isAngleInsideSector=m.isAngleInsideSector,l.isPtInsideSector=m.isPtInsideSector,l.pathArc=m.pathArc,l.pathSector=m.pathSector,l.pathAnnulus=m.pathAnnulus;var v=t(\"./geometry2d\");l.segmentsIntersect=v.segmentsIntersect,l.segmentDistance=v.segmentDistance,l.getTextLocation=v.getTextLocation,l.clearLocationCache=v.clearLocationCache,l.getVisibleSegment=v.getVisibleSegment,l.findPointOnPath=v.findPointOnPath;var y=t(\"./extend\");l.extendFlat=y.extendFlat,l.extendDeep=y.extendDeep,l.extendDeepAll=y.extendDeepAll,l.extendDeepNoArrays=y.extendDeepNoArrays;var x=t(\"./loggers\");l.log=x.log,l.warn=x.warn,l.error=x.error;var b=t(\"./regex\");l.counterRegex=b.counter;var _=t(\"./throttle\");function w(t){var e={};for(var r in t)for(var n=t[r],i=0;i<n.length;i++)e[n[i]]=+r;return e}l.throttle=_.throttle,l.throttleDone=_.done,l.clearThrottle=_.clear,l.getGraphDiv=t(\"./get_graph_div\"),l.clearResponsive=t(\"./clear_responsive\"),l.makeTraceGroups=t(\"./make_trace_groups\"),l._=t(\"./localize\"),l.notifier=t(\"./notifier\"),l.filterUnique=t(\"./filter_unique\"),l.filterVisible=t(\"./filter_visible\"),l.pushUnique=t(\"./push_unique\"),l.cleanNumber=t(\"./clean_number\"),l.ensureNumber=function(t){return i(t)?(t=Number(t))<-o||t>o?s:i(t)?Number(t):s:s},l.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(i(t)&&t>=0&&t%1==0)},l.noop=t(\"./noop\"),l.identity=t(\"./identity\"),l.repeat=function(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t;return r},l.swapAttrs=function(t,e,r,n){r||(r=\"x\"),n||(n=\"y\");for(var i=0;i<e.length;i++){var a=e[i],o=l.nestedProperty(t,a.replace(\"?\",r)),s=l.nestedProperty(t,a.replace(\"?\",n)),c=o.get();o.set(s.get()),s.set(c)}},l.raiseToTop=function(t){t.parentNode.appendChild(t)},l.cancelTransition=function(t){return t.transition().duration(0)},l.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},l.simpleMap=function(t,e,r,n){for(var i=t.length,a=new Array(i),o=0;o<i;o++)a[o]=e(t[o],r,n);return a},l.randstr=function t(e,r,n,i){if(n||(n=16),void 0===r&&(r=24),r<=0)return\"0\";var a,o,s=Math.log(Math.pow(2,r))/Math.log(n),c=\"\";for(a=2;s===1/0;a*=2)s=Math.log(Math.pow(2,r/a))/Math.log(n)*a;var u=s-Math.floor(s);for(a=0;a<Math.floor(s);a++)c=Math.floor(Math.random()*n).toString(n)+c;u&&(o=Math.pow(n,u),c=Math.floor(Math.random()*o).toString(n)+c);var f=parseInt(c,n);return e&&e[c]||f!==1/0&&f>=Math.pow(2,r)?i>10?(l.warn(\"randstr failed uniqueness\"),c):t(e,r,n,(i||0)+1):c},l.OptionControl=function(t,e){t||(t={}),e||(e=\"opt\");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r[\"_\"+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r<l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)(i=r+n+1-e)<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},l.syncOrAsync=function(t,e,r){var n;function i(){return l.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i).then(void 0,l.promiseError);return r&&r(e)},l.stripTrailingSlash=function(t){return\"/\"===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n<r.length;n++)null!=t[r[n]]?i=!0:a=!1;if(i&&!a)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r){if(l.isArrayOrTypedArray(t))for(var n=Math.min(t.length,e.length),i=0;i<n;i++)e[i][r]=t[i]},l.fillArray=function(t,e,r,n){if(n=n||l.identity,l.isArrayOrTypedArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},l.castOption=function(t,e,r,n){n=n||l.identity;var i=l.nestedProperty(t,r).get();return l.isArrayOrTypedArray(i)?Array.isArray(e)&&l.isArrayOrTypedArray(i[e[0]])?n(i[e[0]][e[1]]):n(i[e]):i},l.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=l.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},l.tagSelected=function(t,e,r){var n,i,a=e.selectedpoints,o=e._indexToPoints;o&&(n=w(o));for(var s=0;s<a.length;s++){var c=a[s];if(l.isIndex(c)){var u=n?n[c]:c,f=r?r[u]:u;void 0!==(i=f)&&i<t.length&&(t[f].selected=1)}}},l.selIndices2selPoints=function(t){var e=t.selectedpoints,r=t._indexToPoints;if(r){for(var n=w(r),i=[],a=0;a<e.length;a++){var o=e[a];if(l.isIndex(o)){var s=n[o];l.isIndex(s)&&i.push(s)}}return i}return e},l.getTargetArray=function(t,e){var r=e.target;if(\"string\"==typeof r&&r){var n=l.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},l.minExtend=function(t,e){var r={};\"object\"!=typeof e&&(e={});var n,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)a=t[i=o[n]],\"_\"!==i.charAt(0)&&\"function\"!=typeof a&&(\"module\"===i?r[i]=a:Array.isArray(a)?r[i]=a.slice(0,3):r[i]=a&&\"object\"==typeof a?l.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)\"object\"==typeof(a=e[i=o[n]])&&i in r&&\"object\"==typeof r[i]||(r[i]=a);return r},l.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},l.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},l.isPlotDiv=function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed(\"js-plotly-plot\")},l.removeElement=function(t){var e=t&&t.parentNode;e&&e.removeChild(t)},l.addStyleRule=function(t,e){if(!l.styleSheet){var r=document.createElement(\"style\");r.appendChild(document.createTextNode(\"\")),document.head.appendChild(r),l.styleSheet=r.sheet}var n=l.styleSheet;n.insertRule?n.insertRule(t+\"{\"+e+\"}\",0):n.addRule?n.addRule(t,e,0):l.warn(\"addStyleRule failed\")},l.isIE=function(){return\"undefined\"!=typeof window.navigator.msSaveBlob},l.isD3Selection=function(t){return t&&\"function\"==typeof t.classed},l.ensureSingle=function(t,e,r,n){var i=t.select(e+(r?\".\"+r:\"\"));if(i.size())return i;var a=t.append(e);return r&&a.classed(r,!0),n&&a.call(n),a},l.ensureSingleById=function(t,e,r,n){var i=t.select(e+\"#\"+r);if(i.size())return i;var a=t.append(e).attr(\"id\",r);return n&&a.call(n),a},l.objectFromPath=function(t,e){for(var r,n=t.split(\".\"),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\\[([0-9]+)\\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var k=/^([^\\[\\.]+)\\.(.+)?/,M=/^([^\\.]+)\\[([0-9]+)\\](\\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if(\"object\"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(k))?(i=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(i))[n])):(e=r.match(M))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],\".\"===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(i)))):t[n][a]=l.expandObjectPaths(i)):t[r]=l.expandObjectPaths(t[r]));return t},l.numSeparate=function(t,e,r){if(r||(r=!1),\"string\"!=typeof e||0===e.length)throw new Error(\"Separator string required for formatting!\");\"number\"==typeof t&&(t=String(t));var n=/(\\d+)(\\d{3})/,i=e.charAt(0),a=e.charAt(1),o=t.split(\".\"),s=o[0],l=o.length>1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l};var A=/%{([^\\s%{}]*)}/g,T=/^\\w*$/;l.templateString=function(t,e){var r={};return t.replace(A,function(t,n){return T.test(n)?e[n]||\"\":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||\"\")})};l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a<r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o>=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var S=2e9;l.seedPseudoRandom=function(){S=2e9},l.pseudoRandom=function(){var t=S;return S=(69069*S+1)%4294967296,Math.abs(S-t)<429496729?l.pseudoRandom():S/4294967296}},{\"../constants/numerical\":670,\"./angles\":674,\"./clean_number\":675,\"./clear_responsive\":677,\"./coerce\":678,\"./dates\":679,\"./ensure_array\":680,\"./extend\":682,\"./filter_unique\":683,\"./filter_visible\":684,\"./geometry2d\":687,\"./get_graph_div\":688,\"./identity\":692,\"./is_array\":694,\"./is_plain_object\":695,\"./keyed_container\":696,\"./localize\":697,\"./loggers\":698,\"./make_trace_groups\":699,\"./matrix\":700,\"./mod\":701,\"./nested_property\":702,\"./noop\":703,\"./notifier\":704,\"./push_unique\":708,\"./regex\":710,\"./relative_attr\":711,\"./relink_private\":712,\"./search\":713,\"./stats\":716,\"./throttle\":719,\"./to_log_range\":720,d3:147,\"fast-isnumeric\":213}],694:[function(t,e,r){\"use strict\";var n=\"undefined\"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i=\"undefined\"==typeof DataView?function(){}:DataView;function a(t){return n.isView(t)&&!(t instanceof i)}function o(t){return Array.isArray(t)||a(t)}e.exports={isTypedArray:a,isArrayOrTypedArray:o,isArray1D:function(t){return!o(t[0])}}},{}],695:[function(t,e,r){\"use strict\";e.exports=function(t){return window&&window.process&&window.process.versions?\"[object Object]\"===Object.prototype.toString.call(t):\"[object Object]\"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],696:[function(t,e,r){\"use strict\";var n=t(\"./nested_property\"),i=/^\\w*$/;e.exports=function(t,e,r,a){var o,s,l;r=r||\"name\",a=a||\"value\";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||\"\";var u={};if(s)for(o=0;o<s.length;o++)u[s[o][r]]=o;var f=i.test(a),h={set:function(t,e){var i=null===e?4:0;if(!s){if(!l||4===i)return;s=[],l.set(s)}var o=u[t];if(void 0===o){if(4===i)return;i|=3,o=s.length,u[t]=o}else e!==(f?s[o][a]:n(s[o],a).get())&&(i|=2);var p=s[o]=s[o]||{};return p[r]=t,f?p[a]=e:n(p,a).set(e),null!==e&&(i&=-5),c[o]=c[o]|i,h},get:function(t){if(s){var e=u[t];return void 0===e?void 0:f?s[e][a]:n(s[e],a).get()}},rename:function(t,e){var n=u[t];return void 0===n?h:(c[n]=1|c[n],u[e]=n,delete u[t],s[n][r]=e,h)},remove:function(t){var e=u[t];if(void 0===e)return h;var i=s[e];if(Object.keys(i).length>2)return c[e]=2|c[e],h.set(t,null);if(f){for(o=e;o<s.length;o++)c[o]=3|c[o];for(o=e;o<s.length;o++)u[s[o][r]]--;s.splice(e,1),delete u[t]}else n(i,a).set(null),c[e]=6|c[e];return h},constructUpdate:function(){for(var t,i,o={},l=Object.keys(c),u=0;u<l.length;u++)i=l[u],t=e+\"[\"+i+\"]\",s[i]?(1&c[i]&&(o[t+\".\"+r]=s[i][r]),2&c[i]&&(o[t+\".\"+a]=f?4&c[i]?null:s[i][a]:4&c[i]?null:n(s[i],a).get())):o[t]=null;return o}};return h}},{\"./nested_property\":702}],697:[function(t,e,r){\"use strict\";var n=t(\"../registry\");e.exports=function(t,e){for(var r=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}a=n.localeRegistry}var c=r.split(\"-\")[0];if(c===r)break;r=c}return e}},{\"../registry\":825}],698:[function(t,e,r){\"use strict\";var n=t(\"../plot_api/plot_config\"),i=e.exports={};function a(t,e){if(t.apply)t.apply(t,e);else for(var r=0;r<e.length;r++)t(e[r])}i.log=function(){if(n.logging>1){for(var t=[\"LOG:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.trace||console.log,t)}},i.warn=function(){if(n.logging>0){for(var t=[\"WARN:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.trace||console.log,t)}},i.error=function(){if(n.logging>0){for(var t=[\"ERROR:\"],e=0;e<arguments.length;e++)t.push(arguments[e]);a(console.error,t)}}},{\"../plot_api/plot_config\":730}],699:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){var n=t.selectAll(\"g.\"+r.replace(/\\s/g,\".\")).data(e,function(t){return t[0].trace.uid});return n.exit().remove(),n.enter().append(\"g\").attr(\"class\",r),n.order(),n}},{}],700:[function(t,e,r){\"use strict\";r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},r.transposeRagged=function(t){var e,r,n=0,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,i,a=t.length;if(t[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=r.dot(t[i],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=r.dot(t,o[i])}else for(n=0,i=0;i<a;i++)n+=t[i]*e[i];return n},r.translationMatrix=function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},r.rotationMatrix=function(t){var e=t*Math.PI/180;return[[Math.cos(e),-Math.sin(e),0],[Math.sin(e),Math.cos(e),0],[0,0,1]]},r.rotationXYMatrix=function(t,e,n){return r.dot(r.dot(r.translationMatrix(e,n),r.rotationMatrix(t)),r.translationMatrix(-e,-n))},r.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var n=1===arguments.length?e[0]:[e[0],e[1]];return r.dot(t,[n[0],n[1],1]).slice(0,2)}},r.apply2DTransform2=function(t){var e=r.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}}},{}],701:[function(t,e,r){\"use strict\";e.exports={mod:function(t,e){var r=t%e;return r<0?r+e:r},modHalf:function(t,e){return Math.abs(t)>e/2?t-Math.round(t/e)*e:t}}},{}],702:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./is_array\").isArrayOrTypedArray;e.exports=function(t,e){if(n(e))e=String(e);else if(\"string\"!=typeof e||\"[-1]\"===e.substr(e.length-4))throw\"bad property string\";for(var r,a,o,l=0,c=e.split(\".\");l<c.length;){if(r=String(c[l]).match(/^([^\\[\\]]*)((\\[\\-?[0-9]*\\])+)$/)){if(r[1])c[l]=r[1];else{if(0!==l)throw\"bad property string\";c.splice(0,1)}for(a=r[2].substr(1,r[2].length-2).split(\"][\"),o=0;o<a.length;o++)l++,c.splice(l,0,Number(a[o]))}l++}return\"object\"!=typeof t?function(t,e,r){return{set:function(){throw\"bad container\"},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:s(t,c,e),get:function t(e,r){return function(){var n,a,o,s,l,c=e;for(s=0;s<r.length-1;s++){if(-1===(n=r[s])){for(a=!0,o=[],l=0;l<c.length;l++)o[l]=t(c[l],r.slice(s+1))(),o[l]!==o[0]&&(a=!1);return a?o[0]:o}if(\"number\"==typeof n&&!i(c))return;if(\"object\"!=typeof(c=c[n])||null===c)return}if(\"object\"==typeof c&&null!==c&&null!==(o=c[r[s]]))return o}}(t,c),astr:e,parts:c,obj:t}};var a=/(^|\\.)args\\[/;function o(t,e){return void 0===t||null===t&&!e.match(a)}function s(t,e,r){return function(n){var a,s,f=t,h=\"\",p=[[t,h]],d=o(n,r);for(s=0;s<e.length-1;s++){if(\"number\"==typeof(a=e[s])&&!i(f))throw\"array index but container is not an array\";if(-1===a){if(d=!c(f,e.slice(s+1),n,r))break;return}if(!u(f,a,e[s+1],d))break;if(\"object\"!=typeof(f=f[a])||null===f)throw\"container is not an object\";h=l(h,a),p.push([f,h])}if(d){if(s===e.length-1&&(delete f[e[s]],Array.isArray(f)&&+e[s]==f.length-1))for(;f.length&&void 0===f[f.length-1];)f.pop()}else f[e[s]]=n}}function l(t,e){var r=e;return n(e)?r=\"[\"+e+\"]\":t&&(r=\".\"+e),t+r}function c(t,e,r,n){var a,l=i(r),c=!0,f=r,h=n.replace(\"-1\",0),p=!l&&o(r,h),d=e[0];for(a=0;a<t.length;a++)h=n.replace(\"-1\",a),l&&(p=o(f=r[a%r.length],h)),p&&(c=!1),u(t,a,d,p)&&s(t[a],e,n.replace(\"-1\",a))(f);return c}function u(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]=\"number\"==typeof r?[]:{}}return!0}},{\"./is_array\":694,\"fast-isnumeric\":213}],703:[function(t,e,r){\"use strict\";e.exports=function(){}},{}],704:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=[];e.exports=function(t,e){if(-1===a.indexOf(t)){a.push(t);var r=1e3;i(e)?r=e:\"long\"===e&&(r=3e3);var o=n.select(\"body\").selectAll(\".plotly-notifier\").data([0]);o.enter().append(\"div\").classed(\"plotly-notifier\",!0),o.selectAll(\".notifier-note\").data(a).enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each(function(t){var e=n.select(this);e.append(\"button\").classed(\"notifier-close\",!0).html(\"&times;\").on(\"click\",function(){e.transition().call(s)});for(var i=e.append(\"p\"),a=t.split(/<br\\s*\\/?>/g),o=0;o<a.length;o++)o&&i.append(\"br\"),i.append(\"span\").text(a[o]);e.transition().duration(700).style(\"opacity\",1).transition().delay(r).call(s)})}function s(t){t.duration(700).style(\"opacity\",0).each(\"end\",function(t){var e=a.indexOf(t);-1!==e&&a.splice(e,1),n.select(this).remove()})}}},{d3:147,\"fast-isnumeric\":213}],705:[function(t,e,r){\"use strict\";var n=t(\"./setcursor\"),i=\"data-savedcursor\";e.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr(\"class\")||\"\").split(\" \"),o=0;o<a.length;o++){var s=a[o];0===s.indexOf(\"cursor-\")&&t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,\"!!\")}n(t,e)}else r&&(t.attr(i,null),\"!!\"===r?n(t):n(t,r))}},{\"./setcursor\":714}],706:[function(t,e,r){\"use strict\";var n=t(\"./matrix\").dot,i=t(\"../constants/numerical\").BADNUM,a=e.exports={};a.tester=function(t){var e,r=t.slice(),n=r[0][0],a=n,o=r[0][1],s=o;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),a=Math.max(a,r[e][0]),o=Math.min(o,r[e][1]),s=Math.max(s,r[e][1]);var l,c=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(c=!0,l=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(c=!0,l=function(t){return t[1]===r[0][1]}));var u=!0,f=r[0];for(e=1;e<r.length;e++)if(f[0]!==r[e][0]||f[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:a,ymin:o,ymax:s,pts:r,contains:c?function(t,e){var r=t[0],c=t[1];return!(r===i||r<n||r>a||c===i||c<o||c>s||e&&l(t))}:function(t,e){var l=t[0],c=t[1];if(l===i||l<n||l>a||c===i||c<o||c>s)return!1;var u,f,h,p,d,g=r.length,m=r[0][0],v=r[0][1],y=0;for(u=1;u<g;u++)if(f=m,h=v,m=r[u][0],v=r[u][1],!(l<(p=Math.min(f,m))||l>Math.max(f,m)||c>Math.max(h,v)))if(c<Math.min(h,v))l!==p&&y++;else{if(c===(d=m===f?c:h+(l-f)*(v-h)/(m-f)))return 1!==u||!e;c<=d&&l!==p&&y++}return y%2==1},isRect:c,degenerate:u}};var o=a.isSegmentBent=function(t,e,r,i){var a,o,s,l=t[e],c=[t[r][0]-l[0],t[r][1]-l[1]],u=n(c,c),f=Math.sqrt(u),h=[-c[1]/f,c[0]/f];for(a=e+1;a<r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,c))<0||s>u||Math.abs(n(o,h))>i)return!0;return!1};a.filter=function(t,e){var r=[t[0]],n=0,i=0;function a(a){t.push(a);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c<t.length;c++)(c===t.length-1||o(t,l,c+1,e))&&(r.push(t[c]),r.length<s-2&&(n=c,i=r.length-1),l=c)}t.length>1&&a(t.pop());return{addPt:a,raw:t,filtered:r}}},{\"../constants/numerical\":670,\"./matrix\":700}],707:[function(t,e,r){(function(r){\"use strict\";var n=t(\"./show_no_webgl_msg\"),i=t(\"regl\");e.exports=function(t,e){var a=t._fullLayout,o=!0;return a._glcanvas.each(function(n){if(!n.regl&&(!n.pick||a._has(\"parcoords\"))){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]})}catch(t){o=!1}o&&this.addEventListener(\"webglcontextlost\",function(e){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:e,layer:n.key})},!1)}}),o||n({container:a._glcontainer.node()}),o}}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{\"./show_no_webgl_msg\":715,regl:475}],708:[function(t,e,r){\"use strict\";e.exports=function(t,e){if(e instanceof RegExp){var r,n=e.toString();for(r=0;r<t.length;r++)if(t[r]instanceof RegExp&&t[r].toString()===n)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t}},{}],709:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plot_api/plot_config\");var a={add:function(t,e,r,n,a){var o,s;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(s,t.undoQueue.queue.length-s,o),t.undoQueue.index+=1):o=t.undoQueue.queue[s-1],t.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(a)),t.undoQueue.queue.length>i.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.undo.calls.length;r++)a.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},redo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.redo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.redo.calls.length;r++)a.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};a.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,i=[],a=0;a<e.length;a++)r=e[a],i[a]=r===t?r:\"object\"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(t,r),e.apply(null,r)},e.exports=a},{\"../lib\":693,\"../plot_api/plot_config\":730}],710:[function(t,e,r){\"use strict\";r.counter=function(t,e,r){var n=(e||\"\")+(r?\"\":\"$\");return\"xy\"===t?new RegExp(\"^x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+n):new RegExp(\"^\"+t+\"([2-9]|[1-9][0-9]+)?\"+n)}},{}],711:[function(t,e,r){\"use strict\";var n=/^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/,i=/^[^\\.\\[\\]]+$/;e.exports=function(t,e){for(;e;){var r=t.match(n);if(r)t=r[1];else{if(!t.match(i))throw new Error(\"bad relativeAttr call:\"+[t,e]);t=\"\"}if(\"^\"!==e.charAt(0))break;e=e.slice(1)}return t&&\"[\"!==e.charAt(0)?t+\".\"+e:t+e}},{}],712:[function(t,e,r){\"use strict\";var n=t(\"./is_array\").isArrayOrTypedArray,i=t(\"./is_plain_object\");e.exports=function t(e,r){for(var a in r){var o=r[a],s=e[a];if(s!==o)if(\"_\"===a.charAt(0)||\"function\"==typeof o){if(a in e)continue;e[a]=o}else if(n(o)&&n(s)&&i(o[0])){if(\"customdata\"===a||\"ids\"===a)continue;for(var l=Math.min(o.length,s.length),c=0;c<l;c++)s[c]!==o[c]&&i(o[c])&&i(s[c])&&t(s[c],o[c])}else i(o)&&i(s)&&(t(s,o),Object.keys(s).length||delete e[a])}}},{\"./is_array\":694,\"./is_plain_object\":695}],713:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./loggers\"),a=t(\"./identity\");function o(t,e){return t<e}function s(t,e){return t<=e}function l(t,e){return t>e}function c(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var a,u,f=0,h=e.length,p=0,d=h>1?(e[h-1]-e[0])/(h-1):1;for(u=d>=0?r?o:s:r?c:l,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);f<h&&p++<100;)u(e[a=Math.floor((f+h)/2)],t)?f=a+1:h=a;return p>90&&i.log(\"Long binary search...\"),f-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,i=e[n]-e[0]||1,a=i/(n||1)/1e4,o=[e[0]],s=0;s<n;s++)e[s+1]>e[s]+a&&(i=Math.min(i,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:i}},r.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i<a&&o++<100;)e[n=c((i+a)/2)]<=t?i=n+s:a=n-l;return e[i]},r.sort=function(t,e){for(var r=0,n=0,i=1;i<t.length;i++){var a=e(t[i],t[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;i<t.length;i++){var o=e(t[i]);o<n&&(n=o,r=i)}return r}},{\"./identity\":692,\"./loggers\":698,\"fast-isnumeric\":213}],714:[function(t,e,r){\"use strict\";e.exports=function(t,e){(t.attr(\"class\")||\"\").split(\" \").forEach(function(e){0===e.indexOf(\"cursor-\")&&t.classed(e,!1)}),e&&t.classed(\"cursor-\"+e,!0)}},{}],715:[function(t,e,r){\"use strict\";var n=t(\"../components/color\"),i=function(){};e.exports=function(t){for(var e in t)\"function\"==typeof t[e]&&(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement(\"div\");r.className=\"no-webgl\",r.style.cursor=\"pointer\",r.style.fontSize=\"24px\",r.style.color=n.defaults[0],r.style.position=\"absolute\",r.style.left=r.style.top=\"0px\",r.style.width=r.style.height=\"100%\",r.style[\"background-color\"]=n.lightLine,r.style[\"z-index\"]=30;var a=document.createElement(\"p\");return a.textContent=\"WebGL is not supported by your browser - visit https://get.webgl.org for more info\",a.style.position=\"relative\",a.style.top=\"50%\",a.style.left=\"50%\",a.style.height=\"30%\",a.style.width=\"50%\",a.style.margin=\"-15% 0 0 -25%\",r.appendChild(a),t.container.appendChild(r),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"https://get.webgl.org\")},!1}},{\"../components/color\":567}],716:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./is_array\").isArrayOrTypedArray;r.aggNums=function(t,e,a,o){var s,l;if((!o||o>a.length)&&(o=a.length),n(e)||(e=!1),i(a[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=r.aggNums(t,e,a[s]);a=l}for(s=0;s<o;s++)n(e)?n(a[s])&&(e=t(+e,+a[s])):e=a[s];return e},r.len=function(t){return r.aggNums(function(t){return t+1},0,t)},r.mean=function(t,e){return e||(e=r.len(t)),r.aggNums(function(t,e){return t+e},0,t)/e},r.midRange=function(t){if(void 0!==t&&0!==t.length)return(r.aggNums(Math.max,null,t)+r.aggNums(Math.min,null,t))/2},r.variance=function(t,e,i){return e||(e=r.len(t)),n(i)||(i=r.mean(t,e)),r.aggNums(function(t,e){return t+Math.pow(e-i,2)},0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},r.interp=function(t,e){if(!n(e))throw\"n should be a finite number\";if((e=e*t.length-.5)<0)return t[0];if(e>t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{\"./is_array\":694,\"fast-isnumeric\":213}],717:[function(t,e,r){\"use strict\";var n=t(\"color-normalize\");e.exports=function(t){return t?n(t):[0,0,0,1]}},{\"color-normalize\":107}],718:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../lib\"),a=t(\"../constants/xmlns_namespaces\"),o=t(\"../constants/alignment\").LINE_SPACING;function s(t,e){return t.node().getBoundingClientRect()[e]}var l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,m){var S=t.text(),E=!t.attr(\"data-notex\")&&\"undefined\"!=typeof MathJax&&S.match(l),L=n.select(t.node().parentNode);if(!L.empty()){var z=t.attr(\"class\")?t.attr(\"class\").split(\" \")[0]:\"text\";return z+=\"-math\",L.selectAll(\"svg.\"+z).remove(),L.selectAll(\"g.\"+z+\"-group\").remove(),t.style(\"display\",null).attr({\"data-unformatted\":S,\"data-math\":\"N\"}),E?(e&&e._promises||[]).push(new Promise(function(e){t.style(\"display\",\"none\");var r=parseInt(t.node().style.fontSize,10),a={fontSize:r};!function(t,e,r){var a=\"math-output-\"+i.randstr({},64),o=n.select(\"body\").append(\"div\").attr({id:a}).style({visibility:\"hidden\",position:\"absolute\"}).style({\"font-size\":e.fontSize+\"px\"}).text((s=t,s.replace(c,\"\\\\lt \").replace(u,\"\\\\gt \")));var s;MathJax.Hub.Queue([\"Typeset\",MathJax.Hub,o.node()],function(){var e=n.select(\"body\").select(\"#MathJax_SVG_glyphs\");if(o.select(\".MathJax_SVG\").empty()||!o.select(\"svg\").node())i.log(\"There was an error in the tex syntax.\",t),r();else{var a=o.select(\"svg\").node().getBoundingClientRect();r(o.select(\".MathJax_SVG\"),e,a)}o.remove()})}(E[2],a,function(n,i,a){L.selectAll(\"svg.\"+z).remove(),L.selectAll(\"g.\"+z+\"-group\").remove();var o=n&&n.select(\"svg\");if(!o||!o.node())return P(),void e();var l=L.append(\"g\").classed(z+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":S,\"data-math\":\"Y\"});l.node().appendChild(o.node()),i&&i.node()&&o.node().insertBefore(i.node().cloneNode(!0),o.node().firstChild),o.attr({class:z,height:a.height,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var c=t.node().style.fill||\"black\";o.select(\"g\").attr({fill:c,stroke:c});var u=s(o,\"width\"),f=s(o,\"height\"),h=+t.attr(\"x\")-u*{start:0,middle:.5,end:1}[t.attr(\"text-anchor\")||\"start\"],p=-(r||s(t,\"height\"))/4;\"y\"===z[0]?(l.attr({transform:\"rotate(\"+[-90,+t.attr(\"x\"),+t.attr(\"y\")]+\") translate(\"+[-u/2,p-f/2]+\")\"}),o.attr({x:+t.attr(\"x\"),y:+t.attr(\"y\")})):\"l\"===z[0]?o.attr({x:t.attr(\"x\"),y:p-f/2}):\"a\"===z[0]?o.attr({x:0,y:p}):o.attr({x:h,y:+t.attr(\"y\")+p-f/2}),m&&m.call(t,l),e(l)})})):P(),t}function P(){L.empty()||(z=t.attr(\"class\")+\"-math\",L.select(\"svg.\"+z).remove()),t.text(\"\").style(\"white-space\",\"pre\"),function(t,e){e=e.replace(v,\" \");var r,s=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(a.svg,\"tspan\");n.select(e).attr({class:\"line\",dy:c*o+\"em\"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var s=1;s<i.length;s++)m(i[s])}function m(t){var e,i=t.type,o={};if(\"a\"===i){e=\"a\";var s=t.target,c=t.href,u=t.popup;c&&(o={\"xlink:xlink:show\":\"_blank\"===s||\"_\"!==s.charAt(0)?\"new\":\"replace\",target:s,\"xlink:xlink:href\":c},u&&(o.onclick='window.open(this.href.baseVal,this.target.baseVal,\"'+u+'\");return false;'))}else e=\"tspan\";t.style&&(o.style=t.style);var f=document.createElementNS(a.svg,e);if(\"sup\"===i||\"sub\"===i){S(r,d),r.appendChild(f);var g=document.createElementNS(a.svg,\"tspan\");S(g,d),n.select(g).attr(\"dy\",p[i]),o.dy=h[i],r.appendChild(f),r.appendChild(g)}else r.appendChild(f);n.select(f).attr(o),r=t.node=f,l.push(t)}function S(t,e){t.appendChild(document.createTextNode(e))}function E(t){if(1!==l.length){var n=l.pop();t!==n.type&&i.log(\"Start tag <\"+n.type+\"> doesnt match end tag <\"+t+\">. Pretending it did match.\",e),r=l[l.length-1].node}else i.log(\"Ignoring unexpected end tag </\"+t+\">.\",e)}b.test(e)?u():(r=t,l=[{node:t}]);for(var L=e.split(y),z=0;z<L.length;z++){var P=L[z],O=P.match(x),I=O&&O[2].toLowerCase(),D=f[I];if(\"br\"===I)u();else if(void 0===D)S(r,C(P));else if(O[1])E(I);else{var R=O[4],B={type:I},F=A(R,_);if(F?(F=F.replace(T,\"$1 fill:\"),D&&(F+=\";\"+D)):D&&(F=D),F&&(B.style=F),\"a\"===I){s=!0;var N=A(R,w);if(N){var j=document.createElement(\"a\");j.href=N,-1!==g.indexOf(j.protocol)&&(B.href=encodeURI(decodeURI(N)),B.target=A(R,k)||\"_blank\",B.popup=A(R,M))}}m(B)}}return s}(t.node(),S)&&t.style(\"pointer-events\",\"all\"),r.positionText(t),m&&m.call(t)}};var c=/(<|&lt;|&#60;)/g,u=/(>|&gt;|&#62;)/g;var f={sup:\"font-size:70%\",sub:\"font-size:70%\",b:\"font-weight:bold\",i:\"font-style:italic\",a:\"cursor:pointer\",span:\"\",em:\"font-style:italic;font-weight:bold\"},h={sub:\"0.3em\",sup:\"-0.6em\"},p={sub:\"-0.21em\",sup:\"0.42em\"},d=\"\\u200b\",g=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],m=new RegExp(\"</?(\"+Object.keys(f).join(\"|\")+\")( [^>]*)?/?>\",\"g\"),v=/(\\r\\n?|\\n)/g,y=/(<[^<>]*>)/,x=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,b=/<br(\\s+.*)?>/i,_=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,w=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,k=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,M=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&C(n)}var T=/(^|;)\\s*color:/;r.plainText=function(t){return(t||\"\").replace(m,\" \")};var S={mu:\"\\u03bc\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xa0\",times:\"\\xd7\",plusmn:\"\\xb1\",deg:\"\\xb0\"},E=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function C(t){return t.replace(E,function(t,e){return(\"#\"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}(\"x\"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t})}function L(t,e,r){var n,i,a,o=r.horizontalAlign,s=r.verticalAlign||\"top\",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return i=\"bottom\"===s?function(){return l.bottom-n.height}:\"middle\"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},a=\"right\"===o?function(){return l.right-n.width}:\"center\"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:i()-c.top+\"px\",left:a()-c.left+\"px\",\"z-index\":1e3}),this}}r.convertEntities=C,r.lineCount=function(t){return t.selectAll(\"tspan.line\").size()||1},r.positionText=function(t,e,r){return t.each(function(){var t=n.select(this);function i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i(\"x\",e),o=i(\"y\",r);\"text\"===this.nodeName&&t.selectAll(\"tspan.line\").attr({x:a,y:o})})},r.makeEditable=function(t,e){var r=e.gd,i=e.delegate,a=n.dispatch(\"edit\",\"input\",\"cancel\"),o=i||t;if(t.style({\"pointer-events\":i?\"none\":\"all\"}),1!==t.size())throw new Error(\"boo\");function s(){!function(){var i=n.select(r).select(\".svg-container\"),o=i.append(\"div\"),s=t.node().style,c=parseFloat(s.fontSize||12),u=e.text;void 0===u&&(u=t.attr(\"data-unformatted\"));o.classed(\"plugin-editable editable\",!0).style({position:\"absolute\",\"font-family\":s.fontFamily||\"Arial\",\"font-size\":c,color:e.fill||s.fill||\"black\",opacity:1,\"background-color\":e.background||\"transparent\",outline:\"#ffffff33 1px solid\",margin:[-c/8+1,0,0,-1].join(\"px \")+\"px\",padding:\"0\",\"box-sizing\":\"border-box\"}).attr({contenteditable:!0}).text(u).call(L(t,i,e)).on(\"blur\",function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,i=n.select(this).attr(\"class\");(e=i?\".\"+i.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on(\"mouseup\",null),a.edit.call(t,o)}).on(\"focus\",function(){var t=this;r._editing=!0,n.select(document).on(\"mouseup\",function(){if(n.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()})}).on(\"keyup\",function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on(\"blur\",function(){return!1}).transition().remove(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),n.select(this).call(L(t,i,e)))}).on(\"keydown\",function(){13===n.event.which&&this.blur()}).call(l)}(),t.style({opacity:0});var i,s=o.attr(\"class\");(i=s?\".\"+s.split(\" \")[0]+\"-math-group\":\"[class*=-math-group]\")&&n.select(t.node().parentNode).select(i).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on(\"click\",s),n.rebind(t,a,\"on\")}},{\"../constants/alignment\":665,\"../constants/xmlns_namespaces\":671,\"../lib\":693,d3:147}],719:[function(t,e,r){\"use strict\";var n={};function i(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var a=n[t],o=Date.now();if(!a){for(var s in n)n[s].ts<o-6e4&&delete n[s];a=n[t]={ts:0,timer:null}}function l(){r(),a.ts=Date.now(),a.onDone&&(a.onDone(),a.onDone=null)}i(a),o>a.ts+e?l():a.timer=setTimeout(function(){l(),a.timer=null},e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}}):Promise.resolve()},r.clear=function(t){if(t)i(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],720:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{\"fast-isnumeric\":213}],721:[function(t,e,r){\"use strict\";var n=e.exports={},i=t(\"../plots/geo/constants\").locationmodeToLayer,a=t(\"topojson-client\").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,\"-\"),\"_\",t.resolution.toString(),\"m\"].join(\"\")},n.getTopojsonPath=function(t,e){return t+e+\".json\"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},{\"../plots/geo/constants\":770,\"topojson-client\":514}],722:[function(t,e,r){\"use strict\";e.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}},{}],723:[function(t,e,r){\"use strict\";e.exports={moduleType:\"locale\",name:\"en\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colourscale title\"},format:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],periods:[\"AM\",\"PM\"],dateTime:\"%a %b %e %X %Y\",date:\"%d/%m/%Y\",time:\"%H:%M:%S\",decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],year:\"%Y\",month:\"%b %Y\",dayMonth:\"%b %-d\",dayMonthYear:\"%b %-d, %Y\"}}},{}],724:[function(t,e,r){\"use strict\";var n=t(\"../registry\");e.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split(\"[\")[0],s=0;s<a.length;s++)if((r=t.match(a[s]))&&0===r.index){e=r[0];break}if(e||(e=i[i.indexOf(o)]),!e)return!1;var l=t.substr(e.length);return l?!!(r=l.match(/^\\[(0|[1-9][0-9]*)\\](\\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||\"\"}:{array:e,index:\"\",property:\"\"}}},{\"../registry\":825}],725:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=n.extendFlat,a=n.isPlainObject,o={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"clearAxisTypes\",\"plot\",\"style\",\"colorbars\"]},s={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"plot\",\"legend\",\"ticks\",\"axrange\",\"layoutstyle\",\"modebar\",\"camera\",\"arraydraw\"]},l=o.flags.slice().concat([\"fullReplot\"]),c=s.flags.slice().concat(\"layoutReplot\");function u(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function f(t,e,r){var n=i({},t);for(var o in n){var s=n[o];a(s)&&(n[o]=h(s,e,r,o))}return\"from-root\"===r&&(n.editType=e),n}function h(t,e,r,n){if(t.valType){var a=i({},t);if(a.editType=e,Array.isArray(t.items)){a.items=new Array(t.items.length);for(var o=0;o<t.items.length;o++)a.items[o]=h(t.items[o],e,\"from-root\")}return a}return f(t,e,\"_\"===n.charAt(0)?\"nested\":\"from-root\")}e.exports={traces:o,layout:s,traceFlags:function(){return u(l)},layoutFlags:function(){return u(c)},update:function(t,e){var r=e.editType;if(r&&\"none\"!==r)for(var n=r.split(\"+\"),i=0;i<n.length;i++)t[n[i]]=!0},overrideAll:f}},{\"../lib\":693}],726:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"gl-mat4/fromQuat\"),a=t(\"../registry\"),o=t(\"../lib\"),s=t(\"../plots/plots\"),l=t(\"../plots/cartesian/axis_ids\"),c=l.cleanId,u=l.getFromTrace,f=t(\"../components/color\");function h(t,e){var r=t[e],n=e.charAt(0);r&&\"paper\"!==r&&(t[e]=c(r,n))}function p(t){if(!o.isPlainObject(t))return!1;var e=t.name;return delete t.name,delete t.showlegend,(\"string\"==typeof e||\"number\"==typeof e)&&String(e)}function d(t,e,r,n){if(r&&!n)return t;if(n&&!r)return e;if(!t.trim())return e;if(!e.trim())return t;var i,a=Math.min(t.length,e.length);for(i=0;i<a&&t.charAt(i)===e.charAt(i);i++);return t.substr(0,i).trim()}function g(t){var e=\"middle\",r=\"center\";return-1!==t.indexOf(\"top\")?e=\"top\":-1!==t.indexOf(\"bottom\")&&(e=\"bottom\"),-1!==t.indexOf(\"left\")?r=\"left\":-1!==t.indexOf(\"right\")&&(r=\"right\"),e+\" \"+r}function m(t,e){return e in t&&\"object\"==typeof t[e]&&0===Object.keys(t[e]).length}r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&o.log(\"Clearing previous rejected promises from queue.\"),t._promises=[]},r.cleanLayout=function(t){var e,r;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var n=(s.subplotsRegistry.cartesian||{}).attrRegex,a=(s.subplotsRegistry.gl3d||{}).attrRegex,l=Object.keys(t);for(e=0;e<l.length;e++){var u=l[e];if(n&&n.test(u)){var p=t[u];p.anchor&&\"free\"!==p.anchor&&(p.anchor=c(p.anchor)),p.overlaying&&(p.overlaying=c(p.overlaying)),p.type||(p.isdate?p.type=\"date\":p.islog?p.type=\"log\":!1===p.isdate&&!1===p.islog&&(p.type=\"linear\")),\"withzero\"!==p.autorange&&\"tozero\"!==p.autorange||(p.autorange=!0,p.rangemode=\"tozero\"),delete p.islog,delete p.isdate,delete p.categories,m(p,\"domain\")&&delete p.domain,void 0!==p.autotick&&(void 0===p.tickmode&&(p.tickmode=p.autotick?\"auto\":\"linear\"),delete p.autotick)}else if(a&&a.test(u)){var d=t[u],g=d.cameraposition;if(Array.isArray(g)&&4===g[0].length){var v=g[0],y=g[1],x=g[2],b=i([],v),_=[];for(r=0;r<3;++r)_[r]=y[r]+x*b[2+4*r];d.camera={eye:{x:_[0],y:_[1],z:_[2]},center:{x:y[0],y:y[1],z:y[2]},up:{x:b[1],y:b[5],z:b[9]}},delete d.cameraposition}}}var w=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<w;e++){var k=t.annotations[e];o.isPlainObject(k)&&(k.ref&&(\"paper\"===k.ref?(k.xref=\"paper\",k.yref=\"paper\"):\"data\"===k.ref&&(k.xref=\"x\",k.yref=\"y\"),delete k.ref),h(k,\"xref\"),h(k,\"yref\"))}var M=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<M;e++){var A=t.shapes[e];o.isPlainObject(A)&&(h(A,\"xref\"),h(A,\"yref\"))}var T=t.legend;return T&&(T.x>3?(T.x=1.02,T.xanchor=\"left\"):T.x<-2&&(T.x=-.02,T.xanchor=\"right\"),T.y>3?(T.y=1.02,T.yanchor=\"bottom\"):T.y<-2&&(T.y=-.02,T.yanchor=\"top\")),\"rotate\"===t.dragmode&&(t.dragmode=\"orbit\"),f.clean(t),t},r.cleanData=function(t){for(var e=0;e<t.length;e++){var n,i=t[e];if(\"histogramy\"===i.type&&\"xbins\"in i&&!(\"ybins\"in i)&&(i.ybins=i.xbins,delete i.xbins),i.error_y&&\"opacity\"in i.error_y){var l=f.defaults,u=i.error_y.color||(a.traceIs(i,\"bar\")?f.defaultLine:l[e%l.length]);i.error_y.color=f.addOpacity(f.rgb(u),f.opacity(u)*i.error_y.opacity),delete i.error_y.opacity}if(\"bardir\"in i&&(\"h\"!==i.bardir||!a.traceIs(i,\"bar\")&&\"histogram\"!==i.type.substr(0,9)||(i.orientation=\"h\",r.swapXYData(i)),delete i.bardir),\"histogramy\"===i.type&&r.swapXYData(i),\"histogramx\"!==i.type&&\"histogramy\"!==i.type||(i.type=\"histogram\"),\"scl\"in i&&(i.colorscale=i.scl,delete i.scl),\"reversescl\"in i&&(i.reversescale=i.reversescl,delete i.reversescl),i.xaxis&&(i.xaxis=c(i.xaxis,\"x\")),i.yaxis&&(i.yaxis=c(i.yaxis,\"y\")),a.traceIs(i,\"gl3d\")&&i.scene&&(i.scene=s.subplotsRegistry.gl3d.cleanId(i.scene)),!a.traceIs(i,\"pie\")&&!a.traceIs(i,\"bar\"))if(Array.isArray(i.textposition))for(n=0;n<i.textposition.length;n++)i.textposition[n]=g(i.textposition[n]);else i.textposition&&(i.textposition=g(i.textposition));var h=a.getModule(i);if(h&&h.colorbar){var v=h.colorbar.container,y=v?i[v]:i;y&&y.colorscale&&(\"YIGnBu\"===y.colorscale&&(y.colorscale=\"YlGnBu\"),\"YIOrRd\"===y.colorscale&&(y.colorscale=\"YlOrRd\"))}if(\"surface\"===i.type&&o.isPlainObject(i.contours)){var x=[\"x\",\"y\",\"z\"];for(n=0;n<x.length;n++){var b=i.contours[x[n]];o.isPlainObject(b)&&(b.highlightColor&&(b.highlightcolor=b.highlightColor,delete b.highlightColor),b.highlightWidth&&(b.highlightwidth=b.highlightWidth,delete b.highlightWidth))}}if(\"candlestick\"===i.type||\"ohlc\"===i.type){var _=!1!==(i.increasing||{}).showlegend,w=!1!==(i.decreasing||{}).showlegend,k=p(i.increasing),M=p(i.decreasing);if(!1!==k&&!1!==M){var A=d(k,M,_,w);A&&(i.name=A)}else!k&&!M||i.name||(i.name=k||M)}if(Array.isArray(i.transforms)){var T=i.transforms;for(n=0;n<T.length;n++){var S=T[n];if(o.isPlainObject(S))switch(S.type){case\"filter\":S.filtersrc&&(S.target=S.filtersrc,delete S.filtersrc),S.calendar&&(S.valuecalendar||(S.valuecalendar=S.calendar),delete S.calendar);break;case\"groupby\":if(S.styles=S.styles||S.style,S.styles&&!Array.isArray(S.styles)){var E=S.styles,C=Object.keys(E);S.styles=[];for(var L=0;L<C.length;L++)S.styles.push({target:C[L],value:E[C[L]]})}}}}m(i,\"line\")&&delete i.line,\"marker\"in i&&(m(i.marker,\"line\")&&delete i.marker.line,m(i,\"marker\")&&delete i.marker),f.clean(i)}},r.swapXYData=function(t){var e;if(o.swapAttrs(t,[\"?\",\"?0\",\"d?\",\"?bins\",\"nbins?\",\"autobin?\",\"?src\",\"error_?\"]),Array.isArray(t.z)&&Array.isArray(t.z[0])&&(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&&t.error_y){var r=t.error_y,n=\"copy_ystyle\"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);o.swapAttrs(t,[\"error_?.copy_ystyle\"]),n&&o.swapAttrs(t,[\"error_?.color\",\"error_?.thickness\",\"error_?.width\"])}if(\"string\"==typeof t.hoverinfo){var i=t.hoverinfo.split(\"+\");for(e=0;e<i.length;e++)\"x\"===i[e]?i[e]=\"y\":\"y\"===i[e]&&(i[e]=\"x\");t.hoverinfo=i.join(\"+\")}},r.coerceTraceIndices=function(t,e){return n(e)?[e]:Array.isArray(e)&&e.length?e:t.data.map(function(t,e){return e})},r.manageArrayContainers=function(t,e,r){var i=t.obj,a=t.parts,s=a.length,l=a[s-1],c=n(l);if(c&&null===e){var u=a.slice(0,s-1).join(\".\");o.nestedProperty(i,u).get().splice(l,1)}else c&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var v=/(\\.[^\\[\\]\\.]+|\\[[^\\[\\]\\.]+\\])$/;function y(t){var e=t.search(v);if(e>0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=y(e);r;){if(r in t)return!0;r=y(r)}return!1};var x=[\"x\",\"y\",\"z\"];r.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var i=t._fullData[n],a=0;a<3;a++){var s=u(t,i,x[a]);if(s&&\"log\"!==s.type){var l=s._name,c=s._id.substr(1);if(\"scene\"===c.substr(0,5)){if(void 0!==r[c])continue;l=c+\".\"+l}var f=l+\".type\";void 0===r[l]&&void 0===r[f]&&o.nestedProperty(t.layout,f).set(null)}}}},{\"../components/color\":567,\"../lib\":693,\"../plots/cartesian/axis_ids\":745,\"../plots/plots\":805,\"../registry\":825,\"fast-isnumeric\":213,\"gl-mat4/fromQuat\":250}],727:[function(t,e,r){\"use strict\";var n=t(\"./plot_api\");r.plot=n.plot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,r.react=n.react,r.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.setPlotConfig=n.setPlotConfig,r.toImage=t(\"./to_image\"),r.validate=t(\"./validate\"),r.downloadImage=t(\"../snapshot/download\");var i=t(\"./template_api\");r.makeTemplate=i.makeTemplate,r.validateTemplate=i.validateTemplate},{\"../snapshot/download\":827,\"./plot_api\":729,\"./template_api\":734,\"./to_image\":735,\"./validate\":736}],728:[function(t,e,r){\"use strict\";var n=t(\"../lib/nested_property\"),i=t(\"../lib/is_plain_object\"),a=t(\"../lib/noop\"),o=t(\"../lib/loggers\"),s=t(\"../lib/search\").sorterAsc,l=t(\"../registry\");r.containerArrayMatch=t(\"./container_array_match\");var c=r.isAddVal=function(t){return\"add\"===t||i(t)},u=r.isRemoveVal=function(t){return null===t||\"remove\"===t};r.applyContainerArrayChanges=function(t,e,r,i){var f=e.astr,h=l.getComponentMethod(f,\"supplyLayoutDefaults\"),p=l.getComponentMethod(f,\"draw\"),d=l.getComponentMethod(f,\"drawOne\"),g=i.replot||i.recalc||h===a||p===a,m=t.layout,v=t._fullLayout;if(r[\"\"]){Object.keys(r).length>1&&o.warn(\"Full array edits are incompatible with other edits\",f);var y=r[\"\"][\"\"];if(u(y))e.set(null);else{if(!Array.isArray(y))return o.warn(\"Unrecognized full array edit value\",f,y),!0;e.set(y)}return!g&&(h(m,v),p(t),!0)}var x,b,_,w,k,M,A,T=Object.keys(r).map(Number).sort(s),S=e.get(),E=S||[],C=n(v,f).get(),L=[],z=-1,P=E.length;for(x=0;x<T.length;x++)if(w=r[_=T[x]],k=Object.keys(w),M=w[\"\"],A=c(M),_<0||_>E.length-(A?0:1))o.warn(\"index out of range\",f,_);else if(void 0!==M)k.length>1&&o.warn(\"Insertion & removal are incompatible with edits to the same index.\",f,_),u(M)?L.push(_):A?(\"add\"===M&&(M={}),E.splice(_,0,M),C&&C.splice(_,0,{})):o.warn(\"Unrecognized full object edit value\",f,_,M),-1===z&&(z=_);else for(b=0;b<k.length;b++)n(E[_],k[b]).set(w[k[b]]);for(x=L.length-1;x>=0;x--)E.splice(L[x],1),C&&C.splice(L[x],1);if(E.length?S||e.set(E):e.set(null),g)return!1;if(h(m,v),d!==a){var O;if(-1===z)O=T;else{for(P=Math.max(E.length,P),O=[],x=0;x<T.length&&!((_=T[x])>=z);x++)O.push(_);for(x=z;x<P;x++)O.push(x)}for(x=0;x<O.length;x++)d(t,O[x])}else p(t);return!0}},{\"../lib/is_plain_object\":695,\"../lib/loggers\":698,\"../lib/nested_property\":702,\"../lib/noop\":703,\"../lib/search\":713,\"../registry\":825,\"./container_array_match\":724}],729:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"has-hover\"),o=t(\"../lib\"),s=t(\"../lib/events\"),l=t(\"../lib/queue\"),c=t(\"../registry\"),u=t(\"./plot_schema\"),f=t(\"../plots/plots\"),h=t(\"../plots/polar/legacy\"),p=t(\"../plots/cartesian/axes\"),d=t(\"../components/drawing\"),g=t(\"../components/color\"),m=t(\"../components/colorbar/connect\"),v=t(\"../plots/cartesian/graph_interact\").initInteractions,y=t(\"../constants/xmlns_namespaces\"),x=t(\"../lib/svg_text_utils\"),b=t(\"./plot_config\"),_=t(\"./manage_arrays\"),w=t(\"./helpers\"),k=t(\"./subroutines\"),M=t(\"./edit_types\"),A=t(\"../plots/cartesian/constants\").AX_NAME_PATTERN,T=0;function S(t){var e=t._fullLayout;e._redrawFromAutoMarginCount?e._redrawFromAutoMarginCount--:t.emit(\"plotly_afterplot\")}function E(t,e){try{t._fullLayout._paper.style(\"background\",e)}catch(t){o.error(t)}}function C(t,e){E(t,g.combine(e,\"white\"))}function L(t,e){t._context||(t._context=o.extendDeep({},b));var r,n,i,s=t._context;if(e){for(n=Object.keys(e),r=0;r<n.length;r++)\"editable\"!==(i=n[r])&&\"edits\"!==i&&i in s&&(\"setBackground\"===i&&\"opaque\"===e[i]?s[i]=C:s[i]=e[i]);e.plot3dPixelRatio&&!s.plotGlPixelRatio&&(s.plotGlPixelRatio=s.plot3dPixelRatio);var l=e.editable;if(void 0!==l)for(s.editable=l,n=Object.keys(s.edits),r=0;r<n.length;r++)s.edits[n[r]]=l;if(e.edits)for(n=Object.keys(e.edits),r=0;r<n.length;r++)(i=n[r])in s.edits&&(s.edits[i]=e.edits[i])}s.staticPlot&&(s.editable=!1,s.edits={},s.autosizable=!1,s.scrollZoom=!1,s.doubleClick=!1,s.showTips=!1,s.showLink=!1,s.displayModeBar=!1),\"hover\"!==s.displayModeBar||a||(s.displayModeBar=!0),\"transparent\"!==s.setBackground&&\"function\"==typeof s.setBackground||(s.setBackground=E)}function z(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)(n=t[r])<0?a.push(i+n):a.push(n);return a}function P(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error(\"all values in \"+r+\" must be integers\");if(i>=t.data.length||i<-t.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function O(t,e,r){if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(\"undefined\"==typeof e)throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(e)||(e=[e]),P(t,e,\"currentIndices\"),\"undefined\"==typeof r||Array.isArray(r)||(r=[r]),\"undefined\"!=typeof r&&P(t,r,\"newIndices\"),\"undefined\"!=typeof r&&e.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function I(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array\");if(!o.isPlainObject(e))throw new Error(\"update must be a key:value object\");if(\"undefined\"==typeof r)throw new Error(\"indices must be an integer or array of integers\");for(var a in P(t,r,\"indices\"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error(\"attribute \"+a+\" must be an array of length equal to indices array length\");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error(\"when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object\")}}(t,e,r,n);for(var s=function(t,e,r,n){var a,s,l,c,u,f=o.isPlainObject(n),h=[];for(var p in Array.isArray(r)||(r=[r]),r=z(r,t.data.length-1),e)for(var d=0;d<r.length;d++){if(a=t.data[r[d]],s=(l=o.nestedProperty(a,p)).get(),c=e[p][d],!o.isArrayOrTypedArray(c))throw new Error(\"attribute: \"+p+\" index: \"+d+\" must be an array\");if(!o.isArrayOrTypedArray(s))throw new Error(\"cannot extend missing or non-array attribute: \"+p);if(s.constructor!==c.constructor)throw new Error(\"cannot extend array with an array of a different type: \"+p);u=f?n[p][d]:n,i(u)||(u=-1),h.push({prop:l,target:s,insert:c,maxp:Math.floor(u)})}return h}(t,e,r,n),l={},c={},u=0;u<s.length;u++){var f=s[u].prop,h=s[u].maxp,p=a(s[u].target,s[u].insert,h);f.set(p[0]),Array.isArray(l[f.astr])||(l[f.astr]=[]),l[f.astr].push(p[1]),Array.isArray(c[f.astr])||(c[f.astr]=[]),c[f.astr].push(s[u].target.length)}return{update:l,maxPoints:c}}function D(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function R(t){return void 0===t?null:t}function B(t,e,r){var n,i,a=t._fullLayout,s=t._fullData,l=t.data,h=M.traceFlags(),d={},g={};function m(){return r.map(function(){})}function v(t){var e=p.id2name(t);-1===i.indexOf(e)&&i.push(e)}function y(t){return\"LAYOUT\"+t+\".autorange\"}function x(t){return\"LAYOUT\"+t+\".range\"}function b(n,i,a){var s;Array.isArray(n)?n.forEach(function(t){b(t,i,a)}):n in e||w.hasParent(e,n)||(s=\"LAYOUT\"===n.substr(0,6)?o.nestedProperty(t.layout,n.replace(\"LAYOUT\",\"\")):o.nestedProperty(l[r[a]],n),n in g||(g[n]=m()),void 0===g[n][a]&&(g[n][a]=R(s.get())),void 0!==i&&s.set(i))}for(var _ in e){if(w.hasParent(e,_))throw new Error(\"cannot set \"+_+\"and a parent attribute simultaneously\");var k,A,T,S,E,C,L=e[_];if(d[_]=L,\"LAYOUT\"!==_.substr(0,6)){for(g[_]=m(),n=0;n<r.length;n++)if(k=l[r[n]],A=s[r[n]],S=(T=o.nestedProperty(k,_)).get(),void 0!==(E=Array.isArray(L)?L[n%L.length]:L)){var z=T.parts[T.parts.length-1],P=_.substr(0,_.length-z.length-1),O=P?P+\".\":\"\",I=P?o.nestedProperty(A,P).get():A;if((C=u.getTraceValObject(A,T.parts))&&C.impliedEdits&&null!==E)for(var D in C.impliedEdits)b(o.relativeAttr(_,D),C.impliedEdits[D],n);else if(\"thicknessmode\"!==z&&\"lenmode\"!==z||S===E||\"fraction\"!==E&&\"pixels\"!==E||!I){if(\"type\"===_&&\"pie\"===E!=(\"pie\"===S)){var B=\"x\",F=\"y\";\"bar\"!==E&&\"bar\"!==S||\"h\"!==k.orientation||(B=\"y\",F=\"x\"),o.swapAttrs(k,[\"?\",\"?src\"],\"labels\",B),o.swapAttrs(k,[\"d?\",\"?0\"],\"label\",B),o.swapAttrs(k,[\"?\",\"?src\"],\"values\",F),\"pie\"===S?(o.nestedProperty(k,\"marker.color\").set(o.nestedProperty(k,\"marker.colors\").get()),a._pielayer.selectAll(\"g.trace\").remove()):c.traceIs(k,\"cartesian\")&&o.nestedProperty(k,\"marker.colors\").set(o.nestedProperty(k,\"marker.color\").get())}}else{var N=a._size,j=I.orient,V=\"top\"===j||\"bottom\"===j;if(\"thicknessmode\"===z){var U=V?N.h:N.w;b(O+\"thickness\",I.thickness*(\"fraction\"===E?1/U:U),n)}else{var q=V?N.w:N.h;b(O+\"len\",I.len*(\"fraction\"===E?1/q:q),n)}}g[_][n]=R(S);if(-1!==[\"swapxy\",\"swapxyaxes\",\"orientation\",\"orientationaxes\"].indexOf(_)){if(\"orientation\"===_){T.set(E);var H=k.x&&!k.y?\"h\":\"v\";if((T.get()||H)===A.orientation)continue}else\"orientationaxes\"===_&&(k.orientation={v:\"h\",h:\"v\"}[A.orientation]);w.swapXYData(k),h.calc=h.clearAxisTypes=!0}else-1!==f.dataArrayContainers.indexOf(T.parts[0])?(w.manageArrayContainers(T,E,g),h.calc=!0):(C?C.arrayOk&&(o.isArrayOrTypedArray(E)||o.isArrayOrTypedArray(S))?h.calc=!0:M.update(h,C):h.calc=!0,T.set(E))}if(-1!==[\"swapxyaxes\",\"orientationaxes\"].indexOf(_)&&p.swap(t,r),\"orientationaxes\"===_){var G=o.nestedProperty(t.layout,\"hovermode\");\"x\"===G.get()?G.set(\"y\"):\"y\"===G.get()&&G.set(\"x\")}if(-1!==[\"orientation\",\"type\"].indexOf(_)){for(i=[],n=0;n<r.length;n++){var W=l[r[n]];c.traceIs(W,\"cartesian\")&&(v(W.xaxis||\"x\"),v(W.yaxis||\"y\"),\"type\"===_&&b([\"autobinx\",\"autobiny\"],!0,n))}b(i.map(y),!0,0),b(i.map(x),[0,1],0)}}else T=o.nestedProperty(t.layout,_.replace(\"LAYOUT\",\"\")),g[_]=[R(T.get())],T.set(Array.isArray(L)?L[0]:L),h.calc=!0}return(h.calc||h.plot)&&(h.fullReplot=!0),{flags:h,undoit:g,redoit:d,traces:r,eventData:o.extendDeepNoArrays([],[d,r])}}function F(t,e){var r=e?function(t){return k.doTicksRelayout(t,e)}:k.doTicksRelayout;t.push(k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}r.plot=function(t,e,i,a){var l;if(t=o.getGraphDiv(t),s.init(t),o.isPlainObject(e)){var u=e;e=u.data,i=u.layout,a=u.config,l=u.frames}if(!1===s.triggerHandler(t,\"plotly_beforeplot\",[e,i,a]))return Promise.reject();e||i||o.isPlotDiv(t)||o.warn(\"Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.\",t),L(t,a),i||(i={}),n.select(t).classed(\"js-plotly-plot\",!0),d.makeTester(),delete d.baseUrl,Array.isArray(t._promises)||(t._promises=[]);var g=0===(t.data||[]).length&&Array.isArray(e);if(Array.isArray(e)&&(w.cleanData(e),g?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!g||(t.layout=w.cleanLayout(i)),t._dragging&&!t._transitioning)return t._replotPending=!0,Promise.reject();t._replotPending=!1,f.supplyDefaults(t);var y=t._fullLayout,b=y._has(\"cartesian\");if(!y._has(\"polar\")&&e&&e[0]&&e[0].r)return o.log(\"Legacy polar charts are deprecated!\"),function(t,e,r){var i=n.select(t).selectAll(\".plot-container\").data([0]);i.enter().insert(\"div\",\":first-child\").classed(\"plot-container plotly\",!0);var a=i.selectAll(\".svg-container\").data([0]);a.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),a.html(\"\"),e&&(t.data=e);r&&(t.layout=r);h.manager.fillLayout(t),a.style({width:t._fullLayout.width+\"px\",height:t._fullLayout.height+\"px\"}),t.framework=h.manager.framework(t),t.framework({data:t.data,layout:t.layout},a.node()),t.framework.setUndoPoint();var s=t.framework.svg(),l=1,c=t._fullLayout.title;\"\"!==c&&c||(l=0);var u=function(){this.call(x.convertToTspans,t)},p=s.select(\".title-group text\").call(u);if(t._context.edits.titleText){var d=o._(t,\"Click to enter Plot title\");c&&c!==d||(l=.2,p.attr({\"data-unformatted\":d}).text(d).style({opacity:l}).on(\"mouseover.opacity\",function(){n.select(this).transition().duration(100).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){n.select(this).transition().duration(1e3).style(\"opacity\",0)}));var g=function(){this.call(x.makeEditable,{gd:t}).on(\"edit\",function(e){t.framework({layout:{title:e}}),this.text(e).call(u),this.call(g)}).on(\"cancel\",function(){var t=this.attr(\"data-unformatted\");this.text(t).call(u)})};p.call(g)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),f.addLinks(t),Promise.resolve()}(t,e,i);y._replotting=!0,g&&G(t),t.framework!==G&&(t.framework=G,G(t)),d.initGradients(t),g&&p.saveShowSpikeInitial(t);var _=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;_&&f.doCalcdata(t);for(var M=0;M<t.calcdata.length;M++)t.calcdata[M][0].trace=t._fullData[M];t._context.responsive?t._responsiveChartHandler||(t._responsiveChartHandler=function(){f.resize(t)},window.addEventListener(\"resize\",t._responsiveChartHandler)):o.clearResponsive(t);var A=JSON.stringify(y._size),T=0;function E(){var e,r,n,i=t.calcdata;for(f.clearAutoMarginIds(t),k.drawMarginPushers(t),p.allowAutoMargin(t),e=0;e<i.length;e++){var a=(n=(r=i[e])[0].trace)._module.colorbar;!0===n.visible&&a?m(t,r,a):f.autoMargin(t,\"cb\"+n.uid)}return f.doAutoMargin(t),f.previousPromises(t)}function C(){t._transitioning||(k.doAutoRangeAndConstraints(t),g&&p.saveRangeInitial(t))}var z=[f.previousPromises,function(){if(l)return r.addFrames(t,l)},function e(){for(var r=y._basePlotModules,n=0;n<r.length;n++)r[n].drawFramework&&r[n].drawFramework(t);if(!y._glcanvas&&y._has(\"gl\")&&(y._glcanvas=y._glcontainer.selectAll(\".gl-canvas\").data([{key:\"contextLayer\",context:!0,pick:!1},{key:\"focusLayer\",context:!1,pick:!1},{key:\"pickLayer\",context:!1,pick:!0}],function(t){return t.key}),y._glcanvas.enter().append(\"canvas\").attr(\"class\",function(t){return\"gl-canvas gl-canvas-\"+t.key.replace(\"Layer\",\"\")}).style({position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",overflow:\"visible\",\"pointer-events\":\"none\"})),y._glcanvas){y._glcanvas.attr(\"width\",y.width).attr(\"height\",y.height);var i=y._glcanvas.data()[0].regl;if(i&&(y.width!==i._gl.drawingBufferWidth||y.height!==i._gl.drawingBufferHeight)){var a=\"WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.\";if(!T)return o.log(a+\" Clearing graph and plotting again.\"),f.cleanPlot([],{},t._fullData,y,t.calcdata),f.supplyDefaults(t),y=t._fullLayout,f.doCalcdata(t),T++,e();o.error(a)}}return f.previousPromises(t)},E,function(){if(JSON.stringify(y._size)!==A)return o.syncOrAsync([E,k.layoutStyles],t)}];b&&z.push(function(){if(_)return o.syncOrAsync([c.getComponentMethod(\"shapes\",\"calcAutorange\"),c.getComponentMethod(\"annotations\",\"calcAutorange\"),C,c.getComponentMethod(\"rangeslider\",\"calcAutorange\")],t);C()}),z.push(k.layoutStyles),b&&z.push(function(){return p.doTicks(t,g?\"\":\"redraw\")}),z.push(k.drawData,k.finalDraw,v,f.addLinks,f.rehover,f.doAutoMargin,f.previousPromises);var P=o.syncOrAsync(z,t);return P&&P.then||(P=Promise.resolve()),P.then(function(){return S(t),t})},r.setPlotConfig=function(t){return o.extendFlat(b,t)},r.redraw=function(t){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);return w.cleanData(t.data),w.cleanLayout(t.layout),t.calcdata=void 0,r.plot(t).then(function(){return t.emit(\"plotly_redraw\"),t})},r.newPlot=function(t,e,n,i){return t=o.getGraphDiv(t),f.cleanPlot([],{},t._fullData||[],t._fullLayout||{},t.calcdata||[]),f.purge(t),r.plot(t,e,n,i)},r.extendTraces=function t(e,n,i,a){var s=I(e=o.getGraphDiv(e),n,i,a,function(t,e,r){var n,i;if(o.isTypedArray(t))if(r<0){var a=new t.constructor(0),s=D(t,e);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(l)),i.set(t),i.set(e.subarray(0,l),t.length)}else{var c=r-e.length,u=t.length-c;n.set(t.subarray(u)),n.set(e,c),i.set(t.subarray(0,u))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]}),c=r.redraw(e),u=[e,s.update,i,s.maxPoints];return l.add(e,r.prependTraces,u,t,arguments),c},r.prependTraces=function t(e,n,i,a){var s=I(e=o.getGraphDiv(e),n,i,a,function(t,e,r){var n,i;if(o.isTypedArray(t))if(r<=0){var a=new t.constructor(0),s=D(e,t);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(0,l)),i.set(e.subarray(l)),i.set(t,l)}else{var c=r-e.length;n.set(e),n.set(t.subarray(0,c),e.length),i.set(t.subarray(c))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]}),c=r.redraw(e),u=[e,s.update,i,s.maxPoints];return l.add(e,r.extendTraces,u,t,arguments),c},r.addTraces=function t(e,n,i){e=o.getGraphDiv(e);var a,s,c=[],u=r.deleteTraces,f=t,h=[e,c],p=[e,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error(\"gd.data must be an array.\");if(\"undefined\"==typeof e)throw new Error(\"traces must be defined.\");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if(\"object\"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error(\"all values in traces array must be non-array objects\");if(\"undefined\"==typeof r||Array.isArray(r)||(r=[r]),\"undefined\"!=typeof r&&r.length!==e.length)throw new Error(\"if indices is specified, traces.length must equal indices.length\")}(e,n,i),Array.isArray(n)||(n=[n]),n=n.map(function(t){return o.extendFlat({},t)}),w.cleanData(n),a=0;a<n.length;a++)e.data.push(n[a]);for(a=0;a<n.length;a++)c.push(-n.length+a);if(\"undefined\"==typeof i)return s=r.redraw(e),l.add(e,u,h,f,p),s;Array.isArray(i)||(i=[i]);try{O(e,c,i)}catch(t){throw e.data.splice(e.data.length-n.length,n.length),t}return l.startSequence(e),l.add(e,u,h,f,p),s=r.moveTraces(e,c,i),l.stopSequence(e),s},r.deleteTraces=function t(e,n){e=o.getGraphDiv(e);var i,a,s=[],c=r.addTraces,u=t,f=[e,s,n],h=[e,n];if(\"undefined\"==typeof n)throw new Error(\"indices must be an integer or array of integers.\");for(Array.isArray(n)||(n=[n]),P(e,n,\"indices\"),(n=z(n,e.data.length-1)).sort(o.sorterDes),i=0;i<n.length;i+=1)a=e.data.splice(n[i],1)[0],s.push(a);var p=r.redraw(e);return l.add(e,c,f,u,h),p},r.moveTraces=function t(e,n,i){var a,s=[],c=[],u=t,f=t,h=[e=o.getGraphDiv(e),i,n],p=[e,n,i];if(O(e,n,i),n=Array.isArray(n)?n:[n],\"undefined\"==typeof i)for(i=[],a=0;a<n.length;a++)i.push(-n.length+a);for(i=Array.isArray(i)?i:[i],n=z(n,e.data.length-1),i=z(i,e.data.length-1),a=0;a<e.data.length;a++)-1===n.indexOf(a)&&s.push(e.data[a]);for(a=0;a<n.length;a++)c.push({newIndex:i[a],trace:e.data[n[a]]});for(c.sort(function(t,e){return t.newIndex-e.newIndex}),a=0;a<c.length;a+=1)s.splice(c[a].newIndex,0,c[a].trace);e.data=s;var d=r.redraw(e);return l.add(e,u,h,f,p),d},r.restyle=function t(e,n,i,a){e=o.getGraphDiv(e),w.clearPromiseQueue(e);var s={};if(\"string\"==typeof n)s[n]=i;else{if(!o.isPlainObject(n))return o.warn(\"Restyle fail.\",n,i,a),Promise.reject();s=o.extendFlat({},n),void 0===a&&(a=i)}Object.keys(s).length&&(e.changed=!0);var c=w.coerceTraceIndices(e,a),u=B(e,s,c),h=u.flags;h.calc&&(e.calcdata=void 0),h.clearAxisTypes&&w.clearAxisTypes(e,c,{});var p=[];h.fullReplot?p.push(r.plot):(p.push(f.previousPromises),f.supplyDefaults(e),h.style&&p.push(k.doTraceStyle),h.colorbars&&p.push(k.doColorBars),p.push(S)),p.push(f.rehover),l.add(e,t,[e,u.undoit,u.traces],t,[e,u.redoit,u.traces]);var d=o.syncOrAsync(p,e);return d&&d.then||(d=Promise.resolve()),d.then(function(){return e.emit(\"plotly_restyle\",u.eventData),e})},r.relayout=function t(e,r,n){if(e=o.getGraphDiv(e),w.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);var i={};if(\"string\"==typeof r)i[r]=n;else{if(!o.isPlainObject(r))return o.warn(\"Relayout fail.\",r,n),Promise.reject();i=o.extendFlat({},r)}Object.keys(i).length&&(e.changed=!0);var a=U(e,i),s=a.flags;s.calc&&(e.calcdata=void 0);var c=[f.previousPromises];s.layoutReplot?c.push(k.layoutReplot):Object.keys(i).length&&(f.supplyDefaults(e),s.legend&&c.push(k.doLegend),s.layoutstyle&&c.push(k.layoutStyles),s.axrange&&F(c,a.rangesAltered),s.ticks&&c.push(k.doTicksRelayout),s.modebar&&c.push(k.doModeBar),s.camera&&c.push(k.doCamera),c.push(S)),c.push(f.rehover),l.add(e,t,[e,a.undoit],t,[e,a.redoit]);var u=o.syncOrAsync(c,e);return u&&u.then||(u=Promise.resolve(e)),u.then(function(){return e.emit(\"plotly_relayout\",a.eventData),e})};var N=/^[xyz]axis[0-9]*\\.range(\\[[0|1]\\])?$/,j=/^[xyz]axis[0-9]*\\.autorange$/,V=/^[xyz]axis[0-9]*\\.domain(\\[[0|1]\\])?$/;function U(t,e){var r,n,i,a=t.layout,s=t._fullLayout,l=Object.keys(e),f=p.list(t),h={};for(n=0;n<l.length;n++)if(0===l[n].indexOf(\"allaxes\")){for(i=0;i<f.length;i++){var d=f[i]._id.substr(1),g=-1!==d.indexOf(\"scene\")?d+\".\":\"\",m=l[n].replace(\"allaxes\",g+f[i]._name);e[m]||(e[m]=e[l[n]])}delete e[l[n]]}var v=M.layoutFlags(),y={},x={};function b(t,r){if(Array.isArray(t))t.forEach(function(t){b(t,r)});else if(!(t in e||w.hasParent(e,t))){var n=o.nestedProperty(a,t);t in x||(x[t]=R(n.get())),void 0!==r&&n.set(r)}}var k,T={};function S(t){var e=p.name2id(t.split(\".\")[0]);return T[e]=1,e}for(var E in e){if(w.hasParent(e,E))throw new Error(\"cannot set \"+E+\"and a parent attribute simultaneously\");for(var C=o.nestedProperty(a,E),L=e[E],z=C.parts.length-1;z>0&&\"string\"!=typeof C.parts[z];)z--;var P=C.parts[z],O=C.parts[z-1]+\".\"+P,I=C.parts.slice(0,z).join(\".\"),D=o.nestedProperty(t.layout,I).get(),B=o.nestedProperty(s,I).get(),F=C.get();if(void 0!==L){y[E]=L,x[E]=\"reverse\"===P?L:R(F);var U=u.getLayoutValObject(s,C.parts);if(U&&U.impliedEdits&&null!==L)for(var H in U.impliedEdits)b(o.relativeAttr(E,H),U.impliedEdits[H]);if(-1!==[\"width\",\"height\"].indexOf(E)&&null===L)s[E]=t._initialAutoSize[E];else if(O.match(N))S(O),o.nestedProperty(s,I+\"._inputRange\").set(null);else if(O.match(j)){S(O),o.nestedProperty(s,I+\"._inputRange\").set(null);var G=o.nestedProperty(s,I).get();G._inputDomain&&(G._input.domain=G._inputDomain.slice())}else O.match(V)&&o.nestedProperty(s,I+\"._inputDomain\").set(null);if(\"type\"===P){var W=D,Y=\"linear\"===B.type&&\"log\"===L,X=\"log\"===B.type&&\"linear\"===L;if(Y||X){if(W&&W.range)if(B.autorange)Y&&(W.range=W.range[1]>W.range[0]?[1,2]:[2,1]);else{var Z=W.range[0],$=W.range[1];Y?(Z<=0&&$<=0&&b(I+\".autorange\",!0),Z<=0?Z=$/1e6:$<=0&&($=Z/1e6),b(I+\".range[0]\",Math.log(Z)/Math.LN10),b(I+\".range[1]\",Math.log($)/Math.LN10)):(b(I+\".range[0]\",Math.pow(10,Z)),b(I+\".range[1]\",Math.pow(10,$)))}else b(I+\".autorange\",!0);Array.isArray(s._subplots.polar)&&s._subplots.polar.length&&s[C.parts[0]]&&\"radialaxis\"===C.parts[1]&&delete s[C.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],c.getComponentMethod(\"annotations\",\"convertCoords\")(t,B,L,b),c.getComponentMethod(\"images\",\"convertCoords\")(t,B,L,b)}else b(I+\".autorange\",!0),b(I+\".range\",null);o.nestedProperty(s,I+\"._inputRange\").set(null)}else if(P.match(A)){var J=o.nestedProperty(s,E).get(),K=(L||{}).type;K&&\"-\"!==K||(K=\"linear\"),c.getComponentMethod(\"annotations\",\"convertCoords\")(t,J,K,b),c.getComponentMethod(\"images\",\"convertCoords\")(t,J,K,b)}var Q=_.containerArrayMatch(E);if(Q){r=Q.array,n=Q.index;var tt=Q.property,et=(o.nestedProperty(a,r)||[])[n]||{},rt=U||{editType:\"calc\"};\"\"===tt&&(_.isAddVal(L)?x[E]=null:_.isRemoveVal(L)?x[E]=et:o.warn(\"unrecognized full object value\",e)),M.update(v,rt),h[r]||(h[r]={});var nt=h[r][n];nt||(nt=h[r][n]={}),nt[tt]=L,delete e[E]}else\"reverse\"===P?(D.range?D.range.reverse():(b(I+\".autorange\",!0),D.range=[1,0]),B.autorange?v.calc=!0:v.plot=!0):(s._has(\"scatter-like\")&&s._has(\"regl\")&&\"dragmode\"===E&&(\"lasso\"===L||\"select\"===L)&&\"lasso\"!==F&&\"select\"!==F?v.plot=!0:U?M.update(v,U):v.calc=!0,C.set(L))}}for(r in h){_.applyContainerArrayChanges(t,o.nestedProperty(a,r),h[r],v)||(v.plot=!0)}var it=s._axisConstraintGroups||[];for(k in T)for(n=0;n<it.length;n++){var at=it[n];if(at[k])for(var ot in v.calc=!0,at)T[ot]||(p.getFromId(t,ot)._constraintShrinkable=!0)}return(q(t)||e.height||e.width)&&(v.plot=!0),(v.plot||v.calc)&&(v.layoutReplot=!0),{flags:v,rangesAltered:T,undoit:x,redoit:y,eventData:o.extendDeep({},y)}}function q(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&f.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function H(t,e,r,n){var i,a,s=n.getValObject,l=n.flags,c=n.immutable,u=n.inArray,f=n.arrayIndex;function h(){var t=i.editType;u&&-1!==t.indexOf(\"arraydraw\")?o.pushUnique(l.arrays[u],f):M.update(l,i)}function p(t){return\"data_array\"===t.valType||t.arrayOk}for(a in t){if(l.calc)return;var d=t[a],g=e[a];if(\"_\"!==a.charAt(0)&&\"function\"!=typeof d&&d!==g){if((\"tick0\"===a||\"dtick\"===a)&&\"geo\"!==r[0]){var m=e.tickmode;if(\"auto\"===m||\"array\"===m||!m)continue}if((\"range\"!==a||!e.autorange)&&(\"zmin\"!==a&&\"zmax\"!==a||\"contourcarpet\"!==e.type)){var v=r.concat(a);if((i=s(v))&&(!i._compareAsJSON||JSON.stringify(d)!==JSON.stringify(g))){var y,x=i.valType,b=p(i),_=Array.isArray(d),w=Array.isArray(g);if(_&&w){var k=\"_input_\"+a,A=t[k],T=e[k];if(Array.isArray(A)&&A===T)continue}if(void 0===g)b&&_?l.calc=!0:h();else if(i._isLinkedToArray){var S=[],E=!1;u||(l.arrays[a]=S);var C=Math.min(d.length,g.length),L=Math.max(d.length,g.length);if(C!==L){if(\"arraydraw\"!==i.editType){h();continue}E=!0}for(y=0;y<C;y++)H(d[y],g[y],v.concat(y),o.extendFlat({inArray:a,arrayIndex:y},n));if(E)for(y=C;y<L;y++)S.push(y)}else!x&&o.isPlainObject(d)?H(d,g,v,n):b?_&&w?c&&(l.calc=!0):_!==w?l.calc=!0:h():_&&w&&d.length===g.length&&String(d)===String(g)||h()}}}}for(a in e)if(!(a in t||\"_\"===a.charAt(0)||\"function\"==typeof e[a])){if(p(i=s(r.concat(a)))&&Array.isArray(e[a]))return void(l.calc=!0);h()}}function G(t){var e=n.select(t),r=t._fullLayout;if(r._container=e.selectAll(\".plot-container\").data([0]),r._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0),r._paperdiv=r._container.selectAll(\".svg-container\").data([0]),r._paperdiv.enter().append(\"div\").classed(\"svg-container\",!0).style(\"position\",\"relative\"),r._glcontainer=r._paperdiv.selectAll(\".gl-container\").data([{}]),r._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),r._paperdiv.selectAll(\".main-svg\").remove(),r._paper=r._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),r._toppaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!r._uid){var i={};n.selectAll(\"defs\").each(function(){this.id&&(i[this.id.split(\"-\")[1]]=1)}),r._uid=o.randstr(i)}r._paperdiv.selectAll(\".main-svg\").attr(y.svgAttrs),r._defs=r._paper.append(\"defs\").attr(\"id\",\"defs-\"+r._uid),r._clips=r._defs.append(\"g\").classed(\"clips\",!0),r._topdefs=r._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+r._uid),r._topclips=r._topdefs.append(\"g\").classed(\"clips\",!0),r._bgLayer=r._paper.append(\"g\").classed(\"bglayer\",!0),r._draggers=r._paper.append(\"g\").classed(\"draglayer\",!0);var a=r._paper.append(\"g\").classed(\"layer-below\",!0);r._imageLowerLayer=a.append(\"g\").classed(\"imagelayer\",!0),r._shapeLowerLayer=a.append(\"g\").classed(\"shapelayer\",!0),r._cartesianlayer=r._paper.append(\"g\").classed(\"cartesianlayer\",!0),r._polarlayer=r._paper.append(\"g\").classed(\"polarlayer\",!0),r._ternarylayer=r._paper.append(\"g\").classed(\"ternarylayer\",!0),r._geolayer=r._paper.append(\"g\").classed(\"geolayer\",!0),r._pielayer=r._paper.append(\"g\").classed(\"pielayer\",!0),r._glimages=r._paper.append(\"g\").classed(\"glimages\",!0);var s=r._toppaper.append(\"g\").classed(\"layer-above\",!0);r._imageUpperLayer=s.append(\"g\").classed(\"imagelayer\",!0),r._shapeUpperLayer=s.append(\"g\").classed(\"shapelayer\",!0),r._infolayer=r._toppaper.append(\"g\").classed(\"infolayer\",!0),r._menulayer=r._toppaper.append(\"g\").classed(\"menulayer\",!0),r._zoomlayer=r._toppaper.append(\"g\").classed(\"zoomlayer\",!0),r._hoverlayer=r._toppaper.append(\"g\").classed(\"hoverlayer\",!0),t.emit(\"plotly_framework\")}r.update=function t(e,n,i,a){if(e=o.getGraphDiv(e),w.clearPromiseQueue(e),e.framework&&e.framework.isPolar)return Promise.resolve(e);o.isPlainObject(n)||(n={}),o.isPlainObject(i)||(i={}),Object.keys(n).length&&(e.changed=!0),Object.keys(i).length&&(e.changed=!0);var s=w.coerceTraceIndices(e,a),c=B(e,o.extendFlat({},n),s),u=c.flags,h=U(e,o.extendFlat({},i)),p=h.flags;(u.calc||p.calc)&&(e.calcdata=void 0),u.clearAxisTypes&&w.clearAxisTypes(e,s,i);var d=[];if(u.fullReplot&&p.layoutReplot){var g=e.data,m=e.layout;e.data=void 0,e.layout=void 0,d.push(function(){return r.plot(e,g,m)})}else u.fullReplot?d.push(r.plot):p.layoutReplot?d.push(k.layoutReplot):(d.push(f.previousPromises),f.supplyDefaults(e),u.style&&d.push(k.doTraceStyle),u.colorbars&&d.push(k.doColorBars),p.legend&&d.push(k.doLegend),p.layoutstyle&&d.push(k.layoutStyles),p.axrange&&F(d,h.rangesAltered),p.ticks&&d.push(k.doTicksRelayout),p.modebar&&d.push(k.doModeBar),p.camera&&d.push(k.doCamera),d.push(S));d.push(f.rehover),l.add(e,t,[e,c.undoit,h.undoit,c.traces],t,[e,c.redoit,h.redoit,c.traces]);var v=o.syncOrAsync(d,e);return v&&v.then||(v=Promise.resolve(e)),v.then(function(){return e.emit(\"plotly_update\",{data:c.eventData,layout:h.eventData}),e})},r.react=function(t,e,n,i){var a,s;var l=(t=o.getGraphDiv(t))._fullData,h=t._fullLayout;if(o.isPlotDiv(t)&&l&&h){if(o.isPlainObject(e)){var p=e;e=p.data,n=p.layout,i=p.config,a=p.frames}var d=!1;if(i){var g=o.extendDeep({},t._context);t._context=void 0,L(t,i),d=function t(e,r){var n;for(n in e){var i=e[n],a=r[n];if(i!==a)if(o.isPlainObject(i)&&o.isPlainObject(a)){if(t(i,a))return!0}else{if(!Array.isArray(i)||!Array.isArray(a))return!0;if(i.length!==a.length)return!0;for(var s=0;s<i.length;s++)if(i[s]!==a[s]){if(!o.isPlainObject(i[s])||!o.isPlainObject(a[s]))return!0;if(t(i[s],a[s]))return!0}}}}(g,t._context)}t.data=e||[],w.cleanData(t.data),t.layout=n||{},w.cleanLayout(t.layout),f.supplyDefaults(t,{skipUpdateCalc:!0});var m=t._fullData,v=t._fullLayout,y=void 0===v.datarevision,x=function(t,e,r,n){if(e.length!==r.length)return{fullReplot:!0,calc:!0};var i,a,o=M.traceFlags();o.arrays={};var s={getValObject:function(t){return u.getTraceValObject(a,t)},flags:o,immutable:n,gd:t},l={};for(i=0;i<e.length;i++)a=r[i]._fullInput,f.hasMakesDataTransform(a)&&(a=r[i]),l[a.uid]||(l[a.uid]=1,H(e[i]._fullInput,a,[],s));(o.calc||o.plot)&&(o.fullReplot=!0);return o}(t,l,m,y),b=function(t,e,r,n){var i=M.layoutFlags();i.arrays={},H(e,r,[],{getValObject:function(t){return u.getLayoutValObject(r,t)},flags:i,immutable:n,gd:t}),(i.plot||i.calc)&&(i.layoutReplot=!0);return i}(t,h,v,y);q(t)&&(b.layoutReplot=!0),x.calc||b.calc?t.calcdata=void 0:f.supplyDefaultsUpdateCalc(t.calcdata,m);var _=[];if(a&&(t._transitionData={},f.createTransitionData(t),_.push(function(){return r.addFrames(t,a)})),x.fullReplot||b.layoutReplot||d)t._fullLayout._skipDefaults=!0,_.push(r.plot);else{for(var A in b.arrays){var T=b.arrays[A];if(T.length){var E=c.getComponentMethod(A,\"drawOne\");if(E!==o.noop)for(var C=0;C<T.length;C++)E(t,T[C]);else{var z=c.getComponentMethod(A,\"draw\");if(z===o.noop)throw new Error(\"cannot draw components: \"+A);z(t)}}}_.push(f.previousPromises),x.style&&_.push(k.doTraceStyle),x.colorbars&&_.push(k.doColorBars),b.legend&&_.push(k.doLegend),b.layoutstyle&&_.push(k.layoutStyles),b.axrange&&F(_),b.ticks&&_.push(k.doTicksRelayout),b.modebar&&_.push(k.doModeBar),b.camera&&_.push(k.doCamera),_.push(S)}_.push(f.rehover),(s=o.syncOrAsync(_,t))&&s.then||(s=Promise.resolve(t))}else s=r.newPlot(t,e,n,i);return s.then(function(){return t.emit(\"plotly_react\",{data:e,layout:n}),t})},r.animate=function(t,e,r){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t+\". It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/\");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=f.supplyAnimationDefaults(r)).transition,a=r.frame;function s(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(a,u){function h(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,f.transition(t,e.frame.data,e.frame.layout,w.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&&e.onComplete()}),t.emit(\"plotly_animatingframe\",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit(\"plotly_animated\"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit(\"plotly_animating\"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&h()};e()}var d,g,m=0;function v(t){return Array.isArray(i)?m>=i.length?t.transitionOpts=i[m]:t.transitionOpts=i[0]:t.transitionOpts=i,m++,t}var y=[],x=null==e,b=Array.isArray(e);if(!x&&!b&&o.isPlainObject(e))y.push({type:\"object\",data:v(o.extendFlat({},e))});else if(x||-1!==[\"string\",\"number\"].indexOf(typeof e))for(d=0;d<n._frames.length;d++)(g=n._frames[d])&&(x||String(g.group)===String(e))&&y.push({type:\"byname\",name:String(g.name),data:v({name:g.name})});else if(b)for(d=0;d<e.length;d++){var _=e[d];-1!==[\"number\",\"string\"].indexOf(typeof _)?(_=String(_),y.push({type:\"byname\",name:_,data:v({name:_})})):o.isPlainObject(_)&&y.push({type:\"object\",data:v(o.extendFlat({},_))})}for(d=0;d<y.length;d++)if(\"byname\"===(g=y[d]).type&&!n._frameHash[g.data.name])return o.warn('animate failure: frame not found: \"'+g.data.name+'\"'),void u();-1!==[\"next\",\"immediate\"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var e=n._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit(\"plotly_animationinterrupted\",[])}}(),\"reverse\"===r.direction&&y.reverse();var k=t._fullLayout._currentFrame;if(k&&r.fromcurrent){var M=-1;for(d=0;d<y.length;d++)if(\"byname\"===(g=y[d]).type&&g.name===k){M=d;break}if(M>0&&M<y.length-1){var A=[];for(d=0;d<y.length;d++)g=y[d],(\"byname\"!==y[d].type||d>M)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var i=0;i<e.length;i++){var o;o=\"byname\"===e[i].type?f.computeFrame(t,e[i].name):e[i].data;var h=l(i),d=s(i);d.duration=Math.min(d.duration,h.duration);var g={frame:o,name:e[i].name,frameOpts:h,transitionOpts:d};i===e.length-1&&(g.onComplete=c(a,2),g.onInterrupt=u),n._frameQueue.push(g)}\"immediate\"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||p()}}(y):(t.emit(\"plotly_animated\"),a())})},r.addFrames=function(t,e,r){if(t=o.getGraphDiv(t),null==e)return Promise.resolve();if(!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/\");var n,i,a,s,c=t._transitionData._frames,u=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+e);var h=c.length+2*e.length,p=[],d={};for(n=e.length-1;n>=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,m=(u[g]||d[g]||{}).name,v=e[n].name,y=u[m]||d[m];m&&v&&\"number\"==typeof v&&y&&T<5&&(T++,o.warn('addFrames: overwriting frame \"'+(u[m]||d[m]).name+'\" with a frame whose name of type \"number\" also equates to \"'+m+'\". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===T&&o.warn(\"addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.\")),d[g]={name:g},p.push({frame:f.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:h+n})}p.sort(function(t,e){return t.index>e.index?-1:t.index<e.index?1:0});var x=[],b=[],_=c.length;for(n=p.length-1;n>=0;n--){if(\"number\"==typeof(i=p[n].frame).name&&o.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!i.name)for(;u[i.name=\"frame \"+t._transitionData._counter++];);if(u[i.name]){for(a=0;a<c.length&&(c[a]||{}).name!==i.name;a++);x.push({type:\"replace\",index:a,value:i}),b.unshift({type:\"replace\",index:a,value:c[a]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:\"insert\",index:s,value:i}),b.unshift({type:\"delete\",index:s}),_++}var w=f.modifyFrames,k=f.modifyFrames,M=[t,b],A=[t,x];return l&&l.add(t,w,M,k,A),f.modifyFrames(t,x)},r.deleteFrames=function(t,e){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error(\"This element is not a Plotly plot: \"+t);var r,n,i=t._transitionData._frames,a=[],s=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for((e=e.slice(0)).sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:\"delete\",index:n}),s.unshift({type:\"insert\",index:n,value:i[n]});var c=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,a];return l&&l.add(t,c,h,u,p),f.modifyFrames(t,a)},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[],n=t.calcdata||[];return f.cleanPlot([],{},r,e,n),f.purge(t),s.purge(t),e._container&&e._container.remove(),delete t._context,t}},{\"../components/color\":567,\"../components/colorbar/connect\":569,\"../components/drawing\":592,\"../constants/xmlns_namespaces\":671,\"../lib\":693,\"../lib/events\":681,\"../lib/queue\":709,\"../lib/svg_text_utils\":718,\"../plots/cartesian/axes\":742,\"../plots/cartesian/constants\":747,\"../plots/cartesian/graph_interact\":751,\"../plots/plots\":805,\"../plots/polar/legacy\":813,\"../registry\":825,\"./edit_types\":725,\"./helpers\":726,\"./manage_arrays\":728,\"./plot_config\":730,\"./plot_schema\":731,\"./subroutines\":733,d3:147,\"fast-isnumeric\":213,\"has-hover\":391}],730:[function(t,e,r){\"use strict\";e.exports={staticPlot:!1,plotlyServerURL:\"https://plot.ly\",editable:!1,edits:{annotationPosition:!1,annotationTail:!1,annotationText:!1,axisTitleText:!1,colorbarPosition:!1,colorbarTitleText:!1,legendPosition:!1,legendText:!1,shapePosition:!1,titleText:!1},autosizable:!1,responsive:!1,queueLength:0,fillFrame:!1,frameMargins:0,scrollZoom:!1,doubleClick:\"reset+autosize\",showTips:!0,showAxisDragHandles:!0,showAxisRangeEntryBoxes:!0,showLink:!1,sendData:!0,linkText:\"Edit chart\",showSources:!1,displayModeBar:\"hover\",modeBarButtonsToRemove:[],modeBarButtonsToAdd:[],modeBarButtons:!1,toImageButtonOptions:{},displaylogo:!0,plotGlPixelRatio:2,setBackground:\"transparent\",topojsonURL:\"https://cdn.plot.ly/\",mapboxAccessToken:null,logging:1,globalTransforms:[],locale:\"en-US\",locales:{}}},{}],731:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),i=t(\"../lib\"),a=t(\"../plots/attributes\"),o=t(\"../plots/layout_attributes\"),s=t(\"../plots/frame_attributes\"),l=t(\"../plots/animation_attributes\"),c=t(\"../plots/polar/legacy/area_attributes\"),u=t(\"../plots/polar/legacy/axis_attributes\"),f=t(\"./edit_types\"),h=i.extendFlat,p=i.extendDeepAll,d=i.isPlainObject,g=\"_isSubplotObj\",m=\"_isLinkedToArray\",v=[g,m,\"_arrayAttrRegexps\",\"_deprecated\"];function y(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(x(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!d(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!x(e[++r]))return!1}else if(\"info_array\"===t.valType){var i=e[++r];if(!x(i))return!1;var a=t.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!x(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function x(t){return t===Math.round(t)&&t>=0}function b(t){return function(t){r.crawl(t,function(t,e,n){r.isValObject(t)?\"data_array\"===t.valType?(t.role=\"data\",n[e+\"src\"]={valType:\"string\",editType:\"none\"}):!0===t.arrayOk&&(n[e+\"src\"]={valType:\"string\",editType:\"none\"}):d(t)&&(t.role=\"object\")})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[m];if(!n)return;delete t[m],r[e]={items:{}},r[e].items[n]=t,r[e].role=\"object\"})}(t),function(t){!function t(e){for(var r in e)if(d(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n<e[r].length;n++)t(e[r][n]);else e[r]instanceof RegExp&&(e[r]=e[r].toString())}(t)}(t),t}function _(t,e,r){var n=i.nestedProperty(t,r),a=p({},e.layoutAttributes);a[g]=!0,n.set(a)}function w(t,e,r){var n=i.nestedProperty(t,r);n.set(p(n.get()||{},e))}r.IS_SUBPLOT_OBJ=g,r.IS_LINKED_TO_ARRAY=m,r.DEPRECATED=\"_deprecated\",r.UNDERSCORE_ATTRS=v,r.get=function(){var t={};n.allTypes.concat(\"area\").forEach(function(e){t[e]=function(t){var e,r;\"area\"===t?(e={attributes:c},r={}):(e=n.modules[t]._module,r=e.basePlotModule);var i={type:null};p(i,a),p(i,e.attributes),r.attributes&&p(i,r.attributes);i.type=t;var o={meta:e.meta||{},attributes:b(i)};if(e.layoutAttributes){var s={};p(s,e.layoutAttributes),o.layoutAttributes=b(s)}return o}(e)});var e,r={};return Object.keys(n.transformsRegistry).forEach(function(t){r[t]=function(t){var e=n.transformsRegistry[t],r=p({},e.attributes);return Object.keys(n.componentsRegistry).forEach(function(e){var i=n.componentsRegistry[e];i.schema&&i.schema.transforms&&i.schema.transforms[t]&&Object.keys(i.schema.transforms[t]).forEach(function(e){w(r,i.schema.transforms[t][e],e)})}),{attributes:b(r)}}(t)}),{defs:{valObjects:i.valObjectMeta,metaKeys:v.concat([\"description\",\"role\",\"editType\",\"impliedEdits\"]),editType:{traces:f.traces,layout:f.layout},impliedEdits:{}},traces:t,layout:function(){var t,e,r={};for(t in p(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i<e.attr.length;i++)_(r,e,e.attr[i]);else{var a=\"subplot\"===e.attr?e.name:e.attr;_(r,e,a)}for(t in r=function(t){return h(t,{radialaxis:u.radialaxis,angularaxis:u.angularaxis}),h(t,u.layout),t}(r),n.componentsRegistry){var s=(e=n.componentsRegistry[t]).schema;if(s&&(s.subplots||s.layout)){var l=s.subplots;if(l&&l.xaxis&&!l.yaxis)for(var c in l.xaxis)delete r.yaxis[c]}else e.layoutAttributes&&w(r,e.layoutAttributes,e.name)}return{layoutAttributes:b(r)}}(),transforms:r,frames:(e={frames:i.extendDeepAll({},s)},b(e),e.frames),animation:b(l)}},r.crawl=function(t,e,n,i){var a=n||0;i=i||\"\",Object.keys(t).forEach(function(n){var o=t[n];if(-1===v.indexOf(n)){var s=(i?i+\".\":\"\")+n;e(o,n,t,a,s),r.isValObject(o)||d(o)&&\"impliedEdits\"!==n&&r.crawl(o,e,a+1,s)}})},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){var e,n,o=[],s=[],l=[];function c(t,r,a,c){s=s.slice(0,c).concat([r]),l=l.slice(0,c).concat([t&&t._isLinkedToArray]),t&&(\"data_array\"===t.valType||!0===t.arrayOk)&&!(\"colorbar\"===s[c-1]&&(\"ticktext\"===r||\"tickvals\"===r))&&function t(e,r,a){var c=e[s[r]];var u=a+s[r];if(r===s.length-1)i.isArrayOrTypedArray(c)&&o.push(n+u);else if(l[r]){if(Array.isArray(c))for(var f=0;f<c.length;f++)i.isPlainObject(c[f])&&t(c[f],r+1,u+\"[\"+f+\"].\")}else i.isPlainObject(c)&&t(c,r+1,u+\".\")}(e,0,\"\")}e=t,n=\"\",r.crawl(a,c),t._module&&t._module.attributes&&r.crawl(t._module.attributes,c);var u=t.transforms;if(u)for(var f=0;f<u.length;f++){var h=u[f],p=h._module;p&&(n=\"transforms[\"+f+\"].\",e=h,r.crawl(p.attributes,c))}return o},r.getTraceValObject=function(t,e){var r,i,o=e[0],s=1;if(\"transforms\"===o){if(1===e.length)return a.transforms;var l=t.transforms;if(!Array.isArray(l)||!l.length)return!1;var u=e[1];if(!x(u)||u>=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else if(\"area\"===t.type)i=c[o];else{var f=t._module;if(f||(f=(n.modules[t.type||a.type.dflt]||{})._module),!f)return!1;if(!(i=(r=f.attributes)&&r[o])){var h=f.basePlotModule;h&&h.attributes&&(i=h.attributes[o])}i||(i=a[o])}return y(i,e,s)},r.getLayoutValObject=function(t,e){return y(function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r<l.length;r++){if((a=l[r]).attrRegex&&a.attrRegex.test(e)){if(a.layoutAttrOverrides)return a.layoutAttrOverrides;!c&&a.layoutAttributes&&(c=a.layoutAttributes)}var f=a.baseLayoutAttrOverrides;if(f&&e in f)return f[e]}if(c)return c}var h=t._modules;if(h)for(r=0;r<h.length;r++)if((s=h[r].layoutAttributes)&&e in s)return s[e];for(i in n.componentsRegistry)if(!(a=n.componentsRegistry[i]).schema&&e===a.name)return a.layoutAttributes;if(e in o)return o[e];if(\"radialaxis\"===e||\"angularaxis\"===e)return u[e];return u.layout[e]||!1}(t,e[0]),e,1)}},{\"../lib\":693,\"../plots/animation_attributes\":737,\"../plots/attributes\":739,\"../plots/frame_attributes\":769,\"../plots/layout_attributes\":796,\"../plots/polar/legacy/area_attributes\":811,\"../plots/polar/legacy/axis_attributes\":812,\"../registry\":825,\"./edit_types\":725}],732:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plots/attributes\"),a=\"templateitemname\",o={name:{valType:\"string\",editType:\"none\"}};function s(t){return t&&\"string\"==typeof t}function l(t){var e=t.length-1;return\"s\"!==t.charAt(e)&&n.warn(\"bad argument to arrayDefaultKey: \"+t),t.substr(0,t.length-1)+\"defaults\"}o[a]={valType:\"string\",editType:\"calc\"},r.templatedArray=function(t,e){return e._isLinkedToArray=t,e.name=o.name,e[a]=o[a],e},r.traceTemplater=function(t){var e,r,a={};for(e in t)r=t[e],Array.isArray(r)&&r.length&&(a[e]=0);return{newTrace:function(o){var s={type:e=n.coerce(o,{},i,\"type\"),_template:null};if(e in a){r=t[e];var l=a[e]%r.length;a[e]++,s._template=r[l]}return s}}},r.newContainer=function(t,e,r){var i=t._template,a=i&&(i[e]||r&&i[r]);return n.isPlainObject(a)||(a=null),t[e]={_template:a}},r.arrayTemplater=function(t,e,r){var n=t._template,i=n&&n[l(e)],o=n&&n[e];Array.isArray(o)&&o.length||(o=[]);var c={};return{newItem:function(t){var e={name:t.name,_input:t},n=e[a]=t[a];if(!s(n))return e._template=i,e;for(var l=0;l<o.length;l++){var u=o[l];if(u.name===n)return c[n]=1,e._template=u,e}return e[r]=t[r]||!1,e._template=!1,e},defaultItems:function(){for(var t=[],e=0;e<o.length;e++){var r=o[e],n=r.name;if(s(n)&&!c[n]){var i={_template:r,name:n,_input:{_templateitemname:n}};i[a]=r[a],t.push(i),c[n]=1}}return t}}},r.arrayDefaultKey=l,r.arrayEditor=function(t,e,r){var i=(n.nestedProperty(t,e).get()||[]).length,o=r._index,s=o>=i&&(r._input||{})._templateitemname;s&&(o=i);var l,c=e+\"[\"+o+\"]\";function u(){l={},s&&(l[c]={},l[c][a]=s)}function f(t,e){s?n.nestedProperty(l[c],t).set(e):l[c+\".\"+t]=e}function h(){var t=l;return u(),t}return u(),{modifyBase:function(t,e){l[t]=e},modifyItem:f,getUpdateObj:h,applyUpdate:function(e,r){e&&f(e,r);var i=h();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},{\"../lib\":693,\"../plots/attributes\":739}],733:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../registry\"),a=t(\"../plots/plots\"),o=t(\"../lib\"),s=t(\"../lib/clear_gl_canvases\"),l=t(\"../components/color\"),c=t(\"../components/drawing\"),u=t(\"../components/titles\"),f=t(\"../components/modebar\"),h=t(\"../plots/cartesian/axes\"),p=t(\"../constants/alignment\"),d=t(\"../plots/cartesian/constraints\"),g=d.enforce,m=d.clean,v=t(\"../plots/cartesian/autorange\").doAutoRange;function y(t){var e,i=t._fullLayout,a=i._size,s=a.p,u=h.list(t,\"\",!0),d=i._has(\"cartesian\");function g(t,e,r){var n=t._lw/2;return\"x\"===t._id.charAt(0)?e?\"top\"===r?e._offset-s-n:e._offset+e._length+s+n:a.t+a.h*(1-(t.position||0))+n%1:e?\"right\"===r?e._offset+e._length+s+n:e._offset-s-n:a.l+a.w*(t.position||0)+n%1}for(e=0;e<u.length;e++){var m=u[e];m.setScale();var v=m._anchorAxis;m._linepositions={},m._lw=c.crispRound(t,m.linewidth,1),m._mainLinePosition=g(m,v,m.side),m._mainMirrorPosition=m.mirror&&v?g(m,v,p.OPPOSITE_SIDE[m.side]):null,m._mainSubplot=x(m,i)}i._paperdiv.style({width:i.width+\"px\",height:i.height+\"px\"}).selectAll(\".main-svg\").call(c.setSize,i.width,i.height),t._context.setBackground(t,i.paper_bgcolor);var y=i._paper.selectAll(\"g.subplot\"),_=[],k=[];y.each(function(t){var e=t[0],r=i._plots[e];if(r.mainplot)return r.bg&&r.bg.remove(),void(r.bg=void 0);var n=r.xaxis.domain,a=r.yaxis.domain,s=r.plotgroup;if(function(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&a[0]<e[1]&&a[1]>e[0])return!0}return!1}(n,a,k)){var l=s.node(),c=r.bg=o.ensureSingle(s,\"rect\",\"bg\");l.insertBefore(c.node(),l.childNodes[0])}else s.select(\"rect.bg\").remove(),_.push(e),k.push([n,a])});var M=i._bgLayer.selectAll(\".bg\").data(_);return M.enter().append(\"rect\").classed(\"bg\",!0),M.exit().remove(),M.each(function(t){i._plots[t].bg=n.select(this)}),y.each(function(t){var e=t[0],r=i._plots[e],n=r.xaxis,a=r.yaxis;r.bg&&d&&r.bg.call(c.setRect,n._offset-s,a._offset-s,n._length+2*s,a._length+2*s).call(l.fill,i.plot_bgcolor).style(\"stroke-width\",0);var f,h,p=r.clipId=\"clip\"+i._uid+e+\"plot\",m=o.ensureSingleById(i._clips,\"clipPath\",p,function(t){t.classed(\"plotclip\",!0).append(\"rect\")});if(r.clipRect=m.select(\"rect\").attr({width:n._length,height:a._length}),c.setTranslate(r.plot,n._offset,a._offset),r._hasClipOnAxisFalse?(f=null,h=p):(f=p,h=null),c.setClipUrl(r.plot,f),r.layerClipId=h,d){var v,y,x,_,k,M,A,T,S,E,C,L,z,P=\"M0,0\";b(n,e)&&(k=w(n,\"left\",a,u),v=n._offset-(k?s+k:0),M=w(n,\"right\",a,u),y=n._offset+n._length+(M?s+M:0),x=g(n,a,\"bottom\"),_=g(n,a,\"top\"),!(z=!n._anchorAxis||e!==n._mainSubplot)||\"allticks\"!==n.mirror&&\"all\"!==n.mirror||(n._linepositions[e]=[x,_]),P=R(n,I,function(t){return\"M\"+n._offset+\",\"+t+\"h\"+n._length}),z&&n.showline&&(\"all\"===n.mirror||\"allticks\"===n.mirror)&&(P+=I(x)+I(_)),r.xlines.style(\"stroke-width\",n._lw+\"px\").call(l.stroke,n.showline?n.linecolor:\"rgba(0,0,0,0)\")),r.xlines.attr(\"d\",P);var O=\"M0,0\";b(a,e)&&(C=w(a,\"bottom\",n,u),A=a._offset+a._length+(C?s:0),L=w(a,\"top\",n,u),T=a._offset-(L?s:0),S=g(a,n,\"left\"),E=g(a,n,\"right\"),!(z=!a._anchorAxis||e!==a._mainSubplot)||\"allticks\"!==a.mirror&&\"all\"!==a.mirror||(a._linepositions[e]=[S,E]),O=R(a,D,function(t){return\"M\"+t+\",\"+a._offset+\"v\"+a._length}),z&&a.showline&&(\"all\"===a.mirror||\"allticks\"===a.mirror)&&(O+=D(S)+D(E)),r.ylines.style(\"stroke-width\",a._lw+\"px\").call(l.stroke,a.showline?a.linecolor:\"rgba(0,0,0,0)\")),r.ylines.attr(\"d\",O)}function I(t){return\"M\"+v+\",\"+t+\"H\"+y}function D(t){return\"M\"+t+\",\"+T+\"V\"+A}function R(t,r,n){if(!t.showline||e!==t._mainSubplot)return\"\";if(!t._anchorAxis)return n(t._mainLinePosition);var i=r(t._mainLinePosition);return t.mirror&&(i+=r(t._mainMirrorPosition)),i}}),h.makeClipPaths(t),r.drawMainTitle(t),f.manage(t),t._promises.length&&Promise.all(t._promises)}function x(t,e){var r=e._subplots,n=r.cartesian.concat(r.gl2d||[]),i={_fullLayout:e},a=\"x\"===t._id.charAt(0),o=t._mainAxis._anchorAxis,s=\"\",l=\"\",c=\"\";if(o&&(c=o._mainAxis._id,s=a?t._id+c:c+t._id),!s||!e._plots[s]){s=\"\";for(var u=0;u<n.length;u++){var f=n[u],p=f.indexOf(\"y\"),d=a?f.substr(0,p):f.substr(p),g=a?f.substr(p):f.substr(0,p);if(d===t._id){l||(l=f);var m=h.getFromId(i,g);if(c&&m.overlaying===c){s=f;break}}}}return s||l}function b(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||\"all\"===t.mirror||\"allticks\"===t.mirror)}function _(t,e,r){if(!r.showline||!r._lw)return!1;if(\"all\"===r.mirror||\"allticks\"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=p.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&&n.domain[1-i]===t.domain[1-i]}function w(t,e,r,n){if(_(t,e,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&_(t,e,a))return a._lw}return 0}r.layoutStyles=function(t){return o.syncOrAsync([a.doAutoMargin,y],t)},r.drawMainTitle=function(t){var e=t._fullLayout;u.draw(t,\"gtitle\",{propContainer:e,propName:\"title\",placeholder:e._dfltTitle.plot,attributes:{x:e.width/2,y:e._size.t/2,\"text-anchor\":\"middle\"}})},r.doTraceStyle=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e],n=(((r[0]||{}).trace||{})._module||{}).arraysToCalcdata;n&&n(r,r[0].trace)}return a.style(t),i.getComponentMethod(\"legend\",\"draw\")(t),a.previousPromises(t)},r.doColorBars=function(t){for(var e=0;e<t.calcdata.length;e++){var r=t.calcdata[e][0];if((r.t||{}).cb){var n=r.trace,o=r.t.cb;i.traceIs(n,\"contour\")&&o.line({width:!1!==n.contours.showlines?n.line.width:0,dash:n.line.dash,color:\"line\"===n.contours.coloring?o._opts.line.color:n.line.color});var s=n._module.colorbar.container,l=(s?n[s]:n).colorbar;o.options(l)()}}return a.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,i.call(\"plot\",t,\"\",e)},r.doLegend=function(t){return i.getComponentMethod(\"legend\",\"draw\")(t),a.previousPromises(t)},r.doTicksRelayout=function(t,e){return e?h.doTicks(t,Object.keys(e),!0):h.doTicks(t,\"redraw\"),t._fullLayout._hasOnlyLargeSploms&&(s(t),i.subplotsRegistry.splom.plot(t)),r.drawMainTitle(t),a.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;f.manage(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(t)}return a.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var i=e[r[n]];i._scene.setCamera(i.camera)}},r.drawData=function(t){var e,r=t._fullLayout,n=t.calcdata;for(e=0;e<n.length;e++){var o=n[e][0].trace;!0===o.visible&&o._module.colorbar||r._infolayer.select(\".cb\"+o.uid).remove()}s(t);var l=r._basePlotModules;for(e=0;e<l.length;e++)l[e].plot(t);return a.style(t),i.getComponentMethod(\"shapes\",\"draw\")(t),i.getComponentMethod(\"annotations\",\"draw\")(t),r._replotting=!1,a.previousPromises(t)},r.doAutoRangeAndConstraints=function(t){for(var e=h.list(t,\"\",!0),r=0;r<e.length;r++){var n=e[r];m(t,n),v(t,n)}g(t)},r.finalDraw=function(t){i.getComponentMethod(\"shapes\",\"draw\")(t),i.getComponentMethod(\"images\",\"draw\")(t),i.getComponentMethod(\"annotations\",\"draw\")(t),i.getComponentMethod(\"rangeslider\",\"draw\")(t),i.getComponentMethod(\"rangeselector\",\"draw\")(t)},r.drawMarginPushers=function(t){i.getComponentMethod(\"legend\",\"draw\")(t),i.getComponentMethod(\"rangeselector\",\"draw\")(t),i.getComponentMethod(\"sliders\",\"draw\")(t),i.getComponentMethod(\"updatemenus\",\"draw\")(t)}},{\"../components/color\":567,\"../components/drawing\":592,\"../components/modebar\":630,\"../components/titles\":658,\"../constants/alignment\":665,\"../lib\":693,\"../lib/clear_gl_canvases\":676,\"../plots/cartesian/autorange\":741,\"../plots/cartesian/axes\":742,\"../plots/cartesian/constraints\":749,\"../plots/plots\":805,\"../registry\":825,d3:147}],734:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=n.isPlainObject,a=t(\"./plot_schema\"),o=t(\"../plots/plots\"),s=t(\"../plots/attributes\"),l=t(\"./plot_template\"),c=t(\"./plot_config\");function u(t,e){t=n.extendDeep({},t);var r,a,o=Object.keys(t).sort();function s(e,r,n){if(i(r)&&i(e))u(e,r);else if(Array.isArray(r)&&Array.isArray(e)){var o=l.arrayTemplater({_template:t},n);for(a=0;a<r.length;a++){var s=r[a],c=o.newItem(s)._template;c&&u(c,s)}var f=o.defaultItems();for(a=0;a<f.length;a++)r.push(f[a]._template);for(a=0;a<r.length;a++)delete r[a].templateitemname}}for(r=0;r<o.length;r++){var c=o[r],h=t[c];if(c in e?s(h,e[c],c):e[c]=h,f(c)===c)for(var p in e){var d=f(p);p===d||d!==c||p in t||s(h,e[p],c)}}}function f(t){return t.replace(/[0-9]+$/,\"\")}function h(t,e,r,a,o){var s=o&&r(o);for(var c in t){var u=t[c],d=p(t,c,a),g=p(t,c,o),m=r(g);if(!m){var v=f(c);v!==c&&(m=r(g=p(t,v,o)))}if((!s||s!==m)&&!(!m||m._noTemplating||\"data_array\"===m.valType||m.arrayOk&&Array.isArray(u)))if(!m.valType&&i(u))h(u,e,r,d,g);else if(m._isLinkedToArray&&Array.isArray(u))for(var y=!1,x=0,b={},_=0;_<u.length;_++){var w=u[_];if(i(w)){var k=w.name;if(k)b[k]||(h(w,e,r,p(u,x,d),p(u,x,g)),x++,b[k]=1);else if(!y){var M=p(t,l.arrayDefaultKey(c),a),A=p(u,x,d);h(w,e,r,A,p(u,x,g));var T=n.nestedProperty(e,A);n.nestedProperty(e,M).set(T.get()),T.set(null),y=!0}}}else{n.nestedProperty(e,d).set(u)}}}function p(t,e,r){return r?Array.isArray(t)?r+\"[\"+e+\"]\":r+\".\"+e:e}function d(t){for(var e=0;e<t.length;e++)if(i(t[e]))return!0}function g(t){var e;switch(t.code){case\"data\":e=\"The template has no key data.\";break;case\"layout\":e=\"The template has no key layout.\";break;case\"missing\":e=t.path?\"There are no templates for item \"+t.path+\" with name \"+t.templateitemname:\"There are no templates for trace \"+t.index+\", of type \"+t.traceType+\".\";break;case\"unused\":e=t.path?\"The template item at \"+t.path+\" was not used in constructing the plot.\":t.dataCount?\"Some of the templates of type \"+t.traceType+\" were not used. The template has \"+t.templateCount+\" traces, the data only has \"+t.dataCount+\" of this type.\":\"The template has \"+t.templateCount+\" traces of type \"+t.traceType+\" but there are none in the data.\";break;case\"reused\":e=\"Some of the templates of type \"+t.traceType+\" were used more than once. The template has \"+t.templateCount+\" traces, the data has \"+t.dataCount+\" of this type.\"}return t.msg=e,t}r.makeTemplate=function(t){t=n.extendDeep({_context:c},t),o.supplyDefaults(t);var e=t.data||[],r=t.layout||{};r._basePlotModules=t._fullLayout._basePlotModules,r._modules=t._fullLayout._modules;var l={data:{},layout:{}};e.forEach(function(t){var e={};h(t,e,function(t,e){return a.getTraceValObject(t,n.nestedProperty({},e).parts)}.bind(null,t));var r=n.coerce(t,{},s,\"type\"),i=l.data[r];i||(i=l.data[r]=[]),i.push(e)}),h(r,l.layout,function(t,e){return a.getLayoutValObject(t,n.nestedProperty({},e).parts)}.bind(null,r)),delete l.layout.template;var f=r.template;if(i(f)){var p,d,g,m,v,y,x=f.layout;i(x)&&u(x,l.layout);var b=f.data;if(i(b)){for(d in l.data)if(g=b[d],Array.isArray(g)){for(y=(v=l.data[d]).length,m=g.length,p=0;p<y;p++)u(g[p%m],v[p]);for(p=y;p<m;p++)v.push(n.extendDeep({},g[p]))}for(d in b)d in l.data||(l.data[d]=n.extendDeep([],b[d]))}}return l},r.validateTemplate=function(t,e){var r=n.extendDeep({},{_context:c,data:t.data,layout:t.layout}),a=r.layout||{};i(e)||(e=a.template||{});var s=e.layout,l=e.data,u=[];r.layout=a,r.layout.template=e,o.supplyDefaults(r);var h=r._fullLayout,m=r._fullData,v={};if(i(s)?(!function t(e,r){for(var n in e)if(\"_\"!==n.charAt(0)&&i(e[n])){var a,o=f(n),s=[];for(a=0;a<r.length;a++)s.push(p(e,n,r[a])),o!==n&&s.push(p(e,o,r[a]));for(a=0;a<s.length;a++)v[s[a]]=1;t(e[n],s)}}(h,[\"layout\"]),function t(e,r){for(var n in e)if(-1===n.indexOf(\"defaults\")&&i(e[n])){var a=p(e,n,r);v[a]?t(e[n],a):u.push({code:\"unused\",path:a})}}(s,\"layout\")):u.push({code:\"layout\"}),i(l)){for(var y,x={},b=0;b<m.length;b++){var _=m[b];x[y=_.type]=(x[y]||0)+1,_._fullInput._template||u.push({code:\"missing\",index:_._fullInput.index,traceType:y})}for(y in l){var w=l[y].length,k=x[y]||0;w>k?u.push({code:\"unused\",traceType:y,templateCount:w,dataCount:k}):k>w&&u.push({code:\"reused\",traceType:y,templateCount:w,dataCount:k})}}else u.push({code:\"data\"});if(function t(e,r){for(var n in e)if(\"_\"!==n.charAt(0)){var a=e[n],o=p(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&u.push({code:\"missing\",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&d(a)&&t(a,o)}}({data:m,layout:h},\"\"),u.length)return u.map(g)}},{\"../lib\":693,\"../plots/attributes\":739,\"../plots/plots\":805,\"./plot_config\":730,\"./plot_schema\":731,\"./plot_template\":732}],735:[function(t,e,r){\"use strict\";var n=t(\"./plot_api\"),i=t(\"../lib\"),a=t(\"../snapshot/helpers\"),o=t(\"../snapshot/tosvg\"),s=t(\"../snapshot/svgtoimg\"),l={format:{valType:\"enumerated\",values:[\"png\",\"jpeg\",\"webp\",\"svg\"],dflt:\"png\"},width:{valType:\"number\",min:1},height:{valType:\"number\",min:1},scale:{valType:\"number\",min:0,dflt:1},setBackground:{valType:\"any\",dflt:!1},imageDataOnly:{valType:\"boolean\",dflt:!1}},c=/^data:image\\/\\w+;base64,/;e.exports=function(t,e){var r,u,f;function h(t){return!(t in e)||i.validate(e[t],l[t])}if(e=e||{},i.isPlainObject(t)?(r=t.data||[],u=t.layout||{},f=t.config||{}):(t=i.getGraphDiv(t),r=i.extendDeep([],t.data),u=i.extendDeep({},t.layout),f=t._context),!h(\"width\")||!h(\"height\"))throw new Error(\"Height and width should be pixel values.\");if(!h(\"format\"))throw new Error(\"Image format is not jpeg, png, svg or webp.\");var p={};function d(t,r){return i.coerce(e,p,l,t,r)}var g=d(\"format\"),m=d(\"width\"),v=d(\"height\"),y=d(\"scale\"),x=d(\"setBackground\"),b=d(\"imageDataOnly\"),_=document.createElement(\"div\");_.style.position=\"absolute\",_.style.left=\"-5000px\",document.body.appendChild(_);var w=i.extendFlat({},u);m&&(w.width=m),v&&(w.height=v);var k=i.extendFlat({},f,{staticPlot:!0,setBackground:x}),M=a.getRedrawFunc(_);function A(){return new Promise(function(t){setTimeout(t,a.getDelay(_._fullLayout))})}function T(){return new Promise(function(t,e){var r=o(_,g,y),a=_._fullLayout.width,l=_._fullLayout.height;if(n.purge(_),document.body.removeChild(_),\"svg\"===g)return t(b?r:\"data:image/svg+xml,\"+encodeURIComponent(r));var c=document.createElement(\"canvas\");c.id=i.randstr(),s({format:g,width:a,height:l,scale:y,canvas:c,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){n.plot(_,r,w,k).then(M).then(A).then(T).then(function(e){t(function(t){return b?t.replace(c,\"\"):t}(e))}).catch(function(t){e(t)})})}},{\"../lib\":693,\"../snapshot/helpers\":829,\"../snapshot/svgtoimg\":831,\"../snapshot/tosvg\":833,\"./plot_api\":729}],736:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plots/plots\"),a=t(\"./plot_schema\"),o=t(\"./plot_config\"),s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;h<f.length;h++){var m=f[h];if(\"transforms\"!==m){var v=o.slice();v.push(m);var y=t[m],x=e[m],b=g(r,m),_=\"info_array\"===(b||{}).valType,w=\"colorscale\"===(b||{}).valType,k=(b||{}).items;if(d(r,m))if(s(y)&&s(x))u(y,x,b,i,a,v);else if(_&&l(y)){y.length>x.length&&i.push(p(\"unused\",a,v.concat(x.length)));var M,A,T,S,E,C=x.length,L=Array.isArray(k);if(L&&(C=Math.min(C,k.length)),2===b.dimensions)for(A=0;A<C;A++)if(l(y[A])){y[A].length>x[A].length&&i.push(p(\"unused\",a,v.concat(A,x[A].length)));var z=x[A].length;for(M=0;M<(L?Math.min(z,k[A].length):z);M++)T=L?k[A][M]:k,S=y[A][M],E=x[A][M],n.validate(S,T)?E!==S&&E!==+S&&i.push(p(\"dynamic\",a,v.concat(A,M),S,E)):i.push(p(\"value\",a,v.concat(A,M),S))}else i.push(p(\"array\",a,v.concat(A),y[A]));else for(A=0;A<C;A++)T=L?k[A]:k,S=y[A],E=x[A],n.validate(S,T)?E!==S&&E!==+S&&i.push(p(\"dynamic\",a,v.concat(A),S,E)):i.push(p(\"value\",a,v.concat(A),S))}else if(b.items&&!_&&l(y)){var P,O,I=k[Object.keys(k)[0]],D=[];for(P=0;P<x.length;P++){var R=x[P]._index||P;if((O=v.slice()).push(R),s(y[R])&&s(x[P])){D.push(R);var B=y[R],F=x[P];s(B)&&!1!==B.visible&&!1===F.visible?i.push(p(\"invisible\",a,O)):u(B,F,I,i,a,O)}}for(P=0;P<y.length;P++)(O=v.slice()).push(P),s(y[P])?-1===D.indexOf(P)&&i.push(p(\"unused\",a,O)):i.push(p(\"object\",a,O,y[P]))}else!s(y)&&s(x)?i.push(p(\"object\",a,v,y)):c(y)||!c(x)||_||w?m in e?n.validate(y,b)?\"enumerated\"===b.valType&&(b.coerceNumber&&y!==+x||y!==x)&&i.push(p(\"dynamic\",a,v,y,x)):i.push(p(\"value\",a,v,y)):i.push(p(\"unused\",a,v,y)):i.push(p(\"array\",a,v,y));else i.push(p(\"schema\",a,v))}}return i}e.exports=function(t,e){var r,c,f=a.get(),h=[],d={_context:n.extendFlat({},o)};l(t)?(d.data=n.extendDeep([],t),r=t):(d.data=[],r=[],h.push(p(\"array\",\"data\"))),s(e)?(d.layout=n.extendDeep({},e),c=e):(d.layout={},c={},arguments.length>1&&h.push(p(\"object\",\"layout\"))),i.supplyDefaults(d);for(var g=d._fullData,m=r.length,v=0;v<m;v++){var y=r[v],x=[\"data\",v];if(s(y)){var b=g[v],_=b.type,w=f.traces[_].attributes;w.type={valType:\"enumerated\",values:[_]},!1===b.visible&&!1!==y.visible&&h.push(p(\"invisible\",x)),u(y,b,w,h,x);var k=y.transforms,M=b.transforms;if(k){l(k)||h.push(p(\"array\",x,[\"transforms\"])),x.push(\"transforms\");for(var A=0;A<k.length;A++){var T=[\"transforms\",A],S=k[A].type;if(s(k[A])){var E=f.transforms[S]?f.transforms[S].attributes:{};E.type={valType:\"enumerated\",values:Object.keys(f.transforms)},u(k[A],M[A],E,h,x,T)}else h.push(p(\"object\",x,T))}}}else h.push(p(\"object\",x))}return u(c,d._fullLayout,function(t,e){for(var r=t.layout.layoutAttributes,i=0;i<e.length;i++){var a=e[i],o=t.traces[a.type],s=o.layoutAttributes;s&&(a.subplot?n.extendFlat(r[o.attributes.subplot.dflt],s):n.extendFlat(r,s))}return r}(f,g),h,\"layout\"),0===h.length?void 0:h};var f={object:function(t,e){return(\"layout\"===t&&\"\"===e?\"The layout argument\":\"data\"===t[0]&&\"\"===e?\"Trace \"+t[1]+\" in the data argument\":h(t)+\"key \"+e)+\" must be linked to an object container\"},array:function(t,e){return(\"data\"===t?\"The data argument\":h(t)+\"key \"+e)+\" must be linked to an array container\"},schema:function(t,e){return h(t)+\"key \"+e+\" is not part of the schema\"},unused:function(t,e,r){var n=s(r)?\"container\":\"key\";return h(t)+n+\" \"+e+\" did not get coerced\"},dynamic:function(t,e,r,n){return[h(t)+\"key\",e,\"(set to '\"+r+\"')\",\"got reset to\",\"'\"+n+\"'\",\"during defaults.\"].join(\" \")},invisible:function(t,e){return(e?h(t)+\"item \"+e:\"Trace \"+t[1])+\" got defaulted to be not visible\"},value:function(t,e,r){return[h(t)+\"key \"+e,\"is set to an invalid value (\"+r+\")\"].join(\" \")}};function h(t){return l(t)?\"In data trace \"+t[1]+\", \":\"In \"+t+\", \"}function p(t,e,r,i,a){var o,s;r=r||\"\",l(e)?(o=e[0],s=e[1]):(o=e,s=null);var c=function(t){if(!l(t))return String(t);for(var e=\"\",r=0;r<t.length;r++){var n=t[r];\"number\"==typeof n?e=e.substr(0,e.length-1)+\"[\"+n+\"]\":e+=n,r<t.length-1&&(e+=\".\")}return e}(r),u=f[t](e,c,i,a);return n.log(u),{code:t,container:o,trace:s,path:r,astr:c,msg:u}}function d(t,e){var r=v(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function g(t,e){return e in t?t[e]:t[v(e).keyMinusId]}var m=n.counterRegex(\"([a-z]+)\");function v(t){var e=t.match(m);return{keyMinusId:e&&e[1],id:e&&e[2]}}},{\"../lib\":693,\"../plots/plots\":805,\"./plot_config\":730,\"./plot_schema\":731}],737:[function(t,e,r){\"use strict\";e.exports={mode:{valType:\"enumerated\",dflt:\"afterall\",values:[\"immediate\",\"next\",\"afterall\"]},direction:{valType:\"enumerated\",values:[\"forward\",\"reverse\"],dflt:\"forward\"},fromcurrent:{valType:\"boolean\",dflt:!1},frame:{duration:{valType:\"number\",min:0,dflt:500},redraw:{valType:\"boolean\",dflt:!0}},transition:{duration:{valType:\"number\",min:0,dflt:500},easing:{valType:\"enumerated\",dflt:\"cubic-in-out\",values:[\"linear\",\"quad\",\"cubic\",\"sin\",\"exp\",\"circle\",\"elastic\",\"back\",\"bounce\",\"linear-in\",\"quad-in\",\"cubic-in\",\"sin-in\",\"exp-in\",\"circle-in\",\"elastic-in\",\"back-in\",\"bounce-in\",\"linear-out\",\"quad-out\",\"cubic-out\",\"sin-out\",\"exp-out\",\"circle-out\",\"elastic-out\",\"back-out\",\"bounce-out\",\"linear-in-out\",\"quad-in-out\",\"cubic-in-out\",\"sin-in-out\",\"exp-in-out\",\"circle-in-out\",\"elastic-in-out\",\"back-in-out\",\"bounce-in-out\"]}}}},{}],738:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plot_api/plot_template\");e.exports=function(t,e,r){var a,o,s=r.name,l=r.inclusionAttr||\"visible\",c=e[s],u=n.isArrayOrTypedArray(t[s])?t[s]:[],f=e[s]=[],h=i.arrayTemplater(e,s,l);for(a=0;a<u.length;a++){var p=u[a];n.isPlainObject(p)?o=h.newItem(p):(o=h.newItem({}))[l]=!1,o._index=a,!1!==o[l]&&r.handleItemDefaults(p,o,e,r),f.push(o)}var d=h.defaultItems();for(a=0;a<d.length;a++)(o=d[a])._index=f.length,r.handleItemDefaults({},o,e,r,{}),f.push(o);if(n.isArrayOrTypedArray(c)){var g=Math.min(c.length,f.length);for(a=0;a<g;a++)n.relinkPrivateKeys(f[a],c[a])}return f}},{\"../lib\":693,\"../plot_api/plot_template\":732}],739:[function(t,e,r){\"use strict\";var n=t(\"../components/fx/attributes\");e.exports={type:{valType:\"enumerated\",values:[],dflt:\"scatter\",editType:\"calc+clearAxisTypes\",_noTemplating:!0},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0,editType:\"calc\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},legendgroup:{valType:\"string\",dflt:\"\",editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"style\"},name:{valType:\"string\",editType:\"style\"},uid:{valType:\"string\",editType:\"plot\"},ids:{valType:\"data_array\",editType:\"calc\"},customdata:{valType:\"data_array\",editType:\"calc\"},selectedpoints:{valType:\"any\",editType:\"calc\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],arrayOk:!0,dflt:\"all\",editType:\"none\"},hoverlabel:n.hoverlabel,stream:{token:{valType:\"string\",noBlank:!0,strict:!0,editType:\"calc\"},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500,editType:\"calc\"},editType:\"calc\"},transforms:{_isLinkedToArray:\"transform\",editType:\"calc\"}}},{\"../components/fx/attributes\":601}],740:[function(t,e,r){\"use strict\";e.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}},{}],741:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").FP_SAFE;function o(t,e){var r,n,a=[],o=s(e),c=l(t,e),u=c.min,f=c.max;if(0===u.length||0===f.length)return i.simpleMap(e.range,e.r2l);var h=u[0].val,p=f[0].val;for(r=1;r<u.length&&h===p;r++)h=Math.min(h,u[r].val);for(r=1;r<f.length&&h===p;r++)p=Math.max(p,f[r].val);var d=!1;if(e.range){var g=i.simpleMap(e.range,e.r2l);d=g[1]<g[0]}\"reversed\"===e.autorange&&(d=!0,e.autorange=!0);var m,v,y,x,b,_,w=e.rangemode,k=\"tozero\"===w,M=\"nonnegative\"===w,A=e._length,T=A/10,S=0;for(r=0;r<u.length;r++)for(m=u[r],n=0;n<f.length;n++)(_=(v=f[n]).val-m.val)>0&&((b=A-o(m)-o(v))>T?_/b>S&&(y=m,x=v,S=_/b):_/A>S&&(y={val:m.val,pad:0},x={val:v.val,pad:0},S=_/A));if(h===p){var E=h-1,C=h+1;if(k)if(0===h)a=[0,1];else{var L=(h>0?f:u).reduce(function(t,e){return Math.max(t,o(e))},0),z=h/(1-Math.min(.5,L/A));a=h>0?[0,z]:[z,0]}else a=M?[Math.max(0,E),Math.max(1,C)]:[E,C]}else k?(y.val>=0&&(y={val:0,pad:0}),x.val<=0&&(x={val:0,pad:0})):M&&(y.val-S*o(y)<0&&(y={val:0,pad:0}),x.val<=0&&(x={val:1,pad:0})),S=(x.val-y.val)/(A-o(y)-o(x)),a=[y.val-S*o(y),x.val+S*o(x)];return d&&a.reverse(),i.simpleMap(a,e.l2r||Number)}function s(t){var e=t._length/20;return\"domain\"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function l(t,e){var r,n,i,a=e._id,o=t._fullData,s=t._fullLayout,l=[],f=[];function h(t,e){for(r=0;r<e.length;r++){var o=t[e[r]],s=(o._extremes||{})[a];if(!0===o.visible&&s){for(n=0;n<s.min.length;n++)i=s.min[n],c(l,i.val,i.pad,{extrapad:i.extrapad});for(n=0;n<s.max.length;n++)i=s.max[n],u(f,i.val,i.pad,{extrapad:i.extrapad})}}}return h(o,e._traceIndices),h(s.annotations||[],e._annIndices||[]),h(s.shapes||[],e._shapeIndices||[]),{min:l,max:f}}function c(t,e,r,n){f(t,e,r,n,p)}function u(t,e,r,n){f(t,e,r,n,d)}function f(t,e,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<t.length&&s;l++){var c=t[l];if(i(c.val,e)&&c.pad>=r&&(c.extrapad||!o)){s=!1;break}i(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=a&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function h(t){return n(t)&&Math.abs(t)<a}function p(t,e){return t<=e}function d(t,e){return t>=e}e.exports={getAutoRange:o,makePadFn:s,doAutoRange:function(t,e){e._length||e.setScale();var r;e.autorange&&(e.range=o(t,e),e._r=e.range.slice(),e._rl=i.simpleMap(e._r,e.r2l),(r=e._input).range=e.range.slice(),r.autorange=e.autorange);if(e._anchorAxis&&e._anchorAxis.rangeslider){var n=e._anchorAxis.rangeslider[e._name];n&&\"auto\"===n.rangemode&&(n.range=o(t,e)),(r=e._anchorAxis._input).rangeslider[e._name]=i.extendFlat({},n)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var i,o,s,l,f,p,d,g,m,v=[],y=[],x=e.length,b=r.padded||!1,_=r.tozero&&(\"linear\"===t.type||\"-\"===t.type),w=\"log\"===t.type,k=!1;function M(t){if(Array.isArray(t))return k=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var A=M((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),T=M((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),S=M(r.vpadplus||r.vpad),E=M(r.vpadminus||r.vpad);if(!k){if(g=1/0,m=-1/0,w)for(i=0;i<x;i++)(o=e[i])<g&&o>0&&(g=o),o>m&&o<a&&(m=o);else for(i=0;i<x;i++)(o=e[i])<g&&o>-a&&(g=o),o>m&&o<a&&(m=o);e=[g,m],x=2}var C={tozero:_,extrapad:b};function L(r){s=e[r],n(s)&&(p=A(r),d=T(r),g=s-E(r),m=s+S(r),w&&g<m/10&&(g=m/10),l=t.c2l(g),f=t.c2l(m),_&&(l=Math.min(0,l),f=Math.max(0,f)),h(l)&&c(v,l,d,C),h(f)&&u(y,f,p,C))}var z=Math.min(6,x);for(i=0;i<z;i++)L(i);for(i=x-1;i>=z;i--)L(i);return{min:v,max:y}},concatExtremes:l}},{\"../../constants/numerical\":670,\"../../lib\":693,\"fast-isnumeric\":213}],742:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../plots/plots\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../components/titles\"),u=t(\"../../components/color\"),f=t(\"../../components/drawing\"),h=t(\"./layout_attributes\"),p=t(\"../../constants/numerical\"),d=p.ONEAVGYEAR,g=p.ONEAVGMONTH,m=p.ONEDAY,v=p.ONEHOUR,y=p.ONEMIN,x=p.ONESEC,b=p.MINUS_SIGN,_=p.BADNUM,w=t(\"../../constants/alignment\").MID_SHIFT,k=t(\"../../constants/alignment\").LINE_SPACING,M=e.exports={};M.setConvert=t(\"./set_convert\");var A=t(\"./axis_autotype\"),T=t(\"./axis_ids\");M.id2name=T.id2name,M.name2id=T.name2id,M.cleanId=T.cleanId,M.list=T.list,M.listIds=T.listIds,M.getFromId=T.getFromId,M.getFromTrace=T.getFromTrace;var S=t(\"./autorange\");M.getAutoRange=S.getAutoRange,M.findExtremes=S.findExtremes,M.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+\"axis\"],c=n+\"ref\",u={};return i||(i=l[0]||a),a||(a=i),u[c]={valType:\"enumerated\",values:l.concat(a?[a]:[]),dflt:i},s.coerce(t,e,u,c)},M.coercePosition=function(t,e,r,n,i,a){var o,l;if(\"paper\"===n||\"pixel\"===n)o=s.ensureNumber,l=r(i,a);else{var c=M.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},M.cleanPosition=function(t,e,r){return(\"paper\"===r||\"pixel\"===r?s.ensureNumber:M.getFromId(e,r).cleanPos)(t)};var E=M.getDataConversions=function(t,e,r,n){var i,a=\"x\"===r||\"y\"===r||\"z\"===r?r:n;if(Array.isArray(a)){if(i={type:A(n),_categories:[]},M.setConvert(i),\"category\"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=M.getFromTrace(t,e,a);return i?{d2c:i.d2c,c2d:i.c2d}:\"ids\"===a?{d2c:L,c2d:L}:{d2c:C,c2d:C}};function C(t){return+t}function L(t){return String(t)}M.getDataToCoordFunc=function(t,e,r,n){return E(t,e,r,n).d2c},M.counterLetter=function(t){var e=t.charAt(0);return\"x\"===e?\"y\":\"y\"===e?\"x\":void 0},M.minDtick=function(t,e,r,n){-1===[\"log\",\"category\"].indexOf(t.type)&&n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&&((t._minDtick/e+1e-6)%1<2e-6&&((r-t._forceTick0)/e%1+1.000001)%1<2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1>2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},M.saveRangeInitial=function(t,e){for(var r=M.list(t,\"\",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},M.saveShowSpikeInitial=function(t,e){for(var r=M.list(t,\"\",!0),n=!1,i=\"on\",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),\"on\"!==i||o.showspikes||(i=\"off\")}return t._fullLayout._cartesianSpikesEnabled=i,n},M.autoBin=function(t,e,r,n,a){var o,l,c=s.aggNums(Math.min,null,t),u=s.aggNums(Math.max,null,t);if(a||(a=e.calendar),\"category\"===e.type)return{start:c-.5,end:u+.5,size:1,_dataSpan:u-c};if(r)o=(u-c)/r;else{var f=s.distinctVals(t),h=Math.pow(10,Math.floor(Math.log(f.minDiff)/Math.LN10)),p=h*s.roundUp(f.minDiff/h,[.9,1.9,4.9,9.9],!0);o=Math.max(p,2*s.stdev(t)/Math.pow(t.length,n?.25:.4)),i(o)||(o=1)}l=\"log\"===e.type?{type:\"linear\",range:[c,u]}:{type:e.type,range:s.simpleMap([c,u],e.c2r,0,a),calendar:a},M.setConvert(l),M.autoTicks(l,o);var d,g=M.tickIncrement(M.tickFirst(l),l.dtick,\"reverse\",a);if(\"number\"==typeof l.dtick)d=(g=function(t,e,r,n,a){var o=0,s=0,l=0,c=0;function u(e){return(1+100*(e-t)/r.dtick)%100<2}for(var f=0;f<e.length;f++)e[f]%1==0?l++:i(e[f])||c++,u(e[f])&&o++,u(e[f]+r.dtick/2)&&s++;var h=e.length-c;if(l===h&&\"date\"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*h&&(o>.3*h||u(n)||u(a))){var p=r.dtick/2;t+=t+p<n?p:-p}return t}(g,t,l,c,u))+(1+Math.floor((u-g)/l.dtick))*l.dtick;else for(\"M\"===l.dtick.charAt(0)&&(g=function(t,e,r,n,i){var a=s.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=M.tickIncrement(t,\"M6\",\"reverse\")+1.5*m:a.exactMonths>.8?t=M.tickIncrement(t,\"M1\",\"reverse\")+15.5*m:t-=m/2;var l=M.tickIncrement(t,r);if(l<=n)return l}return t}(g,t,l.dtick,c,a)),d=g,0;d<=u;)d=M.tickIncrement(d,l.dtick,!1,a),0;return{start:e.c2r(g,0,a),end:e.c2r(d,0,a),size:l.dtick,_dataSpan:u-c}},M.prepTicks=function(t){var e=s.simpleMap(t.range,t.r2l);if(\"auto\"===t.tickmode||!t.dtick){var r,n=t.nticks;n||(\"category\"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r=\"y\"===t._id.charAt(0)?40:80,n=s.constrain(t._length/r,4,9)+1),\"radialaxis\"===t._name&&(n*=2)),\"array\"===t.tickmode&&(n*=100),M.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}t.tick0||(t.tick0=\"date\"===t.type?\"2000-01-01\":0),\"date\"===t.type&&t.dtick<.1&&(t.dtick=.1),N(t)},M.calcTicks=function(t){M.prepTicks(t);var e=s.simpleMap(t.range,t.r2l);if(\"array\"===t.tickmode)return function(t){var e,r,n=t.tickvals,i=t.ticktext,a=new Array(n.length),o=s.simpleMap(t.range,t.r2l),l=1.0001*o[0]-1e-4*o[1],c=1.0001*o[1]-1e-4*o[0],u=Math.min(l,c),f=Math.max(l,c),h=0;Array.isArray(i)||(i=[]);var p=\"category\"===t.type?t.d2l_noadd:t.d2l;\"log\"===t.type&&\"L\"!==String(t.dtick).charAt(0)&&(t.dtick=\"L\"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(r=0;r<n.length;r++)(e=p(n[r]))>u&&e<f&&(void 0===i[r]?a[h]=M.tickText(t,e):a[h]=j(t,e,String(i[r])),h++);h<n.length&&a.splice(h,n.length-h);return a}(t);t._tmin=M.tickFirst(t);var r=1.0001*e[0]-1e-4*e[1],n=1.0001*e[1]-1e-4*e[0],i=e[1]<e[0];if(t._tmin<r!==i)return[];var a=[];\"category\"===t.type&&(n=i?Math.max(-.5,n):Math.min(t._categories.length-.5,n));for(var o=null,l=Math.max(1e3,t._length||0),c=t._tmin;(i?c>=n:c<=n)&&!(a.length>l||c===o);c=M.tickIncrement(c,t.dtick,i,t.calendar))o=c,a.push(c);Z(t)&&360===Math.abs(e[1]-e[0])&&a.pop(),t._tmax=a[a.length-1],t._prevDateHead=\"\",t._inCalcTicks=!0;for(var u=new Array(a.length),f=0;f<a.length;f++)u[f]=M.tickText(t,a[f]);return t._inCalcTicks=!1,u};var z=[2,5,10],P=[1,2,3,6,12],O=[1,2,5,10,15,30],I=[1,2,3,7,14],D=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],R=[-.301,0,.301,.699,1],B=[15,30,45,90,180];function F(t,e,r){return e*s.roundUp(t/e,r)}function N(t){var e=t.dtick;if(t._tickexponent=0,i(e)||\"string\"==typeof e||(e=1),\"category\"===t.type&&(t._tickround=null),\"date\"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,\"\"),a=n.length;if(\"M\"===String(e).charAt(0))a>10||\"01-01\"!==n.substr(5)?t._tickround=\"d\":t._tickround=+e.substr(1)%12==0?\"y\":\"m\";else if(e>=m&&a<=10||e>=15*m)t._tickround=\"d\";else if(e>=y&&a<=16||e>=v)t._tickround=\"M\";else if(e>=x&&a<=19||e>=y)t._tickround=\"S\";else{var o=t.l2r(r+e).replace(/^-/,\"\").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||\"L\"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(c)>3&&(U(t.exponentformat)&&!q(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function j(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||\"\",fontSize:n.size,font:n.family,fontColor:n.color}}M.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if(\"date\"===t.type){t.tick0=s.dateTick0(t.calendar);var a=2*e;a>d?(e/=d,r=n(10),t.dtick=\"M\"+12*F(e,r,z)):a>g?(e/=g,t.dtick=\"M\"+F(e,1,P)):a>m?(t.dtick=F(e,m,I),t.tick0=s.dateTick0(t.calendar,!0)):a>v?t.dtick=F(e,v,P):a>y?t.dtick=F(e,y,O):a>x?t.dtick=F(e,x,O):(r=n(10),t.dtick=F(e,r,z))}else if(\"log\"===t.type){t.tick0=0;var o=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var l=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/l,r=n(10),t.dtick=\"L\"+F(e,r,z)}else t.dtick=e>.3?\"D2\":\"D1\"}else\"category\"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):Z(t)?(t.tick0=0,r=1,t.dtick=F(e,r,B)):(t.tick0=0,r=n(10),t.dtick=F(e,r,z));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&\"string\"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,\"ax.dtick error: \"+String(c)}},M.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return t+o*e;var l=e.charAt(0),c=o*Number(e.substr(1));if(\"M\"===l)return s.incrementMonth(t,c,a);if(\"L\"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if(\"D\"===l){var u=\"D2\"===e?R:D,f=t+.01*o,h=s.roundUp(s.mod(f,1),u,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw\"unrecognized dtick \"+String(e)},M.tickFirst=function(t){var e=t.r2l||Number,r=s.simpleMap(t.range,e),a=r[1]<r[0],o=a?Math.floor:Math.ceil,l=1.0001*r[0]-1e-4*r[1],c=t.dtick,u=e(t.tick0);if(i(c)){var f=o((l-u)/c)*c+u;return\"category\"===t.type&&(f=s.constrain(f,0,t._categories.length-1)),f}var h=c.charAt(0),p=Number(c.substr(1));if(\"M\"===h){for(var d,g,m,v=0,y=u;v<10;){if(((d=M.tickIncrement(y,c,a,t.calendar))-l)*(y-l)<=0)return a?Math.min(y,d):Math.max(y,d);g=(l-(y+d)/2)/(d-y),m=h+(Math.abs(Math.round(g))||1)*p,y=M.tickIncrement(y,m,g<0?!a:a,t.calendar),v++}return s.error(\"tickFirst did not converge\",t),y}if(\"L\"===h)return Math.log(o((Math.pow(10,l)-u)/p)*p+u)/Math.LN10;if(\"D\"===h){var x=\"D2\"===c?R:D,b=s.roundUp(s.mod(l,1),x,a);return Math.floor(l)+Math.log(n.round(Math.pow(10,b),1))/Math.LN10}throw\"unrecognized dtick \"+String(c)},M.tickText=function(t,e,r){var n,a,o=j(t,e),l=\"array\"===t.tickmode,c=r||l,u=\"category\"===t.type?t.d2l_noadd:t.d2l;if(l&&Array.isArray(t.ticktext)){var f=s.simpleMap(t.range,t.r2l),h=Math.abs(f[1]-f[0])/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-u(t.tickvals[a]))<h);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}function p(n){var i;return void 0===n||(r?\"none\"===n:(i={first:t._tmin,last:t._tmax}[n],\"all\"!==n&&e!==i))}return n=r?\"never\":\"none\"!==t.exponentformat&&p(t.showexponent)?\"hide\":\"\",\"date\"===t.type?function(t,e,r,n){var a=t._tickround,o=r&&t.hoverformat||M.getTickFormat(t);n&&(a=i(a)?4:{y:\"m\",m:\"d\",d:\"M\",M:\"S\",S:4}[a]);var l,c=s.formatDate(e.x,o,a,t._dateFormat,t.calendar,t._extraFormat),u=c.indexOf(\"\\n\");-1!==u&&(l=c.substr(u+1),c=c.substr(0,u));n&&(\"00:00:00\"===c||\"00:00\"===c?(c=l,l=\"\"):8===c.length&&(c=c.replace(/:00$/,\"\")));l&&(r?\"d\"===a?c+=\", \"+l:c=l+(c?\", \"+c:\"\"):t._inCalcTicks&&l===t._prevDateHead||(c+=\"<br>\"+l,t._prevDateHead=l));e.text=c}(t,o,r,c):\"log\"===t.type?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat,u=\"string\"==typeof o&&o.charAt(0);\"never\"===a&&(a=\"\");n&&\"L\"!==u&&(o=\"L3\",u=\"L\");if(c||\"L\"===u)e.text=H(Math.pow(10,l),t,a,n);else if(i(o)||\"D\"===u&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;\"power\"===p||U(p)&&q(f)?(e.text=0===f?1:1===f?\"10\":\"10<sup>\"+(f>1?\"\":b)+h+\"</sup>\",e.fontSize*=1.25):(\"e\"===p||\"E\"===p)&&h>2?e.text=\"1\"+p+(f>0?\"+\":b)+h:(e.text=H(Math.pow(10,l),t,\"\",\"fakehover\"),\"D1\"===o&&\"y\"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if(\"D\"!==u)throw\"unrecognized dtick \"+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if(\"D1\"===t.dtick){var d=String(e.text).charAt(0);\"0\"!==d&&\"1\"!==d||(\"y\"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,n):\"category\"===t.type?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=\"\");e.text=String(r)}(t,o):Z(t)?function(t,e,r,n,i){if(\"radians\"!==t.thetaunit||r)e.text=H(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text=\"0\";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=H(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text=\"\\u03c0\":e.text=o[0]+\"\\u03c0\":e.text=[\"<sup>\",o[0],\"</sup>\",\"\\u2044\",\"<sub>\",o[1],\"</sub>\",\"\\u03c0\"].join(\"\"),l&&(e.text=b+e.text)}}}}(t,o,r,c,n):function(t,e,r,n,i){\"never\"===i?i=\"\":\"all\"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i=\"hide\");e.text=H(e.x,t,i,n)}(t,o,0,c,n),t.tickprefix&&!p(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!p(t.showticksuffix)&&(o.text+=t.ticksuffix),o},M.hoverLabelText=function(t,e,r){if(r!==_&&r!==e)return M.hoverLabelText(t,e)+\" - \"+M.hoverLabelText(t,r);var n=\"log\"===t.type&&e<=0,i=M.tickText(t,t.c2l(n?-e:e),\"hover\").text;return n?0===e?\"0\":b+i:i};var V=[\"f\",\"p\",\"n\",\"\\u03bc\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function U(t){return\"SI\"===t||\"B\"===t}function q(t){return t>14||t<-15}function H(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||\"B\",c=e._tickexponent,u=M.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,dtick:\"none\"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:\"none\"===e.showexponent?e.range.map(e.r2d):[0,t||1]};N(h),o=(Number(h._tickround)||0)+4,c=h._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,b);var p,d=Math.pow(10,-o)/2;if(\"none\"===l&&(c=0),(t=Math.abs(t))<d)t=\"0\",a=!1;else{if(t+=d,c&&(t*=Math.pow(10,-c),o+=c),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var g=o;g<0;g++)t+=\"0\"}else{var m=(t=String(t)).indexOf(\".\")+1;m&&(t=t.substr(0,m+o).replace(/\\.?0+$/,\"\"))}t=s.numSeparate(t,e._separators,f)}c&&\"hide\"!==l&&(U(l)&&q(c)&&(l=\"power\"),p=c<0?b+-c:\"power\"!==l?\"+\"+c:String(c),\"e\"===l||\"E\"===l?t+=l+p:\"power\"===l?t+=\"\\xd710<sup>\"+p+\"</sup>\":\"B\"===l&&9===c?t+=\"B\":U(l)&&(t+=V[c/3+5]));return a?b+t:t}function G(t,e){var r=t.l2p(e);return r>1&&r<t._length-1}function W(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function Y(t,e,r){var n,i,a=[],o=[],l=t.layout;for(n=0;n<e.length;n++)a.push(M.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(M.getFromId(t,r[n]));var c=Object.keys(h),u=[\"anchor\",\"domain\",\"overlaying\",\"position\",\"side\",\"tickangle\",\"editType\"],f=[\"linear\",\"log\"];for(n=0;n<c.length;n++){var p=c[n],d=a[0][p],g=o[0][p],m=!0,v=!1,y=!1;if(\"_\"!==p.charAt(0)&&\"function\"!=typeof d&&-1===u.indexOf(p)){for(i=1;i<a.length&&m;i++){var x=a[i][p];\"type\"===p&&-1!==f.indexOf(d)&&-1!==f.indexOf(x)&&d!==x?v=!0:x!==d&&(m=!1)}for(i=1;i<o.length&&m;i++){var b=o[i][p];\"type\"===p&&-1!==f.indexOf(g)&&-1!==f.indexOf(b)&&g!==b?y=!0:o[i][p]!==g&&(m=!1)}m&&(v&&(l[a[0]._name].type=\"linear\"),y&&(l[o[0]._name].type=\"linear\"),X(l,p,a,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var _=t._fullLayout.annotations[n];-1!==e.indexOf(_.xref)&&-1!==r.indexOf(_.yref)&&s.swapAttrs(l.annotations[n],[\"?\"])}}function X(t,e,r,n,i){var a,o=s.nestedProperty,l=o(t[r[0]._name],e).get(),c=o(t[n[0]._name],e).get();for(\"title\"===e&&(l===i.x&&(l=i.y),c===i.y&&(c=i.x)),a=0;a<r.length;a++)o(t,r[a]._name+\".\"+e).set(c);for(a=0;a<n.length;a++)o(t,n[a]._name+\".\"+e).set(l)}function Z(t){return\"angularaxis\"===t._id}M.getTickFormat=function(t){var e,r,n,i,a,o,s,l;function c(t){return\"string\"!=typeof t?t:Number(t.replace(\"M\",\"\"))*g}function u(t,e){var r=[\"L\",\"D\"];if(typeof t==typeof e){if(\"number\"==typeof t)return t-e;var n=r.indexOf(t.charAt(0)),i=r.indexOf(e.charAt(0));return n===i?Number(t.replace(/(L|D)/g,\"\"))-Number(e.replace(/(L|D)/g,\"\")):n-i}return\"number\"==typeof t?1:-1}function f(t,e){var r=null===e[0],n=null===e[1],i=u(t,e[0])>=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case\"date\":case\"linear\":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&(i=t.dtick,a=n.dtickrange,o=void 0,void 0,void 0,o=c||function(t){return t},s=a[0],l=a[1],(!s&&\"number\"!=typeof s||o(s)<=o(i))&&(!l&&\"number\"!=typeof l||o(l)>=o(i)))){r=n;break}break;case\"log\":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&f(t.dtick,n.dtickrange)){r=n;break}}return r?r.value:t.tickformat},M.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?M.findSubplotsWithAxis(n,e):n;return i.sort(function(t,e){var r=t.substr(1).split(\"y\"),n=e.substr(1).split(\"y\");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]}),i},M.findSubplotsWithAxis=function(t,e){for(var r=new RegExp(\"x\"===e._id.charAt(0)?\"^\"+e._id+\"y\":e._id+\"$\"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},M.makeClipPaths=function(t){var e=t._fullLayout;if(!e._hasOnlyLargeSploms){var r,i,a={_offset:0,_length:e.width,_id:\"\"},o={_offset:0,_length:e.height,_id:\"\"},s=M.list(t,\"x\",!0),l=M.list(t,\"y\",!0),c=[];for(r=0;r<s.length;r++)for(c.push({x:s[r],y:o}),i=0;i<l.length;i++)0===r&&c.push({x:a,y:l[i]}),c.push({x:s[r],y:l[i]});var u=e._clips.selectAll(\".axesclip\").data(c,function(t){return t.x._id+t.y._id});u.enter().append(\"clipPath\").classed(\"axesclip\",!0).attr(\"id\",function(t){return\"clip\"+e._uid+t.x._id+t.y._id}).append(\"rect\"),u.exit().remove(),u.each(function(t){n.select(this).select(\"rect\").attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})})}},M.doTicks=function(t,e,r){var n=t._fullLayout;\"redraw\"===e&&n._paper.selectAll(\"g.subplot\").each(function(t){var e=t[0],r=n._plots[e],i=r.xaxis,a=r.yaxis;r.xaxislayer.selectAll(\".\"+i._id+\"tick\").remove(),r.yaxislayer.selectAll(\".\"+a._id+\"tick\").remove(),r.gridlayer&&r.gridlayer.selectAll(\"path\").remove(),r.zerolinelayer&&r.zerolinelayer.selectAll(\"path\").remove(),n._infolayer.select(\".g-\"+i._id+\"title\").remove(),n._infolayer.select(\".g-\"+a._id+\"title\").remove()});var i=e&&\"redraw\"!==e?e:M.listIds(t);s.syncOrAsync(i.map(function(e){return function(){if(e){var n=M.doTicksSingle(t,e,r),i=M.getFromId(t,e);return i._r=i.range.slice(),i._rl=s.simpleMap(i._r,i.r2l),n}}}))},M.doTicksSingle=function(t,e,r){var o,h=t._fullLayout,p=!1;s.isPlainObject(e)?(o=e,p=!0):o=M.getFromId(t,e),o.setScale();var d,g,m,v,y,x,b=o._id,_=b.charAt(0),A=M.counterLetter(b),S=o._vals=M.calcTicks(o),E=function(t){return[t.text,t.x,o.mirror,t.font,t.fontSize,t.fontColor].join(\"_\")},C=b+\"tick\",L=b+\"grid\",z=b+\"zl\",P=(o.linewidth||1)/2,O=\"outside\"===o.ticks?o.ticklen:0,I=0,D=f.crispRound(t,o.gridwidth,1),R=f.crispRound(t,o.zerolinewidth,D),B=f.crispRound(t,o.tickwidth,1);if(o._counterangle&&\"outside\"===o.ticks){var F=o._counterangle*Math.PI/180;O=o.ticklen*Math.cos(F)+1,I=o.ticklen*Math.sin(F)}if(o.showticklabels&&(\"outside\"===o.ticks||o.showline)&&(O+=.2*o.tickfont.size),\"x\"===_)d=[\"bottom\",\"top\"],g=o._transfn||function(t){return\"translate(\"+(o._offset+o.l2p(t.x))+\",0)\"},m=function(t,e){if(o._counterangle){var r=o._counterangle*Math.PI/180;return\"M0,\"+t+\"l\"+Math.sin(r)*e+\",\"+Math.cos(r)*e}return\"M0,\"+t+\"v\"+e};else if(\"y\"===_)d=[\"left\",\"right\"],g=o._transfn||function(t){return\"translate(0,\"+(o._offset+o.l2p(t.x))+\")\"},m=function(t,e){if(o._counterangle){var r=o._counterangle*Math.PI/180;return\"M\"+t+\",0l\"+Math.cos(r)*e+\",\"+-Math.sin(r)*e}return\"M\"+t+\",0h\"+e};else{if(!Z(o))return void s.warn(\"Unrecognized doTicks axis:\",b);d=[\"left\",\"right\"],g=o._transfn,m=function(t,e){return\"M\"+t+\",0h\"+e}}var N=o.side||d[0],j=[-1,1,N===d[1]?1:-1];if(\"inside\"!==o.ticks==(\"x\"===_)&&(j=j.map(function(t){return-t})),o.visible){o._tickFilter&&(S=S.filter(o._tickFilter));var V=o._valsClipped=Z(o)?S:S.filter(function(t){return G(o,t.x)});if(p){if($(o._axislayer,m(o._pos+P*j[2],j[2]*o.ticklen)),o._counteraxis)Q({gridlayer:o._gridlayer,zerolinelayer:o._zerolinelayer},o._counteraxis);return J(o._axislayer,o._pos)}if(h._has(\"cartesian\")){v=M.getSubplots(t,o);var U={};v.map(function(t){var e=h._plots[t],r=e[A+\"axis\"],n=r._mainAxis._id;U[n]||(U[n]=1,Q(e,r))});var q=o._mainSubplot,H=h._plots[q],W=[];if(o.ticks){var Y=j[2],X=m(o._mainLinePosition+P*Y,Y*o.ticklen);o._anchorAxis&&o.mirror&&!0!==o.mirror&&(X+=m(o._mainMirrorPosition-P*Y,-Y*o.ticklen)),$(H[_+\"axislayer\"],X),W=Object.keys(o._linepositions||{})}return W.map(function(t){var e=h._plots[t][_+\"axislayer\"],r=o._linepositions[t]||[];function n(t){var e=j[t];return m(r[t]+P*e,e*o.ticklen)}$(e,n(0)+n(1))}),J(H[_+\"axislayer\"],o._mainLinePosition)}}function $(t,e){var r=t.selectAll(\"path.\"+C).data(\"inside\"===o.ticks?V:S,E);e&&o.ticks?(r.enter().append(\"path\").classed(C,1).classed(\"ticks\",1).classed(\"crisp\",1).call(u.stroke,o.tickcolor).style(\"stroke-width\",B+\"px\").attr(\"d\",e),r.attr(\"transform\",g),r.exit().remove()):r.remove()}function J(e,r){if(y=e.selectAll(\"g.\"+C).data(S,E),!i(r))return y.remove(),void K();if(!o.showticklabels)return y.remove(),K(),void z();var c,u,p,d,m;\"x\"===_?(c=function(t){return t.dx+I*m},d=r+(O+P)*(m=\"bottom\"===N?1:-1),u=function(t){return t.dy+d+t.fontSize*(\"bottom\"===N?1:-.2)},p=function(t){return i(t)&&0!==t&&180!==t?t*m<0?\"end\":\"start\":\"middle\"}):\"y\"===_?(m=\"right\"===N?1:-1,u=function(t){return t.dy+t.fontSize*w-I*m},c=function(t){return t.dx+r+(O+P+(90===Math.abs(o.tickangle)?t.fontSize/2:0))*m},p=function(t){return i(t)&&90===Math.abs(t)?\"middle\":\"right\"===N?\"start\":\"end\"}):Z(o)&&(o._labelShift=I,o._labelStandoff=O,o._pad=P,c=o._labelx,u=o._labely,p=o._labelanchor);var M=0,A=0,T=[];function L(t,e){t.each(function(t){var r=p(e,t),a=n.select(this),o=a.select(\".text-math-group\"),s=g.call(a.node(),t)+(i(e)&&0!=+e?\" rotate(\"+e+\",\"+c(t)+\",\"+(u(t)-t.fontSize/2)+\")\":\"\"),h=function(t,e,r){var n=(t-1)*e;if(\"x\"===_){if(r<-60||60<r)return-.5*n;if(\"top\"===N)return-n}else{if((r*=\"left\"===N?1:-1)<-30)return-n;if(r<30)return-.5*n}return 0}(l.lineCount(a),k*t.fontSize,i(e)?+e:0);if(h&&(s+=\" translate(0, \"+h+\")\"),o.empty())a.select(\"text\").attr({transform:s,\"text-anchor\":r});else{var d=f.bBox(o.node()).width*{end:-.5,start:.5}[r];o.attr(\"transform\",s+(d?\"translate(\"+d+\",0)\":\"\"))}})}function z(){if(o.showticklabels){var r=t.getBoundingClientRect(),n=e.node().getBoundingClientRect();o._boundingBox={width:n.width,height:n.height,left:n.left-r.left,right:n.right-r.left,top:n.top-r.top,bottom:n.bottom-r.top}}else{var i,a=h._size;\"x\"===_?(i=\"free\"===o.anchor?a.t+a.h*(1-o.position):a.t+a.h*(1-o._anchorAxis.domain[{bottom:0,top:1}[o.side]]),o._boundingBox={top:i,bottom:i,left:o._offset,right:o._offset+o._length,width:o._length,height:0}):(i=\"free\"===o.anchor?a.l+a.w*o.position:a.l+a.w*o._anchorAxis.domain[{left:0,right:1}[o.side]],o._boundingBox={left:i,right:i,bottom:o._offset+o._length,top:o._offset,height:o._length,width:0})}if(v){var s=o._counterSpan=[1/0,-1/0];for(x=0;x<v.length;x++){var l=h._plots[v[x]][\"x\"===_?\"yaxis\":\"xaxis\"];c(s,[l._offset,l._offset+l._length])}\"free\"===o.anchor&&c(s,\"x\"===_?[o._boundingBox.bottom,o._boundingBox.top]:[o._boundingBox.right,o._boundingBox.left])}function c(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.max(t[1],e[1])}}y.enter().append(\"g\").classed(C,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(e){var r=n.select(this),i=t._promises.length;r.call(l.positionText,c(e),u(e)).call(f.font,e.font,e.fontSize,e.fontColor).text(e.text).call(l.convertToTspans,t),(i=t._promises[i])?T.push(t._promises.pop().then(function(){L(r,o.tickangle)})):L(r,o.tickangle)}),y.exit().remove(),y.each(function(t){M=Math.max(M,t.fontSize)}),Z(o)&&y.each(function(t){n.select(this).select(\"text\").call(l.positionText,c(t),u(t))}),L(y,o._lastangle||o.tickangle);var D=s.syncOrAsync([function(){return T.length&&Promise.all(T)},function(){if(L(y,o.tickangle),\"x\"===_&&!i(o.tickangle)&&(\"log\"!==o.type||\"D\"!==String(o.dtick).charAt(0))){var t=[];for(y.each(function(e){var r=n.select(this),i=r.select(\".text-math-group\"),a=o.l2p(e.x);i.empty()&&(i=r.select(\"text\"));var s=f.bBox(i.node());t.push({top:0,bottom:10,height:10,left:a-s.width/2,right:a+s.width/2+2,width:s.width+2})}),x=0;x<t.length-1;x++)if(s.bBoxIntersect(t[x],t[x+1])){A=30;break}A&&(Math.abs((S[S.length-1].x-S[0].x)*o._m)/(S.length-1)<2.5*M&&(A=90),L(y,A)),o._lastangle=A}return K(),b+\" done\"},z,function(){var e=o._name+\".automargin\";if(\"x\"===_||\"y\"===_)if(o.automargin){var r=o.side[0],n={x:0,y:0,r:0,l:0,t:0,b:0};\"x\"===_?(n.y=\"free\"===o.anchor?o.position:o._anchorAxis.domain[\"t\"===r?1:0],n[r]+=o._boundingBox.height):(n.x=\"free\"===o.anchor?o.position:o._anchorAxis.domain[\"r\"===r?1:0],n[r]+=o._boundingBox.width),o.title!==h._dfltTitle[_]&&(n[r]+=o.titlefont.size),a.autoMargin(t,e,n)}else a.autoMargin(t,e)}]);return D&&D.then&&t._promises.push(D),D}function K(){if(!(r||o.rangeslider&&o.rangeslider.visible&&o._boundingBox&&\"bottom\"===o.side)){var e,n,i,a,s={selection:y,side:o.side},l=b.charAt(0),u=t._fullLayout._size,p=o.titlefont.size;if(y.size()){var d=f.getTranslate(y.node().parentNode);s.offsetLeft=d.x,s.offsetTop=d.y}var g=10+1.5*p+(o.linewidth?o.linewidth-1:0);\"x\"===l?(n=\"free\"===o.anchor?{_offset:u.t+(1-(o.position||0))*u.h,_length:0}:T.getFromId(t,o.anchor),i=o._offset+o._length/2,a=\"top\"===o.side?-g-p*(o.showticklabels?1:0):n._length+g+p*(o.showticklabels?1.5:.5),a+=n._offset,s.side||(s.side=\"bottom\")):(n=\"free\"===o.anchor?{_offset:u.l+(o.position||0)*u.w,_length:0}:T.getFromId(t,o.anchor),a=o._offset+o._length/2,i=\"right\"===o.side?n._length+g+p*(o.showticklabels?1:.5):-g-p*(o.showticklabels?.5:0),i+=n._offset,e={rotate:\"-90\",offset:0},s.side||(s.side=\"left\")),c.draw(t,b+\"title\",{propContainer:o,propName:o._name+\".title\",placeholder:h._dfltTitle[l],avoid:s,transform:e,attributes:{x:i,y:a,\"text-anchor\":\"middle\"}})}}function Q(e,r){if(!h._hasOnlyLargeSploms){var i=e.gridlayer.selectAll(\".\"+b),a=e.zerolinelayer,s=o._gridpath||(\"x\"===_?\"M0,\"+r._offset+\"v\":\"M\"+r._offset+\",0h\")+r._length,l=i.selectAll(\"path.\"+L).data(!1===o.showgrid?[]:V,E);if(l.enter().append(\"path\").classed(L,1).classed(\"crisp\",1).attr(\"d\",s).each(function(t){o.zeroline&&(\"linear\"===o.type||\"-\"===o.type)&&Math.abs(t.x)<o.dtick/100&&n.select(this).remove()}),l.attr(\"transform\",g).call(u.stroke,o.gridcolor||\"#ddd\").style(\"stroke-width\",D+\"px\"),\"function\"==typeof s&&l.attr(\"d\",s),l.exit().remove(),a){var c={x:0,id:b},f=M.shouldShowZeroLine(t,o,r),p=a.selectAll(\"path.\"+z).data(f?[c]:[]);p.enter().append(\"path\").classed(z,1).classed(\"zl\",1).classed(\"crisp\",1).attr(\"d\",s).each(function(){a.selectAll(\"path\").sort(function(t,e){return T.idSort(t.id,e.id)})}),p.attr(\"transform\",g).call(u.stroke,o.zerolinecolor||u.defaultLine).style(\"stroke-width\",R+\"px\"),p.exit().remove()}}}},M.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&(\"linear\"===e.type||\"-\"===e.type)&&e._valsClipped.length&&(G(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(!i)return;var a=t._fullLayout,o=e._id.charAt(0),s=M.counterLetter(e._id),l=e._offset+(Math.abs(n[0])<Math.abs(n[1])==(\"x\"===o)?0:e._length);function c(t){if(!t.showline||!t.linewidth)return!1;var r=Math.max((t.linewidth+e.zerolinewidth)/2,1);function n(t){return\"number\"==typeof t&&Math.abs(t-l)<r}if(n(t._mainLinePosition)||n(t._mainMirrorPosition))return!0;var i=t._linepositions||{};for(var a in i)if(n(i[a][0])||n(i[a][1]))return!0}var u=a._plots[r._mainSubplot];if(!(u.mainplotinfo||u).overlays.length)return c(r);for(var f=M.list(t,s),h=0;h<f.length;h++){var p=f[h];if(p._mainAxis===i&&c(p))return!0}}(t,e,r,n)||function(t,e){for(var r=t._fullData,n=e._mainSubplot,i=e._id.charAt(0),a=0;a<r.length;a++){var s=r[a];if(!0===s.visible&&s.xaxis+s.yaxis===n&&(o.traceIs(s,\"bar\")&&s.orientation==={x:\"h\",y:\"v\"}[i]||s.fill&&s.fill.charAt(s.fill.length-1)===i))return!0}return!1}(t,e))},M.allowAutoMargin=function(t){for(var e=M.list(t,\"\",!0),r=0;r<e.length;r++){var n=e[r];n.automargin&&a.allowAutoMargin(t,n._name+\".automargin\"),n.rangeslider&&n.rangeslider.visible&&a.allowAutoMargin(t,\"rangeslider\"+n._id)}},M.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,c=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],W(c.x,l.x),W(c.y,l.y);W(c.x,[o]),W(c.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n<r.length;n++)Y(t,r[n].x,r[n].y)}},{\"../../components/color\":567,\"../../components/drawing\":592,\"../../components/titles\":658,\"../../constants/alignment\":665,\"../../constants/numerical\":670,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../plots/plots\":805,\"../../registry\":825,\"./autorange\":741,\"./axis_autotype\":743,\"./axis_ids\":745,\"./layout_attributes\":754,\"./set_convert\":760,d3:147,\"fast-isnumeric\":213}],743:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e){return function(t,e){for(var r,a=0,o=0,s=Math.max(1,(t.length-1)/1e3),l=0;l<t.length;l+=s)r=t[Math.round(l)],i.isDateTime(r,e)&&(a+=1),n(r)&&(o+=1);return a>2*o}(t,e)?\"date\":function(t){for(var e,r=Math.max(1,(t.length-1)/1e3),n=0,o=0,s=0;s<t.length;s+=r)e=t[Math.round(s)],i.cleanNumber(e)!==a?n++:\"string\"==typeof e&&\"\"!==e&&\"None\"!==e&&o++;return o>2*n}(t)?\"category\":function(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(n(t[e]))return!0;return!1}(t)?\"linear\":\"-\"}},{\"../../constants/numerical\":670,\"../../lib\":693,\"fast-isnumeric\":213}],744:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"./layout_attributes\"),o=t(\"./tick_value_defaults\"),s=t(\"./tick_mark_defaults\"),l=t(\"./tick_label_defaults\"),c=t(\"./category_order_defaults\"),u=t(\"./line_grid_defaults\"),f=t(\"./set_convert\");e.exports=function(t,e,r,h,p){var d=h.letter,g=h.font||{},m=h.splomStash||{},v=r(\"visible\",!h.cheateronly),y=e.type;\"date\"===y&&n.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\",h.calendar);if(f(e,p),!r(\"autorange\",!e.isValidRange(t.range))||\"linear\"!==y&&\"-\"!==y||r(\"rangemode\"),r(\"range\"),e.cleanRange(),c(t,e,r,h),\"category\"===y||h.noHover||r(\"hoverformat\"),!v)return e;var x=r(\"color\"),b=x!==a.color.dflt?x:g.color;return r(\"title\",m.label||p._dfltTitle[d]),i.coerceFont(r,\"titlefont\",{family:g.family,size:Math.round(1.2*g.size),color:b}),o(t,e,r,y),l(t,e,r,y,h),s(t,e,r,h),u(t,e,r,{dfltColor:x,bgColor:h.bgColor,showGrid:h.showGrid,attributes:a}),(e.showline||e.ticks)&&r(\"mirror\"),h.automargin&&r(\"automargin\"),e}},{\"../../lib\":693,\"../../registry\":825,\"./category_order_defaults\":746,\"./layout_attributes\":754,\"./line_grid_defaults\":756,\"./set_convert\":760,\"./tick_label_defaults\":761,\"./tick_mark_defaults\":762,\"./tick_value_defaults\":763}],745:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./constants\");r.id2name=function(t){if(\"string\"==typeof t&&t.match(i.AX_ID_PATTERN)){var e=t.substr(1);return\"1\"===e&&(e=\"\"),t.charAt(0)+\"axis\"+e}},r.name2id=function(t){if(t.match(i.AX_NAME_PATTERN)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(i.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,\"\");return\"1\"===r&&(r=\"\"),t.charAt(0)+r}},r.list=function(t,e,n){var i=t._fullLayout;if(!i)return[];var a,o=r.listIds(t,e),s=new Array(o.length);for(a=0;a<o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+\"axis\"+l.substr(1)]}if(!n){var c=i._subplots.gl3d||[];for(a=0;a<c.length;a++){var u=i[c[a]];e?s.push(u[e+\"axis\"]):s.push(u.xaxis,u.yaxis,u.zaxis)}}return s},r.listIds=function(t,e){var r=t._fullLayout;if(!r)return[];var n=r._subplots;return e?n[e+\"axis\"]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var i=t._fullLayout;return\"x\"===n?e=e.replace(/y[0-9]*/,\"\"):\"y\"===n&&(e=e.replace(/x[0-9]*/,\"\")),i[r.id2name(e)]},r.getFromTrace=function(t,e,i){var a=t._fullLayout,o=null;if(n.traceIs(e,\"gl3d\")){var s=e.scene;\"scene\"===s.substr(0,5)&&(o=a[s][i+\"axis\"])}else o=r.getFromId(t,e[i+\"axis\"]||i);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r>n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)}},{\"../../registry\":825,\"./constants\":747}],746:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){if(\"category\"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i=\"array\");var s,l=r(\"categoryorder\",i);\"array\"===l&&(s=r(\"categoryarray\")),o||\"array\"!==l||(l=e.categoryorder=\"trace\"),\"trace\"===l?e._initialCategories=[]:\"array\"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;n<e.data.length;n++){var s=e.data[n];s[a+\"axis\"]===t._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][a];for(i=0;i<l.length;i++){var c=l[i];null!=c&&(o[c]=1)}}return Object.keys(o)}(e,n).sort(),\"category ascending\"===l?e._initialCategories=s:\"category descending\"===l&&(e._initialCategories=s.reverse()))}}},{}],747:[function(t,e,r){\"use strict\";var n=t(\"../../lib/regex\").counter;e.exports={idRegex:{x:n(\"x\"),y:n(\"y\")},attrRegex:n(\"[xy]axis\"),xAxisMatch:n(\"xaxis\"),yAxisMatch:n(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:\"-select\",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\"heatmaplayer\",\"contourcarpetlayer\",\"contourlayer\",\"barlayer\",\"carpetlayer\",\"violinlayer\",\"boxlayer\",\"ohlclayer\",\"scattercarpetlayer\",\"scatterlayer\"],layerValue2layerClass:{\"above traces\":\"above\",\"below traces\":\"below\"}}},{\"../../lib/regex\":710}],748:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./axis_ids\").id2name;e.exports=function(t,e,r,a,o){var s=o._axisConstraintGroups,l=e._id,c=l.charAt(0);if(!e.fixedrange&&(r(\"constrain\"),n.coerce(t,e,{constraintoward:{valType:\"enumerated\",values:\"x\"===c?[\"left\",\"center\",\"right\"]:[\"bottom\",\"middle\",\"top\"],dflt:\"x\"===c?\"center\":\"middle\"}},\"constraintoward\"),t.scaleanchor)){var u=function(t,e,r,n){var a,o,s,l,c=n[i(e)].type,u=[];for(o=0;o<r.length;o++)(s=r[o])!==e&&((l=n[i(s)]).type!==c||l.fixedrange||u.push(s));for(a=0;a<t.length;a++)if(t[a][e]){var f=t[a],h=[];for(o=0;o<u.length;o++)s=u[o],f[s]||h.push(s);return{linkableAxes:h,thisGroup:f}}return{linkableAxes:u,thisGroup:null}}(s,l,a,o),f=n.coerce(t,e,{scaleanchor:{valType:\"enumerated\",values:u.linkableAxes}},\"scaleanchor\");if(f){var h=r(\"scaleratio\");h||(h=e.scaleratio=1),function(t,e,r,n,i){var a,o,s,l,c;null===e?((e={})[r]=1,c=t.length,t.push(e)):c=t.indexOf(e);var u=Object.keys(e);for(a=0;a<t.length;a++)if(s=t[a],a!==c&&s[n]){var f=s[n];for(o=0;o<u.length;o++)l=u[o],s[l]=f*i*e[l];return void t.splice(c,1)}if(1!==i)for(o=0;o<u.length;o++)e[u[o]]*=i;e[n]=1}(s,u.thisGroup,l,f,h)}else-1!==a.indexOf(t.scaleanchor)&&n.warn(\"ignored \"+e._name+'.scaleanchor: \"'+t.scaleanchor+'\" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the targetaxis has fixed range.')}}},{\"../../lib\":693,\"./axis_ids\":745}],749:[function(t,e,r){\"use strict\";var n=t(\"./axis_ids\").id2name,i=t(\"./scale_zoom\"),a=t(\"./autorange\").makePadFn,o=t(\"./autorange\").concatExtremes,s=t(\"../../constants/numerical\").ALMOST_EQUAL,l=t(\"../../constants/alignment\").FROM_BL;function c(t,e){var r=t._inputDomain,n=l[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e]}r.enforce=function(t){var e,r,l,u,f,h,p,d=t._fullLayout,g=d._axisConstraintGroups||[];for(e=0;e<g.length;e++){var m=g[e],v=Object.keys(m),y=1/0,x=0,b=1/0,_={},w={},k=!1;for(r=0;r<v.length;r++)w[l=v[r]]=u=d[n(l)],u._inputDomain?u.domain=u._inputDomain.slice():u._inputDomain=u.domain.slice(),u._inputRange||(u._inputRange=u.range.slice()),u.setScale(),_[l]=f=Math.abs(u._m)/m[l],y=Math.min(y,f),\"domain\"!==u.constrain&&u._constraintShrinkable||(b=Math.min(b,f)),delete u._constraintShrinkable,x=Math.max(x,f),\"domain\"===u.constrain&&(k=!0);if(!(y>s*x)||k)for(r=0;r<v.length;r++)if(f=_[l=v[r]],h=(u=w[l]).constrain,f!==b||\"domain\"===h)if(p=f/b,\"range\"===h)i(u,p);else{var M=u._inputDomain,A=(u.domain[1]-u.domain[0])/(M[1]-M[0]),T=(u.r2l(u.range[1])-u.r2l(u.range[0]))/(u.r2l(u._inputRange[1])-u.r2l(u._inputRange[0]));if((p/=A)*T<1){u.domain=u._input.domain=M.slice(),i(u,p);continue}if(T<1&&(u.range=u._input.range=u._inputRange.slice(),p*=T),u.autorange){var S=u.r2l(u.range[0]),E=u.r2l(u.range[1]),C=(S+E)/2,L=C,z=C,P=Math.abs(E-C),O=C-P*p*1.0001,I=C+P*p*1.0001,D=a(u);c(u,p),u.setScale();var R,B,F=Math.abs(u._m),N=o(t,u),j=N.min,V=N.max;for(B=0;B<j.length;B++)(R=j[B].val-D(j[B])/F)>O&&R<L&&(L=R);for(B=0;B<V.length;B++)(R=V[B].val+D(V[B])/F)<I&&R>z&&(z=R);p/=(z-L)/(2*P),L=u.l2r(L),z=u.l2r(z),u.range=u._input.range=S<E?[L,z]:[z,L]}c(u,p)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&\"domain\"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{\"../../constants/alignment\":665,\"../../constants/numerical\":670,\"./autorange\":741,\"./axis_ids\":745,\"./scale_zoom\":758}],750:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"has-passive-events\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../lib/clear_gl_canvases\"),u=t(\"../../components/color\"),f=t(\"../../components/drawing\"),h=t(\"../../components/fx\"),p=t(\"../../lib/setcursor\"),d=t(\"../../components/dragelement\"),g=t(\"../../constants/alignment\").FROM_TL,m=t(\"../plots\"),v=t(\"./axes\").doTicksSingle,y=t(\"./axis_ids\").getFromId,x=t(\"./select\").prepSelect,b=t(\"./select\").clearSelect,_=t(\"./select\").selectOnClick,w=t(\"./scale_zoom\"),k=t(\"./constants\"),M=k.MINDRAG,A=k.MINZOOM,T=!0;function S(t,e,r,n){var i=s.ensureSingle(t.draglayer,e,r,function(e){e.classed(\"drag\",!0).style({fill:\"transparent\",\"stroke-width\":0}).attr(\"data-subplot\",t.id)});return i.call(p,n),i.node()}function E(t,e,r,i,a,o,s){var l=S(t,\"rect\",e,r);return n.select(l).call(f.setRect,i,a,o,s),l}function C(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return\"\"}function L(t,e,r,n,i){var a,o,s,l;for(a=0;a<t.length;a++)(o=t[a]).fixedrange||(s=o._rl[0],l=o._rl[1]-s,o.range=[o.l2r(s+l*e),o.l2r(s+l*r)],n[o._name+\".range[0]\"]=o.range[0],n[o._name+\".range[1]\"]=o.range[1]);if(i&&i.length){var c=(e+(1-r))/2;L(i,c,1-c,n)}}function z(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function P(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function O(t,e,r,n,i){return t.append(\"path\").attr(\"class\",\"zoombox\").style({fill:e>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",\"translate(\"+r+\", \"+n+\")\").attr(\"d\",i+\"Z\")}function I(t,e,r){return t.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:u.background,stroke:u.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",\"translate(\"+e+\", \"+r+\")\").attr(\"d\",\"M0,0Z\")}function D(t,e,r,n,i,a){t.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),R(t,e,i,a)}function R(t,e,r,n){r||(t.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),e.transition().style(\"opacity\",1).duration(200))}function B(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function F(t){T&&t.data&&t._context.showTips&&(s.notifier(s._(t,\"Double-click to zoom back out\"),\"long\"),T=!1)}function N(t){return\"lasso\"===t||\"select\"===t}function j(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,A)/2);return\"M\"+(t.l-3.5)+\",\"+(t.t-.5+e)+\"h3v\"+-e+\"h\"+e+\"v-3h-\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.t-.5+e)+\"h-3v\"+-e+\"h\"+-e+\"v-3h\"+(e+3)+\"ZM\"+(t.r+3.5)+\",\"+(t.b+.5-e)+\"h-3v\"+e+\"h\"+-e+\"v3h\"+(e+3)+\"ZM\"+(t.l-3.5)+\",\"+(t.b+.5-e)+\"h3v\"+e+\"h\"+e+\"v3h-\"+(e+3)+\"Z\"}function V(t,e){if(a){var r=void 0!==t.onwheel?\"wheel\":\"mousewheel\";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel&&(t.onmousewheel=e)}function U(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,a,u,p,T,S){var R,q,H,G,W,Y,X,Z,$,J,K,Q,tt,et,rt,nt,it,at,ot,st,lt,ct,ut=t._fullLayout._zoomlayer,ft=T+S===\"nsew\",ht=1===(T+S).length;function pt(){if(R=e.xaxis,q=e.yaxis,$=R._length,J=q._length,X=R._offset,Z=q._offset,(H={})[R._id]=R,(G={})[q._id]=q,T&&S)for(var r=e.overlays,n=0;n<r.length;n++){var i=r[n].xaxis;H[i._id]=i;var a=r[n].yaxis;G[a._id]=a}W=U(H),Y=U(G),Q=C(W,S),tt=C(Y,T),et=!tt&&!Q,K=function(t,e,r){for(var n,i,a,o,l=t._fullLayout._axisConstraintGroups,c=!1,u={},f={},h=0;h<l.length;h++){var p=l[h];for(n in e)if(p[n]){for(a in p)(\"x\"===a.charAt(0)?e:r)[a]||(u[a]=1);for(i in r)p[i]&&(c=!0)}for(i in r)if(p[i])for(o in p)(\"x\"===o.charAt(0)?e:r)[o]||(f[o]=1)}c&&(s.extendFlat(u,f),f={});var d={},g=[];for(a in u){var m=y(t,a);g.push(m),d[m._id]=m}var v={},x=[];for(o in f){var b=y(t,o);x.push(b),v[b._id]=b}return{xaHash:d,yaHash:v,xaxes:g,yaxes:x,isSubplotConstrained:c}}(t,H,G),rt=K.isSubplotConstrained,nt=S||rt,it=T||rt;var o=t._fullLayout;at=o._has(\"scattergl\"),ot=o._hasOnlyLargeSploms,st=ot||o._has(\"splom\"),lt=o._has(\"svg\")}pt();var dt=function(t,e,r){return t?\"nsew\"===t?r?\"\":\"pan\"===e?\"move\":\"crosshair\":t.toLowerCase()+\"-resize\":\"pointer\"}(tt+Q,t._fullLayout.dragmode,ft),gt=E(e,T+S+\"drag\",dt,r,a,u,p);if(et&&!ft)return gt.onmousedown=null,gt.style.pointerEvents=\"none\",gt;var mt,vt,yt,xt,bt,_t,wt,kt,Mt,At,Tt={element:gt,gd:t,plotinfo:e};function St(){Tt.plotinfo.selection=!1,b(ut)}function Et(r,i){var a=t._fullLayout.clickmode;if(B(t),2!==r||ht||function(){if(!t._transitioningWithDuration){var e,r,n,i=t._context.doubleClick,a=(Q?W:[]).concat(tt?Y:[]),s={};if(\"reset+autosize\"===i)for(i=\"autosize\",r=0;r<a.length;r++)if((e=a[r])._rangeInitial&&(e.range[0]!==e._rangeInitial[0]||e.range[1]!==e._rangeInitial[1])||!e._rangeInitial&&!e.autorange){i=\"reset\";break}if(\"autosize\"===i)for(r=0;r<a.length;r++)(e=a[r]).fixedrange||(s[e._name+\".autorange\"]=!0);else if(\"reset\"===i)for((Q||rt)&&(a=a.concat(K.xaxes)),tt&&!rt&&(a=a.concat(K.yaxes)),rt&&(Q?tt||(a=a.concat(Y)):a=a.concat(W)),r=0;r<a.length;r++)(e=a[r])._rangeInitial?(n=e._rangeInitial,s[e._name+\".range[0]\"]=n[0],s[e._name+\".range[1]\"]=n[1]):s[e._name+\".autorange\"]=!0;t.emit(\"plotly_doubleclick\",null),o.call(\"relayout\",t,s)}}(),ft)a.indexOf(\"select\")>-1&&_(i,t,W,Y,e.id,Tt),a.indexOf(\"event\")>-1&&h.click(t,i,e.id);else if(1===r&&ht){var s=T?q:R,c=\"s\"===T||\"w\"===S?0:1,u=s._name+\".range[\"+c+\"]\",f=function(t,e){var r,i=t.range[e],a=Math.abs(i-t.range[1-e]);return\"date\"===t.type?i:\"log\"===t.type?(r=Math.ceil(Math.max(0,-Math.log(a)/Math.LN10))+3,n.format(\".\"+r+\"g\")(Math.pow(10,i))):(r=Math.floor(Math.log(Math.abs(i))/Math.LN10)-Math.floor(Math.log(a)/Math.LN10)+4,n.format(\".\"+String(r)+\"g\")(i))}(s,c),p=\"left\",d=\"middle\";if(s.fixedrange)return;T?(d=\"n\"===T?\"top\":\"bottom\",\"right\"===s.side&&(p=\"right\")):\"e\"===S&&(p=\"right\"),t._context.showAxisRangeEntryBoxes&&n.select(gt).call(l.makeEditable,{gd:t,immediate:!0,background:t._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:\"#444\",horizontalAlign:p,verticalAlign:d}).on(\"edit\",function(e){var r=s.d2r(e);void 0!==r&&o.call(\"relayout\",t,u,r)})}}function Ct(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min($,e+mt)),i=Math.max(0,Math.min(J,r+vt)),a=Math.abs(n-mt),o=Math.abs(i-vt);function s(){wt=\"\",yt.r=yt.l,yt.t=yt.b,Mt.attr(\"d\",\"M0,0Z\")}yt.l=Math.min(mt,n),yt.r=Math.max(mt,n),yt.t=Math.min(vt,i),yt.b=Math.max(vt,i),rt?a>A||o>A?(wt=\"xy\",a/$>o/J?(o=a*J/$,vt>i?yt.t=vt-o:yt.b=vt+o):(a=o*$/J,mt>n?yt.l=mt-a:yt.r=mt+a),Mt.attr(\"d\",j(yt))):s():!tt||o<Math.min(Math.max(.6*a,M),A)?a<M||!Q?s():(yt.t=0,yt.b=J,wt=\"x\",Mt.attr(\"d\",function(t,e){return\"M\"+(t.l-.5)+\",\"+(e-A-.5)+\"h-3v\"+(2*A+1)+\"h3ZM\"+(t.r+.5)+\",\"+(e-A-.5)+\"h3v\"+(2*A+1)+\"h-3Z\"}(yt,vt))):!Q||a<Math.min(.6*o,A)?(yt.l=0,yt.r=$,wt=\"y\",Mt.attr(\"d\",function(t,e){return\"M\"+(e-A-.5)+\",\"+(t.t-.5)+\"v-3h\"+(2*A+1)+\"v3ZM\"+(e-A-.5)+\",\"+(t.b+.5)+\"v3h\"+(2*A+1)+\"v-3Z\"}(yt,mt))):(wt=\"xy\",Mt.attr(\"d\",j(yt))),yt.w=yt.r-yt.l,yt.h=yt.b-yt.t,wt&&(At=!0),t._dragged=At,D(kt,Mt,yt,bt,_t,xt),_t=!0}function Lt(){if(ct={},Math.min(yt.h,yt.w)<2*M)return B(t);\"xy\"!==wt&&\"x\"!==wt||L(W,yt.l/$,yt.r/$,ct,K.xaxes),\"xy\"!==wt&&\"y\"!==wt||L(Y,(J-yt.b)/J,(J-yt.t)/J,ct,K.yaxes),B(t),Nt(),F(t)}Tt.prepFn=function(e,r,n){var a=Tt.dragmode,o=t._fullLayout.dragmode;o!==a&&(Tt.dragmode=o),pt(),et||(ft?e.shiftKey?\"pan\"===o?o=\"zoom\":N(o)||(o=\"pan\"):e.ctrlKey&&(o=\"pan\"):o=\"pan\"),Tt.minDrag=\"lasso\"===o?1:void 0,N(o)?(Tt.xaxes=W,Tt.yaxes=Y,x(e,r,n,Tt,o)):(Tt.clickFn=Et,N(a)&&St(),et||(\"zoom\"===o?(Tt.moveFn=Ct,Tt.doneFn=Lt,Tt.minDrag=1,function(e,r,n){var a=gt.getBoundingClientRect();mt=r-a.left,vt=n-a.top,yt={l:mt,r:mt,w:0,t:vt,b:vt,h:0},xt=t._hmpixcount?t._hmlumcount/t._hmpixcount:i(t._fullLayout.plot_bgcolor).getLuminance(),_t=!1,wt=\"xy\",At=!1,kt=O(ut,xt,X,Z,bt=\"M0,0H\"+$+\"V\"+J+\"H0V0\"),Mt=I(ut,X,Z)}(0,r,n)):\"pan\"===o&&(Tt.moveFn=Bt,Tt.doneFn=Nt)))},d.init(Tt);var zt,Pt,Ot=[0,0,$,J],It=null,Dt=k.REDRAWDELAY,Rt=e.mainplot?t._fullLayout._plots[e.mainplot]:e;function Bt(e,r){if(!t._transitioningWithDuration){if(\"ew\"===Q||\"ns\"===tt)return Q&&z(W,e),tt&&z(Y,r),jt([Q?-e:0,tt?-r:0,$,J]),void Ft(tt,Q);if(rt&&Q&&tt){var n=\"w\"===Q==(\"n\"===tt)?1:-1,i=(e/$+n*r/J)/2;e=i*$,r=n*i*J}\"w\"===Q?e=l(W,0,e):\"e\"===Q?e=l(W,1,-e):Q||(e=0),\"n\"===tt?r=l(Y,1,r):\"s\"===tt?r=l(Y,0,-r):tt||(r=0);var a=\"w\"===Q?e:0,o=\"n\"===tt?r:0;if(rt){var s;if(!Q&&1===tt.length){for(s=0;s<W.length;s++)W[s].range=W[s]._r.slice(),w(W[s],1-r/J);a=(e=r*$/J)/2}if(!tt&&1===Q.length){for(s=0;s<Y.length;s++)Y[s].range=Y[s]._r.slice(),w(Y[s],1-e/$);o=(r=e*J/$)/2}}jt([a,o,$-e,J-r]),Ft(tt,Q)}function l(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/P(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}}function Ft(e,r){var n,i=[];function a(t){for(n=0;n<t.length;n++)t[n].fixedrange||i.push(t[n]._id)}for(nt&&(a(W),a(K.xaxes)),it&&(a(Y),a(K.yaxes)),ct={},n=0;n<i.length;n++){var s=i[n];v(t,s,!0);var l=y(t,s);ct[l._name+\".range[0]\"]=l.range[0],ct[l._name+\".range[1]\"]=l.range[1]}function c(a,o,s){for(n=0;n<a.length;n++){var l=a[n];if((r&&-1!==i.indexOf(l.xref)||e&&-1!==i.indexOf(l.yref))&&(o(t,n),s))return}}c(t._fullLayout.annotations||[],o.getComponentMethod(\"annotations\",\"drawOne\")),c(t._fullLayout.shapes||[],o.getComponentMethod(\"shapes\",\"drawOne\")),c(t._fullLayout.images||[],o.getComponentMethod(\"images\",\"draw\"),!0)}function Nt(){jt([0,0,$,J]),s.syncOrAsync([m.previousPromises,function(){o.call(\"relayout\",t,ct)}],t)}function jt(e){var r,n,i,a,l=t._fullLayout,u=l._plots,h=l._subplots.cartesian;if((st||at)&&c(t),!st||(o.subplotsRegistry.splom.drag(t),!ot)){if(at)for(r=0;r<h.length;r++){i=(n=u[h[r]]).xaxis,a=n.yaxis;var p=n._scene;if(p){var d=s.simpleMap(i.range,i.r2l),g=s.simpleMap(a.range,a.r2l);p.update({range:[d[0],g[0],d[1],g[1]]})}}if(lt){var m=e[2]/R._length,v=e[3]/q._length;for(r=0;r<h.length;r++){i=(n=u[h[r]]).xaxis,a=n.yaxis;var y,x,b,_,w=nt&&!i.fixedrange&&H[i._id],k=it&&!a.fixedrange&&G[a._id];if(w?(y=m,b=S?e[0]:qt(i,y)):b=Ut(i,y=Vt(i,m,v)),k?(x=v,_=T?e[1]:qt(a,x)):_=Ut(a,x=Vt(a,m,v)),y||x){y||(y=1),x||(x=1);var M=i._offset-b/y,A=a._offset-_/x;n.clipRect.call(f.setTranslate,b,_).call(f.setScale,y,x),n.plot.call(f.setTranslate,M,A).call(f.setScale,1/y,1/x),y===zt&&x===Pt||(f.setPointGroupScale(n.zoomScalePts,y,x),f.setTextPointsScale(n.zoomScaleTxt,y,x)),f.hideOutsideRangePoints(n.clipOnAxisFalseTraces,n),zt=y,Pt=x}}}}}function Vt(t,e,r){return t.fixedrange?0:nt&&K.xaHash[t._id]?e:it&&(rt?K.xaHash:K.yaHash)[t._id]?r:0}function Ut(t,e){return e?(t.range=t._r.slice(),w(t,e),qt(t,e)):0}function qt(t,e){return t._length*(1-e)*g[t.constraintoward||\"middle\"]}return T.length*S.length!=1&&V(gt,function(e){if(t._context.scrollZoom||t._fullLayout._enablescrollzoom){if(St(),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();var r=t.querySelector(\".plotly\");if(pt(),!(r.scrollHeight-r.clientHeight>10||r.scrollWidth-r.clientWidth>10)){clearTimeout(It);var n=-e.deltaY;if(isFinite(n)||(n=e.wheelDelta/10),isFinite(n)){var i,a=Math.exp(-Math.min(Math.max(n,-20),20)/200),o=Rt.draglayer.select(\".nsewdrag\").node().getBoundingClientRect(),l=(e.clientX-o.left)/o.width,c=(o.bottom-e.clientY)/o.height;if(nt){for(S||(l=.5),i=0;i<W.length;i++)u(W[i],l,a);Ot[2]*=a,Ot[0]+=Ot[2]*l*(1/a-1)}if(it){for(T||(c=.5),i=0;i<Y.length;i++)u(Y[i],c,a);Ot[3]*=a,Ot[1]+=Ot[3]*(1-c)*(1/a-1)}jt(Ot),Ft(T,S),It=setTimeout(function(){Ot=[0,0,$,J],Nt()},Dt),e.preventDefault()}else s.log(\"Did not find wheel motion attributes: \",e)}}function u(t,e,r){if(!t.fixedrange){var n=s.simpleMap(t.range,t.r2l),i=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(i+(e-i)*r)})}}}),gt},makeDragger:S,makeRectDragger:E,makeZoombox:O,makeCorners:I,updateZoombox:D,xyCorners:j,transitionZoombox:R,removeZoombox:B,showDoubleClickNotifier:F,attachWheelEventHandler:V}},{\"../../components/color\":567,\"../../components/dragelement\":589,\"../../components/drawing\":592,\"../../components/fx\":609,\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/clear_gl_canvases\":676,\"../../lib/setcursor\":714,\"../../lib/svg_text_utils\":718,\"../../registry\":825,\"../plots\":805,\"./axes\":742,\"./axis_ids\":745,\"./constants\":747,\"./scale_zoom\":758,\"./select\":759,d3:147,\"has-passive-events\":392,tinycolor2:511}],751:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/fx\"),a=t(\"../../components/dragelement\"),o=t(\"../../lib/setcursor\"),s=t(\"./dragbox\").makeDragBox,l=t(\"./constants\").DRAGGERSIZE;r.initInteractions=function(t){var e=t._fullLayout;if(t._context.staticPlot)n.select(t).selectAll(\".drag\").remove();else if(e._has(\"cartesian\")||e._has(\"splom\")){Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split(\"y\"),i=r.split(\"y\");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return e._plots[t].mainplot?1:-1}).forEach(function(r){var n=e._plots[r],o=n.xaxis,c=n.yaxis;if(!n.mainplot){var u=s(t,n,o._offset,c._offset,o._length,c._length,\"ns\",\"ew\");u.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&&i.hover(t,e,r)},i.hover(t,e,r),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=r},u.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,a.unhover(t,e))},t._context.showAxisDragHandles&&(s(t,n,o._offset-l,c._offset-l,l,l,\"n\",\"w\"),s(t,n,o._offset+o._length,c._offset-l,l,l,\"n\",\"e\"),s(t,n,o._offset-l,c._offset+c._length,l,l,\"s\",\"w\"),s(t,n,o._offset+o._length,c._offset+c._length,l,l,\"s\",\"e\"))}if(t._context.showAxisDragHandles){if(r===o._mainSubplot){var f=o._mainLinePosition;\"top\"===o.side&&(f-=l),s(t,n,o._offset+.1*o._length,f,.8*o._length,l,\"\",\"ew\"),s(t,n,o._offset,f,.1*o._length,l,\"\",\"w\"),s(t,n,o._offset+.9*o._length,f,.1*o._length,l,\"\",\"e\")}if(r===c._mainSubplot){var h=c._mainLinePosition;\"right\"!==c.side&&(h-=l),s(t,n,h,c._offset+.1*c._length,l,.8*c._length,\"ns\",\"\"),s(t,n,h,c._offset+.9*c._length,l,.1*c._length,\"s\",\"\"),s(t,n,h,c._offset,l,.1*c._length,\"n\",\"\")}}});var o=e._hoverlayer.node();o.onmousemove=function(r){r.target=t._fullLayout._lasthover,i.hover(t,r,e._hoversubplot)},o.onclick=function(e){e.target=t._fullLayout._lasthover,i.click(t,e)},o.onmousedown=function(e){t._fullLayout._lasthover.onmousedown(e)},r.updateFx(t)}},r.updateFx=function(t){var e=t._fullLayout,r=\"pan\"===e.dragmode?\"move\":\"crosshair\";o(e._draggers,r)}},{\"../../components/dragelement\":589,\"../../components/fx\":609,\"../../lib/setcursor\":714,\"./constants\":747,\"./dragbox\":750,d3:147}],752:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\");e.exports=function(t){return function(e,r){var a=e[t];if(Array.isArray(a))for(var o=n.subplotsRegistry.cartesian,s=o.idRegex,l=r._subplots,c=l.xaxis,u=l.yaxis,f=l.cartesian,h=r._has(\"cartesian\")||r._has(\"gl2d\"),p=0;p<a.length;p++){var d=a[p];if(i.isPlainObject(d)){var g=d.xref,m=d.yref,v=s.x.test(g),y=s.y.test(m);if(v||y){h||i.pushUnique(r._basePlotModules,o);var x=!1;v&&-1===c.indexOf(g)&&(c.push(g),x=!0),y&&-1===u.indexOf(m)&&(u.push(m),x=!0),x&&v&&y&&f.push(g+m)}}}}}},{\"../../lib\":693,\"../../registry\":825}],753:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../plots\"),s=t(\"../../components/drawing\"),l=t(\"../get_data\").getModuleCalcData,c=t(\"./axis_ids\"),u=t(\"./constants\"),f=t(\"../../constants/xmlns_namespaces\"),h=a.ensureSingle;function p(t,e,r){return a.ensureSingle(t,e,r,function(t){t.datum(r)})}function d(t,e,r,a,o){for(var c,f,h,p=u.traceLayerClasses,d=t._fullLayout,g=d._modules,m=[],v=[],y=0;y<g.length;y++){var x=(c=g[y]).name,b=i.modules[x].categories;if(b.svg){var _=c.layerName||x+\"layer\",w=c.plot;h=(f=l(r,w))[0],r=f[1],h.length&&m.push({i:p.indexOf(_),className:_,plotMethod:w,cdModule:h}),b.zoomScale&&v.push(\".\"+_)}}m.sort(function(t,e){return t.i-e.i});var k=e.plot.selectAll(\"g.mlayer\").data(m,function(t){return t.className});if(k.enter().append(\"g\").attr(\"class\",function(t){return t.className}).classed(\"mlayer\",!0),k.exit().remove(),k.order(),k.each(function(r){var i=n.select(this),l=r.className;r.plotMethod(t,e,r.cdModule,i,a,o),\"scatterlayer\"!==l&&\"barlayer\"!==l&&s.setClipUrl(i,e.layerClipId)}),d._has(\"scattergl\")&&(c=i.getModule(\"scattergl\"),h=l(r,c)[0],c.plot(t,e,h)),!t._context.staticPlot&&(e._hasClipOnAxisFalse&&(e.clipOnAxisFalseTraces=e.plot.selectAll(\".scatterlayer, .barlayer\").selectAll(\".trace\")),v.length)){var M=e.plot.selectAll(v.join(\",\")).selectAll(\".trace\");e.zoomScalePts=M.selectAll(\"path.point\"),e.zoomScaleTxt=M.selectAll(\".textpoint\")}}function g(t,e){var r=e.plotgroup,n=e.id,i=u.layerValue2layerClass[e.xaxis.layer],a=u.layerValue2layerClass[e.yaxis.layer],o=t._fullLayout._hasOnlyLargeSploms;if(e.mainplot){var s=e.mainplotinfo,l=s.plotgroup,f=n+\"-x\",d=n+\"-y\";e.gridlayer=s.gridlayer,e.zerolinelayer=s.zerolinelayer,h(s.overlinesBelow,\"path\",f),h(s.overlinesBelow,\"path\",d),h(s.overaxesBelow,\"g\",f),h(s.overaxesBelow,\"g\",d),e.plot=h(s.overplot,\"g\",n),h(s.overlinesAbove,\"path\",f),h(s.overlinesAbove,\"path\",d),h(s.overaxesAbove,\"g\",f),h(s.overaxesAbove,\"g\",d),e.xlines=l.select(\".overlines-\"+i).select(\".\"+f),e.ylines=l.select(\".overlines-\"+a).select(\".\"+d),e.xaxislayer=l.select(\".overaxes-\"+i).select(\".\"+f),e.yaxislayer=l.select(\".overaxes-\"+a).select(\".\"+d)}else if(o)e.plot=h(r,\"g\",\"plot\"),e.xlines=h(r,\"path\",\"xlines-above\"),e.ylines=h(r,\"path\",\"ylines-above\"),e.xaxislayer=h(r,\"g\",\"xaxislayer-above\"),e.yaxislayer=h(r,\"g\",\"yaxislayer-above\");else{var g=h(r,\"g\",\"layer-subplot\");e.shapelayer=h(g,\"g\",\"shapelayer\"),e.imagelayer=h(g,\"g\",\"imagelayer\"),e.gridlayer=h(r,\"g\",\"gridlayer\"),e.zerolinelayer=h(r,\"g\",\"zerolinelayer\"),h(r,\"path\",\"xlines-below\"),h(r,\"path\",\"ylines-below\"),e.overlinesBelow=h(r,\"g\",\"overlines-below\"),h(r,\"g\",\"xaxislayer-below\"),h(r,\"g\",\"yaxislayer-below\"),e.overaxesBelow=h(r,\"g\",\"overaxes-below\"),e.plot=h(r,\"g\",\"plot\"),e.overplot=h(r,\"g\",\"overplot\"),e.xlines=h(r,\"path\",\"xlines-above\"),e.ylines=h(r,\"path\",\"ylines-above\"),e.overlinesAbove=h(r,\"g\",\"overlines-above\"),h(r,\"g\",\"xaxislayer-above\"),h(r,\"g\",\"yaxislayer-above\"),e.overaxesAbove=h(r,\"g\",\"overaxes-above\"),e.xlines=r.select(\".xlines-\"+i),e.ylines=r.select(\".ylines-\"+a),e.xaxislayer=r.select(\".xaxislayer-\"+i),e.yaxislayer=r.select(\".yaxislayer-\"+a)}o||(p(e.gridlayer,\"g\",e.xaxis._id),p(e.gridlayer,\"g\",e.yaxis._id),e.gridlayer.selectAll(\"g\").map(function(t){return t[0]}).sort(c.idSort)),e.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),e.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0)}function m(t,e){if(t){var r={};for(var i in t.each(function(t){var i=t[0];n.select(this).remove(),v(i,e),r[i]=!0}),e._plots)for(var a=e._plots[i].overlays||[],o=0;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(\".trace\").remove()}}}function v(t,e){e._draggers.selectAll(\"g.\"+t).remove(),e._defs.select(\"#clip\"+e._uid+t+\"plot\").remove()}r.name=\"cartesian\",r.attr=[\"xaxis\",\"yaxis\"],r.idRoot=[\"x\",\"y\"],r.idRegex=u.idRegex,r.attrRegex=u.attrRegex,r.attributes=t(\"./attributes\"),r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.transitionAxes=t(\"./transition_axes\"),r.finalizeSubplots=function(t,e){var r,n,i,o=e._subplots,s=o.xaxis,l=o.yaxis,f=o.cartesian,h=f.concat(o.gl2d||[]),p={},d={};for(r=0;r<h.length;r++){var g=h[r].split(\"y\");p[g[0]]=1,d[\"y\"+g[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(i=(t[c.id2name(n)]||{}).anchor,u.idRegex.y.test(i)||(i=\"y\"),f.push(n+i),h.push(n+i),d[i]||(d[i]=1,a.pushUnique(l,i)));for(r=0;r<l.length;r++)d[i=l[r]]||(n=(t[c.id2name(i)]||{}).anchor,u.idRegex.x.test(n)||(n=\"x\"),f.push(n+i),h.push(n+i),p[n]||(p[n]=1,a.pushUnique(s,n)));if(!h.length){for(var m in n=\"\",i=\"\",t){if(u.attrRegex.test(m))\"x\"===m.charAt(0)?(!n||+m.substr(5)<+n.substr(5))&&(n=m):(!i||+m.substr(5)<+i.substr(5))&&(i=m)}n=n?c.name2id(n):\"x\",i=i?c.name2id(i):\"y\",s.push(n),l.push(i),f.push(n+i)}},r.plot=function(t,e,r,n){var i,a=t._fullLayout,o=a._subplots.cartesian,s=t.calcdata;if(null!==e){if(!Array.isArray(e))for(e=[],i=0;i<s.length;i++)e.push(i);for(i=0;i<o.length;i++){for(var l,c=o[i],u=a._plots[c],f=[],h=0;h<s.length;h++){var p=s[h],g=p[0].trace;g.xaxis+g.yaxis===c&&((-1!==e.indexOf(g.index)||g.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===c&&-1!==[\"tonextx\",\"tonexty\",\"tonext\"].indexOf(g.fill)&&-1===f.indexOf(l)&&f.push(l),f.push(p)),l=p)}d(t,u,f,r,n)}}},r.clean=function(t,e,r,n){var i,a,o,s=n._plots||{},l=e._plots||{},u=n._subplots||{};if(n._hasOnlyLargeSploms&&!e._hasOnlyLargeSploms)for(o in s)(i=s[o]).plotgroup&&i.plotgroup.remove();var f=n._has&&n._has(\"gl\"),h=e._has&&e._has(\"gl\");if(f&&!h)for(o in s)(i=s[o])._scene&&i._scene.destroy();if(u.xaxis&&u.yaxis){var p=c.listIds({_fullLayout:n});for(a=0;a<p.length;a++){var d=p[a];e[c.id2name(d)]||n._infolayer.selectAll(\".g-\"+d+\"title\").remove()}}var g=n._has&&n._has(\"cartesian\"),y=e._has&&e._has(\"cartesian\");if(g&&!y)m(n._cartesianlayer.selectAll(\".subplot\"),n),n._defs.selectAll(\".axesclip\").remove(),delete n._axisConstraintGroups;else if(u.cartesian)for(a=0;a<u.cartesian.length;a++){var x=u.cartesian[a];if(!l[x]){var b=\".\"+x+\",.\"+x+\"-x,.\"+x+\"-y\";n._cartesianlayer.selectAll(b).remove(),v(x,n)}}},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){var e,r,n,i,a,o,s=t._fullLayout,l=s._subplots.cartesian,c=l.length,u=[],f=[];for(e=0;e<c;e++){n=l[e],i=s._plots[n],a=i.xaxis,o=i.yaxis;var h=a._mainAxis,p=o._mainAxis,d=h._id+p._id,g=s._plots[d];i.overlays=[],d!==n&&g?(i.mainplot=d,i.mainplotinfo=g,f.push(n)):(i.mainplot=void 0,i.mainPlotinfo=void 0,u.push(n))}for(e=0;e<f.length;e++)n=f[e],(i=s._plots[n]).mainplotinfo.overlays.push(i);var m=u.concat(f),v=new Array(c);for(e=0;e<c;e++){n=m[e],i=s._plots[n],a=i.xaxis,o=i.yaxis;var y=[n,a.layer,o.layer,a.overlaying||\"\",o.overlaying||\"\"];for(r=0;r<i.overlays.length;r++)y.push(i.overlays[r].id);v[e]=y}return v}(t),i=e._cartesianlayer.selectAll(\".subplot\").data(r,String);i.enter().append(\"g\").attr(\"class\",function(t){return\"subplot \"+t[0]}),i.order(),i.exit().call(m,e),i.each(function(r){var i=r[0],a=e._plots[i];a.plotgroup=n.select(this),g(t,a),a.draglayer=h(e._draggers,\"g\",i)})},r.rangePlot=function(t,e,r){g(t,e),d(t,e,r),o.style(t)},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(\".svg-container\");r.filter(function(t,e){return e===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each(function(){var t=this.toDataURL(\"image/png\");e.append(\"svg:image\").attr({xmlns:f.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.width,height:this.height})})},r.updateFx=t(\"./graph_interact\").updateFx},{\"../../components/drawing\":592,\"../../constants/xmlns_namespaces\":671,\"../../lib\":693,\"../../registry\":825,\"../get_data\":778,\"../plots\":805,\"./attributes\":740,\"./axis_ids\":745,\"./constants\":747,\"./graph_interact\":751,\"./layout_attributes\":754,\"./layout_defaults\":755,\"./transition_axes\":764,d3:147}],754:[function(t,e,r){\"use strict\";var n=t(\"../font_attributes\"),i=t(\"../../components/color/attributes\"),a=t(\"../../components/drawing/attributes\").dash,o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/plot_template\").templatedArray,l=t(\"./constants\");e.exports={visible:{valType:\"boolean\",editType:\"plot\"},color:{valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},title:{valType:\"string\",editType:\"ticks\"},titlefont:n({editType:\"ticks\"}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"axrange\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1}}],editType:\"axrange\",impliedEdits:{autorange:!1}},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},scaleanchor:{valType:\"enumerated\",values:[l.idRegex.x.toString(),l.idRegex.y.toString()],editType:\"plot\"},scaleratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},constrain:{valType:\"enumerated\",values:[\"range\",\"domain\"],dflt:\"range\",editType:\"plot\"},constraintoward:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\",\"top\",\"middle\",\"bottom\"],editType:\"plot\"},tickmode:{valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"],editType:\"ticks\",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"ticks\"},tick0:{valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},dtick:{valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},tickvals:{valType:\"data_array\",editType:\"ticks\"},ticktext:{valType:\"data_array\",editType:\"ticks\"},ticks:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"],editType:\"ticks\"},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1,editType:\"ticks+layoutstyle\"},ticklen:{valType:\"number\",min:0,dflt:5,editType:\"ticks\"},tickwidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks\"},tickcolor:{valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},showticklabels:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},automargin:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},showspikes:{valType:\"boolean\",dflt:!1,editType:\"modebar\"},spikecolor:{valType:\"color\",dflt:null,editType:\"none\"},spikethickness:{valType:\"number\",dflt:3,editType:\"none\"},spikedash:o({},a,{dflt:\"dash\",editType:\"none\"}),spikemode:{valType:\"flaglist\",flags:[\"toaxis\",\"across\",\"marker\"],dflt:\"toaxis\",editType:\"none\"},spikesnap:{valType:\"enumerated\",values:[\"data\",\"cursor\"],dflt:\"data\",editType:\"none\"},tickfont:n({editType:\"ticks\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"ticks\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"ticks\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"ticks\"},tickformatstops:s(\"tickformatstop\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dtickrange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"ticks\"},{valType:\"any\",editType:\"ticks\"}],editType:\"ticks\"},value:{valType:\"string\",dflt:\"\",editType:\"ticks\"},editType:\"ticks\"}),hoverformat:{valType:\"string\",dflt:\"\",editType:\"none\"},showline:{valType:\"boolean\",dflt:!1,editType:\"ticks+layoutstyle\"},linecolor:{valType:\"color\",dflt:i.defaultLine,editType:\"layoutstyle\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks+layoutstyle\"},showgrid:{valType:\"boolean\",editType:\"ticks\"},gridcolor:{valType:\"color\",dflt:i.lightLine,editType:\"ticks\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks\"},zeroline:{valType:\"boolean\",editType:\"ticks\"},zerolinecolor:{valType:\"color\",dflt:i.defaultLine,editType:\"ticks\"},zerolinewidth:{valType:\"number\",dflt:1,editType:\"ticks\"},anchor:{valType:\"enumerated\",values:[\"free\",l.idRegex.x.toString(),l.idRegex.y.toString()],editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],editType:\"plot\"},overlaying:{valType:\"enumerated\",values:[\"free\",l.idRegex.x.toString(),l.idRegex.y.toString()],editType:\"plot\"},layer:{valType:\"enumerated\",values:[\"above traces\",\"below traces\"],dflt:\"above traces\",editType:\"plot\"},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1,editType:\"plot\"},{valType:\"number\",min:0,max:1,editType:\"plot\"}],dflt:[0,1],editType:\"plot\"},position:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\",_deprecated:{autotick:{valType:\"boolean\",editType:\"ticks\"}}}},{\"../../components/color/attributes\":566,\"../../components/drawing/attributes\":591,\"../../lib/extend\":682,\"../../plot_api/plot_template\":732,\"../font_attributes\":768,\"./constants\":747}],755:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../../plot_api/plot_template\"),o=t(\"../layout_attributes\"),s=t(\"./layout_attributes\"),l=t(\"./type_defaults\"),c=t(\"./axis_defaults\"),u=t(\"./constraint_defaults\"),f=t(\"./position_defaults\"),h=t(\"./axis_ids\"),p=h.id2name,d=h.name2id,g=t(\"../../registry\"),m=g.traceIs,v=g.getComponentMethod;function y(t,e,r){Array.isArray(t[e])?t[e].push(r):t[e]=[r]}e.exports=function(t,e,r){var h,g,x={},b={},_={},w={},k={};for(h=0;h<r.length;h++){var M=r[h];if(m(M,\"cartesian\")||m(M,\"gl2d\")){var A,T;if(M.xaxis)y(x,A=p(M.xaxis),M);else if(M.xaxes)for(g=0;g<M.xaxes.length;g++)y(x,p(M.xaxes[g]),M);if(M.yaxis)y(x,T=p(M.yaxis),M);else if(M.yaxes)for(g=0;g<M.yaxes.length;g++)y(x,p(M.yaxes[g]),M);if(m(M,\"carpet\")&&(\"carpet\"!==M.type||M._cheater)||A&&(_[A]=1),\"carpet\"===M.type&&M._cheater&&A&&(b[A]=1),m(M,\"2dMap\")&&(w[A]=1,w[T]=1),m(M,\"oriented\"))k[\"h\"===M.orientation?T:A]=1}}var S=e._subplots,E=S.xaxis,C=S.yaxis,L=n.simpleMap(E,p),z=n.simpleMap(C,p),P=L.concat(z),O=i.background;E.length&&C.length&&(O=n.coerce(t,e,o,\"plot_bgcolor\"));var I,D,R,B,F=i.combine(O,e.paper_bgcolor);function N(t,e){return n.coerce(R,B,s,t,e)}function j(t,e){return n.coerce2(R,B,s,t,e)}function V(t){return\"x\"===t?C:E}var U={x:V(\"x\"),y:V(\"y\")};function q(e,r){for(var n=\"x\"===e?L:z,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(d(o))}return i}for(h=0;h<P.length;h++){D=(I=P[h]).charAt(0),n.isPlainObject(t[I])||(t[I]={}),R=t[I],B=a.newContainer(e,I,D+\"axis\");var H=x[I]||[];B._traceIndices=H.map(function(t){return t._expandedIndex}),B._annIndices=[],B._shapeIndices=[],B._name=I;var G=B._id=d(I),W=q(D,I),Y={letter:D,font:e.font,outerTicks:w[I],showGrid:!k[I],data:H,bgColor:F,calendar:e.calendar,automargin:!0,cheateronly:\"x\"===D&&b[I]&&!_[I],splomStash:((e._splomAxes||{})[D]||{})[G]};l(R,B,N,Y),c(R,B,N,Y,e);var X=j(\"spikecolor\"),Z=j(\"spikethickness\"),$=j(\"spikedash\"),J=j(\"spikemode\"),K=j(\"spikesnap\");N(\"showspikes\",!!(X||Z||$||J||K))||(delete B.spikecolor,delete B.spikethickness,delete B.spikedash,delete B.spikemode,delete B.spikesnap);var Q={letter:D,counterAxes:U[D],overlayableAxes:W,grid:e.grid};f(R,B,N,Q),B._input=R}var tt=v(\"rangeslider\",\"handleDefaults\"),et=v(\"rangeselector\",\"handleDefaults\");for(h=0;h<L.length;h++)I=L[h],R=t[I],B=e[I],tt(t,e,I),\"date\"===B.type&&et(R,B,e,z,B.calendar),N(\"fixedrange\");for(h=0;h<z.length;h++){I=z[h],R=t[I],B=e[I];var rt=e[p(B.anchor)];N(\"fixedrange\",rt&&rt.rangeslider&&rt.rangeslider.visible)}e._axisConstraintGroups=[];var nt=U.x.concat(U.y);for(h=0;h<P.length;h++)D=(I=P[h]).charAt(0),R=t[I],B=e[I],u(R,B,N,nt,e)}},{\"../../components/color\":567,\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../../registry\":825,\"../layout_attributes\":796,\"./axis_defaults\":744,\"./axis_ids\":745,\"./constraint_defaults\":748,\"./layout_attributes\":754,\"./position_defaults\":757,\"./type_defaults\":765}],756:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\").mix,i=t(\"../../components/color/attributes\").lightFraction,a=t(\"../../lib\");e.exports=function(t,e,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return a.coerce2(t,e,o.attributes,r,n)}var c=l(\"linecolor\",s),u=l(\"linewidth\");r(\"showline\",o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var f=l(\"gridcolor\",n(s,o.bgColor,o.blend||i).toRgbString()),h=l(\"gridwidth\");if(r(\"showgrid\",o.showGrid||!!f||!!h)||(delete e.gridcolor,delete e.gridwidth),!o.noZeroLine){var p=l(\"zerolinecolor\",s),d=l(\"zerolinewidth\");r(\"zeroline\",o.showGrid||!!p||!!d)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{\"../../components/color/attributes\":566,\"../../lib\":693,tinycolor2:511}],757:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\");e.exports=function(t,e,r,a){var o,s,l,c,u=a.counterAxes||[],f=a.overlayableAxes||[],h=a.letter,p=a.grid;p&&(s=p._domains[h][p._axisMap[e._id]],o=p._anchors[e._id],s&&(l=p[h+\"side\"].split(\" \")[0],c=p.domain[h][\"right\"===l||\"top\"===l?1:0])),s=s||[0,1],o=o||(n(t.position)?\"free\":u[0]||\"free\"),l=l||(\"x\"===h?\"bottom\":\"left\"),c=c||0,\"free\"===i.coerce(t,e,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(u),dflt:o}},\"anchor\")&&r(\"position\",c),i.coerce(t,e,{side:{valType:\"enumerated\",values:\"x\"===h?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:l}},\"side\");var d=!1;if(f.length&&(d=i.coerce(t,e,{overlaying:{valType:\"enumerated\",values:[!1].concat(f),dflt:!1}},\"overlaying\")),!d){var g=r(\"domain\",s);g[0]>g[1]-.01&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s)}return r(\"layer\"),e}},{\"../../lib\":693,\"fast-isnumeric\":213}],758:[function(t,e,r){\"use strict\";var n=t(\"../../constants/alignment\").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||\"center\"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)]}},{\"../../constants/alignment\":665}],759:[function(t,e,r){\"use strict\";var n=t(\"polybooljs\"),i=t(\"../../registry\"),a=t(\"../../components/color\"),o=t(\"../../components/fx\"),s=t(\"../../lib/polygon\"),l=t(\"../../lib/throttle\"),c=t(\"../../components/fx/helpers\").makeEventData,u=t(\"./axis_ids\").getFromId,f=t(\"../sort_modules\").sortModules,h=t(\"./constants\"),p=h.MINSELECT,d=s.filter,g=s.tester;function m(t){return t._id}function v(t,e,r,n,i,a,o){var s,l,c,u,f,h,p,d,g,m=e._hoverdata,v=e._fullLayout.clickmode.indexOf(\"event\")>-1,y=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(m)){_(t,e,a);var x=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n<e.length;n++)if(r=e[n],i.fullData._expandedIndex===r.cd[0].trace._expandedIndex){if(!0===i.hoverOnBox)break;void 0!==i.pointNumber?a=i.pointNumber:void 0!==i.binNumber&&(a=i.binNumber,o=i.pointNumbers);break}return{pointNumber:a,pointNumbers:o,searchInfo:r}}(m,s=k(e,r,n,i));if(x.pointNumbers.length>0?function(t,e){var r,n,i,a=[];for(i=0;i<t.length;i++)(r=t[i]).cd[0].trace.selectedpoints&&r.cd[0].trace.selectedpoints.length>0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i<e.pointNumbers.length;i++)if(n.selectedpoints.indexOf(e.pointNumbers[i])<0)return!1;return!0}return!1}(s,x):function(t){var e,r,n,i=0;for(n=0;n<t.length;n++)if(e=t[n],(r=e.cd[0].trace).selectedpoints){if(r.selectedpoints.length>1)return!1;if((i+=r.selectedpoints.length)>1)return!1}return 1===i}(s)&&(h=A(x))){for(o&&o.remove(),g=0;g<s.length;g++)(l=s[g])._module.selectPoints(l,!1);T(e,s),w(a),v&&e.emit(\"plotly_deselect\",null)}else{for(p=t.shiftKey&&(void 0!==h?h:A(x)),c=function(t,e,r){return{pointNumber:t,searchInfo:e,subtract:r}}(x.pointNumber,x.searchInfo,p),u=b(a.selectionDefs.concat([c])),g=0;g<s.length;g++)if(f=S(s[g]._module.selectPoints(s[g],u),s[g]),y.length)for(var E=0;E<f.length;E++)y.push(f[E]);else y=f;T(e,s,d={points:y}),c&&a&&a.selectionDefs.push(c),o&&M(a.mergedPolygons,o),v&&e.emit(\"plotly_selected\",d)}}}function y(t){return\"pointNumber\"in t&&\"searchInfo\"in t}function x(t){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(e,r,n,i){var a=t.searchInfo.cd[0].trace._expandedIndex;return i.cd[0].trace._expandedIndex===a&&n===t.pointNumber},isRect:!1,degenerate:!1,subtract:t.subtract}}function b(t){for(var e=[],r=y(t[0])?0:t[0][0][0],n=r,i=y(t[0])?0:t[0][0][1],a=i,o=0;o<t.length;o++)if(y(t[o]))e.push(x(t[o]));else{var l=s.tester(t[o]);l.subtract=t[o].subtract,e.push(l),r=Math.min(r,l.xmin),n=Math.max(n,l.xmax),i=Math.min(i,l.ymin),a=Math.max(a,l.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:function(t,r,n,i){for(var a=!1,o=0;o<e.length;o++)e[o].contains(t,r,n,i)&&(a=!1===e[o].subtract);return a},isRect:!1,degenerate:!1}}function _(t,e,r){var n=e._fullLayout,i=n._zoomlayer,a=r.plotinfo,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===a.id,s=t.shiftKey||t.altKey;o&&s&&a.selection&&a.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=a.selection.selectionDefs,r.mergedPolygons=a.selection.mergedPolygons):s&&a.selection||w(r),o||(E(i),n._lastSelectedSubplot=a.id)}function w(t){var e=t.plotinfo;e.selection={},e.selection.selectionDefs=t.selectionDefs=[],e.selection.mergedPolygons=t.mergedPolygons=[]}function k(t,e,r,n){var i,a,o,s=[],l=e.map(m),c=r.map(m);for(o=0;o<t.calcdata.length;o++)if(!0===(a=(i=t.calcdata[o])[0].trace).visible&&a._module&&a._module.selectPoints)if(!n||a.subplot!==n&&a.geo!==n)if(\"splom\"===a.type&&a._xaxes[l[0]]&&a._yaxes[c[0]])s.push(f(a._module,i,e[0],r[0]));else{if(-1===l.indexOf(a.xaxis))continue;if(-1===c.indexOf(a.yaxis))continue;s.push(f(a._module,i,u(t,a.xaxis),u(t,a.yaxis)))}else s.push(f(a._module,i,e[0],r[0]));return s;function f(t,e,r,n){return{_module:t,cd:e,xaxis:r,yaxis:n}}}function M(t,e){var r,n,i=[];for(r=0;r<t.length;r++){var a=t[r];i.push(a.join(\"L\")+\"L\"+a[0])}n=t.length>0?\"M\"+i.join(\"M\")+\"Z\":\"M0,0Z\",e.attr(\"d\",n)}function A(t){var e=t.searchInfo.cd[0].trace,r=t.pointNumber,n=t.pointNumbers,i=n.length>0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function T(t,e,r){var n,a,o,s;if(r){var l=r.points||[];for(n=0;n<e.length;n++)(s=e[n].cd[0].trace).selectedpoints=[],s._input.selectedpoints=[];for(n=0;n<l.length;n++){var c=l[n],u=c.data,h=c.fullData;c.pointIndices?([].push.apply(u.selectedpoints,c.pointIndices),[].push.apply(h.selectedpoints,c.pointIndices)):(u.selectedpoints.push(c.pointIndex),h.selectedpoints.push(c.pointIndex))}}else for(n=0;n<e.length;n++)delete(s=e[n].cd[0].trace).selectedpoints,delete s._input.selectedpoints;var p={};for(n=0;n<e.length;n++){var d=(o=e[n])._module.name;p[d]?p[d].push(o):p[d]=[o]}var g=Object.keys(p).sort(f);for(n=0;n<g.length;n++){var m=p[g[n]],v=m.length,y=m[0],x=y.cd[0].trace,b=y._module,_=b.styleOnSelect||b.style;if(i.traceIs(x,\"regl\")){var w=new Array(v);for(a=0;a<v;a++)w[a]=m[a].cd;_(t,w)}else for(a=0;a<v;a++)_(t,m[a].cd)}}function S(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i<t.length;i++)t[i]=c(t[i],n,r);return t}function E(t){t.selectAll(\".select-outline\").remove()}e.exports={prepSelect:function(t,e,r,i,s){var c,u,f,m,y,x,A,E=i.gd,C=E._fullLayout,L=C._zoomlayer,z=i.element.getBoundingClientRect(),P=i.plotinfo,O=P.xaxis._offset,I=P.yaxis._offset,D=e-z.left,R=r-z.top,B=D,F=R,N=\"M\"+D+\",\"+R,j=i.xaxes[0]._length,V=i.yaxes[0]._length,U=i.xaxes.concat(i.yaxes),q=t.altKey;_(t,E,i),\"lasso\"===s&&(c=d([[D,R]],h.BENDPX));var H=L.selectAll(\"path.select-outline-\"+P.id).data([1,2]);H.enter().append(\"path\").attr(\"class\",function(t){return\"select-outline select-outline-\"+t+\" select-outline-\"+P.id}).attr(\"transform\",\"translate(\"+O+\", \"+I+\")\").attr(\"d\",N+\"Z\");var G,W=L.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:a.background,stroke:a.defaultLine,\"stroke-width\":1}).attr(\"transform\",\"translate(\"+O+\", \"+I+\")\").attr(\"d\",\"M0,0Z\"),Y=C._uid+h.SELECTID,X=[],Z=k(E,i.xaxes,i.yaxes,i.subplot);function $(t){var e=\"y\"===t._id.charAt(0)?1:0;return function(r){return t.p2d(r[e])}}function J(t,e){return t-e}G=P.fillRangeItems?P.fillRangeItems:\"select\"===s?function(t,e){var r=t.range={};for(y=0;y<U.length;y++){var n=U[y],i=n._id.charAt(0);r[n._id]=[n.p2d(e[i+\"min\"]),n.p2d(e[i+\"max\"])].sort(J)}}:function(t,e,r){var n=t.lassoPoints={};for(y=0;y<U.length;y++){var i=U[y];n[i._id]=r.filtered.map($(i))}},i.moveFn=function(t,e){B=Math.max(0,Math.min(j,t+D)),F=Math.max(0,Math.min(V,e+R));var r=Math.abs(B-D),a=Math.abs(F-R);if(\"select\"===s){var o=C.selectdirection;\"h\"===(o=\"any\"===C.selectdirection?a<Math.min(.6*r,p)?\"h\":r<Math.min(.6*a,p)?\"v\":\"d\":C.selectdirection)?((m=[[D,0],[D,V],[B,V],[B,0]]).xmin=Math.min(D,B),m.xmax=Math.max(D,B),m.ymin=Math.min(0,V),m.ymax=Math.max(0,V),W.attr(\"d\",\"M\"+m.xmin+\",\"+(R-p)+\"h-4v\"+2*p+\"h4ZM\"+(m.xmax-1)+\",\"+(R-p)+\"h4v\"+2*p+\"h-4Z\")):\"v\"===o?((m=[[0,R],[0,F],[j,F],[j,R]]).xmin=Math.min(0,j),m.xmax=Math.max(0,j),m.ymin=Math.min(R,F),m.ymax=Math.max(R,F),W.attr(\"d\",\"M\"+(D-p)+\",\"+m.ymin+\"v-4h\"+2*p+\"v4ZM\"+(D-p)+\",\"+(m.ymax-1)+\"v4h\"+2*p+\"v-4Z\")):\"d\"===o&&((m=[[D,R],[D,F],[B,F],[B,R]]).xmin=Math.min(D,B),m.xmax=Math.max(D,B),m.ymin=Math.min(R,F),m.ymax=Math.max(R,F),W.attr(\"d\",\"M0,0Z\"))}else\"lasso\"===s&&(c.addPt([B,F]),m=c.filtered);i.selectionDefs&&i.selectionDefs.length?(f=function(t,e,r){return r?n.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions:n.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(i.mergedPolygons,m,q),m.subtract=q,u=b(i.selectionDefs.concat([m]))):(f=[m],u=g(m)),M(f,H),l.throttle(Y,h.SELECTDELAY,function(){X=[];var t,e,r=[];for(y=0;y<Z.length;y++)if(e=(x=Z[y])._module.selectPoints(x,u),r.push(e),t=S(e,x),X.length)for(var n=0;n<t.length;n++)X.push(t[n]);else X=t;T(E,Z,A={points:X}),G(A,m,c),i.gd.emit(\"plotly_selecting\",A)})},i.clickFn=function(t,e){var r=C.clickmode;W.remove(),l.done(Y).then(function(){if(l.clear(Y),2===t){for(H.remove(),y=0;y<Z.length;y++)(x=Z[y])._module.selectPoints(x,!1);T(E,Z),w(i),E.emit(\"plotly_deselect\",null)}else r.indexOf(\"select\")>-1&&v(e,E,i.xaxes,i.yaxes,i.subplot,i,H),\"event\"===r&&E.emit(\"plotly_selected\",void 0);o.click(E,e)})},i.doneFn=function(){W.remove(),l.done(Y).then(function(){l.clear(Y),i.gd.emit(\"plotly_selected\",A),m&&i.selectionDefs&&(m.subtract=q,i.selectionDefs.push(m),i.mergedPolygons.length=0,[].push.apply(i.mergedPolygons,f))})}},clearSelect:E,selectOnClick:v}},{\"../../components/color\":567,\"../../components/fx\":609,\"../../components/fx/helpers\":606,\"../../lib/polygon\":706,\"../../lib/throttle\":719,\"../../registry\":825,\"../sort_modules\":819,\"./axis_ids\":745,\"./constants\":747,polybooljs:453}],760:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=a.cleanNumber,s=a.ms2DateTime,l=a.dateTime2ms,c=a.ensureNumber,u=t(\"../../constants/numerical\"),f=u.FP_SAFE,h=u.BADNUM,p=u.LOG_CLIP,d=t(\"./constants\"),g=t(\"./axis_ids\");function m(t){return Math.pow(10,t)}e.exports=function(t,e){e=e||{};var r=(t._id||\"x\").charAt(0);function u(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*p*Math.abs(n-i))}return h}function v(e,r,n){var o=l(e,n||t.calendar);if(o===h){if(!i(e))return h;e=+e;var s=Math.floor(10*a.mod(e+.05,1)),c=Math.round(e-s/10);o=l(new Date(c))+s/10}return o}function y(e,r,n){return s(e,r,n||t.calendar)}function x(e){return t._categories[Math.round(e)]}function b(e){if(t._categoriesMap){var r=t._categoriesMap[e];if(void 0!==r)return r}if(i(e))return+e}function _(e){return i(e)?n.round(t._b+t._m*e,2):h}function w(e){return(e-t._b)/t._m}t.c2l=\"log\"===t.type?u:c,t.l2c=\"log\"===t.type?m:c,t.l2p=_,t.p2l=w,t.c2p=\"log\"===t.type?function(t,e){return _(u(t,e))}:_,t.p2c=\"log\"===t.type?function(t){return m(w(t))}:w,-1!==[\"linear\",\"-\"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(o(e))},t.p2d=t.p2r=w,t.cleanPos=c):\"log\"===t.type?(t.d2r=t.d2l=function(t,e){return u(o(t),e)},t.r2d=t.r2c=function(t){return m(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=u,t.l2d=m,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return m(w(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=w,t.cleanPos=c):\"date\"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=v,t.c2d=t.c2r=t.l2d=t.l2r=y,t.d2p=t.r2p=function(e,r,n){return t.l2p(v(e,0,n))},t.p2d=t.p2r=function(t,e,r){return y(w(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,h,t.calendar)}):\"category\"===t.type&&(t.d2c=t.d2l=function(e){if(null!=e){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push(e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return h},t.r2d=t.c2d=t.l2d=x,t.d2r=t.d2l_noadd=b,t.r2c=function(e){var r=b(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=b,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return x(w(t))},t.r2p=t.d2p,t.p2r=w,t.cleanPos=function(t){return\"string\"==typeof t&&\"\"!==t?t:c(t)}),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.cleanRange=function(e,n){n||(n={}),e||(e=\"range\");var o,s,l=a.nestedProperty(t,e).get();if(s=(s=\"date\"===t.type?a.dfltRange(t.calendar):\"y\"===r?d.DFLTRANGEY:n.dfltRange||d.DFLTRANGEX).slice(),l&&2===l.length)for(\"date\"===t.type&&(l[0]=a.cleanDate(l[0],h,t.calendar),l[1]=a.cleanDate(l[1],h,t.calendar)),o=0;o<2;o++)if(\"date\"===t.type){if(!a.isDateTime(l[o],t.calendar)){t[e]=s;break}if(t.r2l(l[0])===t.r2l(l[1])){var c=a.constrain(t.r2l(l[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);l[0]=t.l2r(c-1e3),l[1]=t.l2r(c+1e3);break}}else{if(!i(l[o])){if(!i(l[1-o])){t[e]=s;break}l[o]=l[1-o]*(o?10:.1)}if(l[o]<-f?l[o]=-f:l[o]>f&&(l[o]=f),l[0]===l[1]){var u=Math.max(1,Math.abs(1e-6*l[0]));l[0]-=u,l[1]+=u}}else a.nestedProperty(t,e).set(s)},t.setScale=function(n){var i=e._size;if(t._categories||(t._categories=[]),t._categoriesMap||(t._categoriesMap={}),t.overlaying){var a=g.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var o=n&&t._r?\"_r\":\"range\",s=t.calendar;t.cleanRange(o);var l=t.r2l(t[o][0],s),c=t.r2l(t[o][1],s);if(\"y\"===r?(t._offset=i.t+(1-t.domain[1])*i.h,t._length=i.h*(t.domain[1]-t.domain[0]),t._m=t._length/(l-c),t._b=-t._m*c):(t._offset=i.l+t.domain[0]*i.w,t._length=i.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-l),t._b=-t._m*l),!isFinite(t._m)||!isFinite(t._b))throw e._replotting=!1,new Error(\"Something went wrong with axis scaling\")},t.makeCalcdata=function(e,r){var n,i,o,s,l=t.type,c=\"date\"===l&&e[r+\"calendar\"];if(r in e){if(n=e[r],s=e._length||n.length,a.isTypedArray(n)&&(\"linear\"===l||\"log\"===l)){if(s===n.length)return n;if(n.subarray)return n.subarray(0,s)}for(i=new Array(s),o=0;o<s;o++)i[o]=t.d2c(n[o],0,c)}else{var u=r+\"0\"in e?t.d2c(e[r+\"0\"],0,c):0,f=e[\"d\"+r]?Number(e[\"d\"+r]):1;for(n=e[{x:\"y\",y:\"x\"}[r]],s=e._length||n.length,i=new Array(s),o=0;o<s;o++)i[o]=u+o*f}return i},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&i(t.r2l(e[0]))&&i(t.r2l(e[1]))},t.isPtWithinRange=function(e,n){var i=t.c2l(e[r],null,n),a=t.r2l(t.range[0]),o=t.r2l(t.range[1]);return a<o?a<=i&&i<=o:o<=i&&i<=a},t.clearCalc=function(){t._categories=(t._initialCategories||[]).slice(),t._categoriesMap={};for(var e=0;e<t._categories.length;e++)t._categoriesMap[t._categories[e]]=e};var k=e._d3locale;\"date\"===t.type&&(t._dateFormat=k?k.timeFormat.utc:n.time.format.utc,t._extraFormat=e._extraFormat),t._separators=e.separators,t._numFormat=k?k.numberFormat:n.format,delete t._minDtick,delete t._forceTick0}},{\"../../constants/numerical\":670,\"../../lib\":693,\"./axis_ids\":745,\"./constants\":747,d3:147,\"fast-isnumeric\":213}],761:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\"),a=t(\"../array_container_defaults\");function o(t,e){function r(r,a){return n.coerce(t,e,i.tickformatstops,r,a)}r(\"enabled\")&&(r(\"dtickrange\"),r(\"value\"))}e.exports=function(t,e,r,s,l){var c=function(t){var e=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"].filter(function(e){return void 0!==t[e]});if(e.every(function(r){return t[r]===t[e[0]]})||1===e.length)return t[e[0]]}(t);if(r(\"tickprefix\")&&r(\"showtickprefix\",c),r(\"ticksuffix\",l.tickSuffixDflt)&&r(\"showticksuffix\",c),r(\"showticklabels\")){var u=l.font||{},f=e.color,h=f&&f!==i.color.dflt?f:u.color;if(n.coerceFont(r,\"tickfont\",{family:u.family,size:u.size,color:h}),r(\"tickangle\"),\"category\"!==s){var p=r(\"tickformat\"),d=t.tickformatstops;Array.isArray(d)&&d.length&&a(t,e,{name:\"tickformatstops\",inclusionAttr:\"enabled\",handleItemDefaults:o}),p||\"date\"===s||(r(\"showexponent\",c),r(\"exponentformat\"),r(\"separatethousands\"))}}}},{\"../../lib\":693,\"../array_container_defaults\":738,\"./layout_attributes\":754}],762:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r,a){var o=n.coerce2(t,e,i,\"ticklen\"),s=n.coerce2(t,e,i,\"tickwidth\"),l=n.coerce2(t,e,i,\"tickcolor\",e.color);r(\"ticks\",a.outerTicks||o||s||l?\"outside\":\"\")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{\"../../lib\":693,\"./layout_attributes\":754}],763:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").ONEDAY;e.exports=function(t,e,r,o){var s;\"array\"!==t.tickmode||\"log\"!==o&&\"date\"!==o?s=r(\"tickmode\",Array.isArray(t.tickvals)?\"array\":t.dtick?\"linear\":\"auto\"):s=e.tickmode=\"auto\";if(\"auto\"===s)r(\"nticks\");else if(\"linear\"===s){var l=\"date\"===o?a:1,c=r(\"dtick\",l);if(n(c))e.dtick=c>0?Number(c):l;else if(\"string\"!=typeof c)e.dtick=l;else{var u=c.charAt(0),f=c.substr(1);((f=n(f)?Number(f):0)<=0||!(\"date\"===o&&\"M\"===u&&f===Math.round(f)||\"log\"===o&&\"L\"===u||\"log\"===o&&\"D\"===u&&(1===f||2===f)))&&(e.dtick=l)}var h=\"date\"===o?i.dateTick0(e.calendar):0,p=r(\"tick0\",h);\"date\"===o?e.tick0=i.cleanDate(p,h):n(p)&&\"D1\"!==c&&\"D2\"!==c?e.tick0=Number(p):e.tick0=h}else{void 0===r(\"tickvals\")?e.tickmode=\"auto\":r(\"ticktext\")}}},{\"../../constants/numerical\":670,\"../../lib\":693,\"fast-isnumeric\":213}],764:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../components/drawing\"),o=t(\"./axes\"),s=t(\"./constants\").attrRegex;e.exports=function(t,e,r,l){var c=t._fullLayout,u=[];var f,h,p,d,g=function(t){var e,r,n,i,a={};for(e in t)if((r=e.split(\".\"))[0].match(s)){var o=e.charAt(0),l=r[0];if(n=c[l],i={},Array.isArray(t[e])?i.to=t[e].slice(0):Array.isArray(t[e].range)&&(i.to=t[e].range.slice(0)),!i.to)continue;i.axisName=l,i.length=n._length,u.push(o),a[o]=i}return a}(e),m=Object.keys(g),v=function(t,e,r){var n,i,a,o=t._plots,s=[];for(n in o){var l=o[n];if(-1===s.indexOf(l)){var c=l.xaxis._id,u=l.yaxis._id,f=l.xaxis.range,h=l.yaxis.range;l.xaxis._r=l.xaxis.range.slice(),l.yaxis._r=l.yaxis.range.slice(),i=r[c]?r[c].to:f,a=r[u]?r[u].to:h,f[0]===i[0]&&f[1]===i[1]&&h[0]===a[0]&&h[1]===a[1]||-1===e.indexOf(c)&&-1===e.indexOf(u)||s.push(l)}}return s}(c,m,g);if(!v.length)return function(){function e(e,r,n){for(var i=0;i<e.length;i++)if(r(t,i),n)return}e(c.annotations||[],i.getComponentMethod(\"annotations\",\"drawOne\")),e(c.shapes||[],i.getComponentMethod(\"shapes\",\"drawOne\")),e(c.images||[],i.getComponentMethod(\"images\",\"draw\"),!0)}(),!1;function y(t){var e=t.xaxis,r=t.yaxis;c._defs.select(\"#\"+t.clipId+\"> rect\").call(a.setTranslate,0,0).call(a.setScale,1,1),t.plot.call(a.setTranslate,e._offset,r._offset).call(a.setScale,1,1);var n=t.plot.selectAll(\".scatterlayer .trace\");n.selectAll(\".point\").call(a.setPointGroupScale,1,1),n.selectAll(\".textpoint\").call(a.setTextPointsScale,1,1),n.call(a.hideOutsideRangePoints,t)}function x(e,r){var n,s,l,u=g[e.xaxis._id],f=g[e.yaxis._id],h=[];if(u){s=(n=t._fullLayout[u.axisName])._r,l=u.to,h[0]=(s[0]*(1-r)+r*l[0]-s[0])/(s[1]-s[0])*e.xaxis._length;var p=s[1]-s[0],d=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[2]=e.xaxis._length*(1-r+r*d/p)}else h[0]=0,h[2]=e.xaxis._length;if(f){s=(n=t._fullLayout[f.axisName])._r,l=f.to,h[1]=(s[1]*(1-r)+r*l[1]-s[1])/(s[0]-s[1])*e.yaxis._length;var m=s[1]-s[0],v=l[1]-l[0];n.range[0]=s[0]*(1-r)+r*l[0],n.range[1]=s[1]*(1-r)+r*l[1],h[3]=e.yaxis._length*(1-r+r*v/m)}else h[1]=0,h[3]=e.yaxis._length;!function(e,r){var n,a=[];for(a=[e._id,r._id],n=0;n<a.length;n++)o.doTicksSingle(t,a[n],!0);function s(e,r,i){for(n=0;n<e.length;n++){var o=e[n];if(-1===a.indexOf(o.xref)&&-1===a.indexOf(o.yref)||r(t,n),i)return}}s(c.annotations||[],i.getComponentMethod(\"annotations\",\"drawOne\")),s(c.shapes||[],i.getComponentMethod(\"shapes\",\"drawOne\")),s(c.images||[],i.getComponentMethod(\"images\",\"draw\"),!0)}(e.xaxis,e.yaxis);var y=e.xaxis,x=e.yaxis,b=!!u,_=!!f,w=b?y._length/h[2]:1,k=_?x._length/h[3]:1,M=b?h[0]:0,A=_?h[1]:0,T=b?h[0]/h[2]*y._length:0,S=_?h[1]/h[3]*x._length:0,E=y._offset-T,C=x._offset-S;e.clipRect.call(a.setTranslate,M,A).call(a.setScale,1/w,1/k),e.plot.call(a.setTranslate,E,C).call(a.setScale,w,k),a.setPointGroupScale(e.zoomScalePts,1/w,1/k),a.setTextPointsScale(e.zoomScaleTxt,1/w,1/k)}l&&(f=l());var b=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(d),d=null,function(){for(var e={},r=0;r<m.length;r++){var n=t._fullLayout[m[r]+\"axis\"];e[n._name+\".range[0]\"]=n.range[0],e[n._name+\".range[1]\"]=n.range[1],n.range=n._r.slice()}return i.call(\"relayout\",t,e).then(function(){for(var t=0;t<v.length;t++)y(v[t])})}()}),h=Date.now(),d=window.requestAnimationFrame(function e(){p=Date.now();for(var n=Math.min(1,(p-h)/r.duration),a=b(n),o=0;o<v.length;o++)x(v[o],a);p-h>r.duration?(function(){for(var e={},r=0;r<m.length;r++){var n=t._fullLayout[g[m[r]].axisName],a=g[m[r]].to;e[n._name+\".range[0]\"]=a[0],e[n._name+\".range[1]\"]=a[1],n.range=a.slice()}f&&f(),i.call(\"relayout\",t,e).then(function(){for(var t=0;t<v.length;t++)y(v[t])})}(),d=window.cancelAnimationFrame(e)):d=window.requestAnimationFrame(e)}),Promise.resolve()}},{\"../../components/drawing\":592,\"../../registry\":825,\"./axes\":742,\"./constants\":747,d3:147}],765:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"./axis_autotype\");function a(t){return{v:\"x\",h:\"y\"}[t.orientation||\"v\"]}function o(t,e){var r=a(t),i=n.traceIs(t,\"box-violin\"),o=n.traceIs(t._fullInput||{},\"candlestick\");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+\"0\"]}e.exports=function(t,e,r,s){\"-\"===r(\"type\",(s.splomStash||{}).type)&&(!function(t,e){if(\"-\"!==t.type)return;var r=t._id,s=r.charAt(0);-1!==r.indexOf(\"scene\")&&(r=s);var l=function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if(\"splom\"===i.type&&i._length>0&&(i[\"_\"+r+\"axes\"]||{})[e])return i;if((i[r+\"axis\"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}(e,r,s);if(!l)return;if(\"histogram\"===l.type&&s==={v:\"y\",h:\"x\"}[l.orientation||\"v\"])return void(t.type=\"linear\");var c,u=s+\"calendar\",f=l[u];if(o(l,s)){var h=a(l),p=[];for(c=0;c<e.length;c++){var d=e[c];n.traceIs(d,\"box-violin\")&&(d[s+\"axis\"]||s)===r&&(void 0!==d[h]?p.push(d[h][0]):void 0!==d.name?p.push(d.name):p.push(\"text\"),d[u]!==f&&(f=void 0))}t.type=i(p,f)}else if(\"splom\"===l.type){var g=l.dimensions,m=l._diag;for(c=0;c<g.length;c++){var v=g[c];if(v.visible&&(m[c][0]===r||m[c][1]===r)){t.type=i(v.values,f);break}}}else t.type=i(l[s]||[l[s+\"0\"]],f)}(e,s.data),\"-\"===e.type?e.type=\"linear\":t.type=e.type)}},{\"../../registry\":825,\"./axis_autotype\":743}],766:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),i=t(\"../lib\");function a(t,e,r){var n,a,o,s=!1;if(\"data\"===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if(\"layout\"!==e.type)return!1;n=t._fullLayout}return a=i.nestedProperty(n,e.prop).get(),(o=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&o[e.prop]!==a&&(s=!0),o[e.prop]=a,{changed:s,value:a}}function o(t,e){var r=[],n=e[0],a={};if(\"string\"==typeof n)a[n]=e[1];else{if(!i.isPlainObject(n))return r;a=n}return l(a,function(t,e,n){r.push({type:\"layout\",prop:t,value:n})},\"\",0),r}function s(t,e){var r,n,a,o,s=[];if(n=e[0],a=e[1],r=e[2],o={},\"string\"==typeof n)o[n]=a;else{if(!i.isPlainObject(n))return s;o=n,void 0===r&&(r=a)}return void 0===r&&(r=null),l(o,function(e,n,i){var a;if(Array.isArray(i)){var o=Math.min(i.length,t.data.length);r&&(o=Math.min(o,r.length)),a=[];for(var l=0;l<o;l++)a[l]=r?r[l]:l}else a=r?r.slice(0):null;if(null===a)Array.isArray(i)&&(i=i[0]);else if(Array.isArray(a)){if(!Array.isArray(i)){var c=i;i=[];for(var u=0;u<a.length;u++)i[u]=c}i.length=Math.min(a.length,i.length)}s.push({type:\"data\",prop:e,traces:a,value:i})},\"\",0),s}function l(t,e,r,n){Object.keys(t).forEach(function(a){var o=t[a];if(\"_\"!==a[0]){var s=r+(n>0?\".\":\"\")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}})}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){a(t,c,s.cache),s.check=function(){if(l){var e=a(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],f=0;f<u.length;f++)t._internalOn(u[f],s.check);s.remove=function(){for(var e=0;e<u.length;e++)t._removeInternalListener(u[e],s.check)}}else i.log(\"Unable to automatically bind plot updates to API command\"),s.lookupTable={},s.remove=function(){};return s.disable=function(){l=!1},s.enable=function(){l=!0},e&&(e._commandObserver=s),s},r.hasSimpleAPICommandBindings=function(t,e,n){var i,a,o=e.length;for(i=0;i<o;i++){var s,l=e[i],c=l.method,u=l.args;if(Array.isArray(u)||(u=[]),!c)return!1;var f=r.computeAPICommandBindings(t,c,u);if(1!==f.length)return!1;if(a){if((s=f[0]).type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var h=0;h<a.traces.length;h++)if(a.traces[h]!==s.traces[h])return!1}else if(s.prop!==a.prop)return!1}else a=f[0],Array.isArray(a.traces)&&a.traces.sort();var p=(s=f[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=i)}return a},r.executeAPICommand=function(t,e,r){if(\"skip\"===e)return Promise.resolve();var a=n.apiMethodRegistry[e],o=[t];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return a.apply(null,o).catch(function(t){return i.warn(\"API call to Plotly.\"+e+\" rejected.\",t),Promise.reject(t)})},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case\"restyle\":n=s(t,r);break;case\"relayout\":n=o(t,r);break;case\"update\":n=s(t,[r[0],r[2]]).concat(o(t,[r[1]]));break;case\"animate\":n=function(t,e){return Array.isArray(e[0])&&1===e[0].length&&-1!==[\"string\",\"number\"].indexOf(typeof e[0][0])?[{type:\"layout\",prop:\"_currentFrame\",value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{\"../lib\":693,\"../registry\":825}],767:[function(t,e,r){\"use strict\";var n=t(\"../lib/extend\").extendFlat;r.attributes=function(t,e){e=e||{};var r={valType:\"info_array\",editType:(t=t||{}).editType,items:[{valType:\"number\",min:0,max:1,editType:t.editType},{valType:\"number\",min:0,max:1,editType:t.editType}],dflt:[0,1]},i=(t.name&&t.name,t.trace,e.description&&e.description,{x:n({},r,{}),y:n({},r,{}),editType:t.editType});return t.noGridCell||(i.row={valType:\"integer\",min:0,dflt:0,editType:t.editType},i.column={valType:\"integer\",min:0,dflt:0,editType:t.editType}),i},r.defaults=function(t,e,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=e.grid;if(o){var s=r(\"domain.column\");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete t.domain.column);var l=r(\"domain.row\");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete t.domain.row)}r(\"domain.x\",i),r(\"domain.y\",a)}},{\"../lib/extend\":682}],768:[function(t,e,r){\"use strict\";e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&&(r=e);var n={family:{valType:\"string\",noBlank:!0,strict:!0,editType:e},size:{valType:\"number\",min:1,editType:e},color:{valType:\"color\",editType:r},editType:e};return t.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],769:[function(t,e,r){\"use strict\";e.exports={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}}},{}],770:[function(t,e,r){\"use strict\";r.projNames={equirectangular:\"equirectangular\",mercator:\"mercator\",orthographic:\"orthographic\",\"natural earth\":\"naturalEarth\",kavrayskiy7:\"kavrayskiy7\",miller:\"miller\",robinson:\"robinson\",eckert4:\"eckert4\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",\"conic equal area\":\"conicEqualArea\",\"conic conformal\":\"conicConformal\",\"conic equidistant\":\"conicEquidistant\",gnomonic:\"gnomonic\",stereographic:\"stereographic\",mollweide:\"mollweide\",hammer:\"hammer\",\"transverse mercator\":\"transverseMercator\",\"albers usa\":\"albersUsa\",\"winkel tripel\":\"winkel3\",aitoff:\"aitoff\",sinusoidal:\"sinusoidal\"},r.axesNames=[\"lonaxis\",\"lataxis\"],r.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360},r.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor=\"#F0DC82\",r.waterColor=\"#3399FF\",r.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"},r.sphereSVG={type:\"Sphere\"},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"],r.layersForChoropleth=[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"],r.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}},{}],771:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=t(\"../../components/color\"),s=t(\"../../components/drawing\"),l=t(\"../../components/fx\"),c=t(\"../plots\"),u=t(\"../cartesian/axes\"),f=t(\"../../components/dragelement\"),h=t(\"../cartesian/select\").prepSelect,p=t(\"../cartesian/select\").selectOnClick,d=t(\"./zoom\"),g=t(\"./constants\"),m=t(\"../../lib/topojson_utils\"),v=t(\"topojson-client\").feature;function y(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.isStatic=t.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}t(\"./projections\")(n);var x=y.prototype;e.exports=function(t){return new y(t)},x.plot=function(t,e,r){var n=this,i=e[this.id],a=m.getTopojsonName(i);null===n.topojson||a!==n.topojsonName?(n.topojsonName=a,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},x.fetchTopojson=function(){var t=m.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(e,r){n.json(t,function(n,i){if(n)return 404===n.status?r(new Error([\"plotly.js could not find topojson file at\",t,\".\",\"Make sure the *topojsonURL* plot config option\",\"is set properly.\"].join(\" \"))):r(new Error([\"unexpected error while fetching topojson file at\",t].join(\" \")));e(i)})})},x.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n<t.length;n++)if(\"choropleth\"===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial||this.saveViewInitial(r),this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),c.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var i=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=i.selectAll(\".point\"),this.dataPoints.text=i.selectAll(\"text\"),this.dataPaths.line=i.selectAll(\".js-line\");var a=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=a.selectAll(\"path\"),this.render()}},x.updateProjection=function(t,e){var r=t._size,o=e.domain,s=e.projection,l=s.rotation||{},c=e.center||{},u=this.projection=function(t){for(var e=t.projection.type,r=n.geo[g.projNames[e]](),i=t._isClipped?g.lonaxisSpan[e]/2:null,a=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],o=function(t){return t?r:[]},s=0;s<a.length;s++){var l=a[s];\"function\"!=typeof r[l]&&(r[l]=o)}r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(i){var e=r.rotate();return n.geo.distance(t,[-e[0],-e[1]])>i*Math.PI/180}return!1},r.getPath=function(){return n.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),a&&r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),i/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(i-s*(o[1][1]+o[0][1]))/2;return a&&r.clipExtent(a),r.scale(150*s).translate([l,c])},r.precision(g.precision),i&&r.clipAngle(i-g.clipPad);return r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var f=[[r.l+r.w*o.x[0],r.t+r.h*(1-o.y[1])],[r.l+r.w*o.x[1],r.t+r.h*(1-o.y[0])]],h=e.lonaxis,p=e.lataxis,d=function(t,e){var r=g.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}(h.range,p.range);u.fitExtent(f,d);var m=this.bounds=u.getBounds(d),v=this.fitScale=u.scale(),y=u.translate();if(!isFinite(m[0][0])||!isFinite(m[0][1])||!isFinite(m[1][0])||!isFinite(m[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=[\"projection.rotation\",\"center\",\"lonaxis.range\",\"lataxis.range\"],_=\"Invalid geo settings, relayout'ing to default view.\",w={},k=0;k<b.length;k++)w[this.id+\".\"+b[k]]=null;return this.viewInitial=null,a.warn(_),x._promises.push(i.call(\"relayout\",x,w)),_}var M=this.midPt=[(m[0][0]+m[1][0])/2,(m[0][1]+m[1][1])/2];if(u.scale(s.scale*v).translate([y[0]+(M[0]-y[0]),y[1]+(M[1]-y[1])]).clipExtent(m),e._isAlbersUsa){var A=u([c.lon,c.lat]),T=u.translate();u.translate([T[0]-(A[0]-T[0]),T[1]-(A[1]-T[1])])}},x.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,l=r.basePaths;function c(t){return\"lonaxis\"===t||\"lataxis\"===t}function u(t){return Boolean(g.lineLayers[t])}function f(t){return Boolean(g.fillLayers[t])}var h=(this.hasChoropleth?g.layersForChoropleth:g.layers).filter(function(t){return u(t)||f(t)?e[\"show\"+t]:!c(t)||e[t].showgrid}),p=r.framework.selectAll(\".layer\").data(h,String);p.exit().each(function(t){delete a[t],delete l[t],n.select(this).remove()}),p.enter().append(\"g\").attr(\"class\",function(t){return\"layer \"+t}).each(function(t){var e=a[t]=n.select(this);\"bg\"===t?r.bgRect=e.append(\"rect\").style(\"pointer-events\",\"all\"):c(t)?l[t]=e.append(\"path\").style(\"fill\",\"none\"):\"backplot\"===t?e.append(\"g\").classed(\"choroplethlayer\",!0):\"frontplot\"===t?e.append(\"g\").classed(\"scatterlayer\",!0):u(t)?l[t]=e.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):f(t)&&(l[t]=e.append(\"path\").style(\"stroke\",\"none\"))}),p.order(),p.each(function(t){var r=l[t],a=g.layerNameToAdjective[t];\"frame\"===t?r.datum(g.sphereSVG):u(t)||f(t)?r.datum(v(i,i.objects[t])):c(t)&&r.datum(function(t,e){var r=e[t].dtick,i=g.scopeDefaults[e.scope],a=i.lonaxisRange,o=i.lataxisRange,s=\"lonaxis\"===t?[r]:[0,r];return n.geo.graticule().extent([[a[0],o[0]],[a[1],o[1]]]).step(s)}(t,e)).call(o.stroke,e[t].gridcolor).call(s.dashLine,\"\",e[t].gridwidth),u(t)?r.call(o.stroke,e[a+\"color\"]).call(s.dashLine,\"\",e[a+\"width\"]):f(t)&&r.call(o.fill,e[a+\"color\"])})},x.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,l=r[1][0]-i+n,c=r[1][1]-a+n;s.setRect(this.clipRect,i,a,l,c),this.bgRect.call(s.setRect,i,a,l,c).call(o.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=l,this.yaxis._offset=a,this.yaxis._length=c},x.updateFx=function(t,e){var r=this,a=r.graphDiv,o=r.bgRect,s=t.dragmode,c=t.clickmode;if(!r.isStatic){var u;\"select\"===s?u=function(t,e){(t.range={})[r.id]=[m([e.xmin,e.ymin]),m([e.xmax,e.ymax])]}:\"lasso\"===s&&(u=function(t,e,n){(t.lassoPoints={})[r.id]=n.filtered.map(m)});var g={element:r.bgRect.node(),gd:a,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(e){2===e&&t._zoomlayer.selectAll(\".select-outline\").remove()}};\"pan\"===s?(o.node().onmousedown=null,o.call(d(r,e)),o.on(\"dblclick.zoom\",function(){var t=r.viewInitial,e={};for(var n in t)e[r.id+\".\"+n]=t[n];i.call(\"relayout\",a,e),a.emit(\"plotly_doubleclick\",null)})):\"select\"!==s&&\"lasso\"!==s||(o.on(\".zoom\",null),g.prepFn=function(t,e,r){h(t,e,r,g,s)},f.init(g)),o.on(\"mousemove\",function(){var t=r.projection.invert(n.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return f.unhover(a,n.event);r.xaxis.p2c=function(){return t[0]},r.yaxis.p2c=function(){return t[1]},l.hover(a,n.event,r.id)}),o.on(\"mouseout\",function(){a._dragging||f.unhover(a,n.event)}),o.on(\"click\",function(){\"select\"!==s&&\"lasso\"!==s&&(c.indexOf(\"select\")>-1&&p(n.event,a,[r.xaxis],[r.yaxis],r.id,g),c.indexOf(\"event\")>-1&&l.click(a,n.event))})}function m(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},x.makeFramework=function(){var t=this,e=t.graphDiv._fullLayout,r=\"clip\"+e._uid+t.id;t.clipDef=e._clips.append(\"clipPath\").attr(\"id\",r),t.clipRect=t.clipDef.append(\"rect\"),t.framework=n.select(t.container).append(\"g\").attr(\"class\",\"geo \"+t.id).call(s.setClipUrl,r),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:\"x\",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:\"y\",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},u.setConvert(t.mockAxis,e)},x.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={\"center.lon\":e.lon,\"center.lat\":e.lat,\"projection.scale\":r.scale}:t._isClipped?this.viewInitial={\"projection.scale\":r.scale,\"projection.rotation.lon\":n.lon,\"projection.rotation.lat\":n.lat}:this.viewInitial={\"center.lon\":e.lon,\"center.lat\":e.lat,\"projection.scale\":r.scale,\"projection.rotation.lon\":n.lon}},x.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?\"translate(\"+r[0]+\",\"+r[1]+\")\":null}function i(t){return e.isLonLatOverEdges(t.lonlat)?\"none\":null}for(t in this.basePaths)this.basePaths[t].attr(\"d\",r);for(t in this.dataPaths)this.dataPaths[t].attr(\"d\",function(t){return r(t.geojson)});for(t in this.dataPoints)this.dataPoints[t].attr(\"display\",i).attr(\"transform\",n)}},{\"../../components/color\":567,\"../../components/dragelement\":589,\"../../components/drawing\":592,\"../../components/fx\":609,\"../../lib\":693,\"../../lib/topojson_utils\":721,\"../../registry\":825,\"../cartesian/axes\":742,\"../cartesian/select\":759,\"../plots\":805,\"./constants\":770,\"./projections\":776,\"./zoom\":777,d3:147,\"topojson-client\":514}],772:[function(t,e,r){\"use strict\";var n=t(\"./geo\"),i=t(\"../../plots/get_data\").getSubplotCalcData,a=t(\"../../lib\").counterRegex,o=\"geo\";r.name=o,r.attr=o,r.idRoot=o,r.idRegex=r.attrRegex=a(o),r.attributes=t(\"./layout/attributes\"),r.layoutAttributes=t(\"./layout/layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout/defaults\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.geo;void 0===window.PlotlyGeoAssets&&(window.PlotlyGeoAssets={topojson:{}});for(var s=0;s<a.length;s++){var l=a[s],c=i(r,o,l),u=e[l]._subplot;u||(u=n({id:l,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[l]._subplot=u),u.plot(c,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.geo,n=0;n<r.length;n++){var i=e[r[n]];i._subplot.updateFx(e,i)}}},{\"../../lib\":693,\"../../plots/get_data\":778,\"./geo\":771,\"./layout/attributes\":773,\"./layout/defaults\":774,\"./layout/layout_attributes\":775}],773:[function(t,e,r){\"use strict\";e.exports={geo:{valType:\"subplotid\",dflt:\"geo\",editType:\"calc\"}}},{}],774:[function(t,e,r){\"use strict\";var n=t(\"../../subplot_defaults\"),i=t(\"../constants\"),a=t(\"./layout_attributes\"),o=i.axesNames;function s(t,e,r){var n=r(\"resolution\"),a=r(\"scope\"),s=i.scopeDefaults[a],l=r(\"projection.type\",s.projType),c=e._isAlbersUsa=\"albers usa\"===l;c&&(a=e.scope=\"usa\");var u=e._isScoped=\"world\"!==a,f=e._isConic=-1!==l.indexOf(\"conic\");e._isClipped=!!i.lonaxisSpan[l];for(var h=0;h<o.length;h++){var p,d=o[h],g=[30,10][h];if(u)p=s[d+\"Range\"];else{var m=i[d+\"Span\"],v=(m[l]||m[\"*\"])/2,y=r(\"projection.rotation.\"+d.substr(0,3),s.projRotate[h]);p=[y-v,y+v]}var x=r(d+\".range\",p);r(d+\".tick0\",x[0]),r(d+\".dtick\",g),r(d+\".showgrid\")&&(r(d+\".gridcolor\"),r(d+\".gridwidth\"))}var b=e.lonaxis.range,_=e.lataxis.range,w=b[0],k=b[1];w>0&&k<0&&(k+=360);var M,A,T,S=(w+k)/2;if(!c){var E=u?s.projRotate:[S,0,0];M=r(\"projection.rotation.lon\",E[0]),r(\"projection.rotation.lat\",E[1]),r(\"projection.rotation.roll\",E[2]),r(\"showcoastlines\",!u)&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),r(\"showocean\")&&r(\"oceancolor\")}(c?(A=-96.6,T=38.7):(A=u?S:M,T=(_[0]+_[1])/2),r(\"center.lon\",A),r(\"center.lat\",T),f)&&r(\"projection.parallels\",s.projParallels||[0,60]);r(\"projection.scale\"),r(\"showland\")&&r(\"landcolor\"),r(\"showlakes\")&&r(\"lakecolor\"),r(\"showrivers\")&&(r(\"rivercolor\"),r(\"riverwidth\")),r(\"showcountries\",u&&\"usa\"!==a)&&(r(\"countrycolor\"),r(\"countrywidth\")),(\"usa\"===a||\"north america\"===a&&50===n)&&(r(\"showsubunits\",!0),r(\"subunitcolor\"),r(\"subunitwidth\")),u||r(\"showframe\",!0)&&(r(\"framecolor\"),r(\"framewidth\")),r(\"bgcolor\")}e.exports=function(t,e,r){n(t,e,r,{type:\"geo\",attributes:a,handleDefaults:s,partition:\"y\"})}},{\"../../subplot_defaults\":820,\"../constants\":770,\"./layout_attributes\":775}],775:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color/attributes\"),i=t(\"../../domain\").attributes,a=t(\"../constants\"),o=t(\"../../../plot_api/edit_types\").overrideAll,s={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\"},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:n.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1}};e.exports=o({domain:i({name:\"geo\"},{}),resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:Object.keys(a.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:Object.keys(a.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:n.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:a.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:a.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:a.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:a.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:n.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:n.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:n.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:n.background},lonaxis:s,lataxis:s},\"plot\",\"from-root\")},{\"../../../components/color/attributes\":566,\"../../../plot_api/edit_types\":725,\"../../domain\":767,\"../constants\":770}],776:[function(t,e,r){\"use strict\";e.exports=function(t){function e(t,e){return{type:\"Feature\",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if(\"GeometryCollection\"===e.type)return{type:\"GeometryCollection\",geometries:object.geometries.map(function(t){return r(t,n)})};if(!c.hasOwnProperty(e.type))return null;var i=c[e.type];return t.geo.stream(e,n(i)),i.result()}t.geo.project=function(t,e){var i=e.stream;if(!i)throw new Error(\"not yet supported\");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,i)};var n={Feature:e,FeatureCollection:function(t,r){return{type:\"FeatureCollection\",features:t.features.map(function(t){return e(t,r)})}}},i=[],a=[],o={point:function(t,e){i.push([t,e])},result:function(){var t=i.length?i.length<2?{type:\"Point\",coordinates:i[0]}:{type:\"MultiPoint\",coordinates:i}:null;return i=[],t}},s={lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){i.length&&(a.push(i),i=[])},result:function(){var t=a.length?a.length<2?{type:\"LineString\",coordinates:a[0]}:{type:\"MultiLineString\",coordinates:a}:null;return a=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){i.push([t,e])},lineEnd:function(){var t=i.length;if(t){do{i.push(i[0].slice())}while(++t<4);a.push(i),i=[]}},polygonEnd:u,result:function(){if(!a.length)return null;var t=[],e=[];return a.forEach(function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}(r)?e.push(r):t.push([r])}),e.forEach(function(e){var r=e[0];t.some(function(t){if(function(t,e){for(var r=e[0],n=e[1],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],c=l[0],u=l[1],f=t[s],h=f[0],p=f[1];u>n^p>n&&r<(h-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0})||t.push([e])}),a=[],t.length?t.length>1?{type:\"MultiPolygon\",coordinates:t}:{type:\"Polygon\",coordinates:t[0]}:null}},c={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function u(){}var f=1e-6,h=f*f,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),m=180/p;function v(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,i=1/0;n<10&&Math.abs(i)>f;n++){var a=Math.cos(e);e-=i=(e+Math.sin(e)*(a+2)-r)/(2*a*(1+a))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function i(t,r){for(var i=r<0?-1:1,a=n[+(r<0)],o=0,s=a.length-1;o<s&&t>a[o][2][0];++o);var l=e(t-a[o][1][0],r);return l[0]+=e(a[o][1][0],i*r>i*a[o][0][1]?a[o][0][1]:r)[0],l}e.invert&&(i.invert=function(t,a){for(var o=r[+(a<0)],s=n[+(a<0)],c=0,u=o.length;c<u;++c){var f=o[c];if(f[0][0]<=t&&t<f[1][0]&&f[0][1]<=a&&a<f[1][1]){var h=e.invert(t-e(s[c][1][0],0)[0],a);return h[0]+=s[c][1][0],l(i(h[0],h[1]),[t,a])?h:null}}});var a=t.geo.projection(i),o=a.stream;function s(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var c=0;c<e;++c)l.push([s[0]+c*n,s[1]+c*i]);s=r}return l.push(r),l}function l(t,e){return Math.abs(t[0]-e[0])<f&&Math.abs(t[1]-e[1])<f}return a.stream=function(e){var r=a.rotate(),i=o(e),l=(a.rotate([0,0]),o(e));return a.rotate(r),i.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],i=0,a=n[0].length;i<a;++i){var o=n[0][i],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,f=180*o[2][0]/p,h=180*o[2][1]/p;r.push(s([[l+e,c+e],[l+e,u-e],[f-e,u-e],[f-e,h+e]],30))}for(var i=n[1].length-1;i>=0;--i){var o=n[1][i],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,f=180*o[2][0]/p,h=180*o[2][1]/p;r.push(s([[f-e,h-e],[f-e,u+e],[l+e,u+e],[l+e,c-e]],30))}return{type:\"Polygon\",coordinates:[t.merge(r)]}}(),l)},i},a.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],i=e(t[2][0],t[2][1])[0],a=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]})}),a):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},a},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=v(r),i=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+i)),v((n+r*(i+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function k(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return M;function r(r,n){var i=w(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=w.invert(r/t,n);return i[0]*=e,i},r}function M(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function A(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function T(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(t){return function(e){var r,n=t*Math.sin(e),i=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>f&&--i>0);return e/2}}M.invert=function(t,e){var r=2*v(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=b(k),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=k,A.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(A)}).raw=A,T.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(T)}).raw=T,S(p);var E=function(t,e,r){var n=S(r);function i(r,i){return[t*r*Math.cos(i=n(i)),e*Math.sin(i)]}return i.invert=function(n,i){var a=v(i/e);return[n/(t*Math.cos(a)),v((2*a+Math.sin(2*a))/r)]},i}(Math.SQRT2/d,Math.SQRT2,p);function C(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}(t.geo.mollweide=function(){return x(E)}).raw=E,C.invert=function(t,e){var r,n=e,i=25;do{var a=n*n,o=a*a;n-=r=(n*(1.007226+a*(.015085+o*(.028874*a-.044475-.005916*o)))-e)/(1.007226+a*(.045255+o*(.259866*a-.311325-.005916*11*o)))}while(Math.abs(r)>f&&--i>0);return[t/(.8707+(a=n*n)*(a*(a*a*a*(.003971-.001529*a)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(C)}).raw=C;var L=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function z(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),i=Math.floor(n),a=n-i,o=(r=L[i])[0],s=r[1],l=(r=L[++i])[0],c=r[1],u=(r=L[Math.min(19,++i)])[0],f=r[1];return[t*(l+a*(u-o)/2+a*a*(u-2*l+o)/2),(e>0?d:-d)*(c+a*(f-s)/2+a*a*(f-2*c+s)/2)]}function P(t,e){return[t*Math.cos(e),e]}function O(t,e){var r,n=Math.cos(e),i=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*i,Math.sin(e)*i]}function I(t,e){var r=O(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}L.forEach(function(t){t[1]*=1.0144}),z.invert=function(t,e){var r=e/d,n=90*r,i=Math.min(18,Math.abs(n/5)),a=Math.max(0,Math.floor(i));do{var o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],c=l-o,u=l-2*s+o,f=2*(Math.abs(r)-s)/c,p=u/c,v=f*(1-p*f*(1-2*p*f));if(v>=0||1===a){n=(e>=0?5:-5)*(v+i);var y,x=50;do{v=(i=Math.min(18,Math.abs(n)/5))-(a=Math.floor(i)),o=L[a][1],s=L[a+1][1],l=L[Math.min(19,a+2)][1],n-=(y=(e>=0?d:-d)*(s+v*(l-o)/2+v*v*(l-2*s+o)/2)-e)*m}while(Math.abs(y)>h&&--x>0);break}}while(--a>=0);var b=L[a][0],_=L[a+1][0],w=L[Math.min(19,a+2)][0];return[t/(_+v*(w-b)/2+v*v*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(z)}).raw=z,P.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(P)}).raw=P,O.invert=function(t,e){if(!(t*t+4*e*e>p*p+f)){var r=t,n=e,i=25;do{var a,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),h=Math.sin(2*n),d=c*c,g=u*u,m=s*s,v=1-g*l*l,x=v?y(u*l)*Math.sqrt(a=1/v):a=0,b=2*x*u*s-t,_=x*c-e,w=a*(g*m+x*u*l*d),k=a*(.5*o*h-2*x*c*s),M=.25*a*(h*s-x*c*g*o),A=a*(d*l+x*m*u),T=k*M-A*w;if(!T)break;var S=(_*k-b*A)/T,E=(b*M-_*w)/T;r-=S,n-=E}while((Math.abs(S)>f||Math.abs(E)>f)&&--i>0);return[r,n]}},(t.geo.aitoff=function(){return x(O)}).raw=O,I.invert=function(t,e){var r=t,n=e,i=25;do{var a,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,h=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),m=g*g,v=1-u*p*p,x=v?y(o*p)*Math.sqrt(a=1/v):a=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*a*(u*m+x*o*p*c)+.5/d,k=a*(h*l/4-x*s*g),M=.125*a*(l*g-x*s*u*h),A=.5*a*(c*p+x*m*o)+.5,T=k*M-A*w,S=(_*k-b*A)/T,E=(b*M-_*w)/T;r-=S,n-=E}while((Math.abs(S)>f||Math.abs(E)>f)&&--i>0);return[r,n]},(t.geo.winkel3=function(){return x(I)}).raw=I}},{}],777:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=Math.PI/180,o=180/Math.PI,s={cursor:\"pointer\"},l={cursor:\"auto\"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function u(t,e,r){var n=t.id,a=t.graphDiv,o=a.layout[n],s=a._fullLayout[n],l={};function c(t,e){var r=i.nestedProperty(s,t);r.get()!==e&&(r.set(e),i.nestedProperty(o,t).set(e),l[n+\".\"+t]=e)}r(c),c(\"projection.scale\",e.scale()/t.fitScale),a.emit(\"plotly_relayout\",l)}function f(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r(\"center.lon\",n[0]),r(\"center.lat\",n[1])}return r.on(\"zoomstart\",function(){n.select(this).style(s)}).on(\"zoom\",function(){e.scale(n.event.scale).translate(n.event.translate),t.render()}).on(\"zoomend\",function(){n.select(this).style(l),u(t,e,i)}),r}function h(t,e){var r,i,a,o,f,h,p,d,g,m=c(0,e),v=2;function y(t){return e.invert(t)}function x(r){var n=e.rotate(),i=e.invert(t.midPt);r(\"projection.rotation.lon\",-n[0]),r(\"center.lon\",i[0]),r(\"center.lat\",i[1])}return m.on(\"zoomstart\",function(){n.select(this).style(s),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,f=y(r)}).on(\"zoom\",function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>v||Math.abs(n[1]-t[1])>v}(r))return m.scale(e.scale()),void m.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),f?y(h)&&(d=y(h),p=[o[0]+(d[0]-f[0]),i[1],i[2]],e.rotate(p),o=p):f=y(r=h),g=!0,t.render()}).on(\"zoomend\",function(){n.select(this).style(l),g&&u(t,e,x)}),m}function p(t,e){var r,i={r:e.rotate(),k:e.scale()},f=c(0,e),h=function(t){var e=0,r=arguments.length,i=[];for(;++e<r;)i.push(arguments[e]);var a=n.dispatch.apply(null,i);return a.of=function(e,r){return function(i){var o;try{o=i.sourceEvent=n.event,i.target=t,n.event=i,a[i.type].apply(e,r)}finally{n.event=o}}},a}(f,\"zoomstart\",\"zoom\",\"zoomend\"),p=0,m=f.on;function x(t){var r=e.rotate();t(\"projection.rotation.lon\",-r[0]),t(\"projection.rotation.lat\",-r[1])}return f.on(\"zoomstart\",function(){n.select(this).style(s);var t,l,c,u,x,b,_,w,k,M,A,T=n.mouse(this),S=e.rotate(),E=S,C=e.translate(),L=(l=.5*(t=S)[0]*a,c=.5*t[1]*a,u=.5*t[2]*a,x=Math.sin(l),b=Math.cos(l),_=Math.sin(c),w=Math.cos(c),k=Math.sin(u),M=Math.cos(u),[b*w*M+x*_*k,x*w*M-b*_*k,b*_*M+x*w*k,b*w*k-x*_*M]);r=d(e,T),m.call(f,\"zoom\",function(){var t,a,s,l,c,u,f,p,m,x,b=n.mouse(this);if(e.scale(i.k=n.event.scale),r){if(d(e,b)){e.rotate(S).translate(C);var _=d(e,b),w=function(t,e){if(!t||!e)return;var r=function(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}(t,e),n=Math.sqrt(y(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,y(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}(r,_),k=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*o,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*o,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*o]}((a=w,s=(t=L)[0],l=t[1],c=t[2],u=t[3],f=a[0],p=a[1],m=a[2],x=a[3],[s*f-l*p-c*m-u*x,s*p+l*f+c*x-u*m,s*m-l*x+c*f+u*p,s*x+l*m-c*p+u*f])),M=i.r=function(t,e,r){var n=v(e,2,t[0]);n=v(n,1,t[1]),n=v(n,0,t[2]-r[2]);var i,a,s=e[0],l=e[1],c=e[2],u=n[0],f=n[1],h=n[2],p=Math.atan2(l,s)*o,d=Math.sqrt(s*s+l*l);Math.abs(f)>d?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*o-p,i=Math.sqrt(d*d-f*f));var m=180-a-2*p,y=(Math.atan2(h,u)-Math.atan2(c,i))*o,x=(Math.atan2(h,u)-Math.atan2(c,-i))*o,b=g(r[0],r[1],a,y),_=g(r[0],r[1],m,x);return b<=_?[a,y,r[2]]:[m,x,r[2]]}(k,r,E);isFinite(M[0])&&isFinite(M[1])&&isFinite(M[2])||(M=E),e.rotate(M),E=M}}else r=d(e,T=b);h.of(this,arguments)({type:\"zoom\"})}),A=h.of(this,arguments),p++||A({type:\"zoomstart\"})}).on(\"zoomend\",function(){var r;n.select(this).style(l),m.call(f,\"zoom\",null),r=h.of(this,arguments),--p||r({type:\"zoomend\"}),u(t,e,x)}).on(\"zoom.redraw\",function(){t.render()}),n.rebind(f,h,\"on\")}function d(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*a,r=t[1]*a,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=m(r-t),a=m(n-e);return Math.sqrt(i*i+a*a)}function m(t){return(t%360+540)%360-180}function v(t,e,r){var n=r*a,i=t.slice(),o=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[o]=t[o]*l-t[s]*c,i[s]=t[s]*l+t[o]*c,i}function y(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}e.exports=function(t,e){var r=t.projection;return(e._isScoped?f:e._isClipped?p:h)(t,r)}},{\"../../lib\":693,d3:147}],778:[function(t,e,r){\"use strict\";var n=t(\"../registry\"),i=t(\"./cartesian/constants\").SUBPLOT_PATTERN;r.getSubplotCalcData=function(t,e,r){var i=n.subplotsRegistry[e];if(!i)return[];for(var a=i.attr,o=[],s=0;s<t.length;s++){var l=t[s];l[0].trace[a]===r&&o.push(l)}return o},r.getModuleCalcData=function(t,e){var r,i=[],a=[];if(!(r=\"string\"==typeof e?n.getModule(e).plot:\"function\"==typeof e?e:e.plot))return[i,t];for(var o=0;o<t.length;o++){var s=t[o],l=s[0].trace;!0===l.visible&&(l._module.plot===r?i.push(s):a.push(s))}return[i,a]},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var a,o,s,l=n.subplotsRegistry[e].attr,c=[];if(\"gl2d\"===e){var u=r.match(i);o=\"x\"+u[1],s=\"y\"+u[2]}for(var f=0;f<t.length;f++)a=t[f],\"gl2d\"===e&&n.traceIs(a,\"gl2d\")?a[l[0]]===o&&a[l[1]]===s&&c.push(a):a[l]===r&&c.push(a);return c}},{\"../registry\":825,\"./cartesian/constants\":747}],779:[function(t,e,r){\"use strict\";var n=t(\"mouse-change\"),i=t(\"mouse-wheel\"),a=t(\"mouse-event-offset\"),o=t(\"../cartesian/constants\"),s=t(\"has-passive-events\");function l(t,e){this.element=t,this.plot=e,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}e.exports=function(t){var e=t.mouseContainer,r=t.glplot,c=new l(e,r);function u(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function f(e,n,i){var a,s,l=t.calcDataBox(),f=r.viewBox,h=c.lastPos[0],p=c.lastPos[1],d=o.MINDRAG*r.pixelRatio,g=o.MINZOOM*r.pixelRatio;function m(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(l[e]=i,l[e+2]=a,c.dataBox=l,t.setRanges(l)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(n*=r.pixelRatio,i*=r.pixelRatio,i=f[3]-f[1]-i,t.fullLayout.dragmode){case\"zoom\":if(e){var v=n/(f[2]-f[0])*(l[2]-l[0])+l[0],y=i/(f[3]-f[1])*(l[3]-l[1])+l[1];c.boxInited||(c.boxStart[0]=v,c.boxStart[1]=y,c.dragStart[0]=n,c.dragStart[1]=i),c.boxEnd[0]=v,c.boxEnd[1]=y,c.boxInited=!0,c.boxEnabled||c.boxStart[0]===c.boxEnd[0]&&c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)<g,b=Math.abs(c.dragStart[1]-i)<g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||x&&b)x&&(c.boxEnd[0]=c.boxStart[0]),b&&(c.boxEnd[1]=c.boxStart[1]);else{a=c.boxEnd[0]-c.boxStart[0],s=c.boxEnd[1]-c.boxStart[1];var _=(l[3]-l[1])/(l[2]-l[0]);Math.abs(a*_)>Math.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),c.boxEnd[1]<l[1]?(c.boxEnd[1]=l[1],c.boxEnd[0]=c.boxStart[0]+(l[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]>l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),c.boxEnd[0]<l[0]?(c.boxEnd[0]=l[0],c.boxEnd[1]=c.boxStart[1]+(l[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]>l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(a=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],a||s?(a&&(m(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(m(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case\"pan\":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n)<d&&(n=c.dragStart[0]),Math.abs(c.dragStart[1]-i)<d&&(i=c.dragStart[1]),a=(h-n)*(l[2]-l[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-i)*(l[3]-l[1])/(r.viewBox[3]-r.viewBox[1]),l[0]+=a,l[2]+=a,l[1]+=s,l[3]+=s,t.setRanges(l),c.panning=!0,c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations()):c.panning&&(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=i}return c.mouseListener=n(e,f),e.addEventListener(\"touchstart\",function(t){var r=a(t.changedTouches[0],e);f(0,r[0],r[1]),f(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener(\"touchmove\",function(t){t.preventDefault();var r=a(t.changedTouches[0],e);f(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener(\"touchend\",function(t){f(0,c.lastPos[0],c.lastPos[1]),t.preventDefault()},!!s&&{passive:!1}),c.wheelListener=i(e,function(e,n){if(!t.scrollZoom)return!1;var i=t.calcDataBox(),a=r.viewBox,o=c.lastPos[0],s=c.lastPos[1],l=Math.exp(5*n/(a[3]-a[1])),f=o/(a[2]-a[0])*(i[2]-i[0])+i[0],h=s/(a[3]-a[1])*(i[3]-i[1])+i[1];return i[0]=(i[0]-f)*l+f,i[2]=(i[2]-f)*l+f,i[1]=(i[1]-h)*l+h,i[3]=(i[3]-h)*l+h,t.setRanges(i),c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0},!0),c}},{\"../cartesian/constants\":747,\"has-passive-events\":392,\"mouse-change\":415,\"mouse-event-offset\":416,\"mouse-wheel\":418}],780:[function(t,e,r){\"use strict\";var n=t(\"../cartesian/axes\"),i=t(\"../../lib/html2unicode\"),a=t(\"../../lib/str2rgbarray\");function o(t){this.scene=t,this.gl=t.gl,this.pixelRatio=t.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=[\"x\",\"y\"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=[\"sans-serif\",\"sans-serif\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title=\"\",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont=\"sans-serif\",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=!1,this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var s=o.prototype,l=[\"xaxis\",\"yaxis\"];s.merge=function(t){var e,r,n,o,s,c,u,f,h,p,d;for(this.titleEnable=!1,this.backgroundColor=a(t.plot_bgcolor),p=0;p<2;++p){var g=(e=l[p]).charAt(0);for(n=(r=t[this.scene[e]._name]).title===this.scene.fullLayout._dfltTitle[g]?\"\":r.title,d=0;d<=2;d+=2)this.labelEnable[p+d]=!1,this.labels[p+d]=i(n),this.labelColor[p+d]=a(r.titlefont.color),this.labelFont[p+d]=r.titlefont.family,this.labelSize[p+d]=r.titlefont.size,this.labelPad[p+d]=this.getLabelPad(e,r),this.tickEnable[p+d]=!1,this.tickColor[p+d]=a((r.tickfont||{}).color),this.tickAngle[p+d]=\"auto\"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[p+d]=this.getTickPad(r),this.tickMarkLength[p+d]=0,this.tickMarkWidth[p+d]=r.tickwidth||0,this.tickMarkColor[p+d]=a(r.tickcolor),this.borderLineEnable[p+d]=!1,this.borderLineColor[p+d]=a(r.linecolor),this.borderLineWidth[p+d]=r.linewidth||0;u=this.hasSharedAxis(r),s=this.hasAxisInDfltPos(e,r)&&!u,c=this.hasAxisInAltrPos(e,r)&&!u,o=r.mirror||!1,f=u?-1!==String(o).indexOf(\"all\"):!!o,h=u?\"allticks\"===o:-1!==String(o).indexOf(\"ticks\"),s?this.labelEnable[p]=!0:c&&(this.labelEnable[p+2]=!0),s?this.tickEnable[p]=r.showticklabels:c&&(this.tickEnable[p+2]=r.showticklabels),(s||f)&&(this.borderLineEnable[p]=r.showline),(c||f)&&(this.borderLineEnable[p+2]=r.showline),(s||h)&&(this.tickMarkLength[p]=this.getTickMarkLength(r)),(c||h)&&(this.tickMarkLength[p+2]=this.getTickMarkLength(r)),this.gridLineEnable[p]=r.showgrid,this.gridLineColor[p]=a(r.gridcolor),this.gridLineWidth[p]=r.gridwidth,this.zeroLineEnable[p]=r.zeroline,this.zeroLineColor[p]=a(r.zerolinecolor),this.zeroLineWidth[p]=r.zerolinewidth}},s.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,t).indexOf(e.id)},s.hasAxisInDfltPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"bottom\"===r:\"yaxis\"===t?\"left\"===r:void 0},s.hasAxisInAltrPos=function(t,e){var r=e.side;return\"xaxis\"===t?\"top\"===r:\"yaxis\"===t?\"right\"===r:void 0},s.getLabelPad=function(t,e){var r=e.titlefont.size,n=e.showticklabels;return\"xaxis\"===t?\"top\"===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:\"yaxis\"===t?\"right\"===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},s.getTickPad=function(t){return\"outside\"===t.ticks?10+t.ticklen:15},s.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return\"inside\"===t.ticks?-e:e},e.exports=function(t){return new o(t)}},{\"../../lib/html2unicode\":691,\"../../lib/str2rgbarray\":717,\"../cartesian/axes\":742}],781:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,i=t(\"./scene2d\"),a=t(\"../layout_attributes\"),o=t(\"../../constants/xmlns_namespaces\"),s=t(\"../cartesian/constants\"),l=t(\"../cartesian\"),c=t(\"../../components/fx/layout_attributes\"),u=t(\"../get_data\").getSubplotData;r.name=\"gl2d\",r.attr=[\"xaxis\",\"yaxis\"],r.idRoot=[\"x\",\"y\"],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t(\"../cartesian/attributes\"),r.supplyLayoutDefaults=function(t,e,r){e._has(\"cartesian\")||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,\"plot\",\"from-root\"),r.baseLayoutAttrOverrides=n({plot_bgcolor:a.plot_bgcolor,hoverlabel:c.hoverlabel},\"plot\",\"nested\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,a=0;a<n.length;a++){var o=n[a],s=e._plots[o],l=u(r,\"gl2d\",o),c=s._scene2d;void 0===c&&(c=new i({id:o,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene2d=c),c.plot(l,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d)0===u(t,\"gl2d\",o).length&&(s._scene2d.destroy(),delete n._plots[o])}l.clean.apply(this,arguments)},r.drawFramework=function(t){t._context.staticPlot||l.drawFramework(t)},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":a,x:0,y:0,width:\"100%\",height:\"100%\",preserveAspectRatio:\"none\"}),i.destroy()}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){e._plots[r[n]]._scene2d.updateFx(e.dragmode)}}},{\"../../components/fx/layout_attributes\":610,\"../../constants/xmlns_namespaces\":671,\"../../plot_api/edit_types\":725,\"../cartesian\":753,\"../cartesian/attributes\":740,\"../cartesian/constants\":747,\"../get_data\":778,\"../layout_attributes\":796,\"./scene2d\":782}],782:[function(t,e,r){\"use strict\";var n,i,a=t(\"../../registry\"),o=t(\"../../plots/cartesian/axes\"),s=t(\"../../components/fx\"),l=t(\"gl-plot2d\"),c=t(\"gl-spikes2d\"),u=t(\"gl-select-box\"),f=t(\"webgl-context\"),h=t(\"./convert\"),p=t(\"./camera\"),d=t(\"../../lib/html2unicode\"),g=t(\"../../lib/show_no_webgl_msg\"),m=t(\"../cartesian/constraints\"),v=m.enforce,y=m.clean,x=t(\"../cartesian/autorange\").doAutoRange,b=[\"xaxis\",\"yaxis\"],_=t(\"../cartesian/constants\").SUBPLOT_PATTERN;function w(t,e){this.container=t.container,this.graphDiv=t.graphDiv,this.pixelRatio=t.plotGlPixelRatio||window.devicePixelRatio,this.id=t.id,this.staticPlot=!!t.staticPlot,this.scrollZoom=this.graphDiv._context.scrollZoom,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.stopped||(this.glplotOptions=h(this),this.glplotOptions.merge(e),this.glplot=l(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=c(this.glplot),this.selectBox=u(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw())}e.exports=w;var k=w.prototype;k.makeFramework=function(){if(this.staticPlot){if(!(i||(n=document.createElement(\"canvas\"),i=f({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"Error creating static canvas/context for image server\");this.canvas=n,this.gl=i}else{var t=this.container.querySelector(\".gl-canvas-focus\"),e=f({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});if(!e)return g(this),void(this.stopped=!0);this.canvas=t,this.gl=e}var r=this.canvas;r.style.width=\"100%\",r.style.height=\"100%\",r.style.position=\"absolute\",r.style.top=\"0px\",r.style.left=\"0px\",r.style[\"pointer-events\"]=\"none\",this.updateSize(r),r.className+=\" user-select-none\";var a=this.svgContainer=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");a.style.position=\"absolute\",a.style.top=a.style.left=\"0px\",a.style.width=a.style.height=\"100%\",a.style[\"z-index\"]=20,a.style[\"pointer-events\"]=\"none\";var o=this.mouseContainer=document.createElement(\"div\");o.style.position=\"absolute\",o.style[\"pointer-events\"]=\"auto\",this.pickCanvas=this.container.querySelector(\".gl-canvas-pick\");var s=this.container;s.appendChild(a),s.appendChild(o);var l=this;o.addEventListener(\"mouseout\",function(){l.isMouseOver=!1,l.unhover()}),o.addEventListener(\"mouseover\",function(){l.isMouseOver=!0})},k.toImage=function(t){t||(t=\"png\"),this.stopped=!0,this.staticPlot&&this.container.appendChild(n),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.clearColor(1,1,1,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=a[4*(r*o+l)+c];a[4*(r*o+l)+c]=a[4*(r*s+l)+c],a[4*(r*s+l)+c]=u}var f=document.createElement(\"canvas\");f.width=r,f.height=i;var h,p=f.getContext(\"2d\"),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case\"jpeg\":h=f.toDataURL(\"image/jpeg\");break;case\"webp\":h=f.toDataURL(\"image/webp\");break;default:h=f.toDataURL(\"image/png\")}return this.staticPlot&&this.container.removeChild(n),h},k.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),t},k.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[o.calcTicks(this.xaxis),o.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=d(t[e][r].text+\"\");return t},k.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(_),r=\"xaxis\"+e[1],n=\"yaxis\"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},k.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout;n.xaxis.autorange=e.autorange,n.xaxis.range=e.range.slice(0),n.yaxis.autorange=r.autorange,n.yaxis.range=r.range.slice(0);var i={lastInputTime:this.camera.lastInputTime};i[e._name]=e.range.slice(0),i[r._name]=r.range.slice(0),t.emit(\"plotly_relayout\",i)},k.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r<2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].x)return!0}return!1})(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},k.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r<e.length;r++){var n=e[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&a.getComponentMethod(\"annotations\",\"drawOne\")(t,r)}},k.destroy=function(){if(this.glplot){var t=this.traces;t&&Object.keys(t).map(function(e){t[e].dispose(),delete t[e]}),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=null}},k.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(t,e),this.updateFx(r.dragmode);var i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};y(s,this.xaxis),y(s,this.yaxis);var l,c,u=r._size,f=this.xaxis.domain,h=this.yaxis.domain;for(o.viewBox=[u.l+f[0]*u.w,u.b+h[0]*u.h,i-u.r-(1-f[1])*u.w,a-u.t-(1-h[1])*u.h],this.mouseContainer.style.width=u.w*(f[1]-f[0])+\"px\",this.mouseContainer.style.height=u.h*(h[1]-h[0])+\"px\",this.mouseContainer.height=u.h*(h[1]-h[0]),this.mouseContainer.style.left=u.l+f[0]*u.w+\"px\",this.mouseContainer.style.top=u.t+(1-h[1])*u.h+\"px\",c=0;c<2;++c)(l=this[b[c]])._length=o.viewBox[c+2]-o.viewBox[c],x(this.graphDiv,l),l.setScale();v(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},k.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,i=t.r2l,a=e.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},k.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,i=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[i(t[1]),i(t[3])]},k.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if((i=t[n]).uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],c=this.traces[i.uid];c?c.update(i,l):(c=i._module.plot(this,i,l),this.traces[i.uid]=c)}this.glplot.objects.sort(function(t,e){return t._trace.index-e._trace.index})},k.updateFx=function(t){\"lasso\"===t||\"select\"===t?(this.pickCanvas.style[\"pointer-events\"]=\"none\",this.mouseContainer.style[\"pointer-events\"]=\"none\"):(this.pickCanvas.style[\"pointer-events\"]=\"auto\",this.mouseContainer.style[\"pointer-events\"]=\"auto\"),this.mouseContainer.style.cursor=\"pan\"===t?\"move\":\"zoom\"===t?\"crosshair\":null},k.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},k.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&&0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,l=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&\"zoom\"===i.dragmode){this.selectBox.enabled=!0;for(var c=this.selectBox.selectBox=[Math.min(e.boxStart[0],e.boxEnd[0]),Math.min(e.boxStart[1],e.boxEnd[1]),Math.max(e.boxStart[0],e.boxEnd[0]),Math.max(e.boxStart[1],e.boxEnd[1])],u=0;u<2;u++)e.boxStart[u]===e.boxEnd[u]&&(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var f=i._size,h=this.xaxis.domain,p=this.yaxis.domain,d=(a=t.pick(o/t.pixelRatio+f.l+h[0]*f.w,l/t.pixelRatio-(f.t+(1-p[1])*f.h)))&&a.object._trace.handlePick(a);if(d&&n&&this.emitPointAction(d,\"plotly_click\"),a&&\"skip\"!==a.object._trace.hoverinfo&&i.hovermode&&d&&(!this.lastPickResult||this.lastPickResult.traceUid!==d.trace.uid||this.lastPickResult.dataCoord[0]!==d.dataCoord[0]||this.lastPickResult.dataCoord[1]!==d.dataCoord[1])){var g=d;this.lastPickResult={traceUid:d.trace?d.trace.uid:null,dataCoord:d.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),g.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.dataCoord[0]-t.dataBox[0])/(t.dataBox[2]-t.dataBox[0])+t.viewBox[0])/t.pixelRatio,(this.canvas.height-(t.viewBox[3]-t.viewBox[1])*(a.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(d,\"plotly_hover\");var m=this.fullData[g.trace.index]||{},v=g.pointIndex,y=s.castHoverinfo(m,i,v);if(y&&\"all\"!==y){var x=y.split(\"+\");-1===x.indexOf(\"x\")&&(g.traceCoord[0]=void 0),-1===x.indexOf(\"y\")&&(g.traceCoord[1]=void 0),-1===x.indexOf(\"z\")&&(g.traceCoord[2]=void 0),-1===x.indexOf(\"text\")&&(g.textLabel=void 0),-1===x.indexOf(\"name\")&&(g.name=void 0)}s.loneHover({x:g.screenCoord[0],y:g.screenCoord[1],xLabel:this.hoverFormatter(\"xaxis\",g.traceCoord[0]),yLabel:this.hoverFormatter(\"yaxis\",g.traceCoord[1]),zLabel:g.traceCoord[2],text:g.textLabel,name:g.name,color:s.castHoverOption(m,v,\"bgcolor\")||g.color,borderColor:s.castHoverOption(m,v,\"bordercolor\"),fontFamily:s.castHoverOption(m,v,\"font.family\"),fontSize:s.castHoverOption(m,v,\"font.size\"),fontColor:s.castHoverOption(m,v,\"font.color\")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},k.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit(\"plotly_unhover\"),s.loneUnhover(this.svgContainer))},k.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return o.tickText(r,r.c2l(e),\"hover\").text}}},{\"../../components/fx\":609,\"../../lib/html2unicode\":691,\"../../lib/show_no_webgl_msg\":715,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"../cartesian/autorange\":741,\"../cartesian/constants\":747,\"../cartesian/constraints\":749,\"./camera\":779,\"./convert\":780,\"gl-plot2d\":274,\"gl-select-box\":284,\"gl-spikes2d\":293,\"webgl-context\":530}],783:[function(t,e,r){\"use strict\";e.exports=function(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];\"distanceLimits\"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]);\"zoomMin\"in e&&(r[0]=e.zoomMin);\"zoomMax\"in e&&(r[1]=e.zoomMax);var c=i({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||\"orbit\",distanceLimits:r}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,p=t.clientHeight,d={keyBindingMode:\"rotate\",view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,tick:function(){var e=n(),r=this.delay,i=e-2*r;c.idle(e-r),c.recalcMatrix(i),c.flush(e-(100+2*r));for(var a=!0,o=c.computedMatrix,s=0;s<16;++s)a=a&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=Math.exp(c.computedRadius[0]),!0)},lookAt:function(t,e,r){c.lookAt(c.lastT(),t,e,r)},rotate:function(t,e,r){c.rotate(c.lastT(),t,e,r)},pan:function(t,e,r){c.pan(c.lastT(),t,e,r)},translate:function(t,e,r){c.translate(c.lastT(),t,e,r)}};Object.defineProperties(d,{matrix:{get:function(){return c.computedMatrix},set:function(t){return c.setMatrix(c.lastT(),t),c.computedMatrix},enumerable:!0},mode:{get:function(){return c.getMode()},set:function(t){var e=c.computedUp.slice(),r=c.computedEye.slice(),i=c.computedCenter.slice();if(c.setMode(t),\"turntable\"===t){var a=n();c._active.lookAt(a,r,i,e),c._active.lookAt(a+500,r,i,[0,0,1]),c._active.flush(a)}return c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return f},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener(\"contextmenu\",function(t){return t.preventDefault(),!1});var g=0,m=0,v={shift:!1,control:!1,alt:!1,meta:!1};function y(e,r,i,a){var o=d.keyBindingMode;if(!1!==o){var s=\"rotate\"===o,l=\"pan\"===o,u=\"zoom\"===o,h=!!a.control,p=!!a.alt,y=!!a.shift,x=!!(1&e),b=!!(2&e),_=!!(4&e),w=1/t.clientHeight,k=w*(r-g),M=w*(i-m),A=d.flipX?1:-1,T=d.flipY?1:-1,S=n(),E=Math.PI*d.rotateSpeed;if((s&&x&&!h&&!p&&!y||x&&!h&&!p&&y)&&c.rotate(S,A*E*k,-T*E*M,0),(l&&x&&!h&&!p&&!y||b||x&&h&&!p&&!y)&&c.pan(S,-d.translateSpeed*k*f,d.translateSpeed*M*f,0),u&&x&&!h&&!p&&!y||_||x&&!h&&p&&!y){var C=-d.zoomSpeed*M/window.innerHeight*(S-c.lastT())*100;c.pan(S,0,0,f*(Math.exp(C)-1))}return g=r,m=i,v=a,!0}}return d.mouseListener=a(t,y),t.addEventListener(\"touchstart\",function(e){var r=s(e.changedTouches[0],t);y(0,r[0],r[1],v),y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\"touchmove\",function(e){var r=s(e.changedTouches[0],t);y(1,r[0],r[1],v),e.preventDefault()},!!l&&{passive:!1}),t.addEventListener(\"touchend\",function(t){y(0,g,m,v),t.preventDefault()},!!l&&{passive:!1}),d.wheelListener=o(t,function(t,e){if(!1!==d.keyBindingMode){var r=d.flipX?1:-1,i=d.flipY?1:-1,a=n();if(Math.abs(t)>Math.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else{var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,f*(Math.exp(o)-1))}}},!0),d};var n=t(\"right-now\"),i=t(\"3d-view\"),a=t(\"mouse-change\"),o=t(\"mouse-wheel\"),s=t(\"mouse-event-offset\"),l=t(\"has-passive-events\")},{\"3d-view\":44,\"has-passive-events\":392,\"mouse-change\":415,\"mouse-event-offset\":416,\"mouse-wheel\":418,\"right-now\":477}],784:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,i=t(\"../../components/fx/layout_attributes\"),a=t(\"./scene\"),o=t(\"../get_data\").getSubplotData,s=t(\"../../lib\"),l=t(\"../../constants/xmlns_namespaces\");r.name=\"gl3d\",r.attr=\"scene\",r.idRoot=\"scene\",r.idRegex=r.attrRegex=s.counterRegex(\"scene\"),r.attributes=t(\"./layout/attributes\"),r.layoutAttributes=t(\"./layout/layout_attributes\"),r.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},\"plot\",\"nested\"),r.supplyLayoutDefaults=t(\"./layout/defaults\"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i<n.length;i++){var l=n[i],c=o(r,\"gl3d\",l),u=e[l],f=u._scene;f||(f=new a({id:l,graphDiv:t,container:t.querySelector(\".gl-container\"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),u._scene=f),f.cameraInitial||(f.cameraInitial=s.extendDeep({},u.camera)),f.plot(c,e,t.layout)}},r.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(\".annotation-\"+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,c=s.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:l.svg,\"xlink:href\":c,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:\"none\"}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return\"1\"===e&&(e=\"\"),\"scene\"+e}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){e[r[n]]._scene.updateFx(e.dragmode,e.hovermode)}}},{\"../../components/fx/layout_attributes\":610,\"../../constants/xmlns_namespaces\":671,\"../../lib\":693,\"../../plot_api/edit_types\":725,\"../get_data\":778,\"./layout/attributes\":785,\"./layout/defaults\":789,\"./layout/layout_attributes\":790,\"./scene\":794}],785:[function(t,e,r){\"use strict\";e.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}},{}],786:[function(t,e,r){\"use strict\";var n=t(\"../../../components/color\"),i=t(\"../../cartesian/layout_attributes\"),a=t(\"../../../lib/extend\").extendFlat,o=t(\"../../../plot_api/edit_types\").overrideAll;e.exports=o({visible:i.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:n.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:i.title,titlefont:i.titlefont,type:i.type,autorange:i.autorange,rangemode:i.rangemode,range:i.range,tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth},\"plot\",\"from-root\")},{\"../../../components/color\":567,\"../../../lib/extend\":682,\"../../../plot_api/edit_types\":725,\"../../cartesian/layout_attributes\":754}],787:[function(t,e,r){\"use strict\";var n=t(\"tinycolor2\").mix,i=t(\"../../../lib\"),a=t(\"../../../plot_api/plot_template\"),o=t(\"./axis_attributes\"),s=t(\"../../cartesian/type_defaults\"),l=t(\"../../cartesian/axis_defaults\"),c=[\"xaxis\",\"yaxis\",\"zaxis\"];e.exports=function(t,e,r){var u,f;function h(t,e){return i.coerce(u,f,o,t,e)}for(var p=0;p<c.length;p++){var d=c[p];u=t[d]||{},(f=a.newContainer(e,d))._id=d[0]+r.scene,f._name=d,s(u,f,h,r),l(u,f,h,{font:r.font,letter:d[0],data:r.data,showGrid:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),h(\"gridcolor\",n(f.color,r.bgColor,13600/187).toRgbString()),h(\"title\",d[0]),f.setScale=i.noop,h(\"showspikes\")&&(h(\"spikesides\"),h(\"spikethickness\"),h(\"spikecolor\",f.color)),h(\"showaxeslabels\"),h(\"showbackground\")&&h(\"backgroundcolor\")}}},{\"../../../lib\":693,\"../../../plot_api/plot_template\":732,\"../../cartesian/axis_defaults\":744,\"../../cartesian/type_defaults\":765,\"./axis_attributes\":786,tinycolor2:511}],788:[function(t,e,r){\"use strict\";var n=t(\"../../../lib/html2unicode\"),i=t(\"../../../lib/str2rgbarray\"),a=[\"xaxis\",\"yaxis\",\"zaxis\"];function o(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}o.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[a[e]];r.visible?(this.labels[e]=n(r.title),\"titlefont\"in r&&(r.titlefont.color&&(this.labelColor[e]=i(r.titlefont.color)),r.titlefont.family&&(this.labelFont[e]=r.titlefont.family),r.titlefont.size&&(this.labelSize[e]=r.titlefont.size)),\"showline\"in r&&(this.lineEnable[e]=r.showline),\"linecolor\"in r&&(this.lineColor[e]=i(r.linecolor)),\"linewidth\"in r&&(this.lineWidth[e]=r.linewidth),\"showgrid\"in r&&(this.gridEnable[e]=r.showgrid),\"gridcolor\"in r&&(this.gridColor[e]=i(r.gridcolor)),\"gridwidth\"in r&&(this.gridWidth[e]=r.gridwidth),\"log\"===r.type?this.zeroEnable[e]=!1:\"zeroline\"in r&&(this.zeroEnable[e]=r.zeroline),\"zerolinecolor\"in r&&(this.zeroLineColor[e]=i(r.zerolinecolor)),\"zerolinewidth\"in r&&(this.zeroLineWidth[e]=r.zerolinewidth),\"ticks\"in r&&r.ticks?this.lineTickEnable[e]=!0:this.lineTickEnable[e]=!1,\"ticklen\"in r&&(this.lineTickLength[e]=this._defaultLineTickLength[e]=r.ticklen),\"tickcolor\"in r&&(this.lineTickColor[e]=i(r.tickcolor)),\"tickwidth\"in r&&(this.lineTickWidth[e]=r.tickwidth),\"tickangle\"in r&&(this.tickAngle[e]=\"auto\"===r.tickangle?0:Math.PI*-r.tickangle/180),\"showticklabels\"in r&&(this.tickEnable[e]=r.showticklabels),\"tickfont\"in r&&(r.tickfont.color&&(this.tickColor[e]=i(r.tickfont.color)),r.tickfont.family&&(this.tickFont[e]=r.tickfont.family),r.tickfont.size&&(this.tickSize[e]=r.tickfont.size)),\"mirror\"in r?-1!==[\"ticks\",\"all\",\"allticks\"].indexOf(r.mirror)?(this.lineTickMirror[e]=!0,this.lineMirror[e]=!0):!0===r.mirror?(this.lineTickMirror[e]=!1,this.lineMirror[e]=!0):(this.lineTickMirror[e]=!1,this.lineMirror[e]=!1):this.lineMirror[e]=!1,\"showbackground\"in r&&!1!==r.showbackground?(this.backgroundEnable[e]=!0,this.backgroundColor[e]=i(r.backgroundcolor)):this.backgroundEnable[e]=!1):(this.tickEnable[e]=!1,this.labelEnable[e]=!1,this.lineEnable[e]=!1,this.lineTickEnable[e]=!1,this.gridEnable[e]=!1,this.zeroEnable[e]=!1,this.backgroundEnable[e]=!1)}},e.exports=function(t){var e=new o;return e.merge(t),e}},{\"../../../lib/html2unicode\":691,\"../../../lib/str2rgbarray\":717}],789:[function(t,e,r){\"use strict\";var n=t(\"../../../lib\"),i=t(\"../../../components/color\"),a=t(\"../../../registry\"),o=t(\"../../subplot_defaults\"),s=t(\"./axis_defaults\"),l=t(\"./layout_attributes\");function c(t,e,r,n){for(var o=r(\"bgcolor\"),l=i.combine(o,n.paper_bgcolor),c=[\"up\",\"center\",\"eye\"],u=0;u<c.length;u++)r(\"camera.\"+c[u]+\".x\"),r(\"camera.\"+c[u]+\".y\"),r(\"camera.\"+c[u]+\".z\");var f=!!r(\"aspectratio.x\")&&!!r(\"aspectratio.y\")&&!!r(\"aspectratio.z\"),h=r(\"aspectmode\",f?\"manual\":\"auto\");f||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},\"manual\"===h&&(e.aspectmode=\"auto\"),t.aspectmode=e.aspectmode),s(t,e,{font:n.font,scene:n.id,data:n.fullData,bgColor:l,calendar:n.calendar,fullLayout:n.fullLayout}),a.getComponentMethod(\"annotations3d\",\"handleDefaults\")(t,e,n),r(\"dragmode\",n.getDfltFromLayout(\"dragmode\")),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}e.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:\"gl3d\",attributes:l,handleDefaults:c,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{\"../../../components/color\":567,\"../../../lib\":693,\"../../../registry\":825,\"../../subplot_defaults\":820,\"./axis_defaults\":787,\"./layout_attributes\":790}],790:[function(t,e,r){\"use strict\";var n=t(\"./axis_attributes\"),i=t(\"../../domain\").attributes,a=t(\"../../../lib/extend\").extendFlat,o=t(\"../../../lib\").counterRegex;function s(t,e,r){return{x:{valType:\"number\",dflt:t,editType:\"camera\"},y:{valType:\"number\",dflt:e,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}e.exports={_arrayAttrRegexps:[o(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),editType:\"camera\"},domain:i({name:\"scene\",editType:\"plot\"}),aspectmode:{valType:\"enumerated\",values:[\"auto\",\"cube\",\"data\",\"manual\"],dflt:\"auto\",editType:\"plot\",impliedEdits:{\"aspectratio.x\":void 0,\"aspectratio.y\":void 0,\"aspectratio.z\":void 0}},aspectratio:{x:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},y:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},z:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},editType:\"plot\",impliedEdits:{aspectmode:\"manual\"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:\"enumerated\",values:[\"orbit\",\"turntable\",\"zoom\",\"pan\",!1],dflt:\"turntable\",editType:\"plot\"},hovermode:{valType:\"enumerated\",values:[\"closest\",!1],dflt:\"closest\",editType:\"modebar\"},editType:\"plot\",_deprecated:{cameraposition:{valType:\"info_array\",editType:\"camera\"}}}},{\"../../../lib\":693,\"../../../lib/extend\":682,\"../../domain\":767,\"./axis_attributes\":786}],791:[function(t,e,r){\"use strict\";var n=t(\"../../../lib/str2rgbarray\"),i=[\"xaxis\",\"yaxis\",\"zaxis\"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new a;return e.merge(t),e}},{\"../../../lib/str2rgbarray\":717}],792:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,l=t.fullSceneLayout,c=[[],[],[]],u=0;u<3;++u){var f=l[o[u]];if(f._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(f._length)===1/0)c[u]=[];else{f._input_range=f.range.slice(),f.range[0]=r[u].lo/t.dataScale[u],f.range[1]=r[u].hi/t.dataScale[u],f._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),f.range[0]===f.range[1]&&(f.range[0]-=1,f.range[1]+=1);var h=f.tickmode;if(\"auto\"===f.tickmode){f.tickmode=\"linear\";var p=f.nticks||i.constrain(f._length/40,4,9);n.autoTicks(f,Math.abs(f.range[1]-f.range[0])/p)}for(var d=n.calcTicks(f),g=0;g<d.length;++g)d[g].x=d[g].x*t.dataScale[u],d[g].text=a(d[g].text);c[u]=d,f.tickmode=h}}e.ticks=c;for(var u=0;u<3;++u){s[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]);for(var g=0;g<2;++g)e.bounds[g][u]=t.glplot.bounds[g][u]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}(c)};var n=t(\"../../cartesian/axes\"),i=t(\"../../../lib\"),a=t(\"../../../lib/html2unicode\"),o=[\"xaxis\",\"yaxis\",\"zaxis\"],s=[0,0,0]},{\"../../../lib\":693,\"../../../lib/html2unicode\":691,\"../../cartesian/axes\":742}],793:[function(t,e,r){\"use strict\";function n(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}e.exports=function(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}},{}],794:[function(t,e,r){\"use strict\";var n,i,a=t(\"gl-plot3d\"),o=t(\"webgl-context\"),s=t(\"has-passive-events\"),l=t(\"../../registry\"),c=t(\"../../lib\"),u=t(\"../../plots/cartesian/axes\"),f=t(\"../../components/fx\"),h=t(\"../../lib/str2rgbarray\"),p=t(\"../../lib/show_no_webgl_msg\"),d=t(\"./camera\"),g=t(\"./project\"),m=t(\"./layout/convert\"),v=t(\"./layout/spikes\"),y=t(\"./layout/tick_marks\");function x(t,e,r,l){var c=t.graphDiv,h={canvas:r,gl:l,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1};if(t.staticMode){if(!(i||(n=document.createElement(\"canvas\"),i=o({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error(\"error creating static canvas/context for image server\");h.pixelRatio=t.pixelRatio,h.gl=i,h.canvas=n}try{t.glplot=a(h)}catch(e){return p(t)}var m=function(t){if(!1!==t.fullSceneLayout.dragmode){var e={};e[t.id+\".camera\"]=M(t.camera),t.saveCamera(c.layout),t.graphDiv.emit(\"plotly_relayout\",e)}};if(t.glplot.canvas.addEventListener(\"mouseup\",m.bind(null,t)),t.glplot.canvas.addEventListener(\"wheel\",m.bind(null,t),!!s&&{passive:!1}),t.staticMode||t.glplot.canvas.addEventListener(\"webglcontextlost\",function(e){c&&c.emit&&c.emit(\"plotly_webglcontextlost\",{event:e,layer:t.id})},!1),!t.camera){var v=t.fullSceneLayout.camera;t.camera=d(t.container,{center:[v.center.x,v.center.y,v.center.z],eye:[v.eye.x,v.eye.y,v.eye.z],up:[v.up.x,v.up.y,v.up.z],zoomMin:.1,zoomMax:100,mode:\"orbit\"})}return t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){var e,r=t.svgContainer,n=t.container.getBoundingClientRect(),i=n.width,a=n.height;r.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a),r.setAttributeNS(null,\"width\",i),r.setAttributeNS(null,\"height\",a),y(t),t.glplot.axes.update(t.axesOptions);for(var o,s=Object.keys(t.traces),l=null,c=t.glplot.selection,h=0;h<s.length;++h)\"skip\"!==(e=t.traces[s[h]]).data.hoverinfo&&e.handlePick(c)&&(l=e),e.setContourLevels&&e.setContourLevels();function p(e,r){var n=t.fullSceneLayout[e];return u.tickText(n,n.d2l(r),\"hover\").text}if(null!==l){var d=g(t.glplot.cameraParams,c.dataCoordinate);e=l.data;var m,v=c.index,x=f.castHoverinfo(e,t.fullLayout,v),b=x.split(\"+\"),_=\"all\"===x,w=p(\"xaxis\",c.traceCoordinate[0]),k=p(\"yaxis\",c.traceCoordinate[1]),M=p(\"zaxis\",c.traceCoordinate[2]);if(_||(-1===b.indexOf(\"x\")&&(w=void 0),-1===b.indexOf(\"y\")&&(k=void 0),-1===b.indexOf(\"z\")&&(M=void 0),-1===b.indexOf(\"text\")&&(c.textLabel=void 0),-1===b.indexOf(\"name\")&&(l.name=void 0)),\"cone\"===e.type||\"streamtube\"===e.type){var A=[];(_||-1!==b.indexOf(\"u\"))&&A.push(\"u: \"+p(\"xaxis\",c.traceCoordinate[3])),(_||-1!==b.indexOf(\"v\"))&&A.push(\"v: \"+p(\"yaxis\",c.traceCoordinate[4])),(_||-1!==b.indexOf(\"w\"))&&A.push(\"w: \"+p(\"zaxis\",c.traceCoordinate[5])),(_||-1!==b.indexOf(\"norm\"))&&A.push(\"norm: \"+c.traceCoordinate[6].toPrecision(3)),\"streamtube\"!==e.type||!_&&-1===b.indexOf(\"divergence\")||A.push(\"divergence: \"+c.traceCoordinate[7].toPrecision(3)),c.textLabel&&A.push(c.textLabel),m=A.join(\"<br>\")}else m=c.textLabel;t.fullSceneLayout.hovermode&&f.loneHover({x:(.5+.5*d[0]/d[3])*i,y:(.5-.5*d[1]/d[3])*a,xLabel:w,yLabel:k,zLabel:M,text:m,name:l.name,color:f.castHoverOption(e,v,\"bgcolor\")||l.color,borderColor:f.castHoverOption(e,v,\"bordercolor\"),fontFamily:f.castHoverOption(e,v,\"font.family\"),fontSize:f.castHoverOption(e,v,\"font.size\"),fontColor:f.castHoverOption(e,v,\"font.color\")},{container:r,gd:t.graphDiv});var T={x:c.traceCoordinate[0],y:c.traceCoordinate[1],z:c.traceCoordinate[2],data:e._input,fullData:e,curveNumber:e.index,pointNumber:v};e._module.eventData&&(T=e._module.eventData(T,c,e,{},v)),f.appendArrayPointValue(T,e,v);var S={points:[T]};c.buttons&&c.distance<5?t.graphDiv.emit(\"plotly_click\",S):t.graphDiv.emit(\"plotly_hover\",S),o=S}else f.loneUnhover(r),t.graphDiv.emit(\"plotly_unhover\",o);t.drawAnnotations(t)}.bind(null,t),t.traces={},!0}function b(t,e){var r=document.createElement(\"div\"),n=t.container;this.graphDiv=t.graphDiv;var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\",r.appendChild(i),this.svgContainer=i,r.id=t.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=e,this.id=t.id||\"scene\",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=m(e[this.id]),this.spikeOptions=v(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=l.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=l.getComponentMethod(\"annotations3d\",\"draw\"),x(this)}var _=b.prototype;_.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):x(t,t.fullLayout,r,e)?t.plot.apply(t,t.plotArgs):c.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\")})};var w=[\"xaxis\",\"yaxis\",\"zaxis\"];function k(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=w[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+\"calendar\"],f=e[\"_\"+o+\"length\"];if(c.isArrayOrTypedArray(l))for(var h,p=0;p<(f||l.length);p++)if(c.isArrayOrTypedArray(l[p]))for(var d=0;d<l[p].length;++d)h=s.d2l(l[p][d],0,u),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else h=s.d2l(l[p],0,u),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],f-1)}}function M(t){return{up:{x:t.up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]}}}_.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,i,a,o,s,l,c=e[this.id],u=r[this.id];c.bgcolor?this.glplot.clearColor=h(c.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=c,this.glplotLayout=c,this.axesOptions.merge(c),this.spikeOptions.merge(c),this.setCamera(c.camera),this.updateFx(c.dragmode,c.hovermode),this.glplot.update({}),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(a=0;a<t.length;++a)!0===(n=t[a]).visible&&k(this,n,f);var p=[1,1,1];for(o=0;o<3;++o)f[0][o]>f[1][o]?p[o]=1:f[1][o]===f[0][o]?p[o]=1:p[o]=1/(f[1][o]-f[0][o]);for(this.dataScale=p,this.convertAnnotations(this),a=0;a<t.length;++a)!0===(n=t[a]).visible&&((i=this.traces[n.uid])?i.data.type===n.type?i.update(n):(i.dispose(),i=n._module.plot(this,n),this.traces[n.uid]=i):(i=n._module.plot(this,n),this.traces[n.uid]=i),i.name=n.name);var d=Object.keys(this.traces);t:for(a=0;a<d.length;++a){for(o=0;o<t.length;++o)if(t[o].uid===d[a]&&!0===t[o].visible)continue t;(i=this.traces[d[a]]).dispose(),delete this.traces[d[a]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var g=[[0,0,0],[0,0,0]],m=[],v={};for(a=0;a<3;++a){if((l=(s=c[w[a]]).type)in v?(v[l].acc*=p[a],v[l].count+=1):v[l]={acc:p[a],count:1},s.autorange){g[0][a]=1/0,g[1][a]=-1/0;var y=this.glplot.objects,x=this.fullSceneLayout.annotations||[],b=s._name.charAt(0);for(o=0;o<y.length;o++){var _=y[o],M=_.bounds,A=_._trace.data._pad||0;\"ErrorBars\"===_.constructor.name&&s._lowerLogErrorBound?g[0][a]=Math.min(g[0][a],s._lowerLogErrorBound):g[0][a]=Math.min(g[0][a],M[0][a]/p[a]-A),g[1][a]=Math.max(g[1][a],M[1][a]/p[a]+A)}for(o=0;o<x.length;o++){var T=x[o];if(T.visible){var S=s.r2l(T[b]);g[0][a]=Math.min(g[0][a],S),g[1][a]=Math.max(g[1][a],S)}}if(\"rangemode\"in s&&\"tozero\"===s.rangemode&&(g[0][a]=Math.min(g[0][a],0),g[1][a]=Math.max(g[1][a],0)),g[0][a]>g[1][a])g[0][a]=-1,g[1][a]=1;else{var E=g[1][a]-g[0][a];g[0][a]-=E/32,g[1][a]+=E/32}}else{var C=s.range;g[0][a]=s.r2l(C[0]),g[1][a]=s.r2l(C[1])}g[0][a]===g[1][a]&&(g[0][a]-=1,g[1][a]+=1),m[a]=g[1][a]-g[0][a],this.glplot.bounds[0][a]=g[0][a]*p[a],this.glplot.bounds[1][a]=g[1][a]*p[a]}var L=[1,1,1];for(a=0;a<3;++a){var z=v[l=(s=c[w[a]]).type];L[a]=Math.pow(z.acc,1/z.count)/p[a]}var P;if(\"auto\"===c.aspectmode)P=Math.max.apply(null,L)/Math.min.apply(null,L)<=4?L:[1,1,1];else if(\"cube\"===c.aspectmode)P=[1,1,1];else if(\"data\"===c.aspectmode)P=L;else{if(\"manual\"!==c.aspectmode)throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");var O=c.aspectratio;P=[O.x,O.y,O.z]}c.aspectratio.x=u.aspectratio.x=P[0],c.aspectratio.y=u.aspectratio.y=P[1],c.aspectratio.z=u.aspectratio.z=P[2],this.glplot.aspect=P;var I=c.domain||null,D=e._size||null;if(I&&D){var R=this.container.style;R.position=\"absolute\",R.left=D.l+I.x[0]*D.w+\"px\",R.top=D.t+(1-I.y[1])*D.h+\"px\",R.width=D.w*(I.x[1]-I.x[0])+\"px\",R.height=D.h*(I.y[1]-I.y[0])+\"px\"}this.glplot.redraw()}},_.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener(\"wheel\",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},_.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),M(this.glplot.camera)},_.setCamera=function(t){var e;this.glplot.camera.lookAt.apply(this,[[(e=t).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]])},_.saveCamera=function(t){var e=this.getCamera(),r=c.nestedProperty(t,this.id+\".camera\"),n=r.get(),i=!1;function a(t,e,r,n){var i=[\"up\",\"center\",\"eye\"],a=[\"x\",\"y\",\"z\"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}if(void 0===n)i=!0;else for(var o=0;o<3;o++)for(var s=0;s<3;s++)if(!a(e,n,o,s)){i=!0;break}return i&&r.set(e),i},_.updateFx=function(t,e){var r=this.camera;r&&(\"orbit\"===t?(r.mode=\"orbit\",r.keyBindingMode=\"rotate\"):\"turntable\"===t?(r.up=[0,0,1],r.mode=\"turntable\",r.keyBindingMode=\"rotate\"):r.keyBindingMode=t),this.fullSceneLayout.hovermode=e},_.toImage=function(t){t||(t=\"png\"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=a[4*(r*o+l)+c];a[4*(r*o+l)+c]=a[4*(r*s+l)+c],a[4*(r*s+l)+c]=u}var f=document.createElement(\"canvas\");f.width=r,f.height=i;var h,p=f.getContext(\"2d\"),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case\"jpeg\":h=f.toDataURL(\"image/jpeg\");break;case\"webp\":h=f.toDataURL(\"image/webp\");break;default:h=f.toDataURL(\"image/png\")}return this.staticMode&&this.container.removeChild(n),h},_.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[w[t]];u.setConvert(e,this.fullLayout),e.setScale=c.noop}},e.exports=b},{\"../../components/fx\":609,\"../../lib\":693,\"../../lib/show_no_webgl_msg\":715,\"../../lib/str2rgbarray\":717,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"./camera\":783,\"./layout/convert\":788,\"./layout/spikes\":791,\"./layout/tick_marks\":792,\"./project\":793,\"gl-plot3d\":276,\"has-passive-events\":392,\"webgl-context\":530}],795:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;a<n;a++)i[a]=[t[a],e[a],r[a]];return i}},{}],796:[function(t,e,r){\"use strict\";var n=t(\"./font_attributes\"),i=t(\"../components/color/attributes\"),a=n({editType:\"calc\"});a.family.dflt='\"Open Sans\", verdana, arial, sans-serif',a.size.dflt=12,a.color.dflt=i.defaultLine,e.exports={font:a,title:{valType:\"string\",editType:\"layoutstyle\"},titlefont:n({editType:\"layoutstyle\"}),autosize:{valType:\"boolean\",dflt:!1,editType:\"none\"},width:{valType:\"number\",min:10,dflt:700,editType:\"plot\"},height:{valType:\"number\",min:10,dflt:450,editType:\"plot\"},margin:{l:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},r:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},t:{valType:\"number\",min:0,dflt:100,editType:\"plot\"},b:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},autoexpand:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},paper_bgcolor:{valType:\"color\",dflt:i.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:i.background,editType:\"layoutstyle\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:i.defaults,editType:\"calc\"},datarevision:{valType:\"any\",editType:\"calc\"},template:{valType:\"any\",editType:\"calc\"}}},{\"../components/color/attributes\":566,\"./font_attributes\":768}],797:[function(t,e,r){\"use strict\";e.exports={requiredVersion:\"0.45.0\",styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",controlContainerClassName:\"mapboxgl-control-container\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install mapbox-gl@0.45.0.\"].join(\"\\n\"),noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\"  Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });\",\"More info here: https://www.mapbox.com/help/define-access-token/\"].join(\"\\n\"),mapOnErrorMsg:\"Mapbox error.\",styleRules:{map:\"overflow:hidden;position:relative;\",\"missing-css\":\"display:none\"}}},{}],798:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){var r=t.split(\" \"),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=[\"\",\"\"],u=[0,0];switch(i){case\"top\":c[0]=\"top\",u[1]=-l;break;case\"bottom\":c[0]=\"bottom\",u[1]=l}switch(a){case\"left\":c[1]=\"right\",u[0]=-s;break;case\"right\":c[1]=\"left\",u[0]=s}return{anchor:c[0]&&c[1]?c.join(\"-\"):c[0]?c[0]:c[1]?c[1]:\"center\",offset:u}}},{\"../../lib\":693}],799:[function(t,e,r){\"use strict\";var n=t(\"mapbox-gl\"),i=t(\"../../lib\"),a=t(\"../../plots/get_data\").getSubplotCalcData,o=t(\"../../constants/xmlns_namespaces\"),s=t(\"./mapbox\"),l=t(\"./constants\");for(var c in l.styleRules)i.addStyleRule(\".mapboxgl-\"+c,l.styleRules[c]);r.name=\"mapbox\",r.attr=\"subplot\",r.idRoot=\"mapbox\",r.idRegex=r.attrRegex=i.counterRegex(\"mapbox\"),r.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}},r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=e._subplots.mapbox;if(n.version!==l.requiredVersion)throw new Error(l.wrongVersionErrorMsg);var c=function(t,e){var r=t._fullLayout;if(\"\"===t._context.mapboxAccessToken)return\"\";for(var n=0;n<e.length;n++){var i=r[e[n]];if(i.accesstoken)return i.accesstoken}throw new Error(l.noAccessTokenErrorMsg)}(t,o);n.accessToken=c;for(var u=0;u<o.length;u++){var f=o[u],h=a(r,\"mapbox\",f),p=e[f],d=p._subplot;d||(d=s({gd:t,container:e._glcontainer.node(),id:f,fullLayout:e,staticPlot:t._context.staticPlot}),e[f]._subplot=d),d.viewInitial||(d.viewInitial={center:i.extendFlat({},p.center),zoom:p.zoom,bearing:p.bearing,pitch:p.pitch}),d.plot(h,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],s=a.domain,l=a._subplot,c=l.toImage(\"png\");e._glimages.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":c,x:n.l+n.w*s.x[0],y:n.t+n.h*(1-s.y[1]),width:n.w*(s.x[1]-s.x[0]),height:n.h*(s.y[1]-s.y[0]),preserveAspectRatio:\"none\"}),l.destroy()}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n<r.length;n++){e[r[n]]._subplot.updateFx(e)}}},{\"../../constants/xmlns_namespaces\":671,\"../../lib\":693,\"../../plots/get_data\":778,\"./constants\":797,\"./layout_attributes\":801,\"./layout_defaults\":802,\"./mapbox\":803,\"mapbox-gl\":406}],800:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./convert_text_opts\");function a(t,e){this.mapbox=t,this.map=t.map,this.uid=t.uid+\"-layer\"+e,this.idSource=this.uid+\"-source\",this.idLayer=this.uid+\"-layer\",this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var o=a.prototype;function s(t){var e=t.source;return t.visible&&(n.isPlainObject(e)||\"string\"==typeof e&&e.length>0)}function l(t){var e={},r={};switch(t.type){case\"circle\":n.extendFlat(r,{\"circle-radius\":t.circle.radius,\"circle-color\":t.color,\"circle-opacity\":t.opacity});break;case\"line\":n.extendFlat(r,{\"line-width\":t.line.width,\"line-color\":t.color,\"line-opacity\":t.opacity});break;case\"fill\":n.extendFlat(r,{\"fill-color\":t.color,\"fill-outline-color\":t.fill.outlinecolor,\"fill-opacity\":t.opacity});break;case\"symbol\":var a=t.symbol,o=i(a.textposition,a.iconsize);n.extendFlat(e,{\"icon-image\":a.icon+\"-15\",\"icon-size\":a.iconsize/10,\"text-field\":a.text,\"text-size\":a.textfont.size,\"text-anchor\":o.anchor,\"text-offset\":o.offset}),n.extendFlat(r,{\"icon-color\":t.color,\"text-color\":a.textfont.color,\"text-opacity\":t.opacity})}return{layout:e,paint:r}}o.update=function(t){this.visible?this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=s(t)},o.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},o.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==t.below},o.updateSource=function(t){var e=this.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,s(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,i={type:r};\"geojson\"===r?e=\"data\":\"vector\"===r&&(e=\"string\"==typeof n?\"url\":\"tiles\");return i[e]=n,i}(t);e.addSource(this.idSource,r)}},o.updateLayer=function(t){var e=this.map,r=l(t);this.removeLayer(),this.layerType=t.type,s(t)&&e.addLayer({id:this.idLayer,source:this.idSource,\"source-layer\":t.sourcelayer||\"\",type:t.type,layout:r.layout,paint:r.paint},t.below)},o.updateStyle=function(t){if(s(t)){var e=l(t);this.mapbox.setOptions(this.idLayer,\"setLayoutProperty\",e.layout),this.mapbox.setOptions(this.idLayer,\"setPaintProperty\",e.paint)}},o.removeLayer=function(){var t=this.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer)},o.dispose=function(){var t=this.map;t.removeLayer(this.idLayer),t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new a(t,e);return n.update(r),n}},{\"../../lib\":693,\"./convert_text_opts\":798}],801:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\").defaultLine,a=t(\"../domain\").attributes,o=t(\"../font_attributes\"),s=t(\"../../traces/scatter/attributes\").textposition,l=t(\"../../plot_api/edit_types\").overrideAll,c=t(\"../../plot_api/plot_template\").templatedArray,u=o({});u.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\",e.exports=l({_arrayAttrRegexps:[n.counterRegex(\"mapbox\",\".layers\",!0)],domain:a({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],dflt:\"basic\"},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},layers:c(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\"],dflt:\"circle\"},below:{valType:\"string\",dflt:\"\"},color:{valType:\"color\",dflt:i},opacity:{valType:\"number\",min:0,max:1,dflt:1},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2}},fill:{outlinecolor:{valType:\"color\",dflt:i}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},textfont:u,textposition:n.extendFlat({},s,{arrayOk:!1})}})},\"plot\",\"from-root\")},{\"../../components/color\":567,\"../../lib\":693,\"../../plot_api/edit_types\":725,\"../../plot_api/plot_template\":732,\"../../traces/scatter/attributes\":1032,\"../domain\":767,\"../font_attributes\":768}],802:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../subplot_defaults\"),a=t(\"../array_container_defaults\"),o=t(\"./layout_attributes\");function s(t,e,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\"),a(t,e,{name:\"layers\",handleItemDefaults:l}),e._input=t}function l(t,e){function r(r,i){return n.coerce(t,e,o.layers,r,i)}if(r(\"visible\")){var i=r(\"sourcetype\");r(\"source\"),\"vector\"===i&&r(\"sourcelayer\");var a=r(\"type\");r(\"below\"),r(\"color\"),r(\"opacity\"),\"circle\"===a&&r(\"circle.radius\"),\"line\"===a&&r(\"line.width\"),\"fill\"===a&&r(\"fill.outlinecolor\"),\"symbol\"===a&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),n.coerceFont(r,\"symbol.textfont\"),r(\"symbol.textposition\"))}}e.exports=function(t,e,r){i(t,e,r,{type:\"mapbox\",attributes:o,handleDefaults:s,partition:\"y\",accessToken:e._mapboxAccessToken})}},{\"../../lib\":693,\"../array_container_defaults\":738,\"../subplot_defaults\":820,\"./layout_attributes\":801}],803:[function(t,e,r){\"use strict\";var n=t(\"mapbox-gl\"),i=t(\"../../components/fx\"),a=t(\"../../lib\"),o=t(\"../../components/dragelement\"),s=t(\"../cartesian/select\").prepSelect,l=t(\"../cartesian/select\").selectOnClick,c=t(\"./constants\"),u=t(\"./layout_attributes\"),f=t(\"./layers\");function h(t){this.id=t.id,this.gd=t.gd,this.container=t.container,this.isStatic=t.staticPlot;var e=t.fullLayout;this.uid=e._uid+\"-\"+this.id,this.opts=e[this.id],this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(e),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[]}var p=h.prototype;function d(t){var e=u.style.values,r=u.style.dflt,n={};return a.isPlainObject(t)?(n.id=t.id,n.style=t):\"string\"==typeof t?(n.id=t,n.style=-1!==e.indexOf(t)?g(t):t):(n.id=r,n.style=g(r)),n.transition={duration:0,delay:0},n}function g(t){return c.styleUrlPrefix+t+\"-\"+c.styleUrlSuffix}function m(t){return[t.lon,t.lat]}e.exports=function(t){return new h(t)},p.plot=function(t,e,r){var n,i=this,a=i.opts=e[this.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash=[],i.layerList={}),n=i.map?new Promise(function(r,n){i.updateMap(t,e,r,n)}):new Promise(function(r,n){i.createMap(t,e,r,n)}),r.push(n)},p.createMap=function(t,e,r,a){var o=this,s=o.gd,u=o.opts,f=o.styleObj=d(u.style);o.accessToken=u.accesstoken;var h=o.map=new n.Map({container:o.div,style:f.style,center:m(u.center),zoom:u.zoom,bearing:u.bearing,pitch:u.pitch,interactive:!o.isStatic,preserveDrawingBuffer:o.isStatic,doubleClickZoom:!1,boxZoom:!1}),p=c.controlContainerClassName,g=o.div.getElementsByClassName(p)[0];if(o.div.removeChild(g),h._canvas.style.left=\"0px\",h._canvas.style.top=\"0px\",o.rejectOnError(a),h.once(\"load\",function(){o.updateData(t),o.updateLayout(e),o.resolveOnRender(r)}),!o.isStatic){var v=!1;h.on(\"moveend\",function(t){if(o.map){var e=o.getView();u._input.center=u.center=e.center,u._input.zoom=u.zoom=e.zoom,u._input.bearing=u.bearing=e.bearing,u._input.pitch=u.pitch=e.pitch,(t.originalEvent||v)&&x(e),v=!1}}),h.on(\"wheel\",function(){v=!0}),h.on(\"mousemove\",function(t){var e=o.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},o.xaxis.p2c=function(){return t.lngLat.lng},o.yaxis.p2c=function(){return t.lngLat.lat},i.hover(s,t,o.id)}),h.on(\"dragstart\",y),h.on(\"zoomstart\",y),h.on(\"dblclick\",function(){s.emit(\"plotly_doubleclick\",null);var t=o.viewInitial;h.setCenter(m(t.center)),h.setZoom(t.zoom),h.setBearing(t.bearing),h.setPitch(t.pitch);var e=o.getView();u._input.center=u.center=e.center,u._input.zoom=u.zoom=e.zoom,u._input.bearing=u.bearing=e.bearing,u._input.pitch=u.pitch=e.pitch,x(e)}),o.clearSelect=function(){s._fullLayout._zoomlayer.selectAll(\".select-outline\").remove()},o.onClickInPanFn=function(t){return function(e){var r=s._fullLayout.clickmode;r.indexOf(\"select\")>-1&&l(e.originalEvent,s,[o.xaxis],[o.yaxis],o.id,t),r.indexOf(\"event\")>-1&&i.click(s,e.originalEvent)}}}function y(){i.loneUnhover(e._toppaper)}function x(t){var e=o.id,r={};for(var n in t)r[e+\".\"+n]=t[n];s.emit(\"plotly_relayout\",r)}},p.updateMap=function(t,e,r,n){var i=this,a=i.map;i.rejectOnError(n);var o=d(i.opts.style);i.styleObj.id!==o.id?(i.styleObj=o,a.setStyle(o.style),a.once(\"styledata\",function(){i.traceHash={},i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})):(i.updateData(t),i.updateLayout(e),i.resolveOnRender(r))},p.updateData=function(t){var e,r,n,i,a=this.traceHash;for(n=0;n<t.length;n++){var o=t[n];(e=a[(r=o[0].trace).uid])?e.update(o):r._module&&(a[r.uid]=r._module.plot(this,o))}var s=Object.keys(a);t:for(n=0;n<s.length;n++){var l=s[n];for(i=0;i<t.length;i++)if(l===(r=t[i][0].trace).uid)continue t;(e=a[l]).dispose(),delete a[l]}},p.updateLayout=function(t){var e=this.map,r=this.opts;e.setCenter(m(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(),this.updateFramework(t),this.updateFx(t),this.map.resize()},p.resolveOnRender=function(t){var e=this.map;e.on(\"render\",function r(){e.loaded()&&(e.off(\"render\",r),setTimeout(t,0))})},p.rejectOnError=function(t){var e=this.map;function r(){t(new Error(c.mapOnErrorMsg))}e.once(\"error\",r),e.once(\"style.error\",r),e.once(\"source.error\",r),e.once(\"tile.error\",r),e.once(\"layer.error\",r)},p.createFramework=function(t){var e=this,r=e.div=document.createElement(\"div\");r.id=e.uid,r.style.position=\"absolute\",e.container.appendChild(r),e.xaxis={_id:\"x\",c2p:function(t){return e.project(t).x}},e.yaxis={_id:\"y\",c2p:function(t){return e.project(t).y}},e.updateFramework(t)},p.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var i,l=t.dragmode;i=\"select\"===l?function(t,r){(t.range={})[e.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(u)};var c=e.dragOptions;e.dragOptions=a.extendDeep(c||{},{element:e.div,gd:n,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:i},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off(\"click\",e.onClickInPanHandler),\"select\"===l||\"lasso\"===l?(r.dragPan.disable(),r.on(\"zoomstart\",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){s(t,r,n,e.dragOptions,l)},o.init(e.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",e.clearSelect),e.div.onmousedown=null,e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on(\"click\",e.onClickInPanHandler))}function u(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},p.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+\"px\",n.height=r.h*(e.y[1]-e.y[0])+\"px\",n.left=r.l+e.x[0]*r.w+\"px\",n.top=r.t+(1-e.y[1])*r.h+\"px\",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},p.updateLayers=function(){var t,e=this.opts.layers,r=this.layerList;if(e.length!==r.length){for(t=0;t<r.length;t++)r[t].dispose();for(r=this.layerList=[],t=0;t<e.length;t++)r.push(f(this,t,e[t]))}else for(t=0;t<e.length;t++)r[t].update(e[t])},p.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},p.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},p.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},p.project=function(t){return this.map.project(new n.LngLat(t[0],t[1]))},p.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}}},{\"../../components/dragelement\":589,\"../../components/fx\":609,\"../../lib\":693,\"../cartesian/select\":759,\"./constants\":797,\"./layers\":800,\"./layout_attributes\":801,\"mapbox-gl\":406}],804:[function(t,e,r){\"use strict\";e.exports={t:{valType:\"number\",dflt:0,editType:\"arraydraw\"},r:{valType:\"number\",dflt:0,editType:\"arraydraw\"},b:{valType:\"number\",dflt:0,editType:\"arraydraw\"},l:{valType:\"number\",dflt:0,editType:\"arraydraw\"},editType:\"arraydraw\"}},{}],805:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../registry\"),o=t(\"../plot_api/plot_schema\"),s=t(\"../plot_api/plot_template\"),l=t(\"../lib\"),c=t(\"../components/color\"),u=t(\"../constants/numerical\").BADNUM,f=t(\"../plots/cartesian/axis_ids\"),h=t(\"./sort_modules\").sortBasePlotModules,p=t(\"./animation_attributes\"),d=t(\"./frame_attributes\"),g=l.relinkPrivateKeys,m=l._,v=e.exports={};l.extendFlat(v,a),v.attributes=t(\"./attributes\"),v.attributes.type.values=v.allTypes,v.fontAttrs=t(\"./font_attributes\"),v.layoutAttributes=t(\"./layout_attributes\"),v.fontWeight=\"normal\";var y=v.transformsRegistry,x=t(\"./command\");v.executeAPICommand=x.executeAPICommand,v.computeAPICommandBindings=x.computeAPICommandBindings,v.manageCommandObserver=x.manageCommandObserver,v.hasSimpleAPICommandBindings=x.hasSimpleAPICommandBindings,v.redrawText=function(t){if(!((t=l.getGraphDiv(t)).data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){a.getComponentMethod(\"annotations\",\"draw\")(t),a.getComponentMethod(\"legend\",\"draw\")(t),(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()}),e(v.previousPromises(t))},300)})},v.resize=function(t){return t=l.getGraphDiv(t),new Promise(function(e,r){function n(t){var e=window.getComputedStyle(t).display;return!e||\"none\"===e}t&&!n(t)||r(new Error(\"Resize must be passed a displayed plot div element.\")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(!t.layout||t.layout.width&&t.layout.height||n(t))e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,a.call(\"relayout\",t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},v.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},v.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=l.ensureSingle(e._paper,\"text\",\"js-plot-link-container\",function(t){t.style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:c.defaultLine,\"pointer-events\":\"all\"}).each(function(){var t=n.select(this);t.append(\"tspan\").classed(\"js-link-to-tool\",!0),t.append(\"tspan\").classed(\"js-link-spacer\",!0),t.append(\"tspan\").classed(\"js-sourcelinks\",!0)})}),i=r.node(),a={y:e._paper.attr(\"height\")-9};document.body.contains(i)&&i.getComputedTextLength()>=e.width-20?(a[\"text-anchor\"]=\"start\",a.x=5):(a[\"text-anchor\"]=\"end\",a.x=e._paper.attr(\"width\")-7),r.attr(a);var o=r.select(\".js-link-to-tool\"),s=r.select(\".js-link-spacer\"),u=r.select(\".js-sourcelinks\");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text(\"\");var r=e.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(t._context.linkText+\" \"+String.fromCharCode(187));if(t._context.sendData)r.on(\"click\",function(){v.sendDataToCloud(t)});else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}(t,o),s.text(o.text()&&u.text()?\" - \":\"\")}},v.sendDataToCloud=function(t){t.emit(\"plotly_beforeexport\");var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL,r=n.select(t).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),i=r.append(\"form\").attr({action:e+\"/external\",method:\"post\",target:\"_blank\"});return i.append(\"input\").attr({type:\"text\",name:\"data\"}).node().value=v.graphJson(t,!1,\"keepdata\"),i.node().submit(),r.remove(),t.emit(\"plotly_afterexport\"),!1};var b,_=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],w=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];function k(t,e){var r=t._context.locale,n=!1,i={};function o(t){for(var r=!0,a=0;a<e.length;a++){var o=e[a];i[o]||(t[o]?i[o]=t[o]:r=!1)}r&&(n=!0)}for(var s=0;s<2;s++){for(var l=t._context.locales,c=0;c<2;c++){var u=(l[r]||{}).format;if(u&&(o(u),n))break;l=a.localeRegistry}var f=r.split(\"-\")[0];if(n||f===r)break;r=f}return n||o(a.localeRegistry.en.format),i}function M(t){var e=t.transforms;if(Array.isArray(e)&&e.length)for(var r=0;r<e.length;r++){var n=e[r],i=n._module||y[n.type];if(i&&i.makesData)return!0}return!1}function A(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=y[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function T(t){t._pushmargin||(t._pushmargin={}),t._pushmarginIds||(t._pushmarginIds={})}function S(t){for(var e=0;e<t.length;e++)t[e].clearCalc()}v.supplyDefaults=function(t,e){var r=e&&e.skipUpdateCalc,i=t._fullLayout||{};if(i._skipDefaults)delete i._skipDefaults;else{var o,s=t._fullLayout={},c=t.layout||{},u=t._fullData||[],p=t._fullData=[],d=t.data||[],y=t.calcdata||[],x=t._context||{};t._transitionData||v.createTransitionData(t),s._dfltTitle={plot:m(t,\"Click to enter Plot title\"),x:m(t,\"Click to enter X axis title\"),y:m(t,\"Click to enter Y axis title\"),colorbar:m(t,\"Click to enter Colorscale title\"),annotation:m(t,\"new text\")},s._traceWord=m(t,\"trace\");var M=k(t,_);if(s._mapboxAccessToken=x.mapboxAccessToken,i._initialAutoSizeIsDone){var A=i.width,T=i.height;v.supplyLayoutGlobalDefaults(c,s,M),c.width||(s.width=A),c.height||(s.height=T),v.sanitizeMargins(s)}else{v.supplyLayoutGlobalDefaults(c,s,M);var S=!c.width||!c.height,E=s.autosize,C=x.autosizable;S&&(E||C)?v.plotAutoSize(t,c,s):S&&v.sanitizeMargins(s),!E&&S&&(c.width=s.width,c.height=s.height)}s._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),n.locale(t)}(M,s.separators),s._extraFormat=k(t,w),s._initialAutoSizeIsDone=!0,s._dataLength=d.length,s._modules=[],s._visibleModules=[],s._basePlotModules=[];var L=s._subplots=function(){var t,e,r={};if(!b){b=[];var n=a.subplotsRegistry;for(var i in n){var o=n[i],s=o.attr;if(s&&(b.push(i),Array.isArray(s)))for(e=0;e<s.length;e++)l.pushUnique(b,s[e])}}for(t=0;t<b.length;t++)r[b[t]]=[];return r}(),z=s._splomAxes={x:{},y:{}},P=s._splomSubplots={};s._splomGridDflt={},s._scatterStackOpts={},s._firstScatter={},s._requestRangeslider={},s._traceUids=function(t,e){var r,n,i=e.length,a=[];for(r=0;r<t.length;r++){var o=t[r]._fullInput;o!==n&&a.push(o),n=o}var s=a.length,c=new Array(i),u={};function f(t,e){c[e]=t,u[t]=1}function h(t,e){if(t&&\"string\"==typeof t&&!u[t])return f(t,e),!0}for(r=0;r<i;r++)h(e[r].uid,r)||r<s&&h(a[r].uid,r)||f(l.randstr(u),r);return c}(u,d),s._globalTransforms=(t._context||{}).globalTransforms,v.supplyDataDefaults(d,p,c,s);var O=Object.keys(z.x),I=Object.keys(z.y);if(O.length>1&&I.length>1){for(a.getComponentMethod(\"grid\",\"sizeDefaults\")(c,s),o=0;o<O.length;o++)l.pushUnique(L.xaxis,O[o]);for(o=0;o<I.length;o++)l.pushUnique(L.yaxis,I[o]);for(var D in P)l.pushUnique(L.cartesian,D)}s._has=v._hasPlotType.bind(s);var R=s._visibleModules;for(o=0;o<R.length;o++){var B=R[o];B.cleanData&&B.cleanData(p)}if(u.length===p.length)for(o=0;o<p.length;o++)g(p[o],u[o]);v.supplyLayoutModuleDefaults(c,s,p,t._transitionData),s._hasOnlyLargeSploms=1===s._basePlotModules.length&&\"splom\"===s._basePlotModules[0].name&&O.length>15&&I.length>15&&0===s.shapes.length&&0===s.images.length,s._hasCartesian=s._has(\"cartesian\"),s._hasGeo=s._has(\"geo\"),s._hasGL3D=s._has(\"gl3d\"),s._hasGL2D=s._has(\"gl2d\"),s._hasTernary=s._has(\"ternary\"),s._hasPie=s._has(\"pie\"),v.linkSubplots(p,s,u,i),v.cleanPlot(p,s,u,i,y),g(s,i),v.doAutoMargin(t);var F=f.list(t);for(o=0;o<F.length;o++){F[o].setScale()}r||y.length!==p.length||v.supplyDefaultsUpdateCalc(y,p),s._basePlotModules.sort(h)}},v.supplyDefaultsUpdateCalc=function(t,e){for(var r=0;r<e.length;r++){var n=e[r],i=t[r][0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o,s,c,u=a._arrayAttrs;for(o=0;o<u.length;o++)s=u[o],c=l.nestedProperty(a,s).get().slice(),l.nestedProperty(n,s).set(c)}i.trace=n}}},v.createTransitionData=function(t){t._transitionData||(t._transitionData={}),t._transitionData._frames||(t._transitionData._frames=[]),t._transitionData._frameHash||(t._transitionData._frameHash={}),t._transitionData._counter||(t._transitionData._counter=0),t._transitionData._interruptCallbacks||(t._transitionData._interruptCallbacks=[])},v._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e<r.length;e++)if(r[e].name===t)return!0;var n=this._modules||[];for(e=0;e<n.length;e++){var i=n[e].name;if(i===t)return!0;var o=a.modules[i];if(o&&o.categories[t])return!0}return!1},v.cleanPlot=function(t,e,r,n,i){var a,o,s=n._basePlotModules||[];for(a=0;a<s.length;a++){var l=s[a];l.clean&&l.clean(t,e,r,n,i)}var c=n._has&&n._has(\"gl\"),u=e._has&&e._has(\"gl\");c&&!u&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(\".gl-canvas\").remove(),n._glcontainer.selectAll(\".no-webgl\").remove(),n._glcanvas=null);var f=!!n._infolayer;t:for(a=0;a<r.length;a++){var h=r[a].uid;for(o=0;o<t.length;o++){if(h===t[o].uid)continue t}f&&n._infolayer.select(\".cb\"+h).remove()}n._zoomlayer&&n._zoomlayer.selectAll(\".select-outline\").remove()},v.linkSubplots=function(t,e,r,n){var i,a,o=n._plots||{},s=e._plots={},l=e._subplots,c={_fullData:t,_fullLayout:e},u=l.cartesian.concat(l.gl2d||[]);for(i=0;i<u.length;i++){var h,p=u[i],d=o[p],g=f.getFromId(c,p,\"x\"),m=f.getFromId(c,p,\"y\");for(d?h=s[p]=d:(h=s[p]={}).id=p,h.xaxis=g,h.yaxis=m,h._hasClipOnAxisFalse=!1,a=0;a<t.length;a++){var v=t[a];if(v.xaxis===h.xaxis._id&&v.yaxis===h.yaxis._id&&!1===v.cliponaxis){h._hasClipOnAxisFalse=!0;break}}}var y=f.list(c,null,!0);for(i=0;i<y.length;i++){var x=y[i],b=null;x.overlaying&&(b=f.getFromId(c,x.overlaying))&&b.overlaying&&(x.overlaying=!1,b=null),x._mainAxis=b||x,b&&(x.domain=b.domain.slice()),x._anchorAxis=\"free\"===x.anchor?null:f.getFromId(c,x.anchor)}},v.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],o.crawl(t._module.attributes,function(t,n,i,a){r[a]=n,r.length=a+1,\"color\"===t.valType&&void 0===t.dflt&&e.push(r.join(\".\"))})),n=0;n<e.length;n++){l.nestedProperty(t,\"_input.\"+e[n]).get()||l.nestedProperty(t,e[n]).set(null)}},v.supplyDataDefaults=function(t,e,r,n){var i,o,c,u=n._modules,f=n._visibleModules,h=n._basePlotModules,p=0,d=0;function m(t){e.push(t);var r=t._module;r&&(l.pushUnique(u,r),!0===t.visible&&l.pushUnique(f,r),l.pushUnique(h,t._module.basePlotModule),p++,!1!==t._input.visible&&d++)}n._transformModules=[];var y={},x=[],b=(r.template||{}).data||{},_=s.traceTemplater(b);for(i=0;i<t.length;i++){if(c=t[i],(o=_.newTrace(c)).uid=n._traceUids[i],v.supplyTraceDefaults(c,o,d,n,i),o.index=i,o._input=c,o._expandedIndex=p,o.transforms&&o.transforms.length)for(var w=A(o,e,r,n),k=0;k<w.length;k++){var M=w[k],T={_template:o._template,type:o.type,uid:o.uid+k};v.supplyTraceDefaults(M,T,p,n,i),g(T,M),T.index=i,T._input=c,T._fullInput=o,T._expandedIndex=p,T._expandedInput=M,m(T)}else o._fullInput=o,o._expandedInput=o,m(o);a.traceIs(o,\"carpetAxis\")&&(y[o.carpet]=o),a.traceIs(o,\"carpetDependent\")&&x.push(i)}for(i=0;i<x.length;i++)if((o=e[x[i]]).visible){var S=y[o.carpet];o._carpet=S,S&&S.visible?(o.xaxis=S.xaxis,o.yaxis=S.yaxis):o.visible=!1}},v.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return l.coerce(t||{},r,p,e,n)}if(n(\"mode\"),n(\"direction\"),n(\"fromcurrent\"),Array.isArray(t.frame))for(r.frame=[],e=0;e<t.frame.length;e++)r.frame[e]=v.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=v.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=v.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=v.supplyAnimationTransitionDefaults(t.transition||{});return r},v.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,p.frame,r,n)}return r(\"duration\"),r(\"redraw\"),e},v.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,p.transition,r,n)}return r(\"duration\"),r(\"easing\"),e},v.supplyFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t,e,d,r,n)}return r(\"group\"),r(\"name\"),r(\"traces\"),r(\"baseframe\"),r(\"data\"),r(\"layout\"),e},v.supplyTraceDefaults=function(t,e,r,n,i){var o,s=n.colorway||c.defaults,u=s[r%s.length];function f(r,n){return l.coerce(t,e,v.attributes,r,n)}var h=f(\"visible\");f(\"type\"),f(\"name\",n._traceWord+\" \"+i);var p=v.getModule(e);if(e._module=p,p){var d=p.basePlotModule,g=d.attr,m=d.attributes;if(g&&m){var y=n._subplots,x=\"\";if(\"gl2d\"!==d.name||h){if(Array.isArray(g))for(o=0;o<g.length;o++){var b=g[o],_=l.coerce(t,e,m,b);y[b]&&l.pushUnique(y[b],_),x+=_}else x=l.coerce(t,e,m,g);y[d.name]&&l.pushUnique(y[d.name],x)}}}return h&&(f(\"customdata\"),f(\"ids\"),a.traceIs(e,\"showLegend\")?(e._dfltShowLegend=!0,f(\"showlegend\"),f(\"legendgroup\")):e._dfltShowLegend=!1,a.getComponentMethod(\"fx\",\"supplyDefaults\")(t,e,u,n),p&&(p.supplyDefaults(t,e,u,n),l.coerceHoverinfo(t,e,n)),a.traceIs(e,\"noOpacity\")||f(\"opacity\"),a.traceIs(e,\"notLegendIsolatable\")&&(e.visible=!!e.visible),p&&p.selectPoints&&f(\"selectedpoints\"),v.supplyTransformDefaults(t,e,n)),e},v.hasMakesDataTransform=M,v.supplyTransformDefaults=function(t,e,r){if(e._length||M(t)){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),s=e.transforms=[],c=0;c<o.length;c++){var u,f=o[c],h=f.type,p=y[h],d=!(f._module&&f._module===p),g=p&&\"function\"==typeof p.transform;p||l.warn(\"Unrecognized transform type \"+h+\".\"),p&&p.supplyDefaults&&(d||g)?((u=p.supplyDefaults(f,e,r,t)).type=h,u._module=p,l.pushUnique(i,p)):u=l.extendFlat({},f),s.push(u)}}},v.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return l.coerce(t,e,v.layoutAttributes,r,n)}var i=t.template;l.isPlainObject(i)&&(e.template=i,e._template=i.layout,e._dataTemplate=i.data);var o=l.coerceFont(n,\"font\");n(\"title\",e._dfltTitle.plot),l.coerceFont(n,\"titlefont\",{family:o.family,size:Math.round(1.4*o.size),color:o.color}),n(\"autosize\",!(t.width&&t.height)),n(\"width\"),n(\"height\"),n(\"margin.l\"),n(\"margin.r\"),n(\"margin.t\"),n(\"margin.b\"),n(\"margin.pad\"),n(\"margin.autoexpand\"),t.width&&t.height&&v.sanitizeMargins(e),a.getComponentMethod(\"grid\",\"sizeDefaults\")(t,e),n(\"paper_bgcolor\"),n(\"separators\",r.decimal+r.thousands),n(\"hidesources\"),n(\"colorway\"),n(\"datarevision\"),a.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\"),a.getComponentMethod(\"fx\",\"supplyLayoutGlobalDefaults\")(t,e,n)},v.plotAutoSize=function(t,e,r){var n,a,o=t._context||{},s=o.frameMargins,c=l.isPlotDiv(t);if(c&&t.emit(\"plotly_autosize\"),o.fillFrame)n=window.innerWidth,a=window.innerHeight,document.body.style.overflow=\"hidden\";else if(i(s)&&s>0){var u=function(t){var e,r={left:0,right:0,bottom:0,top:0};if(t)for(e in t)t.hasOwnProperty(e)&&(r.left+=t[e].left||0,r.right+=t[e].right||0,r.bottom+=t[e].bottom||0,r.top+=t[e].top||0);return r}(t._boundingBoxMargins),f=u.left+u.right,h=u.bottom+u.top,p=1-2*s,d=r._container&&r._container.node?r._container.node().getBoundingClientRect():{width:r.width,height:r.height};n=Math.round(p*(d.width-f)),a=Math.round(p*(d.height-h))}else{var g=c?window.getComputedStyle(t):{};n=parseFloat(g.width)||parseFloat(g.maxWidth)||r.width,a=parseFloat(g.height)||parseFloat(g.maxHeight)||r.height}var m=v.layoutAttributes.width.min,y=v.layoutAttributes.height.min;n<m&&(n=m),a<y&&(a=y);var x=!e.width&&Math.abs(r.width-n)>1,b=!e.height&&Math.abs(r.height-a)>1;(b||x)&&(x&&(r.width=n),b&&(r.height=a)),t._initialAutoSize||(t._initialAutoSize={width:n,height:a}),v.sanitizeMargins(r)},v.supplyLayoutModuleDefaults=function(t,e,r,n){var i,o,s,c=a.componentsRegistry,u=e._basePlotModules,f=a.subplotsRegistry.cartesian;for(i in c)(s=c[i]).includeBasePlot&&s.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has(\"cartesian\")&&(a.getComponentMethod(\"grid\",\"contentDefaults\")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(l.subplotSort);for(o=0;o<u.length;o++)(s=u[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var p=e._visibleModules;for(o=0;o<p.length;o++)(s=p[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var d=e._transformModules;for(o=0;o<d.length;o++)(s=d[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r,n);for(i in c)(s=c[i]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r)},v.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(\".gl-canvas\").remove(),e._glcontainer.remove(),e._glcanvas=null),void 0!==e._geocontainer&&e._geocontainer.remove(),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),l.clearThrottle(),l.clearResponsive(t),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.framework,delete t.empty,delete t.fid,delete t.undoqueue,delete t.undonum,delete t.autoplay,delete t.changed,delete t._promises,delete t._redrawTimer,delete t._hmlumcount,delete t._hmpixcount,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,delete t._transitioningWithDuration,delete t._dragging,delete t._dragged,delete t._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._replotPending,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},v.style=function(t){var e,r=t._fullLayout._visibleModules,n=[];for(e=0;e<r.length;e++){var i=r[e];i.style&&l.pushUnique(n,i.style)}for(e=0;e<n.length;e++)n[e](t)},v.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},v.clearAutoMarginIds=function(t){t._fullLayout._pushmarginIds={}},v.allowAutoMargin=function(t,e){t._fullLayout._pushmarginIds[e]=1},v.autoMargin=function(t,e,r){var n=t._fullLayout;T(n);var i=n._pushmargin,a=n._pushmarginIds;if(!1!==n.margin.autoexpand){if(r){var o=r.pad;if(void 0===o){var s=n.margin;o=Math.min(12,s.l,s.r,s.t,s.b)}r.l+r.r>.5*n.width&&(r.l=r.r=0),r.b+r.t>.5*n.height&&(r.b=r.t=0);var l=void 0!==r.xl?r.xl:r.x,c=void 0!==r.xr?r.xr:r.x,u=void 0!==r.yt?r.yt:r.y,f=void 0!==r.yb?r.yb:r.y;i[e]={l:{val:l,size:r.l+o},r:{val:c,size:r.r+o},b:{val:f,size:r.b+o},t:{val:u,size:r.t+o}},a[e]=1}else delete i[e],delete a[e];n._replotting||v.doAutoMargin(t)}},v.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),T(e);var r=e._size,n=JSON.stringify(r),o=Math.max(e.margin.l||0,0),s=Math.max(e.margin.r||0,0),l=Math.max(e.margin.t||0,0),c=Math.max(e.margin.b||0,0),u=e._pushmargin,f=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var h in u)f[h]||delete u[h];for(var p in u.base={l:{val:0,size:o},r:{val:1,size:s},t:{val:1,size:l},b:{val:0,size:c}},u){var d=u[p].l||{},g=u[p].b||{},m=d.val,v=d.size,y=g.val,x=g.size;for(var b in u){if(i(v)&&u[b].r){var _=u[b].r.val,w=u[b].r.size;if(_>m){var k=(v*_+(w-e.width)*m)/(_-m),M=(w*(1-m)+(v-e.width)*(1-_))/(_-m);k>=0&&M>=0&&k+M>o+s&&(o=k,s=M)}}if(i(x)&&u[b].t){var A=u[b].t.val,S=u[b].t.size;if(A>y){var E=(x*A+(S-e.height)*y)/(A-y),C=(S*(1-y)+(x-e.height)*(1-A))/(A-y);E>=0&&C>=0&&E+C>c+l&&(c=E,l=C)}}}}}if(r.l=Math.round(o),r.r=Math.round(s),r.t=Math.round(l),r.b=Math.round(c),r.p=Math.round(e.margin.pad),r.w=Math.round(e.width)-r.l-r.r,r.h=Math.round(e.height)-r.t-r.b,!e._replotting&&\"{}\"!==n&&n!==JSON.stringify(e._size))return\"_redrawFromAutoMarginCount\"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1,a.call(\"plot\",t)},v.graphJson=function(t,e,r,n,i){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&v.supplyDefaults(t);var a=i?t._fullData:t.data,o=i?t._fullLayout:t.layout,s=(t._transitionData||{})._frames;function c(t){if(\"function\"==typeof t)return null;if(l.isPlainObject(t)){var e,n,i={};for(e in t)if(\"function\"!=typeof t[e]&&-1===[\"_\",\"[\"].indexOf(e.charAt(0))){if(\"keepdata\"===r){if(\"src\"===e.substr(e.length-3))continue}else if(\"keepstream\"===r){if(\"string\"==typeof(n=t[e+\"src\"])&&n.indexOf(\":\")>0&&!l.isPlainObject(t.stream))continue}else if(\"keepall\"!==r&&\"string\"==typeof(n=t[e+\"src\"])&&n.indexOf(\":\")>0)continue;i[e]=c(t[e])}return i}return Array.isArray(t)?t.map(c):l.isTypedArray(t)?l.simpleMap(t,l.identity):l.isJSDate(t)?l.ms2DateTimeLocal(+t):t}var u={data:(a||[]).map(function(t){var r=c(t);return e&&delete r.fit,r})};return e||(u.layout=c(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),s&&(u.frames=c(s)),\"object\"===n?u:JSON.stringify(u)},v.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case\"replace\":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case\"insert\":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case\"delete\":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},v.computeFrame=function(t,e){var r,n,i,a,o=t._transitionData._frameHash;if(!e)throw new Error(\"computeFrame must be given a string frame name\");var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&&(u.layout=v.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r<s.data.length;r++)null!=(i=n[r])&&(-1===(a=u.traces.indexOf(i))&&(a=u.data.length,u.traces[a]=i),u.data[a]=v.extendTrace(u.data[a],s.data[r]))}return u},v.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},v.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,c,u,f=l.extendDeepNoArrays({},e||{}),h=l.expandObjectPaths(f),p={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=l.nestedProperty(h,r[a])).get())?l.nestedProperty(p,r[a]).set(null):(n.set(null),l.nestedProperty(p,r[a]).set(i));if(t=l.extendDeepNoArrays(t||{},h),r&&r.length)for(a=0;a<r.length;a++)if(c=l.nestedProperty(p,r[a]).get()){for(u=(s=l.nestedProperty(t,r[a])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<c.length;o++){var d=c[o];u[o]=null===d?null:v.extendObjectWithContainers(u[o],d)}s.set(u)}return t},v.dataArrayContainers=[\"transforms\",\"dimensions\"],v.layoutArrayContainers=a.layoutArrayContainers,v.extendTrace=function(t,e){return v.extendObjectWithContainers(t,e,v.dataArrayContainers)},v.extendLayout=function(t,e){return v.extendObjectWithContainers(t,e,v.layoutArrayContainers)},v.transition=function(t,e,r,n,i,o){var s,c,u=Array.isArray(e)?e.length:0,f=n.slice(0,u),h=[];var p=!1;for(s=0;s<f.length;s++){c=f[s];t._fullData[c]._module}var d=[v.previousPromises,function(){if(t._transitionData)return t._transitioning=!1,function(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}(t._transitionData._interruptCallbacks)},function(){var n;for(n=0;n<f.length;n++){var i=f[n],a=t._fullData[i]._module;a&&(a.animatable&&h.push(i),t.data[f[n]]=v.extendTrace(t.data[f[n]],e[n]))}var o=l.expandObjectPaths(l.extendDeepNoArrays({},r)),s=/^[xy]axis[0-9]*$/;for(var c in o)s.test(c)&&delete o[c].range;return v.extendLayout(t.layout,o),delete t.calcdata,v.supplyDefaults(t),v.doCalcdata(t),Promise.resolve()},v.rehover,function(){return t.emit(\"plotly_transitioning\",[]),new Promise(function(e){t._transitioning=!0,o.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){p=!0}),i.redraw&&t._transitionData._interruptCallbacks.push(function(){return a.call(\"redraw\",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit(\"plotly_transitioninterrupted\",[])});var n,s,c=0,u=0;function f(){return c++,function(){var r;u++,p||u!==c||(r=e,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(i.redraw)return a.call(\"redraw\",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit(\"plotly_transitioned\",[])}).then(r)))}}var d=t._fullLayout._basePlotModules,g=!1;if(r)for(s=0;s<d.length;s++)if(d[s].transitionAxes){var m=l.expandObjectPaths(r);g=d[s].transitionAxes(t,m,o,f)||g}for(g?((n=l.extendFlat({},o)).duration=0,h=null):n=o,s=0;s<d.length;s++)d[s].plot(t,h,n,f);setTimeout(f())})}],g=l.syncOrAsync(d,t);return g&&g.then||(g=Promise.resolve()),g.then(function(){return t})},v.doCalcdata=function(t,e){var r,n,i,s,c=f.list(t),h=t._fullData,p=t._fullLayout,d=new Array(h.length),g=(t.calcdata||[]).slice(0);for(t.calcdata=d,p._numBoxes=0,p._numViolins=0,p._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,p._piecolormap={},i=0;i<h.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(d[i]=g[i]);for(i=0;i<h.length;i++)(r=h[i])._arrayAttrs=o.findArrayAttributes(r),r._extremes={};var m=p._subplots.polar||[];for(i=0;i<m.length;i++)c.push(p[m[i]].radialaxis,p[m[i]].angularaxis);S(c);var v=!1;for(i=0;i<h.length;i++)if(!0===(r=h[i]).visible&&r.transforms){if((n=r._module)&&n.calc){var x=n.calc(t,r);x[0]&&x[0].t&&x[0].t._scene&&delete x[0].t._scene.dirty}for(s=0;s<r.transforms.length;s++){var b=r.transforms[s];(n=y[b.type])&&n.calcTransform&&(r._hasCalcTransform=!0,v=!0,n.calcTransform(t,r,b))}}function _(e,i){if(r=h[e],!!(n=r._module).isContainer===i){var a=[];if(!0===r.visible){delete r._indexToPoints;var o=r.transforms||[];for(s=o.length-1;s>=0;s--)if(o[s].enabled){r._indexToPoints=o[s]._indexToPoints;break}n&&n.calc&&(a=n.calc(t,r))}Array.isArray(a)&&a[0]||(a=[{x:u,y:u}]),a[0].t||(a[0].t={}),a[0].trace=r,d[e]=a}}for(v&&S(c),i=0;i<h.length;i++)_(i,!0);for(i=0;i<h.length;i++)_(i,!1);!function(t){var e,r,n,i=t._fullLayout,a=i._visibleModules,o={};for(r=0;r<a.length;r++){var s=a[r],c=s.crossTraceCalc;if(c){var u=s.basePlotModule.name;o[u]?l.pushUnique(o[u],c):o[u]=[c]}}for(n in o){var f=o[n],h=i._subplots[n];if(Array.isArray(h))for(e=0;e<h.length;e++){var p=h[e],d=\"cartesian\"===n?i._plots[p]:i[p];for(r=0;r<f.length;r++)f[r](t,d,p)}else for(r=0;r<f.length;r++)f[r](t)}}(t),a.getComponentMethod(\"fx\",\"calc\")(t),a.getComponentMethod(\"errorbars\",\"calc\")(t)},v.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},v.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i<r.length;i++){var s=r[i],c=s[0].trace;c.visible&&(o[c.type]=o[c.type]||[],o[c.type].push(s))}for(var u in a)if(!o[u]){var f=a[u][0];f[0].trace.visible=!1,o[u]=[f]}for(var h in o){var p=o[h];p[0][0].trace._module.plot(t,e,l.filterVisible(p),n)}e.traceHash=o}},{\"../components/color\":567,\"../constants/numerical\":670,\"../lib\":693,\"../plot_api/plot_schema\":731,\"../plot_api/plot_template\":732,\"../plots/cartesian/axis_ids\":745,\"../registry\":825,\"./animation_attributes\":737,\"./attributes\":739,\"./command\":766,\"./font_attributes\":768,\"./frame_attributes\":769,\"./layout_attributes\":796,\"./sort_modules\":819,d3:147,\"fast-isnumeric\":213}],806:[function(t,e,r){\"use strict\";e.exports={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-line\",\"radial-line\",\"angular-axis\",\"radial-axis\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],807:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../lib/polygon\").tester,a=n.findIndexOfMin,o=n.isAngleInsideSector,s=n.angleDelta,l=n.angleDist;function c(t,e,r,n){var i,a,o=n[0],s=n[1],l=f(Math.sin(e)-Math.sin(t)),c=f(Math.cos(e)-Math.cos(t)),u=Math.tan(r),h=f(1/u),p=l/c,d=s-p*o;return h?l&&c?a=u*(i=d/(u-p)):c?(i=s*h,a=s):(i=o,a=o*u):l&&c?(i=0,a=d):c?(i=0,a=s):i=a=NaN,[i,a]}function u(t,e,r,i){return n.isFullCircle([e,r])?function(t,e){var r,n=e.length,i=new Array(n+1);for(r=0;r<n;r++){var a=e[r];i[r]=[t*Math.cos(a),t*Math.sin(a)]}return i[r]=i[0].slice(),i}(t,i):function(t,e,r,i){var s,u,f=i.length,h=[];function p(e){return[t*Math.cos(e),t*Math.sin(e)]}function d(t,e,r){return c(t,e,r,p(t))}function g(t){return n.mod(t,f)}function m(t){return o(t,[e,r])}var v=a(i,function(t){return m(t)?l(t,e):1/0}),y=d(i[v],i[g(v-1)],e);for(h.push(y),s=v,u=0;u<f;s++,u++){var x=i[g(s)];if(!m(x))break;h.push(p(x))}var b=a(i,function(t){return m(t)?l(t,r):1/0}),_=d(i[b],i[g(b+1)],r);return h.push(_),h.push([0,0]),h.push(h[0].slice()),h}(t,e,r,i)}function f(t){return Math.abs(t)>1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a<n;a++){var o=t[a];i[a]=[e+o[0],r-o[1]]}return i}e.exports={isPtInsidePolygon:function(t,e,r,n,a){if(!o(e,n))return!1;var s,l;r[0]<r[1]?(s=r[0],l=r[1]):(s=r[1],l=r[0]);var c=i(u(s,n[0],n[1],a)),f=i(u(l,n[0],n[1],a)),h=[t*Math.cos(e),t*Math.sin(e)];return f.contains(h)&&!c.contains(h)},findPolygonOffset:function(t,e,r,n){for(var i=1/0,a=1/0,o=u(t,e,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]},findEnclosingVertexAngles:function(t,e){var r=a(e,function(e){var r=s(e,t);return r>0?r:1/0}),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),c=(-o+l)/(2*a),u=(-o-l)/(2*a);return[[c,e*c+i+n],[u,e*u+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return\"M\"+h(u(t,e,r,n),i,a).join(\"L\")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t<e?(s=t,l=e):(s=e,l=t);var c=h(u(s,r,n,i),a,o);return\"M\"+h(u(l,r,n,i),a,o).reverse().join(\"L\")+\"M\"+c.join(\"L\")}}},{\"../../lib\":693,\"../../lib/polygon\":706}],808:[function(t,e,r){\"use strict\";var n=t(\"../get_data\").getSubplotCalcData,i=t(\"../../lib\").counterRegex,a=t(\"./polar\"),o=t(\"./constants\"),s=o.attr,l=o.name,c=i(l),u={};u[s]={valType:\"subplotid\",dflt:l,editType:\"calc\"},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t(\"./layout_attributes\"),supplyLayoutDefaults:t(\"./layout_defaults\"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[l],o=0;o<i.length;o++){var s=i[o],c=n(r,l,s),u=e[s]._subplot;u||(u=a(t,s),e[s]._subplot=u),u.plot(c,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[l]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&&s)for(var c in s.framework.remove(),s.layers[\"radial-axis-title\"].remove(),s.clipPaths)s.clipPaths[c].remove()}},toSVG:t(\"../cartesian\").toSVG}},{\"../../lib\":693,\"../cartesian\":753,\"../get_data\":778,\"./constants\":806,\"./layout_attributes\":809,\"./layout_defaults\":810,\"./polar\":817}],809:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),i=t(\"../cartesian/layout_attributes\"),a=t(\"../domain\").attributes,o=t(\"../../lib\").extendFlat,s=t(\"../../plot_api/edit_types\").overrideAll,l=s({color:i.color,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth},\"plot\",\"from-root\"),c=s({tickmode:i.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,layer:i.layer},\"plot\",\"from-root\"),u={visible:o({},i.visible,{dflt:!0}),type:i.type,autorange:i.autorange,rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},range:i.range,categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:o({},i.title,{editType:\"plot\",dflt:\"\"}),titlefont:s(i.titlefont,\"plot\",\"from-root\"),hoverformat:i.hoverformat,editType:\"calc\"};o(u,l,c);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},categoryorder:i.categoryorder,categoryarray:i.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:i.hoverformat,editType:\"calc\"};o(f,l,c),e.exports={domain:a({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:n.background},radialaxis:u,angularaxis:f,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},editType:\"calc\"}},{\"../../components/color/attributes\":566,\"../../lib\":693,\"../../plot_api/edit_types\":725,\"../cartesian/layout_attributes\":754,\"../domain\":767}],810:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../subplot_defaults\"),o=t(\"../get_data\").getSubplotData,s=t(\"../cartesian/tick_value_defaults\"),l=t(\"../cartesian/tick_mark_defaults\"),c=t(\"../cartesian/tick_label_defaults\"),u=t(\"../cartesian/category_order_defaults\"),f=t(\"../cartesian/line_grid_defaults\"),h=t(\"../cartesian/axis_autotype\"),p=t(\"./layout_attributes\"),d=t(\"./set_convert\"),g=t(\"./constants\"),m=g.axisNames;function v(t,e,r,a){var h=r(\"bgcolor\");a.bgColor=i.combine(h,a.paper_bgcolor);var v=r(\"sector\");r(\"hole\");var x,b=o(a.fullData,g.name,a.id),_=a.layoutOut;function w(t,e){return r(x+\".\"+t,e)}for(var k=0;k<m.length;k++){x=m[k],n.isPlainObject(t[x])||(t[x]={});var M=t[x],A=e[x]={};A._id=A._name=x,A._traceIndices=b.map(function(t){return t._expandedIndex});var T=g.axisName2dataArray[x],S=y(M,A,w,b,T);u(M,A,w,{axData:b,dataAttr:T});var E,C,L=w(\"visible\");switch(d(A,e,_),L&&(C=(E=w(\"color\"))===M.color?E:a.font.color),A._m=1,x){case\"radialaxis\":var z=w(\"autorange\",!A.isValidRange(M.range));M.autorange=z,!z||\"linear\"!==S&&\"-\"!==S||w(\"rangemode\"),\"reversed\"===z&&(A._m=-1),w(\"range\"),A.cleanRange(\"range\",{dfltRange:[0,1]}),L&&(w(\"side\"),w(\"angle\",v[0]),w(\"title\"),n.coerceFont(w,\"titlefont\",{family:a.font.family,size:Math.round(1.2*a.font.size),color:C}));break;case\"angularaxis\":if(\"date\"===S){n.log(\"Polar plots do not support date angular axes yet.\");for(var P=0;P<b.length;P++)b[P].visible=!1;S=M.type=A.type=\"linear\"}w(\"linear\"===S?\"thetaunit\":\"period\");var O=w(\"direction\");w(\"rotation\",{counterclockwise:0,clockwise:90}[O])}if(L)s(M,A,w,A.type),c(M,A,w,A.type,{tickSuffixDflt:\"degrees\"===A.thetaunit?\"\\xb0\":void 0}),l(M,A,w,{outerTicks:!0}),w(\"showticklabels\")&&(n.coerceFont(w,\"tickfont\",{family:a.font.family,size:a.font.size,color:C}),w(\"tickangle\"),w(\"tickformat\")),f(M,A,w,{dfltColor:E,bgColor:a.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:p[x]}),w(\"layer\");\"category\"!==S&&w(\"hoverformat\"),A._input=M}\"category\"===e.angularaxis.type&&r(\"gridshape\")}function y(t,e,r,n,i){if(\"-\"===r(\"type\")){for(var a,o=0;o<n.length;o++)if(n[o].visible){a=n[o];break}a&&a[i]&&(e.type=h(a[i],\"gregorian\")),\"-\"===e.type?e.type=\"linear\":t.type=e.type}return e.type}e.exports=function(t,e,r){a(t,e,r,{type:g.name,attributes:p,handleDefaults:v,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{\"../../components/color\":567,\"../../lib\":693,\"../cartesian/axis_autotype\":743,\"../cartesian/category_order_defaults\":746,\"../cartesian/line_grid_defaults\":756,\"../cartesian/tick_label_defaults\":761,\"../cartesian/tick_mark_defaults\":762,\"../cartesian/tick_value_defaults\":763,\"../get_data\":778,\"../subplot_defaults\":820,\"./constants\":806,\"./layout_attributes\":809,\"./set_convert\":818}],811:[function(t,e,r){\"use strict\";var n=t(\"../../../traces/scatter/attributes\"),i=n.marker,a=t(\"../../../lib/extend\").extendFlat;[\"Area traces are deprecated!\",\"Please switch to the *barpolar* trace type.\"].join(\" \");e.exports={r:a({},n.r,{}),t:a({},n.t,{}),marker:{color:a({},i.color,{}),size:a({},i.size,{}),symbol:a({},i.symbol,{}),opacity:a({},i.opacity,{}),editType:\"calc\"}}},{\"../../../lib/extend\":682,\"../../../traces/scatter/attributes\":1032}],812:[function(t,e,r){\"use strict\";var n=t(\"../../cartesian/layout_attributes\"),i=t(\"../../../lib/extend\").extendFlat,a=t(\"../../../plot_api/edit_types\").overrideAll,o=[\"Legacy polar charts are deprecated!\",\"Please switch to *polar* subplots.\"].join(\" \"),s=i({},n.domain,{});function l(t,e){return i({},e,{showline:{valType:\"boolean\"},showticklabels:{valType:\"boolean\"},tickorientation:{valType:\"enumerated\",values:[\"horizontal\",\"vertical\"]},ticklen:{valType:\"number\",min:0},tickcolor:{valType:\"color\"},ticksuffix:{valType:\"string\"},endpadding:{valType:\"number\",description:o},visible:{valType:\"boolean\"}})}e.exports=a({radialaxis:l(0,{range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},domain:s,orientation:{valType:\"number\"}}),angularaxis:l(0,{range:{valType:\"info_array\",items:[{valType:\"number\",dflt:0},{valType:\"number\",dflt:360}]},domain:s}),layout:{direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"]},orientation:{valType:\"angle\"}}},\"plot\",\"nested\")},{\"../../../lib/extend\":682,\"../../../plot_api/edit_types\":725,\"../../cartesian/layout_attributes\":754}],813:[function(t,e,r){\"use strict\";(e.exports=t(\"./micropolar\")).manager=t(\"./micropolar_manager\")},{\"./micropolar\":814,\"./micropolar_manager\":815}],814:[function(t,e,r){var n=t(\"d3\"),i=t(\"../../../lib\").extendDeepAll,a=t(\"../../../constants/alignment\").MID_SHIFT,o=e.exports={version:\"0.2.2\"};o.Axis=function(){var t,e,r,s,l={data:[],layout:{}},c={},u={},f=n.dispatch(\"hover\"),h={};return h.render=function(c){return function(c){e=c||e;var f=l.data,h=l.layout;(\"string\"==typeof e||e.nodeName)&&(e=n.select(e)),e.datum(f).each(function(e,l){var c=e.slice();u={data:o.util.cloneJson(c),layout:o.util.cloneJson(h)};var f=0;c.forEach(function(t,e){t.color||(t.color=h.defaultColorRange[f],f=(f+1)%h.defaultColorRange.length),t.strokeColor||(t.strokeColor=\"LinePlot\"===t.geometry?t.color:n.rgb(t.color).darker().toString()),u.data[e].color=t.color,u.data[e].strokeColor=t.strokeColor,u.data[e].strokeDash=t.strokeDash,u.data[e].strokeSize=t.strokeSize});var p=c.filter(function(t,e){var r=t.visible;return\"undefined\"==typeof r||!0===r}),d=!1,g=p.map(function(t,e){return d=d||\"undefined\"!=typeof t.groupId,t});if(d){var m=n.nest().key(function(t,e){return\"undefined\"!=typeof t.groupId?t.groupId:\"unstacked\"}).entries(g),v=[],y=m.map(function(t,e){if(\"unstacked\"===t.key)return t.values;var r=t.values[0].r.map(function(t,e){return 0});return t.values.forEach(function(t,e,n){t.yStack=[r],v.push(r),r=o.util.sumArrays(t.r,r)}),t.values});p=n.merge(y)}p.forEach(function(t,e){t.t=Array.isArray(t.t[0])?t.t:[t.t],t.r=Array.isArray(t.r[0])?t.r:[t.r]});var x=Math.min(h.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2;x=Math.max(10,x);var b,_=[h.margin.left+x,h.margin.top+x];b=d?[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(v)))]:n.extent(o.util.flattenArray(p.map(function(t,e){return t.r}))),h.radialAxis.domain!=o.DATAEXTENT&&(b[0]=0),r=n.scale.linear().domain(h.radialAxis.domain!=o.DATAEXTENT&&h.radialAxis.domain?h.radialAxis.domain:b).range([0,x]),u.layout.radialAxis.domain=r.domain();var w,k=o.util.flattenArray(p.map(function(t,e){return t.t})),M=\"string\"==typeof k[0];M&&(k=o.util.deduplicate(k),w=k.slice(),k=n.range(k.length),p=p.map(function(t,e){var r=t;return t.t=[k],d&&(r.yStack=t.yStack),r}));var A=p.filter(function(t,e){return\"LinePlot\"===t.geometry||\"DotPlot\"===t.geometry}).length===p.length,T=null===h.needsEndSpacing?M||!A:h.needsEndSpacing,S=h.angularAxis.domain&&h.angularAxis.domain!=o.DATAEXTENT&&!M&&h.angularAxis.domain[0]>=0?h.angularAxis.domain:n.extent(k),E=Math.abs(k[1]-k[0]);A&&!M&&(E=0);var C=S.slice();T&&M&&(C[1]+=E);var L=h.angularAxis.ticksCount||4;L>8&&(L=L/(L/8)+L%8),h.angularAxis.ticksStep&&(L=(C[1]-C[0])/L);var z=h.angularAxis.ticksStep||(C[1]-C[0])/(L*(h.minorTicks+1));w&&(z=Math.max(Math.round(z),1)),C[2]||(C[2]=z);var P=n.range.apply(this,C);if(P=P.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(C.slice(0,2)).range(\"clockwise\"===h.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=T?E:0,\"undefined\"==typeof(t=n.select(this).select(\"svg.chart-root\"))||t.empty()){var O=(new DOMParser).parseFromString(\"<svg xmlns='http://www.w3.org/2000/svg' class='chart-root'>' + '<g class='outer-group'>' + '<g class='chart-group'>' + '<circle class='background-circle'></circle>' + '<g class='geometry-group'></g>' + '<g class='radial axis-group'>' + '<circle class='outside-circle'></circle>' + '</g>' + '<g class='angular axis-group'></g>' + '<g class='guides-group'><line></line><circle r='0'></circle></g>' + '</g>' + '<g class='legend-group'></g>' + '<g class='tooltips-group'></g>' + '<g class='title-group'><text></text></g>' + '</g>' + '</svg>\",\"application/xml\"),I=this.appendChild(this.ownerDocument.importNode(O.documentElement,!0));t=n.select(I)}t.select(\".guides-group\").style({\"pointer-events\":\"none\"}),t.select(\".angular.axis-group\").style({\"pointer-events\":\"none\"}),t.select(\".radial.axis-group\").style({\"pointer-events\":\"none\"});var D,R=t.select(\".chart-group\"),B={fill:\"none\",stroke:h.tickColor},F={\"font-size\":h.font.size,\"font-family\":h.font.family,fill:h.font.color,\"text-shadow\":[\"-1px 0px\",\"1px -1px\",\"-1px 1px\",\"1px 1px\"].map(function(t,e){return\" \"+t+\" 0 \"+h.font.outlineColor}).join(\",\")};if(h.showLegend){D=t.select(\".legend-group\").attr({transform:\"translate(\"+[x,h.margin.top]+\")\"}).style({display:\"block\"});var N=p.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol=\"DotPlot\"===t.geometry?t.dotType||\"circle\":\"LinePlot\"!=t.geometry?\"square\":\"line\",r.visibleInLegend=\"undefined\"==typeof t.visibleInLegend||t.visibleInLegend,r.color=\"LinePlot\"===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:p.map(function(t,e){return t.name||\"Element\"+e}),legendConfig:i({},o.Legend.defaultConfig().legendConfig,{container:D,elements:N,reverseOrder:h.legend.reverseOrder})})();var j=D.node().getBBox();x=Math.min(h.width-j.width-h.margin.left-h.margin.right,h.height-h.margin.top-h.margin.bottom)/2,x=Math.max(10,x),_=[h.margin.left+x,h.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),D.attr(\"transform\",\"translate(\"+[_[0]+x,_[1]-x]+\")\")}else D=t.select(\".legend-group\").style({display:\"none\"});t.attr({width:h.width,height:h.height}).style({opacity:h.opacity}),R.attr(\"transform\",\"translate(\"+_+\")\").style({cursor:\"crosshair\"});var V=[(h.width-(h.margin.left+h.margin.right+2*x+(j?j.width:0)))/2,(h.height-(h.margin.top+h.margin.bottom+2*x))/2];if(V[0]=Math.max(0,V[0]),V[1]=Math.max(0,V[1]),t.select(\".outer-group\").attr(\"transform\",\"translate(\"+V+\")\"),h.title){var U=t.select(\"g.title-group text\").style(F).text(h.title),q=U.node().getBBox();U.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(\".radial.axis-group\");if(h.radialAxis.gridLinesVisible){var G=H.selectAll(\"circle.grid-circle\").data(r.ticks(5));G.enter().append(\"circle\").attr({class:\"grid-circle\"}).style(B),G.attr(\"r\",r),G.exit().remove()}H.select(\"circle.outside-circle\").attr({r:x}).style(B);var W=t.select(\"circle.background-circle\").attr({r:x}).style({fill:h.backgroundColor,stroke:h.stroke});function Y(t,e){return s(t)%360+h.orientation}if(h.radialAxis.visible){var X=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(X).attr({transform:\"rotate(\"+h.radialAxis.orientation+\")\"}),H.selectAll(\".domain\").style(B),H.selectAll(\"g>text\").text(function(t,e){return this.textContent+h.radialAxis.ticksSuffix}).style(F).style({\"text-anchor\":\"start\"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return\"horizontal\"===h.radialAxis.tickOrientation?\"rotate(\"+-h.radialAxis.orientation+\") translate(\"+[0,F[\"font-size\"]]+\")\":\"translate(\"+[0,F[\"font-size\"]]+\")\"}}),H.selectAll(\"g>line\").style({stroke:\"black\"})}var Z=t.select(\".angular.axis-group\").selectAll(\"g.angular-tick\").data(P),$=Z.enter().append(\"g\").classed(\"angular-tick\",!0);Z.attr({transform:function(t,e){return\"rotate(\"+Y(t)+\")\"}}).style({display:h.angularAxis.visible?\"block\":\"none\"}),Z.exit().remove(),$.append(\"line\").classed(\"grid-line\",!0).classed(\"major\",function(t,e){return e%(h.minorTicks+1)==0}).classed(\"minor\",function(t,e){return!(e%(h.minorTicks+1)==0)}).style(B),$.selectAll(\".minor\").style({stroke:h.minorTickColor}),Z.select(\"line.grid-line\").attr({x1:h.tickLength?x-h.tickLength:0,x2:x}).style({display:h.angularAxis.gridLinesVisible?\"block\":\"none\"}),$.append(\"text\").classed(\"axis-text\",!0).style(F);var J=Z.select(\"text.axis-text\").attr({x:x+h.labelOffset,dy:a+\"em\",transform:function(t,e){var r=Y(t),n=x+h.labelOffset,i=h.angularAxis.tickOrientation;return\"horizontal\"==i?\"rotate(\"+-r+\" \"+n+\" 0)\":\"radial\"==i?r<270&&r>90?\"rotate(180 \"+n+\" 0)\":null:\"rotate(\"+(r<=180&&r>0?-90:90)+\" \"+n+\" 0)\"}}).style({\"text-anchor\":\"middle\",display:h.angularAxis.labelsVisible?\"block\":\"none\"}).text(function(t,e){return e%(h.minorTicks+1)!=0?\"\":w?w[t]+h.angularAxis.ticksSuffix:t+h.angularAxis.ticksSuffix}).style(F);h.angularAxis.rewriteTicks&&J.text(function(t,e){return e%(h.minorTicks+1)!=0?\"\":h.angularAxis.rewriteTicks(this.textContent,e)});var K=n.max(R.selectAll(\".angular-tick text\")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));D.attr({transform:\"translate(\"+[x+K,h.margin.top]+\")\"});var Q=t.select(\"g.geometry-group\").selectAll(\"g\").size()>0,tt=t.select(\"g.geometry-group\").selectAll(\"g.geometry\").data(p);if(tt.enter().append(\"g\").attr({class:function(t,e){return\"geometry geometry\"+e}}),tt.exit().remove(),p[0]||Q){var et=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=tt.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=h.orientation,n.direction=h.direction,n.index=e,et.push({data:t,geometryConfig:n})});var rt=n.nest().key(function(t,e){return\"undefined\"!=typeof t.data.groupId||\"unstacked\"}).entries(et),nt=[];rt.forEach(function(t,e){\"unstacked\"===t.key?nt=nt.concat(t.values.map(function(t,e){return[t]})):nt.push(t.values)}),nt.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return i(o[r].defaultConfig(),t)});o[r]().config(n)()})}var it,at,ot=t.select(\".guides-group\"),st=t.select(\".tooltips-group\"),lt=o.tooltipPanel().config({container:st,fontSize:8})(),ct=o.tooltipPanel().config({container:st,fontSize:8})(),ut=o.tooltipPanel().config({container:st,hasTick:!0})();if(!M){var ft=ot.select(\"line\").attr({x1:0,y1:0,y2:0}).style({stroke:\"grey\",\"pointer-events\":\"none\"});R.on(\"mousemove.angular-guide\",function(t,e){var r=o.util.getMousePos(W).angle;ft.attr({x2:-x,transform:\"rotate(\"+r+\")\"}).style({opacity:.5});var n=(r+180+360-h.orientation)%360;it=s.invert(n);var i=o.util.convertToCartesian(x+12,r+180);lt.text(o.util.round(it)).move([i[0]+_[0],i[1]+_[1]])}).on(\"mouseout.angular-guide\",function(t,e){ot.select(\"line\").style({opacity:0})})}var ht=ot.select(\"circle\").style({stroke:\"grey\",fill:\"none\"});R.on(\"mousemove.radial-guide\",function(t,e){var n=o.util.getMousePos(W).radius;ht.attr({r:n}).style({opacity:.5}),at=r.invert(o.util.getMousePos(W).radius);var i=o.util.convertToCartesian(n,h.radialAxis.orientation);ct.text(o.util.round(at)).move([i[0]+_[0],i[1]+_[1]])}).on(\"mouseout.radial-guide\",function(t,e){ht.style({opacity:0}),ut.hide(),lt.hide(),ct.hide()}),t.selectAll(\".geometry-group .mark\").on(\"mouseover.tooltip\",function(e,r){var i=n.select(this),a=this.style.fill,s=\"black\",l=this.style.opacity||1;if(i.attr({\"data-opacity\":l}),a&&\"none\"!==a){i.attr({\"data-fill\":a}),s=n.hsl(a).darker().toString(),i.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};M&&(c.t=w[e[0]]);var u=\"t: \"+c.t+\", r: \"+c.r,f=this.getBoundingClientRect(),h=t.node().getBoundingClientRect(),p=[f.left+f.width/2-V[0]-h.left,f.top+f.height/2-V[1]-h.top];ut.config({color:s}).text(u),ut.move(p)}else a=this.style.stroke||\"black\",i.attr({\"data-stroke\":a}),s=n.hsl(a).darker().toString(),i.style({stroke:s,opacity:1})}).on(\"mousemove.tooltip\",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr(\"data-fill\")&&ut.show()}).on(\"mouseout.tooltip\",function(t,e){ut.hide();var r=n.select(this),i=r.attr(\"data-fill\");i?r.style({fill:i,opacity:r.attr(\"data-opacity\")}):r.style({stroke:r.attr(\"data-stroke\"),opacity:r.attr(\"data-opacity\")})})})}(c),this},h.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),i(l.data[e],o.Axis.defaultConfig().data[0]),i(l.data[e],t)}),i(l.layout,o.Axis.defaultConfig().layout),i(l.layout,e.layout),this},h.getLiveConfig=function(){return u},h.getinputConfig=function(){return c},h.radialScale=function(t){return r},h.angularScale=function(t){return s},h.svg=function(){return t},n.rebind(h,f,\"on\"),h},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:\"Line1\",geometry:\"LinePlot\",color:null,strokeDash:\"solid\",strokeColor:null,strokeSize:\"1\",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:\"gray\",outlineColor:\"white\",family:\"Tahoma, sans-serif\"},direction:\"clockwise\",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:\"\",visible:!0,gridLinesVisible:!0,tickOrientation:\"horizontal\",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:\"\",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:\"horizontal\",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:\"silver\",minorTickColor:\"#eee\",backgroundColor:\"none\",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT=\"dataExtent\",o.AREA=\"AreaChart\",o.LINE=\"LinePlot\",o.DOT=\"DotPlot\",o.BAR=\"BarChart\",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},o.util.dataFromEquation=function(t,e,r){var i=e||6,a=[],o=[];n.range(0,360+i,i).forEach(function(e,r){var n=e*Math.PI/180,i=t(n);a.push(e),o.push(i)});var s={t:a,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if(\"undefined\"==typeof t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){\"string\"==typeof e&&(e=e.split(\".\"));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],i=e[1],a={};return a.x=r,a.y=i,a.pos=e,a.angle=180*(Math.atan2(i,r)+Math.PI)/Math.PI,a.radius=Math.sqrt(r*r+i*i),a},o.util.duplicatesCount=function(t){for(var e,r={},n={},i=0,a=t.length;i<a;i++)(e=t[i])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},o.util.duplicates=function(t){return Object.keys(o.util.duplicatesCount(t))},o.util.translator=function(t,e,r,n){if(n){var i=r.slice();r=e,e=i}var a=e.reduce(function(t,e){if(\"undefined\"!=typeof t)return t[e]},t);\"undefined\"!=typeof a&&(e.reduce(function(t,r,n){if(\"undefined\"!=typeof t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return\"undefined\"==typeof t[e]&&(t[e]={}),n===r.length-1&&(t[e]=a),t[e]},t))},o.PolyChart=function(){var t=[o.PolyChart.defaultConfig()],e=n.dispatch(\"hover\"),r={solid:\"none\",dash:[5,2],dot:[2,5]};function a(){var e=t[0].geometryConfig,i=e.container;\"string\"==typeof i&&(i=n.select(i)),i.datum(t).each(function(t,i){var a=!!t[0].data.yStack,o=t.map(function(t,e){return a?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),s=e.angularScale,l=e.radialScale.domain()[0],c={bar:function(r,i,a){var o=t[a].data,l=e.radialScale(r[1])-e.radialScale(0),c=e.radialScale(r[2]||0),u=o.barWidth;n.select(this).attr({class:\"mark bar\",d:\"M\"+[[l+c,-u/2],[l+c,u/2],[c,u/2],[c,-u/2]].join(\"L\")+\"Z\",transform:function(t,r){return\"rotate(\"+(e.orientation+s(t[0]))+\")\"}})}};c.dot=function(r,i,a){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(t[a].data.dotSize).type(t[a].data.dotType)(r,i);n.select(this).attr({class:\"mark dot\",d:s,transform:function(t,r){var n,i,a,s=(n=function(t,r){var n=e.radialScale(t[1]),i=(e.angularScale(t[0])+e.orientation)*Math.PI/180;return{r:n,t:i}}(o),i=n.r*Math.cos(n.t),a=n.r*Math.sin(n.t),{x:i,y:a});return\"translate(\"+[s.x,s.y]+\")\"}})};var u=n.svg.line.radial().interpolate(t[0].data.lineInterpolation).radius(function(t){return e.radialScale(t[1])}).angle(function(t){return e.angularScale(t[0])*Math.PI/180});c.line=function(r,i,a){var s=r[2]?o[a].map(function(t,e){return[t[0],t[1]+t[2]]}):o[a];if(n.select(this).each(c.dot).style({opacity:function(e,r){return+t[a].data.dotVisible},fill:d.stroke(r,i,a)}).attr({class:\"mark dot\"}),!(i>0)){var l=n.select(this.parentNode).selectAll(\"path.line\").data([0]);l.enter().insert(\"path\"),l.attr({class:\"line\",d:u(s),transform:function(t,r){return\"rotate(\"+(e.orientation+90)+\")\"},\"pointer-events\":\"none\"}).style({fill:function(t,e){return d.fill(r,i,a)},\"fill-opacity\":0,stroke:function(t,e){return d.stroke(r,i,a)},\"stroke-width\":function(t,e){return d[\"stroke-width\"](r,i,a)},\"stroke-dasharray\":function(t,e){return d[\"stroke-dasharray\"](r,i,a)},opacity:function(t,e){return d.opacity(r,i,a)},display:function(t,e){return d.display(r,i,a)}})}};var f=e.angularScale.range(),h=Math.abs(f[1]-f[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle(function(t){return-h/2}).endAngle(function(t){return h/2}).innerRadius(function(t){return e.radialScale(l+(t[2]||0))}).outerRadius(function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])});c.arc=function(t,r,i){n.select(this).attr({class:\"mark arc\",d:p,transform:function(t,r){return\"rotate(\"+(e.orientation+s(t[0])+90)+\")\"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},\"stroke-width\":function(e,r,n){return t[n].data.strokeSize+\"px\"},\"stroke-dasharray\":function(e,n,i){return r[t[i].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return\"undefined\"==typeof t[n].data.visible||t[n].data.visible?\"block\":\"none\"}},g=n.select(this).selectAll(\"g.layer\").data(o);g.enter().append(\"g\").attr({class:\"layer\"});var m=g.selectAll(\"path.mark\").data(function(t,e){return t});m.enter().append(\"path\").attr({class:\"mark\"}),m.style(d).each(c[e.geometryType]),m.exit().remove(),g.exit().remove()})}return a.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),i(t[r],o.PolyChart.defaultConfig()),i(t[r],e)}),this):t},a.getColorScale=function(){},n.rebind(a,e,\"on\"),a},o.PolyChart.defaultConfig=function(){return{data:{name:\"geom1\",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:\"circle\",dotSize:64,dotVisible:!1,barWidth:20,color:\"#ffa500\",strokeSize:1,strokeColor:\"silver\",strokeDash:\"solid\",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:\"LinePlot\",geometryType:\"arc\",direction:\"clockwise\",orientation:0,container:\"body\",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:\"bar\"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:\"arc\"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:\"dot\",dotType:\"circle\"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:\"line\"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch(\"hover\");function r(){var e=t.legendConfig,a=t.data.map(function(t,r){return[].concat(t).map(function(t,n){var a=i({},e.elements[r]);return a.name=t,a.color=[].concat(e.elements[r].color)[n],a})}),o=n.merge(a);o=o.filter(function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||\"undefined\"==typeof e.elements[r].visibleInLegend)}),e.reverseOrder&&(o=o.reverse());var s=e.container;(\"string\"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map(function(t,e){return t.color}),c=e.fontSize,u=null==e.isContinuous?\"number\"==typeof o[0]:e.isContinuous,f=u?e.height:c*o.length,h=s.classed(\"legend-group\",!0).selectAll(\"svg\").data([0]),p=h.enter().append(\"svg\").attr({width:300,height:f+c,xmlns:\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",version:\"1.1\"});p.append(\"g\").classed(\"legend-axis\",!0),p.append(\"g\").classed(\"legend-marks\",!0);var d=n.range(o.length),g=n.scale[u?\"linear\":\"ordinal\"]().domain(d).range(l),m=n.scale[u?\"linear\":\"ordinal\"]().domain(d)[u?\"range\":\"rangePoints\"]([0,f]);if(u){var v=h.select(\".legend-marks\").append(\"defs\").append(\"linearGradient\").attr({id:\"grad1\",x1:\"0%\",y1:\"0%\",x2:\"0%\",y2:\"100%\"}).selectAll(\"stop\").data(l);v.enter().append(\"stop\"),v.attr({offset:function(t,e){return e/(l.length-1)*100+\"%\"}}).style({\"stop-color\":function(t,e){return t}}),h.append(\"rect\").classed(\"legend-mark\",!0).attr({height:e.height,width:e.colorBandWidth,fill:\"url(#grad1)\"})}else{var y=h.select(\".legend-marks\").selectAll(\"path.legend-mark\").data(o);y.enter().append(\"path\").classed(\"legend-mark\",!0),y.attr({transform:function(t,e){return\"translate(\"+[c/2,m(e)+c/2]+\")\"},d:function(t,e){var r,i,a,o=t.symbol;return a=3*(i=c),\"line\"===(r=o)?\"M\"+[[-i/2,-i/12],[i/2,-i/12],[i/2,i/12],[-i/2,i/12]]+\"Z\":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(a)():n.svg.symbol().type(\"square\").size(a)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(m).orient(\"right\"),b=h.select(\"g.legend-axis\").attr({transform:\"translate(\"+[u?e.colorBandWidth:c,c/2]+\")\"}).call(x);return b.selectAll(\".domain\").style({fill:\"none\",stroke:\"none\"}),b.selectAll(\"line\").style({fill:\"none\",stroke:u?e.textColor:\"none\"}),b.selectAll(\"text\").style({fill:e.textColor,\"font-size\":e.fontSize}).text(function(t,e){return o[e].name}),r}return r.config=function(e){return arguments.length?(i(t,e),this):t},n.rebind(r,e,\"on\"),r},o.Legend.defaultConfig=function(t,e){return{data:[\"a\",\"b\",\"c\"],legendConfig:{elements:[{symbol:\"line\",color:\"red\"},{symbol:\"square\",color:\"yellow\"},{symbol:\"diamond\",color:\"limegreen\"}],height:150,colorBandWidth:30,fontSize:12,container:\"body\",isContinuous:null,textColor:\"grey\",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,a={container:null,hasTick:!1,fontSize:12,color:\"white\",padding:5},s=\"tooltip-\"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=a.container.selectAll(\"g.\"+s).data([0])).enter().append(\"g\").classed(s,!0).style({\"pointer-events\":\"none\",display:\"none\"});return r=n.append(\"path\").style({fill:\"white\",\"fill-opacity\":.9}).attr({d:\"M0 0\"}),e=n.append(\"text\").attr({dx:a.padding+l,dy:.3*+a.fontSize}),c};return c.text=function(i){var o=n.hsl(a.color).l,s=o>=.5?\"#aaa\":\"white\",u=o>=.5?\"black\":\"white\",f=i||\"\";e.style({fill:u,\"font-size\":a.fontSize+\"px\"}).text(f);var h=a.padding,p=e.node().getBBox(),d={fill:a.color,stroke:s,\"stroke-width\":\"2px\"},g=p.width+2*h+l,m=p.height+2*h;return r.attr({d:\"M\"+[[l,-m/2],[l,-m/4],[a.hasTick?0:l,0],[l,m/4],[l,m/2],[g,m/2],[g,-m/2]].join(\"L\")+\"Z\"}).style(d),t.attr({transform:\"translate(\"+[l,-m/2+2*h]+\")\"}),t.style({display:\"block\"}),c},c.move=function(e){if(t)return t.attr({transform:\"translate(\"+[e[0],e[1]]+\")\"}).style({display:\"block\"}),c},c.hide=function(){if(t)return t.style({display:\"none\"}),c},c.show=function(){if(t)return t.style({display:\"block\"}),c},c.config=function(t){return i(a,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map(function(t,r){var n=i({},t);return[[n,[\"marker\",\"color\"],[\"color\"]],[n,[\"marker\",\"opacity\"],[\"opacity\"]],[n,[\"marker\",\"line\",\"color\"],[\"strokeColor\"]],[n,[\"marker\",\"line\",\"dash\"],[\"strokeDash\"]],[n,[\"marker\",\"line\",\"width\"],[\"strokeSize\"]],[n,[\"marker\",\"symbol\"],[\"dotType\"]],[n,[\"marker\",\"size\"],[\"dotSize\"]],[n,[\"marker\",\"barWidth\"],[\"barWidth\"]],[n,[\"line\",\"interpolation\"],[\"lineInterpolation\"]],[n,[\"showlegend\"],[\"visibleInLegend\"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&&delete n.groupId,e?(\"LinePlot\"===n.geometry?(n.type=\"scatter\",!0===n.dotVisible?(delete n.dotVisible,n.mode=\"lines+markers\"):n.mode=\"lines\"):\"DotPlot\"===n.geometry?(n.type=\"scatter\",n.mode=\"markers\"):\"AreaChart\"===n.geometry?n.type=\"area\":\"BarChart\"===n.geometry&&(n.type=\"bar\"),delete n.geometry):(\"scatter\"===n.type?\"lines\"===n.mode?n.geometry=\"LinePlot\":\"markers\"===n.mode?n.geometry=\"DotPlot\":\"lines+markers\"===n.mode&&(n.geometry=\"LinePlot\",n.dotVisible=!0):\"area\"===n.type?n.geometry=\"AreaChart\":\"bar\"===n.type&&(n.geometry=\"BarChart\"),delete n.mode,delete n.type),n}),!e&&t.layout&&\"stack\"===t.layout.barmode)){var a=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=a.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)})}if(t.layout){var s=i({},t.layout);if([[s,[\"plot_bgcolor\"],[\"backgroundColor\"]],[s,[\"showlegend\"],[\"showLegend\"]],[s,[\"radialaxis\"],[\"radialAxis\"]],[s,[\"angularaxis\"],[\"angularAxis\"]],[s.angularaxis,[\"showline\"],[\"gridLinesVisible\"]],[s.angularaxis,[\"showticklabels\"],[\"labelsVisible\"]],[s.angularaxis,[\"nticks\"],[\"ticksCount\"]],[s.angularaxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.angularaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.angularaxis,[\"range\"],[\"domain\"]],[s.angularaxis,[\"endpadding\"],[\"endPadding\"]],[s.radialaxis,[\"showline\"],[\"gridLinesVisible\"]],[s.radialaxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.radialaxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.radialaxis,[\"range\"],[\"domain\"]],[s.angularAxis,[\"showline\"],[\"gridLinesVisible\"]],[s.angularAxis,[\"showticklabels\"],[\"labelsVisible\"]],[s.angularAxis,[\"nticks\"],[\"ticksCount\"]],[s.angularAxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.angularAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.angularAxis,[\"range\"],[\"domain\"]],[s.angularAxis,[\"endpadding\"],[\"endPadding\"]],[s.radialAxis,[\"showline\"],[\"gridLinesVisible\"]],[s.radialAxis,[\"tickorientation\"],[\"tickOrientation\"]],[s.radialAxis,[\"ticksuffix\"],[\"ticksSuffix\"]],[s.radialAxis,[\"range\"],[\"domain\"]],[s.font,[\"outlinecolor\"],[\"outlineColor\"]],[s.legend,[\"traceorder\"],[\"reverseOrder\"]],[s,[\"labeloffset\"],[\"labelOffset\"]],[s,[\"defaultcolorrange\"],[\"defaultColorRange\"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?(\"undefined\"!=typeof s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&\"undefined\"!=typeof s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&\"undefined\"!=typeof s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&\"boolean\"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder=\"normal\"!=s.legend.reverseOrder),s.legend&&\"boolean\"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?\"reversed\":\"normal\",delete s.legend.reverseOrder),s.margin&&\"undefined\"!=typeof s.margin.t){var l=[\"t\",\"r\",\"b\",\"l\",\"pad\"],c=[\"top\",\"right\",\"bottom\",\"left\",\"pad\"],u={};n.entries(s.margin).forEach(function(t,e){u[c[l.indexOf(t.key)]]=t.value}),s.margin=u}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r}};return t}},{\"../../../constants/alignment\":665,\"../../../lib\":693,d3:147}],815:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../../lib\"),a=t(\"../../../components/color\"),o=t(\"./micropolar\"),s=t(\"./undo_manager\"),l=i.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,i,a,u,f=new s;function h(r,s){return s&&(u=s),n.select(n.select(u).node().parentNode).selectAll(\".svg-container>*:not(.chart-root)\").remove(),e=e?l(e,r):r,i||(i=o.Axis()),a=o.adapter.plotly().convert(e),i.config(a).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return h.isPolar=!0,h.svg=function(){return i.svg()},h.getConfig=function(){return e},h.getLiveConfig=function(){return o.adapter.plotly().convert(i.getLiveConfig(),!0)},h.getLiveScales=function(){return{t:i.angularScale(),r:i.radialScale()}},h.setUndoPoint=function(){var t,n,i=this,a=o.util.cloneJson(e);t=a,n=r,f.add({undo:function(){n&&i(n)},redo:function(){i(t)}}),r=o.util.cloneJson(a)},h.undo=function(){f.undo()},h.redo=function(){f.redo()},h},c.fillLayout=function(t){var e=n.select(t).selectAll(\".plot-container\"),r=e.selectAll(\".svg-container\"),i=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:a.background,_container:e,_paperdiv:r,_paper:i};t._fullLayout=l(o,t.layout)}},{\"../../../components/color\":567,\"../../../lib\":693,\"./micropolar\":814,\"./undo_manager\":816,d3:147}],816:[function(t,e,r){\"use strict\";e.exports=function(){var t,e=[],r=-1,n=!1;function i(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(e.splice(r+1,e.length-r),e.push(t),r=e.length-1,this)},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(i(n,\"undo\"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(i(n,\"redo\"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r<e.length-1},getCommands:function(){return e},getPreviousCommand:function(){return e[r-1]},getIndex:function(){return r}}}},{}],817:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"../../registry\"),o=t(\"../../lib\"),s=t(\"../../components/color\"),l=t(\"../../components/drawing\"),c=t(\"../plots\"),u=t(\"../cartesian/set_convert\"),f=t(\"./set_convert\"),h=t(\"../cartesian/autorange\").doAutoRange,p=t(\"../cartesian/axes\").doTicksSingle,d=t(\"../cartesian/dragbox\"),g=t(\"../../components/dragelement\"),m=t(\"../../components/fx\"),v=t(\"../../components/titles\"),y=t(\"../cartesian/select\").prepSelect,x=t(\"../cartesian/select\").selectOnClick,b=t(\"../cartesian/select\").clearSelect,_=t(\"../../lib/setcursor\"),w=t(\"../../constants/alignment\").MID_SHIFT,k=t(\"./constants\"),M=t(\"./helpers\"),A=o._,T=o.mod,S=o.deg2rad,E=o.rad2deg;function C(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n=\"clip\"+r._uid+e;this.clipIds.forTraces=n+\"-for-traces\",this.clipPaths.forTraces=r._clips.append(\"clipPath\").attr(\"id\",this.clipIds.forTraces),this.clipPaths.forTraces.append(\"path\"),this.framework=r._polarlayer.append(\"g\").attr(\"class\",e),this.radialTickLayout=null,this.angularTickLayout=null}var L=C.prototype;function z(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return\"side\"in t&&(e+=t.side),e}function P(t,e){return e[o.findIndexOfMin(e,function(e){return o.angleDist(t,e)})]}function O(t,e,r){return e?(t.attr(\"display\",null),t.attr(r)):t&&t.attr(\"display\",\"none\"),t}function I(t,e){return\"translate(\"+t+\",\"+e+\")\"}function D(t){return\"rotate(\"+t+\")\"}function R(t){return Math.abs(t)<1e-10?0:t>0?1:-1}function B(t){return R(Math.cos(t))}function F(t){return R(Math.sin(t))}e.exports=function(t,e){return new C(t,e)},L.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n<t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),c.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},L.updateLayers=function(t,e){var r=this.layers,i=e.radialaxis,a=e.angularaxis,o=k.layerNames,s=o.indexOf(\"frontplot\"),l=o.slice(0,s),c=\"below traces\"===a.layer,u=\"below traces\"===i.layer;c&&l.push(\"angular-line\"),u&&l.push(\"radial-line\"),c&&l.push(\"angular-axis\"),u&&l.push(\"radial-axis\"),l.push(\"frontplot\"),c||l.push(\"angular-line\"),u||l.push(\"radial-line\"),c||l.push(\"angular-axis\"),u||l.push(\"radial-axis\");var f=this.framework.selectAll(\".polarsublayer\").data(l,String);f.enter().append(\"g\").attr(\"class\",function(t){return\"polarsublayer \"+t}).each(function(t){var e=r[t]=n.select(this);switch(t){case\"frontplot\":e.append(\"g\").classed(\"barlayer\",!0),e.append(\"g\").classed(\"scatterlayer\",!0);break;case\"backplot\":e.append(\"g\").classed(\"maplayer\",!0);break;case\"plotbg\":r.bg=e.append(\"path\");break;case\"radial-grid\":e.style(\"fill\",\"none\"),e.append(\"g\").classed(\"x\",1);break;case\"angular-grid\":e.style(\"fill\",\"none\"),e.append(\"g\").classed(\"angularaxis\",1);break;case\"radial-line\":e.append(\"line\").style(\"fill\",\"none\");break;case\"angular-line\":e.append(\"path\").style(\"fill\",\"none\")}}),f.order()},L.updateLayout=function(t,e){var r=this.layers,n=t._size,i=e.radialaxis,a=e.angularaxis,o=e.domain.x,c=e.domain.y;this.xOffset=n.l+n.w*o[0],this.yOffset=n.t+n.h*(1-c[1]);var u=this.xLength=n.w*(o[1]-o[0]),f=this.yLength=n.h*(c[1]-c[0]),h=e.sector;this.sectorInRad=h.map(S);var p,d,g,m,v,y=this.sectorBBox=function(t){var e,r,n,i,a=t[0],o=t[1]-a,s=T(a,360),l=s+o,c=Math.cos(S(s)),u=Math.sin(S(s)),f=Math.cos(S(l)),h=Math.sin(S(l));i=s<=90&&l>=90||s>90&&l>=450?1:u<=0&&h<=0?0:Math.max(u,h);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&f>=0?0:Math.min(c,f);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&h>=0?0:Math.min(u,h);n=l>=360?1:c<=0&&f<=0?0:Math.max(c,f);return[e,r,n,i]}(h),x=y[2]-y[0],b=y[3]-y[1],_=f/u,w=Math.abs(b/x);_>w?(p=u,v=(f-(d=u*w))/n.h/2,g=[o[0],o[1]],m=[c[0]+v,c[1]-v]):(d=f,v=(u-(p=f/w))/n.w/2,g=[o[0]+v,o[1]-v],m=[c[0],c[1]]),this.xLength2=p,this.yLength2=d,this.xDomain2=g,this.yDomain2=m;var k=this.xOffset2=n.l+n.w*g[0],M=this.yOffset2=n.t+n.h*(1-m[1]),A=this.radius=p/x,E=this.innerRadius=e.hole*A,C=this.cx=k-A*y[0],L=this.cy=M+A*y[3],z=this.cxx=C-k,P=this.cyy=L-M;this.radialAxis=this.mockAxis(t,e,i,{_axislayer:r[\"radial-axis\"],_gridlayer:r[\"radial-grid\"],_id:\"x\",side:{counterclockwise:\"top\",clockwise:\"bottom\"}[i.side],domain:[E/n.w,A/n.w]}),this.angularAxis=this.mockAxis(t,e,a,{_axislayer:r[\"angular-axis\"],_gridlayer:r[\"angular-grid\"],side:\"right\",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:\"x\",domain:g}),this.yaxis=this.mockCartesianAxis(t,e,{_id:\"y\",domain:m});var O=this.pathSubplot();this.clipPaths.forTraces.select(\"path\").attr(\"d\",O).attr(\"transform\",I(z,P)),r.frontplot.attr(\"transform\",I(k,M)).call(l.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces),r.bg.attr(\"d\",O).attr(\"transform\",I(C,L)).call(s.fill,e.bgcolor),this.framework.selectAll(\".crisp\").classed(\"crisp\",0)},L.mockAxis=function(t,e,r,n){var i=o.extendFlat({anchor:\"free\",position:0,_pos:0,_counteraxis:!0,automargin:!1},r,n);return f(i,e,t),i},L.mockCartesianAxis=function(t,e,r){var n=this,i=r._id,a=o.extendFlat({type:\"linear\"},r);u(a,t);var s={x:[0,2],y:[1,3]};return a.setRange=function(){var t=n.sectorBBox,r=s[i],o=n.radialAxis._rl,l=(o[1]-o[0])/(1-e.hole);a.range=[t[r[0]]*l,t[r[1]]*l]},a.isPtWithinRange=\"x\"===i?function(t){return n.isPtInside(t)}:function(){return!0},a.setRange(),a.setScale(),a},L.doAutoRange=function(t,e){var r=this.gd,n=this.radialAxis,i=e.radialaxis;n.setScale(),h(r,n);var a=n.range;i.range=a.slice(),i._input.range=a.slice(),n._rl=[n.r2l(a[0],null,\"gregorian\"),n.r2l(a[1],null,\"gregorian\")]},L.updateRadialAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,l=r.cx,c=r.cy,u=e.radialaxis,f=T(e.sector[0],360),h=r.radialAxis,d=o<a;r.fillViewInitialKey(\"radialaxis.angle\",u.angle),r.fillViewInitialKey(\"radialaxis.range\",h.range.slice()),h.setGeometry(),\"auto\"===h.tickangle&&f>90&&f<=270&&(h.tickangle=180),h._transfn=function(t){return\"translate(\"+(h.l2p(t.x)+o)+\",0)\"},h._gridpath=function(t){return r.pathArc(h.r2p(t.x)+o)};var g=z(u);r.radialTickLayout!==g&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=g),d&&(h.setScale(),p(n,h,!0));var m=r.radialAxisAngle=r.vangles?E(P(S(u.angle),r.vangles)):u.angle,v=I(l,c)+D(-m);O(i[\"radial-axis\"],d&&(u.showticklabels||u.ticks),{transform:v}),O(i[\"radial-grid\"],d&&u.showgrid,{transform:I(l,c)}).selectAll(\"path\").attr(\"transform\",null),O(i[\"radial-line\"].select(\"line\"),d&&u.showline,{x1:o,y1:0,x2:a,y2:0,transform:v}).attr(\"stroke-width\",u.linewidth).call(s.stroke,u.linecolor)},L.updateRadialAxisTitle=function(t,e,r){var n=this.gd,i=this.radius,a=this.cx,o=this.cy,s=e.radialaxis,c=this.id+\"title\",u=void 0!==r?r:this.radialAxisAngle,f=S(u),h=Math.cos(f),p=Math.sin(f),d=0;if(s.title){var g=l.bBox(this.layers[\"radial-axis\"].node()).height,m=s.titlefont.size;d=\"counterclockwise\"===s.side?-g-.4*m:g+.8*m}this.layers[\"radial-axis-title\"]=v.draw(n,c,{propContainer:s,propName:this.id+\".radialaxis.title\",placeholder:A(n,\"Click to enter radial axis title\"),attributes:{x:a+i/2*h+d*p,y:o-i/2*p+d*h,\"text-anchor\":\"middle\"},transform:{rotate:-u}})},L.updateAngularAxis=function(t,e){var r=this,i=r.gd,a=r.layers,l=r.radius,c=r.innerRadius,u=r.cx,f=r.cy,h=e.angularaxis,d=r.angularAxis;r.fillViewInitialKey(\"angularaxis.rotation\",h.rotation),d.setGeometry();var g=function(t){return d.t2g(t.x)};\"linear\"===d.type&&\"radians\"===d.thetaunit&&(d.tick0=E(d.tick0),d.dtick=E(d.dtick)),\"category\"===d.type&&(d._tickFilter=function(t){return o.isAngleInsideSector(g(t),r.sectorInRad)}),d._transfn=function(t){var e=n.select(this),r=e&&e.node();if(r&&e.classed(\"angularaxisgrid\"))return\"\";var i=g(t),a=I(u+l*Math.cos(i),f-l*Math.sin(i));return r&&e.classed(\"ticks\")&&(a+=D(-E(i))),a},d._gridpath=function(t){var e=g(t),r=Math.cos(e),n=Math.sin(e);return\"M\"+[u+c*r,f-c*n]+\"L\"+[u+l*r,f-l*n]};var m=\"outside\"!==h.ticks?.7:.5;d._labelx=function(t){var e=g(t),r=d._labelStandoff,n=d._pad;return(0===F(e)?0:Math.cos(e)*(r+n+m*t.fontSize))+B(e)*(t.dx+r+n)},d._labely=function(t){var e=g(t),r=d._labelStandoff,n=d._labelShift,i=d._pad;return t.dy+t.fontSize*w-n+-Math.sin(e)*(r+i+m*t.fontSize)},d._labelanchor=function(t,e){var r=g(e);return 0===F(r)?B(r)>0?\"start\":\"end\":\"middle\"};var v,y=z(h);r.angularTickLayout!==y&&(a[\"angular-axis\"].selectAll(\".\"+d._id+\"tick\").remove(),r.angularTickLayout=y),d.setScale(),p(i,d,!0),\"linear\"===e.gridshape?(v=d._vals.map(g),o.angleDelta(v[0],v[1])<0&&(v=v.slice().reverse())):v=null,r.vangles=v,O(a[\"angular-line\"].select(\"path\"),h.showline,{d:r.pathSubplot(),transform:I(u,f)}).attr(\"stroke-width\",h.linewidth).call(s.stroke,h.linecolor)},L.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1),this.updateMainDrag(t))},L.updateMainDrag=function(t){var e=this,r=e.gd,o=e.layers,s=t._zoomlayer,l=k.MINZOOM,c=k.OFFEDGE,u=e.radius,f=e.innerRadius,h=e.cx,p=e.cy,v=e.cxx,_=e.cyy,w=e.sectorInRad,A=e.vangles,T=e.radialAxis,S=M.clampTiny,E=M.findXYatLength,C=M.findEnclosingVertexAngles,L=k.cornerHalfWidth,z=k.cornerLen/2,P=d.makeDragger(o,\"path\",\"maindrag\",\"crosshair\");n.select(P).attr(\"d\",e.pathSubplot()).attr(\"transform\",I(h,p));var O,D,R,B,F,N,j,V,U,q={element:P,gd:r,subplot:e.id,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis},xaxes:[e.xaxis],yaxes:[e.yaxis]};function H(t,e){return Math.sqrt(t*t+e*e)}function G(t,e){return H(t-v,e-_)}function W(t,e){return Math.atan2(_-e,t-v)}function Y(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function X(t,r){if(0===t)return e.pathSector(2*L);var n=z/t,i=r-n,a=r+n,o=Math.max(0,Math.min(t,u)),s=o-L,l=o+L;return\"M\"+Y(s,i)+\"A\"+[s,s]+\" 0,0,0 \"+Y(s,a)+\"L\"+Y(l,a)+\"A\"+[l,l]+\" 0,0,1 \"+Y(l,i)+\"Z\"}function Z(t,r,n){if(0===t)return e.pathSector(2*L);var i,a,o=Y(t,r),s=Y(t,n),l=S((o[0]+s[0])/2),c=S((o[1]+s[1])/2);if(l&&c){var u=c/l,f=-1/u,h=E(L,u,l,c);i=E(z,f,h[0][0],h[0][1]),a=E(z,f,h[1][0],h[1][1])}else{var p,d;c?(p=z,d=L):(p=L,d=z),i=[[l-p,c-d],[l+p,c-d]],a=[[l-p,c+d],[l+p,c+d]]}return\"M\"+i.join(\"L\")+\"L\"+a.reverse().join(\"L\")+\"Z\"}function $(t,e){return e=Math.max(Math.min(e,u),f),t<c?t=0:u-t<c?t=u:e<c?e=0:u-e<c&&(e=u),Math.abs(e-t)>l?(t<e?(R=t,B=e):(R=e,B=t),!0):(R=null,B=null,!1)}function J(t,e){t=t||F,e=e||\"M0,0Z\",V.attr(\"d\",t),U.attr(\"d\",e),d.transitionZoombox(V,U,N,j),N=!0}function K(t,r){var n,i,a=O+t,o=D+r,s=G(O,D),l=Math.min(G(a,o),u),c=W(O,D);$(s,l)&&(n=F+e.pathSector(B),R&&(n+=e.pathSector(R)),i=X(R,c)+X(B,c)),J(n,i)}function Q(t,e,r,n){var i=M.findIntersectionXY(r,n,r,[t-v,_-e]);return H(i[0],i[1])}function tt(t,r){var n,i,a=O+t,o=D+r,s=W(O,D),l=W(a,o),c=C(s,A),f=C(l,A);$(Q(O,D,c[0],c[1]),Math.min(Q(a,o,f[0],f[1]),u))&&(n=F+e.pathSector(B),R&&(n+=e.pathSector(R)),i=[Z(R,c[0],c[1]),Z(B,c[0],c[1])].join(\" \")),J(n,i)}function et(){if(d.removeZoombox(r),null!==R&&null!==B){d.showDoubleClickNotifier(r);var t=T._rl,n=(t[1]-t[0])/(1-f/u)/u,i=[t[0]+(R-f)*n,t[0]+(B-f)*n];a.call(\"relayout\",r,e.id+\".radialaxis.range\",i)}}function rt(t,n){var i=r._fullLayout.clickmode;if(d.removeZoombox(r),2===t){var o={};for(var s in e.viewInitial)o[e.id+\".\"+s]=e.viewInitial[s];r.emit(\"plotly_doubleclick\",null),a.call(\"relayout\",r,o)}i.indexOf(\"select\")>-1&&1===t&&x(n,r,[e.xaxis],[e.yaxis],e.id,q),i.indexOf(\"event\")>-1&&m.click(r,n,e.id)}q.prepFn=function(t,n,a){var o=r._fullLayout.dragmode,l=P.getBoundingClientRect();if(O=n-l.left,D=a-l.top,A){var c=M.findPolygonOffset(u,w[0],w[1],A);O+=v+c[0],D+=_+c[1]}switch(o){case\"zoom\":q.moveFn=A?tt:K,q.clickFn=rt,q.doneFn=et,function(){R=null,B=null,F=e.pathSubplot(),N=!1;var t=r._fullLayout[e.id];j=i(t.bgcolor).getLuminance(),(V=d.makeZoombox(s,j,h,p,F)).attr(\"fill-rule\",\"evenodd\"),U=d.makeCorners(s,h,p),b(s)}();break;case\"select\":case\"lasso\":y(t,n,a,q,o)}},P.onmousemove=function(t){m.hover(r,t,e.id),r._fullLayout._lasthover=P,r._fullLayout._hoversubplot=e.id},P.onmouseout=function(t){r._dragging||g.unhover(r,t)},g.init(q)},L.updateRadialDrag=function(t,e,r){var i=this,s=i.gd,l=i.layers,c=i.radius,u=i.innerRadius,f=i.cx,h=i.cy,m=i.radialAxis,v=k.radialDragBoxSize,y=v/2;if(m.visible){var x,_,w,M=S(i.radialAxisAngle),A=m._rl,T=A[0],C=A[1],L=A[r],z=.75*(A[1]-A[0])/(1-e.hole)/c;r?(x=f+(c+y)*Math.cos(M),_=h-(c+y)*Math.sin(M),w=\"radialdrag\"):(x=f+(u-y)*Math.cos(M),_=h-(u-y)*Math.sin(M),w=\"radialdrag-inner\");var R,B,F,N=d.makeRectDragger(l,w,\"crosshair\",-y,-y,v,v),j={element:N,gd:s};O(n.select(N),m.visible&&u<c,{transform:I(x,_)}),j.prepFn=function(){R=null,B=null,F=null,j.moveFn=V,j.doneFn=U,b(t._zoomlayer)},j.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<k.MINDRAG&&(t=0,e=0),[t,e]},g.init(j)}function V(t,e){if(R)R(t,e);else{var r=[t,-e],n=[Math.cos(M),Math.sin(M)],i=Math.abs(o.dot(r,n)/Math.sqrt(o.dot(r,r)));isNaN(i)||(R=i<.5?q:H)}}function U(){null!==B?a.call(\"relayout\",s,i.id+\".radialaxis.angle\",B):null!==F&&a.call(\"relayout\",s,i.id+\".radialaxis.range[\"+r+\"]\",F)}function q(t,e){if(0!==r){var n=x+t,a=_+e;B=Math.atan2(h-a,n-f),i.vangles&&(B=P(B,i.vangles)),B=E(B);var o=I(f,h)+D(-B);l[\"radial-axis\"].attr(\"transform\",o),l[\"radial-line\"].select(\"line\").attr(\"transform\",o);var s=i.gd._fullLayout,c=s[i.id];i.updateRadialAxisTitle(s,c,B)}}function H(t,e){var n=o.dot([t,-e],[Math.cos(M),Math.sin(M)]);if(F=L-z*n,z>0==(r?F>T:F<C))for(var a in m.range[r]=F,m._rl[r]=F,m.setGeometry(),m.setScale(),i.xaxis.setRange(),i.xaxis.setScale(),i.yaxis.setRange(),i.yaxis.setScale(),p(s,m,!0),l[\"radial-grid\"].attr(\"transform\",I(f,h)).selectAll(\"path\").attr(\"transform\",null),i._scene&&i._scene.clear(),i.traceHash){var c=i.traceHash[a],u=o.filterVisible(c),d=c[0][0].trace._module,g=s._fullLayout[i.id];d.plot(s,i,u,g)}else F=null}},L.updateAngularDrag=function(t){var e=this,r=e.gd,i=e.layers,s=e.radius,c=e.angularAxis,u=e.cx,f=e.cy,h=e.cxx,m=e.cyy,v=k.angularDragBoxSize,y=d.makeDragger(i,\"path\",\"angulardrag\",\"move\"),x={element:y,gd:r};function w(t,e){return Math.atan2(m+v-e,t-h-v)}n.select(y).attr(\"d\",e.pathAnnulus(s,s+v)).attr(\"transform\",I(u,f)).call(_,\"move\");var M,A,T,S,C,L,z=i.frontplot.select(\".scatterlayer\").selectAll(\".trace\"),P=z.selectAll(\".point\"),O=z.selectAll(\".textpoint\");function R(t,s){var d=e.gd._fullLayout,g=d[e.id],v=w(M+t,A+s),y=E(v-L);if(S=T+y,i.frontplot.attr(\"transform\",I(e.xOffset2,e.yOffset2)+D([-y,h,m])),e.vangles){C=e.radialAxisAngle+y;var x=I(u,f)+D(-y),b=I(u,f)+D(-C);i.bg.attr(\"transform\",x),i[\"radial-grid\"].attr(\"transform\",x),i[\"angular-line\"].select(\"path\").attr(\"transform\",x),i[\"radial-axis\"].attr(\"transform\",b),i[\"radial-line\"].select(\"line\").attr(\"transform\",b),e.updateRadialAxisTitle(d,g,C)}else e.clipPaths.forTraces.select(\"path\").attr(\"transform\",I(h,m)+D(y));for(var _ in P.each(function(){var t=n.select(this),e=l.getTranslate(t);t.attr(\"transform\",I(e.x,e.y)+D([y]))}),O.each(function(){var t=n.select(this),e=t.select(\"text\"),r=l.getTranslate(t);t.attr(\"transform\",D([y,e.attr(\"x\"),e.attr(\"y\")])+I(r.x,r.y))}),c.rotation=o.modHalf(S,360),c.setGeometry(),c.setScale(),p(r,c,!0),e._hasClipOnAxisFalse&&!o.isFullCircle(e.sectorInRad)&&z.call(l.hideOutsideRangePoints,e),e._scene&&e._scene.clear(),e.traceHash)if(a.traceIs(_,\"gl\")){var k=e.traceHash[_],R=o.filterVisible(k);k[0][0].trace._module.plot(r,e,R,g)}}function B(){O.select(\"text\").attr(\"transform\",null);var t={};t[e.id+\".angularaxis.rotation\"]=S,e.vangles&&(t[e.id+\".radialaxis.angle\"]=C),a.call(\"relayout\",r,t)}x.prepFn=function(r,n,i){var a=t[e.id];T=a.angularaxis.rotation;var o=y.getBoundingClientRect();M=n-o.left,A=i-o.top,L=w(M,A),x.moveFn=R,x.doneFn=B,b(t._zoomlayer)},e.vangles&&!o.isFullCircle(e.sectorInRad)&&(x.prepFn=o.noop,_(n.select(y),null)),g.init(x)},L.isPtInside=function(t){var e=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(t.theta),i=this.radialAxis,a=i.c2l(t.r),s=i._rl;return(r?M.isPtInsidePolygon:o.isPtInsideSector)(a,n,s,e,r)},L.pathArc=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathArc)(t,e[0],e[1],r)},L.pathSector=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathSector)(t,e[0],e[1],r)},L.pathAnnulus=function(t,e){var r=this.sectorInRad,n=this.vangles;return(n?M.pathPolygonAnnulus:o.pathAnnulus)(t,e,r[0],r[1],n)},L.pathSubplot=function(){var t=this.innerRadius,e=this.radius;return t?this.pathAnnulus(t,e):this.pathSector(e)},L.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{\"../../components/color\":567,\"../../components/dragelement\":589,\"../../components/drawing\":592,\"../../components/fx\":609,\"../../components/titles\":658,\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/setcursor\":714,\"../../registry\":825,\"../cartesian/autorange\":741,\"../cartesian/axes\":742,\"../cartesian/dragbox\":750,\"../cartesian/select\":759,\"../cartesian/set_convert\":760,\"../plots\":805,\"./constants\":806,\"./helpers\":807,\"./set_convert\":818,d3:147,tinycolor2:511}],818:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../cartesian/set_convert\"),a=n.deg2rad,o=n.rad2deg;e.exports=function(t,e,r){switch(i(t,r),t._id){case\"x\":case\"radialaxis\":!function(t,e){var r=e._subplot;t.setGeometry=function(){var e=t._rl[0],n=t._rl[1],i=r.innerRadius,a=(r.radius-i)/(n-e),o=i/a,s=e>n?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case\"angularaxis\":!function(t,e){var r=t.type;if(\"linear\"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return\"degrees\"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return\"degrees\"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,i){var a,o,s=e[i],l=e._length,c=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&\"linear\"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(a=new Array(l),o=0;o<l;o++)a[o]=c(s[o])}else{var u=i+\"0\",f=\"d\"+i,h=u in e?c(e[u]):0,p=e[f]?c(e[f]):(t.period||2*Math.PI)/l;for(a=new Array(l),o=0;o<l;o++)a[o]=h+o*p}return a},t.setGeometry=function(){var i,s,l,c,u=e.sector,f=u.map(a),h={clockwise:-1,counterclockwise:1}[t.direction],p=a(t.rotation),d=function(t){return h*t+p},g=function(t){return(t-p)/h};switch(r){case\"linear\":s=i=n.identity,c=a,l=o,t.range=n.isFullCircle(f)?[u[0],u[0]+360]:f.map(g).map(o);break;case\"category\":var m=t._categories.length,v=t.period?Math.max(t.period,m):m;s=c=function(t){return 2*t*Math.PI/v},i=l=function(t){return t*v/Math.PI/2},t.range=[0,v]}t.c2g=function(t){return d(s(t))},t.g2c=function(t){return i(g(t))},t.t2g=function(t){return d(c(t))},t.g2t=function(t){return l(g(t))}}}(t,e)}}},{\"../../lib\":693,\"../cartesian/set_convert\":760}],819:[function(t,e,r){\"use strict\";function n(t,e){return\"splom\"===t?-1:\"splom\"===e?1:0}e.exports={sortBasePlotModules:function(t,e){return n(t.name,e.name)},sortModules:n}},{}],820:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plot_api/plot_template\"),a=t(\"./domain\").defaults;e.exports=function(t,e,r,o){var s,l,c=o.type,u=o.attributes,f=o.handleDefaults,h=o.partition||\"x\",p=e._subplots[c],d=p.length,g=d&&p[0].replace(/\\d+$/,\"\");function m(t,e){return n.coerce(s,l,u,t,e)}for(var v=0;v<d;v++){var y=p[v];s=t[y]?t[y]:t[y]={},l=i.newContainer(e,y,g);var x={};x[h]=[v/d,(v+1)/d],a(l,e,m,x),o.id=y,f(s,l,m,o)}}},{\"../lib\":693,\"../plot_api/plot_template\":732,\"./domain\":767}],821:[function(t,e,r){\"use strict\";var n=t(\"./ternary\"),i=t(\"../../plots/get_data\").getSubplotCalcData,a=t(\"../../lib\").counterRegex;r.name=\"ternary\";var o=r.attr=\"subplot\";r.idRoot=\"ternary\",r.idRegex=r.attrRegex=a(\"ternary\"),(r.attributes={})[o]={valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"},r.layoutAttributes=t(\"./layout_attributes\"),r.supplyLayoutDefaults=t(\"./layout_defaults\"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.ternary,o=0;o<a.length;o++){var s=a[o],l=i(r,\"ternary\",s),c=e[s]._subplot;c||(c=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var i=n._subplots.ternary||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers[\"a-title\"].remove(),s.layers[\"b-title\"].remove(),s.layers[\"c-title\"].remove())}}},{\"../../lib\":693,\"../../plots/get_data\":778,\"./layout_attributes\":822,\"./layout_defaults\":823,\"./ternary\":824}],822:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),i=t(\"../domain\").attributes,a=t(\"../cartesian/layout_attributes\"),o=t(\"../../plot_api/edit_types\").overrideAll,s=t(\"../../lib/extend\").extendFlat,l={title:a.title,titlefont:a.titlefont,color:a.color,tickmode:a.tickmode,nticks:s({},a.nticks,{dflt:6,min:1}),tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,showticklabels:a.showticklabels,showtickprefix:a.showtickprefix,tickprefix:a.tickprefix,showticksuffix:a.showticksuffix,ticksuffix:a.ticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,separatethousands:a.separatethousands,tickfont:a.tickfont,tickangle:a.tickangle,tickformat:a.tickformat,tickformatstops:a.tickformatstops,hoverformat:a.hoverformat,showline:s({},a.showline,{dflt:!0}),linecolor:a.linecolor,linewidth:a.linewidth,showgrid:s({},a.showgrid,{dflt:!0}),gridcolor:a.gridcolor,gridwidth:a.gridwidth,layer:a.layer,min:{valType:\"number\",dflt:0,min:0}};e.exports=o({domain:i({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:n.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:l,baxis:l,caxis:l},\"plot\",\"from-root\")},{\"../../components/color/attributes\":566,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../cartesian/layout_attributes\":754,\"../domain\":767}],823:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../plot_api/plot_template\"),a=t(\"../../lib\"),o=t(\"../subplot_defaults\"),s=t(\"../cartesian/tick_label_defaults\"),l=t(\"../cartesian/tick_mark_defaults\"),c=t(\"../cartesian/tick_value_defaults\"),u=t(\"../cartesian/line_grid_defaults\"),f=t(\"./layout_attributes\"),h=[\"aaxis\",\"baxis\",\"caxis\"];function p(t,e,r,a){var o,s,l,c=r(\"bgcolor\"),u=r(\"sum\");a.bgColor=n.combine(c,a.paper_bgcolor);for(var f=0;f<h.length;f++)s=t[o=h[f]]||{},(l=i.newContainer(e,o))._name=o,d(s,l,a);var p=e.aaxis,g=e.baxis,m=e.caxis;p.min+g.min+m.min>=u&&(p.min=0,g.min=0,m.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function d(t,e,r){var n=f[e._name];function i(r,i){return a.coerce(t,e,n,r,i)}e.type=\"linear\";var o=i(\"color\"),h=o!==n.color.dflt?o:r.font.color,p=e._name.charAt(0).toUpperCase(),d=\"Component \"+p,g=i(\"title\",d);e._hovertitle=g===d?g:p,a.coerceFont(i,\"titlefont\",{family:r.font.family,size:Math.round(1.2*r.font.size),color:h}),i(\"min\"),c(t,e,i,\"linear\"),s(t,e,i,\"linear\",{}),l(t,e,i,{outerTicks:!0}),i(\"showticklabels\")&&(a.coerceFont(i,\"tickfont\",{family:r.font.family,size:r.font.size,color:h}),i(\"tickangle\"),i(\"tickformat\")),u(t,e,i,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:n}),i(\"hoverformat\"),i(\"layer\")}e.exports=function(t,e,r){o(t,e,r,{type:\"ternary\",attributes:f,handleDefaults:p,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{\"../../components/color\":567,\"../../lib\":693,\"../../plot_api/plot_template\":732,\"../cartesian/line_grid_defaults\":756,\"../cartesian/tick_label_defaults\":761,\"../cartesian/tick_mark_defaults\":762,\"../cartesian/tick_value_defaults\":763,\"../subplot_defaults\":820,\"./layout_attributes\":822}],824:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"../../registry\"),o=t(\"../../lib\"),s=o._,l=t(\"../../components/color\"),c=t(\"../../components/drawing\"),u=t(\"../cartesian/set_convert\"),f=t(\"../../lib/extend\").extendFlat,h=t(\"../plots\"),p=t(\"../cartesian/axes\"),d=t(\"../../components/dragelement\"),g=t(\"../../components/fx\"),m=t(\"../../components/titles\"),v=t(\"../cartesian/select\").prepSelect,y=t(\"../cartesian/select\").selectOnClick,x=t(\"../cartesian/select\").clearSelect,b=t(\"../cartesian/constants\");function _(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}e.exports=_;var w=_.prototype;w.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},w.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var i=0;i<t.length;i++){if(!1===t[i][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),h.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select(\"path\").call(l.fill,r.bgcolor)},w.makeFramework=function(t){var e=t[this.id],r=this.clipId=\"clip\"+this.layoutId+this.id,n=this.clipIdRelative=\"clip-relative\"+this.layoutId+this.id;this.clipDef=o.ensureSingleById(t._clips,\"clipPath\",r,function(t){t.append(\"path\").attr(\"d\",\"M0,0Z\")}),this.clipDefRelative=o.ensureSingleById(t._clips,\"clipPath\",n,function(t){t.append(\"path\").attr(\"d\",\"M0,0Z\")}),this.plotContainer=o.ensureSingle(this.container,\"g\",this.id),this.updateLayers(e),c.setClipUrl(this.layers.backplot,r),c.setClipUrl(this.layers.grids,r)},w.updateLayers=function(t){var e=this.layers,r=[\"draglayer\",\"plotbg\",\"backplot\",\"grids\"];\"below traces\"===t.aaxis.layer&&r.push(\"aaxis\",\"aline\"),\"below traces\"===t.baxis.layer&&r.push(\"baxis\",\"bline\"),\"below traces\"===t.caxis.layer&&r.push(\"caxis\",\"cline\"),r.push(\"frontplot\"),\"above traces\"===t.aaxis.layer&&r.push(\"aaxis\",\"aline\"),\"above traces\"===t.baxis.layer&&r.push(\"baxis\",\"bline\"),\"above traces\"===t.caxis.layer&&r.push(\"caxis\",\"cline\");var i=this.plotContainer.selectAll(\"g.toplevel\").data(r,String),a=[\"agrid\",\"bgrid\",\"cgrid\"];i.enter().append(\"g\").attr(\"class\",function(t){return\"toplevel \"+t}).each(function(t){var r=n.select(this);e[t]=r,\"frontplot\"===t?r.append(\"g\").classed(\"scatterlayer\",!0):\"backplot\"===t?r.append(\"g\").classed(\"maplayer\",!0):\"plotbg\"===t?r.append(\"path\").attr(\"d\",\"M0,0Z\"):\"aline\"===t||\"bline\"===t||\"cline\"===t?r.append(\"path\"):\"grids\"===t&&a.forEach(function(t){e[t]=r.append(\"g\").classed(\"grid \"+t,!0);var n=\"bgrid\"===t?\"x\":\"y\";e[t].append(\"g\").classed(n,!0)})}),i.order()};var k=Math.sqrt(4/3);function M(t){return t.ticks+String(t.ticklen)+String(t.showticklabels)}w.adjustLayout=function(t,e){var r,n,i,a,o,s,h=this,p=t.domain,d=(p.x[0]+p.x[1])/2,g=(p.y[0]+p.y[1])/2,m=p.x[1]-p.x[0],v=p.y[1]-p.y[0],y=m*e.w,x=v*e.h,b=t.sum,_=t.aaxis.min,w=t.baxis.min,M=t.caxis.min;y>k*x?i=(a=x)*k:a=(i=y)/k,o=m*i/y,s=v*a/x,r=e.l+e.w*d-i/2,n=e.t+e.h*(1-g)-a/2,h.x0=r,h.y0=n,h.w=i,h.h=a,h.sum=b,h.xaxis={type:\"linear\",range:[_+2*M-b,b-_-2*w],domain:[d-o/2,d+o/2],_id:\"x\"},u(h.xaxis,h.graphDiv._fullLayout),h.xaxis.setScale(),h.xaxis.isPtWithinRange=function(t){return t.a>=h.aaxis.range[0]&&t.a<=h.aaxis.range[1]&&t.b>=h.baxis.range[1]&&t.b<=h.baxis.range[0]&&t.c>=h.caxis.range[1]&&t.c<=h.caxis.range[0]},h.yaxis={type:\"linear\",range:[_,b-w-M],domain:[g-s/2,g+s/2],_id:\"y\"},u(h.yaxis,h.graphDiv._fullLayout),h.yaxis.setScale(),h.yaxis.isPtWithinRange=function(){return!0};var A=h.yaxis.domain[0],T=h.aaxis=f({},t.aaxis,{visible:!0,range:[_,b-w-M],side:\"left\",_counterangle:30,tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*k],_axislayer:h.layers.aaxis,_gridlayer:h.layers.agrid,anchor:\"free\",position:0,_pos:0,_id:\"y\",_length:i,_gridpath:\"M0,0l\"+a+\",-\"+i/2,automargin:!1});u(T,h.graphDiv._fullLayout),T.setScale();var S=h.baxis=f({},t.baxis,{visible:!0,range:[b-_-M,w],side:\"bottom\",_counterangle:30,domain:h.xaxis.domain,_axislayer:h.layers.baxis,_gridlayer:h.layers.bgrid,_counteraxis:h.aaxis,anchor:\"free\",position:0,_pos:0,_id:\"x\",_length:i,_gridpath:\"M0,0l-\"+i/2+\",-\"+a,automargin:!1});u(S,h.graphDiv._fullLayout),S.setScale(),T._counteraxis=S;var E=h.caxis=f({},t.caxis,{visible:!0,range:[b-_-w,M],side:\"right\",_counterangle:30,tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*k],_axislayer:h.layers.caxis,_gridlayer:h.layers.cgrid,_counteraxis:h.baxis,anchor:\"free\",position:0,_pos:0,_id:\"y\",_length:i,_gridpath:\"M0,0l-\"+a+\",\"+i/2,automargin:!1});u(E,h.graphDiv._fullLayout),E.setScale();var C=\"M\"+r+\",\"+(n+a)+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";h.clipDef.select(\"path\").attr(\"d\",C),h.layers.plotbg.select(\"path\").attr(\"d\",C);var L=\"M0,\"+a+\"h\"+i+\"l-\"+i/2+\",-\"+a+\"Z\";h.clipDefRelative.select(\"path\").attr(\"d\",L);var z=\"translate(\"+r+\",\"+n+\")\";h.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",z),h.clipDefRelative.select(\"path\").attr(\"transform\",null);var P=\"translate(\"+(r-S._offset)+\",\"+(n+a)+\")\";h.layers.baxis.attr(\"transform\",P),h.layers.bgrid.attr(\"transform\",P);var O=\"translate(\"+(r+i/2)+\",\"+n+\")rotate(30)translate(0,\"+-T._offset+\")\";h.layers.aaxis.attr(\"transform\",O),h.layers.agrid.attr(\"transform\",O);var I=\"translate(\"+(r+i/2)+\",\"+n+\")rotate(-30)translate(0,\"+-E._offset+\")\";h.layers.caxis.attr(\"transform\",I),h.layers.cgrid.attr(\"transform\",I),h.drawAxes(!0),h.plotContainer.selectAll(\".crisp\").classed(\"crisp\",!1),h.layers.aline.select(\"path\").attr(\"d\",T.showline?\"M\"+r+\",\"+(n+a)+\"l\"+i/2+\",-\"+a:\"M0,0\").call(l.stroke,T.linecolor||\"#000\").style(\"stroke-width\",(T.linewidth||0)+\"px\"),h.layers.bline.select(\"path\").attr(\"d\",S.showline?\"M\"+r+\",\"+(n+a)+\"h\"+i:\"M0,0\").call(l.stroke,S.linecolor||\"#000\").style(\"stroke-width\",(S.linewidth||0)+\"px\"),h.layers.cline.select(\"path\").attr(\"d\",E.showline?\"M\"+(r+i/2)+\",\"+n+\"l\"+i/2+\",\"+a:\"M0,0\").call(l.stroke,E.linecolor||\"#000\").style(\"stroke-width\",(E.linewidth||0)+\"px\"),h.graphDiv._context.staticPlot||h.initInteractions(),c.setClipUrl(h.layers.frontplot,h._hasClipOnAxisFalse?null:h.clipId)},w.drawAxes=function(t){var e,r=this.graphDiv,n=this.id.substr(7)+\"title\",i=this.layers,a=this.aaxis,o=this.baxis,l=this.caxis;if(e=M(a),this.aTickLayout!==e&&(i.aaxis.selectAll(\".ytick\").remove(),this.aTickLayout=e),e=M(o),this.bTickLayout!==e&&(i.baxis.selectAll(\".xtick\").remove(),this.bTickLayout=e),e=M(l),this.cTickLayout!==e&&(i.caxis.selectAll(\".ytick\").remove(),this.cTickLayout=e),p.doTicksSingle(r,a,!0),p.doTicksSingle(r,o,!0),p.doTicksSingle(r,l,!0),t){var c=Math.max(a.showticklabels?a.tickfont.size/2:0,(l.showticklabels?.75*l.tickfont.size:0)+(\"outside\"===l.ticks?.87*l.ticklen:0));this.layers[\"a-title\"]=m.draw(r,\"a\"+n,{propContainer:a,propName:this.id+\".aaxis.title\",placeholder:s(r,\"Click to enter Component A title\"),attributes:{x:this.x0+this.w/2,y:this.y0-a.titlefont.size/3-c,\"text-anchor\":\"middle\"}});var u=(o.showticklabels?o.tickfont.size:0)+(\"outside\"===o.ticks?o.ticklen:0)+3;this.layers[\"b-title\"]=m.draw(r,\"b\"+n,{propContainer:o,propName:this.id+\".baxis.title\",placeholder:s(r,\"Click to enter Component B title\"),attributes:{x:this.x0-u,y:this.y0+this.h+.83*o.titlefont.size+u,\"text-anchor\":\"middle\"}}),this.layers[\"c-title\"]=m.draw(r,\"c\"+n,{propContainer:l,propName:this.id+\".caxis.title\",placeholder:s(r,\"Click to enter Component C title\"),attributes:{x:this.x0+this.w+u,y:this.y0+this.h+.83*l.titlefont.size+u,\"text-anchor\":\"middle\"}})}};var A=b.MINZOOM/2+.87,T=\"m-0.87,.5h\"+A+\"v3h-\"+(A+5.2)+\"l\"+(A/2+2.6)+\",-\"+(.87*A+4.5)+\"l2.6,1.5l-\"+A/2+\",\"+.87*A+\"Z\",S=\"m0.87,.5h-\"+A+\"v3h\"+(A+5.2)+\"l-\"+(A/2+2.6)+\",-\"+(.87*A+4.5)+\"l-2.6,1.5l\"+A/2+\",\"+.87*A+\"Z\",E=\"m0,1l\"+A/2+\",\"+.87*A+\"l2.6,-1.5l-\"+(A/2+2.6)+\",-\"+(.87*A+4.5)+\"l-\"+(A/2+2.6)+\",\"+(.87*A+4.5)+\"l2.6,1.5l\"+A/2+\",-\"+.87*A+\"Z\",C=\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\",L=!0;function z(t){n.select(t).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}w.initInteractions=function(){var t,e,r,n,u,f,h,p,m,_,w=this,M=w.layers.plotbg.select(\"path\").node(),A=w.graphDiv,P=A._fullLayout._zoomlayer,O={element:M,gd:A,plotinfo:{id:w.id,xaxis:w.xaxis,yaxis:w.yaxis},subplot:w.id,prepFn:function(a,o,s){O.xaxes=[w.xaxis],O.yaxes=[w.yaxis];var c=A._fullLayout.dragmode;O.minDrag=\"lasso\"===c?1:void 0,\"zoom\"===c?(O.moveFn=F,O.clickFn=I,O.doneFn=N,function(a,o,s){var c=M.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,n=w.aaxis.range[1]-r.a,f=i(w.graphDiv._fullLayout[w.id].bgcolor).getLuminance(),h=\"M0,\"+w.h+\"L\"+w.w/2+\", 0L\"+w.w+\",\"+w.h+\"Z\",p=!1,m=P.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",\"translate(\"+w.x0+\", \"+w.y0+\")\").style({fill:f>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",h),_=P.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",\"translate(\"+w.x0+\", \"+w.y0+\")\").style({fill:l.background,stroke:l.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),x(P)}(0,o,s)):\"pan\"===c?(O.moveFn=j,O.clickFn=I,O.doneFn=V,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,x(P)):\"select\"!==c&&\"lasso\"!==c||v(a,o,s,O,c)}};function I(t,e){var r=A._fullLayout.clickmode;if(z(A),2===t){var n={};n[w.id+\".aaxis.min\"]=0,n[w.id+\".baxis.min\"]=0,n[w.id+\".caxis.min\"]=0,A.emit(\"plotly_doubleclick\",null),a.call(\"relayout\",A,n)}r.indexOf(\"select\")>-1&&1===t&&y(e,A,[w.xaxis],[w.yaxis],w.id,O),r.indexOf(\"event\")>-1&&g.click(A,e,w.id)}function D(t,e){return 1-e/w.h}function R(t,e){return 1-(t+(w.h-e)/Math.sqrt(3))/w.w}function B(t,e){return(t-(w.h-e)/Math.sqrt(3))/w.w}function F(i,a){var o=t+i,s=e+a,l=Math.max(0,Math.min(1,D(0,e),D(0,s))),c=Math.max(0,Math.min(1,R(t,e),R(o,s))),d=Math.max(0,Math.min(1,B(t,e),B(o,s))),g=(l/2+d)*w.w,v=(1-l/2-c)*w.w,y=(g+v)/2,x=v-g,M=(1-l)*w.h,A=M-x/k;x<b.MINZOOM?(u=r,m.attr(\"d\",h),_.attr(\"d\",\"M0,0Z\")):(u={a:r.a+l*n,b:r.b+c*n,c:r.c+d*n},m.attr(\"d\",h+\"M\"+g+\",\"+M+\"H\"+v+\"L\"+y+\",\"+A+\"L\"+g+\",\"+M+\"Z\"),_.attr(\"d\",\"M\"+t+\",\"+e+C+\"M\"+g+\",\"+M+T+\"M\"+v+\",\"+M+S+\"M\"+y+\",\"+A+E)),p||(m.transition().style(\"fill\",f>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),_.transition().style(\"opacity\",1).duration(200),p=!0)}function N(){if(z(A),u!==r){var t={};t[w.id+\".aaxis.min\"]=u.a,t[w.id+\".baxis.min\"]=u.b,t[w.id+\".caxis.min\"]=u.c,a.call(\"relayout\",A,t),L&&A.data&&A._context.showTips&&(o.notifier(s(A,\"Double-click to zoom back out\"),\"long\"),L=!1)}}function j(t,e){var n=t/w.xaxis._m,i=e/w.yaxis._m,a=[(u={a:r.a-i,b:r.b+(n+i)/2,c:r.c-(n-i)/2}).a,u.b,u.c].sort(),o=a.indexOf(u.a),s=a.indexOf(u.b),l=a.indexOf(u.c);a[0]<0&&(a[1]+a[0]/2<0?(a[2]+=a[0]+a[1],a[0]=a[1]=0):(a[2]+=a[0]/2,a[1]+=a[0]/2,a[0]=0),u={a:a[o],b:a[s],c:a[l]},e=(r.a-u.a)*w.yaxis._m,t=(r.c-u.c-r.b+u.b)*w.xaxis._m);var f=\"translate(\"+(w.x0+t)+\",\"+(w.y0+e)+\")\";w.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",f);var h=\"translate(\"+-t+\",\"+-e+\")\";w.clipDefRelative.select(\"path\").attr(\"transform\",h),w.aaxis.range=[u.a,w.sum-u.b-u.c],w.baxis.range=[w.sum-u.a-u.c,u.b],w.caxis.range=[w.sum-u.a-u.b,u.c],w.drawAxes(!1),w.plotContainer.selectAll(\".crisp\").classed(\"crisp\",!1),w._hasClipOnAxisFalse&&w.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(c.hideOutsideRangePoints,w)}function V(){var t={};t[w.id+\".aaxis.min\"]=u.a,t[w.id+\".baxis.min\"]=u.b,t[w.id+\".caxis.min\"]=u.c,a.call(\"relayout\",A,t)}M.onmousemove=function(t){g.hover(A,t,w.id),A._fullLayout._lasthover=M,A._fullLayout._hoversubplot=w.id},M.onmouseout=function(t){A._dragging||d.unhover(A,t)},d.init(O)}},{\"../../components/color\":567,\"../../components/dragelement\":589,\"../../components/drawing\":592,\"../../components/fx\":609,\"../../components/titles\":658,\"../../lib\":693,\"../../lib/extend\":682,\"../../registry\":825,\"../cartesian/axes\":742,\"../cartesian/constants\":747,\"../cartesian/select\":759,\"../cartesian/set_convert\":760,\"../plots\":805,d3:147,tinycolor2:511}],825:[function(t,e,r){\"use strict\";var n=t(\"./lib/loggers\"),i=t(\"./lib/noop\"),a=t(\"./lib/push_unique\"),o=t(\"./lib/is_plain_object\"),s=t(\"./lib/extend\"),l=t(\"./plots/attributes\"),c=t(\"./plots/layout_attributes\"),u=s.extendFlat,f=s.extendDeepAll;function h(t){var e=t.name,i=t.categories,a=t.meta;if(r.modules[e])n.log(\"Type \"+e+\" already registered\");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log(\"Plot type \"+e+\" already registered.\");for(var i in m(t),r.subplotsRegistry[e]=t,r.componentsRegistry)x(i,t.name)}(t.basePlotModule);for(var o={},s=0;s<i.length;s++)o[i[s]]=!0,r.allCategories[i[s]]=!0;for(var l in r.modules[e]={_module:t,categories:o},a&&Object.keys(a).length&&(r.modules[e].meta=a),r.allTypes.push(e),r.componentsRegistry)v(l,e);t.layoutAttributes&&u(r.traceLayoutAttributes,t.layoutAttributes)}}function p(t){if(\"string\"!=typeof t.name)throw new Error(\"Component module *name* must be a string.\");var e=t.name;for(var n in r.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&a(r.layoutArrayContainers,e),m(t)),r.modules)v(e,n);for(var i in r.subplotsRegistry)x(e,i);for(var o in r.transformsRegistry)y(e,o);t.schema&&t.schema.layout&&f(c,t.schema.layout)}function d(t){if(\"string\"!=typeof t.name)throw new Error(\"Transform module *name* must be a string.\");var e=\"Transform module \"+t.name,i=\"function\"==typeof t.transform,a=\"function\"==typeof t.calcTransform;if(!i&&!a)throw new Error(e+\" is missing a *transform* or *calcTransform* method.\");for(var s in i&&a&&n.log([e+\" has both a *transform* and *calcTransform* methods.\",\"Please note that all *transform* methods are executed\",\"before all *calcTransform* methods.\"].join(\" \")),o(t.attributes)||n.log(e+\" registered without an *attributes* object.\"),\"function\"!=typeof t.supplyDefaults&&n.log(e+\" registered without a *supplyDefaults* method.\"),r.transformsRegistry[t.name]=t,r.componentsRegistry)y(s,t.name)}function g(t){var e=t.name,n=e.split(\"-\")[0],i=t.dictionary,a=t.format,o=i&&Object.keys(i).length,s=a&&Object.keys(a).length,l=r.localeRegistry,c=l[e];if(c||(l[e]=c={}),n!==e){var u=l[n];u||(l[n]=u={}),o&&u.dictionary===c.dictionary&&(u.dictionary=i),s&&u.format===c.format&&(u.format=a)}o&&(c.dictionary=i),s&&(c.format=a)}function m(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)a(r.layoutArrayRegexes,e[n])}}function v(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.traces){var i=n.traces[e];i&&f(r.modules[e]._module.attributes,i)}}function y(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.transforms){var i=n.transforms[e];i&&f(r.transformsRegistry[e].attributes,i)}}function x(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.subplots){var i=r.subplotsRegistry[e],a=i.layoutAttributes,o=\"subplot\"===i.attr?i.name:i.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];a&&s&&f(a,s)}}function b(t){return\"object\"==typeof t&&(t=t.type),t}r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.apiMethodRegistry={},r.register=function(t){if(!t)throw new Error(\"No argument passed to Plotly.register.\");t&&!Array.isArray(t)&&(t=[t]);for(var e=0;e<t.length;e++){var n=t[e];if(!n)throw new Error(\"Invalid module was attempted to be registered!\");switch(n.moduleType){case\"trace\":h(n);break;case\"transform\":d(n);break;case\"component\":p(n);break;case\"locale\":g(n);break;case\"apiMethod\":var i=n.name;r.apiMethodRegistry[i]=n.fn;break;default:throw new Error(\"Invalid module was attempted to be registered!\")}}},r.getModule=function(t){var e=r.modules[b(t)];return!!e&&e._module},r.traceIs=function(t,e){if(\"various\"===(t=b(t)))return!1;var i=r.modules[t];return i||(t&&\"area\"!==t&&n.log(\"Unrecognized trace type \"+t+\".\"),i=r.modules[l.type.dflt]),!!i.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},r.getComponentMethod=function(t,e){var n=r.componentsRegistry[t];return n&&n[e]||i},r.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return r.apiMethodRegistry[t].apply(null,e)}},{\"./lib/extend\":682,\"./lib/is_plain_object\":695,\"./lib/loggers\":698,\"./lib/noop\":703,\"./lib/push_unique\":708,\"./plots/attributes\":739,\"./plots/layout_attributes\":796}],826:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=n.extendFlat,a=n.extendDeep;function o(t){var e;switch(t){case\"themes__thumb\":e={autosize:!0,width:150,height:150,title:\"\",showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\"thumbnail\":e={title:\"\",hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\"\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}e.exports=function(t,e){var r;t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var n,s=t.data,l=t.layout,c=a([],s),u=a({},l,o(e.tileClass)),f=t._context||{};if(e.width&&(u.width=e.width),e.height&&(u.height=e.height),\"thumbnail\"===e.tileClass||\"themes__thumb\"===e.tileClass){u.annotations=[];var h=Object.keys(u);for(r=0;r<h.length;r++)n=h[r],[\"xaxis\",\"yaxis\",\"zaxis\"].indexOf(n.slice(0,5))>-1&&(u[h[r]].title=\"\");for(r=0;r<c.length;r++){var p=c[r];p.showscale=!1,p.marker&&(p.marker.showscale=!1),\"pie\"===p.type&&(p.textposition=\"none\")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)u.annotations.push(e.annotations[r]);var d=Object.keys(u).filter(function(t){return t.match(/^scene\\d*$/)});if(d.length){var g={};for(\"thumbnail\"===e.tileClass&&(g={title:\"\",showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<d.length;r++){var m=u[d[r]];m.xaxis||(m.xaxis={}),m.yaxis||(m.yaxis={}),m.zaxis||(m.zaxis={}),i(m.xaxis,g),i(m.yaxis,g),i(m.zaxis,g),m._scene=null}}var v=document.createElement(\"div\");e.tileClass&&(v.className=e.tileClass);var y={gd:v,td:v,layout:u,data:c,config:{staticPlot:void 0===e.staticPlot||e.staticPlot,plotGlPixelRatio:void 0===e.plotGlPixelRatio?2:e.plotGlPixelRatio,displaylogo:e.displaylogo||!1,showLink:e.showLink||!1,showTips:e.showTips||!1,mapboxAccessToken:f.mapboxAccessToken}};return\"transparent\"!==e.setBackground&&(y.config.setBackground=e.setBackground||\"opaque\"),y.gd.defaultLayout=o(e.tileClass),y}},{\"../lib\":693}],827:[function(t,e,r){\"use strict\";var n=t(\"../plot_api/to_image\"),i=t(\"../lib\"),a=t(\"./filesaver\");e.exports=function(t,e){var r;return i.isPlainObject(t)||(r=i.getGraphDiv(t)),(e=e||{}).format=e.format||\"png\",new Promise(function(o,s){r&&r._snapshotInProgress&&s(new Error(\"Snapshotting already in progress.\")),i.isIE()&&\"svg\"!==e.format&&s(new Error(\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\")),r&&(r._snapshotInProgress=!0);var l=n(t,e),c=e.filename||t.fn||\"newplot\";c+=\".\"+e.format,l.then(function(t){return r&&(r._snapshotInProgress=!1),a(t,c)}).then(function(t){o(t)}).catch(function(t){r&&(r._snapshotInProgress=!1),s(t)})})}},{\"../lib\":693,\"../plot_api/to_image\":735,\"./filesaver\":828}],828:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r=document.createElement(\"a\"),n=\"download\"in r,i=/Version\\/[\\d\\.]+.*Safari/.test(navigator.userAgent);return new Promise(function(a,o){if(\"undefined\"!=typeof navigator&&/MSIE [1-9]\\./.test(navigator.userAgent)&&o(new Error(\"IE < 10 unsupported\")),i&&(document.location.href=\"data:application/octet-stream\"+t.slice(t.search(/[,;]/)),a(e)),e||(e=\"download\"),n&&(r.href=t,r.download=e,document.body.appendChild(r),r.click(),document.body.removeChild(r),a(e)),\"undefined\"!=typeof navigator&&navigator.msSaveBlob){var s=t.split(/^data:image\\/svg\\+xml,/)[1],l=decodeURIComponent(s);navigator.msSaveBlob(new Blob([l]),e),a(e)}o(new Error(\"download error\"))})}},{}],829:[function(t,e,r){\"use strict\";r.getDelay=function(t){return t._has&&(t._has(\"gl3d\")||t._has(\"gl2d\")||t._has(\"mapbox\"))?500:0},r.getRedrawFunc=function(t){var e=t._fullLayout||{};if(!(!(e._has&&e._has(\"polar\"))&&t.data&&t.data[0]&&t.data[0].r))return function(){(t.calcdata||[]).forEach(function(t){t[0]&&t[0].t&&t[0].t.cb&&t[0].t.cb()})}}},{}],830:[function(t,e,r){\"use strict\";var n=t(\"./helpers\"),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t(\"./cloneplot\"),toSVG:t(\"./tosvg\"),svgToImg:t(\"./svgtoimg\"),toImage:t(\"./toimage\"),downloadImage:t(\"./download\")};e.exports=i},{\"./cloneplot\":826,\"./download\":827,\"./helpers\":829,\"./svgtoimg\":831,\"./toimage\":832,\"./tosvg\":833}],831:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"events\").EventEmitter;e.exports=function(t){var e=t.emitter||new i,r=new Promise(function(i,a){var o=window.Image,s=t.svg,l=t.format||\"png\";if(n.isIE()&&\"svg\"!==l){var c=new Error(\"Sorry IE does not support downloading from canvas. Try {format:'svg'} instead.\");return a(c),t.promise?r:e.emit(\"error\",c)}var u=t.canvas,f=t.scale||1,h=t.width||300,p=t.height||150,d=f*h,g=f*p,m=u.getContext(\"2d\"),v=new o,y=\"data:image/svg+xml,\"+encodeURIComponent(s);u.width=d,u.height=g,v.onload=function(){var r;switch(\"svg\"!==l&&m.drawImage(v,0,0,d,g),l){case\"jpeg\":r=u.toDataURL(\"image/jpeg\");break;case\"png\":r=u.toDataURL(\"image/png\");break;case\"webp\":r=u.toDataURL(\"image/webp\");break;case\"svg\":r=y;break;default:var n=\"Image format is not jpeg, png, svg or webp.\";if(a(new Error(n)),!t.promise)return e.emit(\"error\",n)}i(r),t.promise||e.emit(\"success\",r)},v.onerror=function(r){if(a(r),!t.promise)return e.emit(\"error\",r)},v.src=y});return t.promise?r:e}},{\"../lib\":693,events:91}],832:[function(t,e,r){\"use strict\";var n=t(\"events\").EventEmitter,i=t(\"../registry\"),a=t(\"../lib\"),o=t(\"./helpers\"),s=t(\"./cloneplot\"),l=t(\"./tosvg\"),c=t(\"./svgtoimg\");e.exports=function(t,e){var r=new n,u=s(t,{format:\"png\"}),f=u.gd;f.style.position=\"absolute\",f.style.left=\"-5000px\",document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.call(\"plot\",f,u.data,u.layout,u.config).then(h).then(function(){var t=o.getDelay(f._fullLayout);setTimeout(function(){var t=l(f),n=document.createElement(\"canvas\");n.id=a.randstr(),(r=c({format:e.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){f&&document.body.removeChild(f)}},t)}).catch(function(t){r.emit(\"error\",t)}),r}},{\"../lib\":693,\"../registry\":825,\"./cloneplot\":826,\"./helpers\":829,\"./svgtoimg\":831,\"./tosvg\":833,events:91}],833:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../lib\"),a=t(\"../components/drawing\"),o=t(\"../components/color\"),s=t(\"../constants/xmlns_namespaces\"),l=/\"/g,c=new RegExp('(\"TOBESTRIPPED)|(TOBESTRIPPED\")',\"g\");e.exports=function(t,e,r){var u,f=t._fullLayout,h=f._paper,p=f._toppaper,d=f.width,g=f.height;h.insert(\"rect\",\":first-child\").call(a.setRect,0,0,d,g).call(o.fill,f.paper_bgcolor);var m=f._basePlotModules||[];for(u=0;u<m.length;u++){var v=m[u];v.toSVG&&v.toSVG(t)}if(p){var y=p.node().childNodes,x=Array.prototype.slice.call(y);for(u=0;u<x.length;u++){var b=x[u];b.childNodes.length&&h.node().appendChild(b)}}f._draggers&&f._draggers.remove(),h.node().style.background=\"\",h.selectAll(\"text\").attr({\"data-unformatted\":null,\"data-math\":null}).each(function(){var t=n.select(this);if(\"hidden\"!==this.style.visibility&&\"none\"!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&&-1!==e.indexOf('\"')&&t.style(\"font-family\",e.replace(l,\"TOBESTRIPPED\"))}else t.remove()}),h.selectAll(\".point, .scatterpts, .legendfill>path, .legendlines>path, .cbfill\").each(function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf(\"url(\")&&t.style(\"fill\",e.replace(l,\"TOBESTRIPPED\"));var r=this.style.stroke;r&&-1!==r.indexOf(\"url(\")&&t.style(\"stroke\",r.replace(l,\"TOBESTRIPPED\"))}),\"pdf\"!==e&&\"eps\"!==e||h.selectAll(\"#MathJax_SVG_glyphs path\").attr(\"stroke-width\",0),h.node().setAttributeNS(s.xmlns,\"xmlns\",s.svg),h.node().setAttributeNS(s.xmlns,\"xmlns:xlink\",s.xlink),\"svg\"===e&&r&&(h.attr(\"width\",r*d),h.attr(\"height\",r*g),h.attr(\"viewBox\",\"0 0 \"+d+\" \"+g));var _=(new window.XMLSerializer).serializeToString(h.node());return _=function(t){var e=n.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),r=t.replace(/(&[^;]*;)/gi,function(t){return\"&lt;\"===t?\"&#60;\":\"&rt;\"===t?\"&#62;\":-1!==t.indexOf(\"<\")||-1!==t.indexOf(\">\")?\"\":e.html(t).text()});return e.remove(),r}(_),_=(_=_.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&amp;\")).replace(c,\"'\"),i.isIE()&&(_=(_=(_=_.replace(/\"/gi,\"'\")).replace(/(\\('#)([^']*)('\\))/gi,'(\"#$2\")')).replace(/(\\\\')/gi,'\"')),_}},{\"../components/color\":567,\"../components/drawing\":592,\"../constants/xmlns_namespaces\":671,\"../lib\":693,d3:147}],834:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").mergeArray;e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n(e.text,t,\"tx\"),n(e.hovertext,t,\"htx\");var i=e.marker;if(i){n(i.opacity,t,\"mo\"),n(i.color,t,\"mc\");var a=i.line;a&&(n(a.color,t,\"mlc\"),n(a.width,t,\"mlw\"))}}},{\"../../lib\":693}],835:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../plots/font_attributes\"),s=t(\"../../lib/extend\").extendFlat,l=o({editType:\"calc\",arrayOk:!0}),c=s({},n.marker.line.width,{dflt:0}),u=s({width:c,editType:\"calc\"},i(\"marker.line\")),f=s({line:u,editType:\"calc\"},i(\"marker\"),{colorbar:a,opacity:{valType:\"number\",arrayOk:!0,dflt:1,min:0,max:1,editType:\"style\"}});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,hovertext:n.hovertext,textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"none\",arrayOk:!0,editType:\"calc\"},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),constraintext:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"both\",\"none\"],dflt:\"both\",editType:\"calc\"},cliponaxis:s({},n.cliponaxis,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},base:{valType:\"any\",dflt:null,arrayOk:!0,editType:\"calc\"},offset:{valType:\"number\",dflt:null,arrayOk:!0,editType:\"calc\"},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0,editType:\"calc\"},marker:f,selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:\"style\"},textfont:n.selected.textfont,editType:\"style\"},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:\"style\"},textfont:n.unselected.textfont,editType:\"style\"},r:n.r,t:n.t,_deprecated:{bardir:{valType:\"enumerated\",editType:\"calc\",values:[\"v\",\"h\"]}}}},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plots/font_attributes\":768,\"../scatter/attributes\":1032}],836:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/calc\"),o=t(\"./arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\");e.exports=function(t,e){var r,l,c=n.getFromId(t,e.xaxis||\"x\"),u=n.getFromId(t,e.yaxis||\"y\");\"h\"===e.orientation?(r=c.makeCalcdata(e,\"x\"),l=u.makeCalcdata(e,\"y\")):(r=u.makeCalcdata(e,\"y\"),l=c.makeCalcdata(e,\"x\"));for(var f=Math.min(l.length,r.length),h=new Array(f),p=0;p<f;p++)h[p]={p:l[p],s:r[p]},e.ids&&(h[p].id=String(e.ids[p]));return i(e,\"marker\")&&a(e,e.marker.color,\"marker\",\"c\"),i(e,\"marker.line\")&&a(e,e.marker.line.color,\"marker.line\",\"c\"),o(h,e),s(h,e),h}},{\"../../components/colorscale/calc\":575,\"../../components/colorscale/has_colorscale\":581,\"../../plots/cartesian/axes\":742,\"../scatter/calc_selection\":1034,\"./arrays_to_calcdata\":834}],837:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\").isArrayOrTypedArray,a=t(\"../../constants/numerical\").BADNUM,o=t(\"../../registry\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"./sieve.js\");function c(t,e,r,o){if(o.length){var c,_,w,k,M=t._fullLayout.barmode,A=\"overlay\"===M,T=\"group\"===M;if(function(t,e,r,a){var o,s;for(o=0;o<a.length;o++){var l,c=a[o],u=c[0].trace,f=u.base,h=\"h\"===u.orientation?u.xcalendar:u.ycalendar;if(i(f)){for(s=0;s<Math.min(f.length,c.length);s++)l=r.d2c(f[s],0,h),n(l)?(c[s].b=+l,c[s].hasB=1):c[s].b=0;for(;s<c.length;s++)c[s].b=0}else{l=r.d2c(f,0,h);var p=n(l);for(l=p?l:0,s=0;s<c.length;s++)c[s].b=l,p&&(c[s].hasB=1)}}}(0,0,r,o),A)u(t,e,r,o);else if(T){for(c=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.offset?_.push(k):c.push(k);_.length&&function(t,e,r,n){var i=t._fullLayout.barnorm,a=new l(n,!1,!i);(function(t,e,r){var n,i,a,o,s=t._fullLayout,l=s.bargap,c=s.bargroupgap||0,u=r.positions,f=r.distinctPositions,g=r.minDiff,m=r.traces,v=u.length!==f.length,y=m.length,x=g*(1-l),b=v?x/y:x,_=b*(1-c);for(n=0;n<y;n++){i=m[n],a=i[0];var w=v?((2*n+1-y)*b-_)/2:-_/2;(o=a.t).barwidth=_,o.poffset=w,o.bargroupwidth=x,o.bardelta=g}r.binWidth=m[0][0].t.barwidth/100,h(r),p(t,e,r),d(t,e,r,v)})(t,e,a),i?(v(t,r,a),y(t,r,a)):m(t,r,a)}(t,e,r,_),c.length&&u(t,e,r,c)}else{for(c=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.base?_.push(k):c.push(k);_.length&&function(t,e,r,i){var o=t._fullLayout.barmode,c=\"stack\"===o,u=\"relative\"===o,h=t._fullLayout.barnorm,p=new l(i,u,!(h||c||u));f(t,e,p),function(t,e,r){var i,o,l,c,u=t._fullLayout.barnorm,f=x(e),h=r.traces,p=[null,null];for(i=0;i<h.length;i++)for(o=h[i],l=0;l<o.length;l++)if((c=o[l]).s!==a){var d=r.put(c.p,c.b+c.s),m=d+c.b+c.s;c.b=d,c[f]=m,u||(n(e.c2l(m))&&g(p,m),c.hasB&&n(e.c2l(d))&&g(p,d))}if(!u){var v=s.findExtremes(e,p,{tozero:!0,padded:!0});b(h,e,v)}}(t,r,p);for(var d=0;d<i.length;d++)for(var m=i[d],v=0;v<m.length;v++){var _=m[v];if(_.s!==a){var w=_.b+_.s===p.get(_.p,_.s);w&&(_._outmost=!0)}}h&&y(t,r,p)}(t,e,r,_),c.length&&u(t,e,r,c)}!function(t,e){var r,i,a,o=e._id.charAt(0),s={},l=1/0,c=-1/0;for(r=0;r<t.length;r++)for(a=t[r],i=0;i<a.length;i++){var u=a[i].p;n(u)&&(l=Math.min(l,u),c=Math.max(c,u))}var f,h,p=1e4/(c-l),d=s.round=function(t){return String(Math.round(p*(t-l)))};for(r=0;r<t.length;r++)for((a=t[r])[0].t.extents=s,f=a[0].t.poffset,h=Array.isArray(f),i=0;i<a.length;i++){var g=a[i],m=g[o]-g.w/2;if(n(m)){var v=g[o]+g.w/2,y=d(g.p);s[y]?s[y]=[Math.min(m,s[y][0]),Math.max(v,s[y][1])]:s[y]=[m,v]}g.p0=g.p+(h?f[i]:f),g.p1=g.p0+g.w,g.s0=g.b,g.s1=g.s0+g.s}}(o,e)}}function u(t,e,r,n){for(var i=t._fullLayout.barnorm,a=!i,o=0;o<n.length;o++){var s=n[o],c=new l([s],!1,a);f(t,e,c),i?(v(t,r,c),y(t,r,c)):m(t,r,c)}}function f(t,e,r){var n,i,a=t._fullLayout,o=a.bargap,s=a.bargroupgap||0,l=r.minDiff,c=r.traces,u=l*(1-o),f=u*(1-s),g=-f/2;for(n=0;n<c.length;n++)(i=c[n][0].t).barwidth=f,i.poffset=g,i.bargroupwidth=u,i.bardelta=l;r.binWidth=c[0][0].t.barwidth/100,h(r),p(t,e,r),d(t,e,r)}function h(t){var e,r,a,o,s,l,c=t.traces;for(e=0;e<c.length;e++){o=(a=(r=c[e])[0]).trace,l=a.t;var u,f=o._offset||o.offset,h=l.poffset;if(i(f)){for(u=f.slice(0,r.length),s=0;s<u.length;s++)n(u[s])||(u[s]=h);for(s=u.length;s<r.length;s++)u.push(h);l.poffset=u}else void 0!==f&&(l.poffset=f);var p=o._width||o.width,d=l.barwidth;if(i(p)){var g=p.slice(0,r.length);for(s=0;s<g.length;s++)n(g[s])||(g[s]=d);for(s=g.length;s<r.length;s++)g.push(d);if(l.barwidth=g,void 0===f){for(u=[],s=0;s<r.length;s++)u.push(h+(d-g[s])/2);l.poffset=u}}else void 0!==p&&(l.barwidth=p,void 0===f&&(l.poffset=h+(d-p)/2))}}function p(t,e,r){for(var n=r.traces,i=x(e),a=0;a<n.length;a++)for(var o=n[a],s=o[0].t,l=s.poffset,c=Array.isArray(l),u=s.barwidth,f=Array.isArray(u),h=0;h<o.length;h++){var p=o[h],d=p.w=f?u[h]:u;p[i]=p.p+(c?l[h]:l)+d/2}}function d(t,e,r,n){var i=r.traces,a=r.distinctPositions,o=a[0],l=r.minDiff,c=l/2;s.minDtick(e,l,o,n);for(var u=Math.min.apply(Math,a)-c,f=Math.max.apply(Math,a)+c,h=0;h<i.length;h++){var p=i[h],d=p[0],g=d.trace;if(void 0!==g.width||void 0!==g.offset)for(var m=d.t,v=m.poffset,y=m.barwidth,x=Array.isArray(v),_=Array.isArray(y),w=0;w<p.length;w++){var k=p[w],M=x?v[w]:v,A=_?y[w]:y,T=k.p+M,S=T+A;u=Math.min(u,T),f=Math.max(f,S)}}b(i,e,s.findExtremes(e,[u,f],{padded:!1}))}function g(t,e){n(t[0])?t[0]=Math.min(t[0],e):t[0]=e,n(t[1])?t[1]=Math.max(t[1],e):t[1]=e}function m(t,e,r){for(var i=r.traces,a=x(e),o=[null,null],l=0;l<i.length;l++)for(var c=i[l],u=0;u<c.length;u++){var f=c[u],h=f.b,p=h+f.s;f[a]=p,n(e.c2l(p))&&g(o,p),f.hasB&&n(e.c2l(h))&&g(o,h)}b(i,e,s.findExtremes(e,o,{tozero:!0,padded:!0}))}function v(t,e,r){for(var n=r.traces,i=0;i<n.length;i++)for(var o=n[i],s=0;s<o.length;s++){var l=o[s];l.s!==a&&r.put(l.p,l.b+l.s)}}function y(t,e,r){var i=r.traces,o=x(e),l=\"fraction\"===t._fullLayout.barnorm?1:100,c=l/1e9,u=e.l2c(e.c2l(0)),f=\"stack\"===t._fullLayout.barmode?l:u,h=[u,f],p=!1;function d(t){n(e.c2l(t))&&(t<u-c||t>f+c||!n(u))&&(p=!0,g(h,t))}for(var m=0;m<i.length;m++)for(var v=i[m],y=0;y<v.length;y++){var _=v[y];if(_.s!==a){var w=Math.abs(l/r.get(_.p,_.s));_.b*=w,_.s*=w;var k=_.b,M=k+_.s;_[o]=M,d(M),_.hasB&&d(k)}}var A=s.findExtremes(e,h,{tozero:!0,padded:p});b(i,e,A)}function x(t){return t._id.charAt(0)}function b(t,e,r){for(var n=0;n<t.length;n++)t[n][0].trace._extremes[e._id]=r}e.exports={crossTraceCalc:function(t,e){var r,n=e.xaxis,i=e.yaxis,a=t._fullData,s=t.calcdata,l=[],u=[];for(r=0;r<a.length;r++){var f=a[r];!0===f.visible&&o.traceIs(f,\"bar\")&&f.xaxis===n._id&&f.yaxis===i._id&&(\"h\"===f.orientation?l.push(s[r]):u.push(s[r]))}c(t,n,i,u),c(t,i,n,l)},setGroupPositions:c}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"./sieve.js\":845,\"fast-isnumeric\":213}],838:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../../registry\"),o=t(\"../scatter/xy_defaults\"),s=t(\"../bar/style_defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}var f=n.coerceFont;if(o(t,e,c,u)){u(\"orientation\",e.x&&!e.y?\"h\":\"v\"),u(\"base\"),u(\"offset\"),u(\"width\"),u(\"text\"),u(\"hovertext\");var h=u(\"textposition\"),p=Array.isArray(h)||\"auto\"===h,d=p||\"inside\"===h,g=p||\"outside\"===h;if(d||g){var m=f(u,\"textfont\",c.font);d&&f(u,\"insidetextfont\",m),g&&f(u,\"outsidetextfont\",m),u(\"constraintext\"),u(\"selected.textfont.color\"),u(\"unselected.textfont.color\"),u(\"cliponaxis\")}s(t,e,u,r,c);var v=a.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(t,e,i.defaultLine,{axis:\"y\"}),v(t,e,i.defaultLine,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{\"../../components/color\":567,\"../../lib\":693,\"../../registry\":825,\"../bar/style_defaults\":847,\"../scatter/xy_defaults\":1058,\"./attributes\":835}],839:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../registry\"),a=t(\"../../components/color\"),o=t(\"../scatter/fill_hover_text\");function s(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=e.mlw||t.marker.line.width;return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}e.exports={hoverPoints:function(t,e,r,a){var l,c,u,f,h,p,d,g=t.cd,m=g[0].trace,v=g[0].t,y=\"closest\"===a,x=t.maxHoverDistance,b=t.maxSpikeDistance;function _(t){return t[u]-t.w/2}function w(t){return t[u]+t.w/2}var k=y?_:function(t){return Math.min(_(t),t.p-v.bardelta/2)},M=y?w:function(t){return Math.max(w(t),t.p+v.bardelta/2)};function A(t,e){return n.inbox(t-l,e-l,x+Math.min(1,Math.abs(e-t)/d)-1)}function T(t){return A(k(t),M(t))}function S(t){return n.inbox(t.b-c,t[f]-c,x+(t[f]-c)/(t[f]-t.b)-1)}\"h\"===m.orientation?(l=r,c=e,u=\"y\",f=\"x\",h=S,p=T):(l=e,c=r,u=\"x\",f=\"y\",p=S,h=T);var E=t[u+\"a\"],C=t[f+\"a\"];d=Math.abs(E.r2c(E.range[1])-E.r2c(E.range[0]));var L=n.getDistanceFunction(a,h,p,function(t){return(h(t)+p(t))/2});if(n.getClosest(g,L,t),!1!==t.index){y||(k=function(t){return Math.min(_(t),t.p-v.bargroupwidth/2)},M=function(t){return Math.max(w(t),t.p+v.bargroupwidth/2)});var z=g[t.index],P=m.base?z.b+z.s:z.s;t[f+\"0\"]=t[f+\"1\"]=C.c2p(z[f],!0),t[f+\"LabelVal\"]=P;var O=v.extents[v.extents.round(z.p)];return t[u+\"0\"]=E.c2p(y?k(z):O[0],!0),t[u+\"1\"]=E.c2p(y?M(z):O[1],!0),t[u+\"LabelVal\"]=z.p,t.spikeDistance=(S(z)+function(t){return A(_(t),w(t))}(z))/2+b-x,t[u+\"Spike\"]=E.c2p(z.p,!0),t.color=s(m,z),o(z,m,t),i.getComponentMethod(\"errorbars\",\"hoverInfo\")(z,m,t),[t]}},getTraceColor:s}},{\"../../components/color\":567,\"../../components/fx\":609,\"../../registry\":825,\"../scatter/fill_hover_text\":1040}],840:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.layoutAttributes=t(\"./layout_attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"./layout_defaults\"),n.calc=t(\"./calc\"),n.crossTraceCalc=t(\"./cross_trace_calc\").crossTraceCalc,n.colorbar=t(\"../scatter/marker_colorbar\"),n.arraysToCalcdata=t(\"./arrays_to_calcdata\"),n.plot=t(\"./plot\"),n.style=t(\"./style\").style,n.styleOnSelect=t(\"./style\").styleOnSelect,n.hoverPoints=t(\"./hover\").hoverPoints,n.selectPoints=t(\"./select\"),n.moduleType=\"trace\",n.name=\"bar\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"../scatter/marker_colorbar\":1050,\"./arrays_to_calcdata\":834,\"./attributes\":835,\"./calc\":836,\"./cross_trace_calc\":837,\"./defaults\":838,\"./hover\":839,\"./layout_attributes\":841,\"./layout_defaults\":842,\"./plot\":843,\"./select\":844,\"./style\":846}],841:[function(t,e,r){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\",\"relative\"],dflt:\"group\",editType:\"calc\"},barnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},bargap:{valType:\"number\",min:0,max:1,editType:\"calc\"},bargroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}},{}],842:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\"),o=t(\"./layout_attributes\");e.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,f={},h=0;h<r.length;h++){var p=r[h];if(n.traceIs(p,\"bar\")){if(l=!0,\"overlay\"!==t.barmode&&\"stack\"!==t.barmode){var d=p.xaxis+p.yaxis;f[d]&&(u=!0),f[d]=!0}if(p.visible&&\"histogram\"===p.type)\"category\"!==i.getFromId({_fullLayout:e},p[\"v\"===p.orientation?\"xaxis\":\"yaxis\"]).type&&(c=!0)}}l&&(\"overlay\"!==s(\"barmode\")&&s(\"barnorm\"),s(\"bargap\",c&&!u?0:.2),s(\"bargroupgap\"))}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"./layout_attributes\":841}],843:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"tinycolor2\"),o=t(\"../../lib\"),s=t(\"../../lib/svg_text_utils\"),l=t(\"../../components/color\"),c=t(\"../../components/drawing\"),u=t(\"../../registry\"),f=t(\"./attributes\"),h=f.text,p=f.textposition,d=f.textfont,g=f.insidetextfont,m=f.outsidetextfont,v=3;function y(t,e,r,n,i,a){var o;return i<1?o=\"scale(\"+i+\") \":(i=1,o=\"\"),\"translate(\"+(r-i*t)+\" \"+(n-i*e)+\")\"+o+(a?\"rotate(\"+a+\" \"+t+\" \"+e+\") \":\"\")}function x(t,e,r,n){var o=b((e=e||{}).family,r),s=b(e.size,r),l=b(e.color,r);return{family:_(t.family,o,n.family),size:function(t,e,r){if(i(e)){e=+e;var n=t.min,a=t.max,o=void 0!==n&&e<n||void 0!==a&&e>a;if(!o)return e}return void 0!==r?r:t.dflt}(t.size,s,n.size),color:function(t,e,r){return a(e).isValid()?e:void 0!==r?r:t.dflt}(t.color,l,n.color)}}function b(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r}function _(t,e,r){if(\"string\"==typeof e){if(e||!t.noBlank)return e}else if(\"number\"==typeof e&&!t.strict)return String(e);return void 0!==r?r:t.dflt}e.exports=function(t,e,r,a){var f=e.xaxis,w=e.yaxis,k=t._fullLayout,M=o.makeTraceGroups(a,r,\"trace bars\").each(function(r){var a=n.select(this),u=r[0],M=u.trace;e.isRangePlot||(u.node3=a);var A=o.ensureSingle(a,\"g\",\"points\").selectAll(\"g.point\").data(o.identity);A.enter().append(\"g\").classed(\"point\",!0),A.exit().remove(),A.each(function(a,u){var A,T,S,E,C=n.select(this);if(\"h\"===M.orientation?(S=w.c2p(a.p0,!0),E=w.c2p(a.p1,!0),A=f.c2p(a.s0,!0),T=f.c2p(a.s1,!0),a.ct=[T,(S+E)/2]):(A=f.c2p(a.p0,!0),T=f.c2p(a.p1,!0),S=w.c2p(a.s0,!0),E=w.c2p(a.s1,!0),a.ct=[(A+T)/2,E]),i(A)&&i(T)&&i(S)&&i(E)&&A!==T&&S!==E){var L=(a.mlw+1||M.marker.line.width+1||(a.trace?a.trace.marker.line.width:0)+1)-1,z=n.round(L/2%1,2);if(!t._context.staticPlot){var P=l.opacity(a.mc||M.marker.color)<1||L>.01?O:function(t,e){return Math.abs(t-e)>=2?O(t):t>e?Math.ceil(t):Math.floor(t)};A=P(A,T),T=P(T,A),S=P(S,E),E=P(E,S)}o.ensureSingle(C,\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"d\",\"M\"+A+\",\"+S+\"V\"+E+\"H\"+T+\"V\"+S+\"Z\").call(c.setClipUrl,e.layerClipId),function(t,e,r,n,i,a,l,u){var f;function w(e,r,n){var i=o.ensureSingle(e,\"text\").text(r).attr({class:\"bartext bartext-\"+f,transform:\"\",\"text-anchor\":\"middle\",\"data-notex\":1}).call(c.font,n).call(s.convertToTspans,t);return i}var k=r[0].trace,M=k.orientation,A=function(t,e){var r=b(t.text,e);return _(h,r)}(k,n);if(f=function(t,e){var r=b(t.textposition,e);return function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt}(p,r)}(k,n),!A||\"none\"===f)return void e.select(\"text\").remove();var T,S,E,C,L,z,P=function(t,e,r){return x(d,t.textfont,e,r)}(k,n,t._fullLayout.font),O=function(t,e,r){return x(g,t.insidetextfont,e,r)}(k,n,P),I=function(t,e,r){return x(m,t.outsidetextfont,e,r)}(k,n,P),D=t._fullLayout.barmode,R=\"relative\"===D,B=\"stack\"===D||R,F=r[n],N=!B||F._outmost,j=Math.abs(a-i)-2*v,V=Math.abs(u-l)-2*v;\"outside\"===f&&(N||(f=\"inside\"));if(\"auto\"===f)if(N){f=\"inside\",T=w(e,A,O),S=c.bBox(T.node()),E=S.width,C=S.height;var U=E>0&&C>0,q=E<=j&&C<=V,H=E<=V&&C<=j,G=\"h\"===M?j>=E*(V/C):V>=C*(j/E);U&&(q||H||G)?f=\"inside\":(f=\"outside\",T.remove(),T=null)}else f=\"inside\";if(!T&&(T=w(e,A,\"outside\"===f?I:O),S=c.bBox(T.node()),E=S.width,C=S.height,E<=0||C<=0))return void T.remove();\"outside\"===f?(z=\"both\"===k.constraintext||\"outside\"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l=\"h\"===a?Math.abs(n-r):Math.abs(e-t);l>2*v&&(s=v);var c=1;o&&(c=\"h\"===a?Math.min(1,l/i.height):Math.min(1,l/i.width));var u,f,h,p,d=(i.left+i.right)/2,g=(i.top+i.bottom)/2;u=c*i.width,f=c*i.height,\"h\"===a?e<t?(h=e-s-u/2,p=(r+n)/2):(h=e+s+u/2,p=(r+n)/2):n>r?(h=(t+e)/2,p=n+s+f/2):(h=(t+e)/2,p=n-s-f/2);return y(d,g,h,p,c,!1)}(i,a,l,u,S,M,z)):(z=\"both\"===k.constraintext||\"inside\"===k.constraintext,L=function(t,e,r,n,i,a,o){var s,l,c,u,f,h,p,d=i.width,g=i.height,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=Math.abs(e-t),_=Math.abs(n-r);b>2*v&&_>2*v?(b-=2*(f=v),_-=2*f):f=0;d<=b&&g<=_?(h=!1,p=1):d<=_&&g<=b?(h=!0,p=1):d<g==b<_?(h=!1,p=o?Math.min(b/d,_/g):1):(h=!0,p=o?Math.min(_/d,b/g):1);h&&(h=90);h?(s=p*g,l=p*d):(s=p*d,l=p*g);\"h\"===a?e<t?(c=e+f+s/2,u=(r+n)/2):(c=e-f-s/2,u=(r+n)/2):n>r?(c=(t+e)/2,u=n-f-l/2):(c=(t+e)/2,u=n+f+l/2);return y(m,x,c,u,p,h)}(i,a,l,u,S,M,z));T.attr(\"transform\",L)}(t,C,r,u,A,T,S,E),e.layerClipId&&c.hideOutsideRangePoint(a,C.select(\"text\"),f,w,M.xcalendar,M.ycalendar)}else C.remove();function O(t){return 0===k.bargap&&0===k.bargroupgap?n.round(Math.round(t)-z,2):t}});var T=!1===u.trace.cliponaxis;c.setClipUrl(a,T?null:e.layerClipId)});u.getComponentMethod(\"errorbars\",\"plot\")(M,e)}},{\"../../components/color\":567,\"../../components/drawing\":592,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../registry\":825,\"./attributes\":835,d3:147,\"fast-isnumeric\":213,tinycolor2:511}],844:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[];if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var s=n[r];e.contains(s.ct,!1,r,t)?(o.push({pointNumber:r,x:i.c2d(s.x),y:a.c2d(s.y)}),s.selected=1):s.selected=0}return o}},{}],845:[function(t,e,r){\"use strict\";e.exports=a;var n=t(\"../../lib\"),i=t(\"../../constants/numerical\").BADNUM;function a(t,e,r){this.traces=t,this.separateNegativeValues=e,this.dontMergeOverlappingData=r;for(var a=1/0,o=[],s=0;s<t.length;s++){for(var l=t[s],c=0;c<l.length;c++){var u=l[c];u.p!==i&&o.push(u.p)}l[0]&&l[0].width1&&(a=Math.min(l[0].width1,a))}this.positions=o;var f=n.distinctVals(o);this.distinctPositions=f.vals,1===f.vals.length&&a!==1/0?this.minDiff=a:this.minDiff=Math.min(f.minDiff,a),this.binWidth=this.minDiff,this.bins={}}a.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},a.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},a.prototype.getLabel=function(t,e){return(e<0&&this.separateNegativeValues?\"v\":\"^\")+(this.dontMergeOverlappingData?t:Math.round(t/this.binWidth))}},{\"../../constants/numerical\":670,\"../../lib\":693}],846:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../../registry\");function o(t,e,r){var a=t.selectAll(\"path\"),o=t.selectAll(\"text\");i.pointStyle(a,e,r),o.each(function(t){var r,a=n.select(this);function o(e){var n=r[e];return Array.isArray(n)?n[t.i]:n}a.classed(\"bartext-inside\")?r=e.insidetextfont:a.classed(\"bartext-outside\")&&(r=e.outsidetextfont),r||(r=e.textfont),i.font(a,o(\"family\"),o(\"size\"),o(\"color\"))})}e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\"g.trace.bars\"),i=r.size(),s=t._fullLayout;r.style(\"opacity\",function(t){return t[0].trace.opacity}).each(function(t){(\"stack\"===s.barmode&&i>1||0===s.bargap&&0===s.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr(\"shape-rendering\",\"crispEdges\")}),r.selectAll(\"g.points\").each(function(e){o(n.select(this),e[0].trace,t)}),a.getComponentMethod(\"errorbars\",\"style\")(r)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll(\"path\"),n),i.selectedTextStyle(r.selectAll(\"text\"),n)):o(r,n,t)}}},{\"../../components/drawing\":592,\"../../registry\":825,d3:147}],847:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,o,s){r(\"marker.color\",o),i(t,\"marker\")&&a(t,e,s,r,{prefix:\"marker.\",cLetter:\"c\"}),r(\"marker.line.color\",n.defaultLine),i(t,\"marker.line\")&&a(t,e,s,r,{prefix:\"marker.line.\",cLetter:\"c\"}),r(\"marker.line.width\"),r(\"marker.opacity\"),r(\"selected.marker.color\"),r(\"unselected.marker.color\")}},{\"../../components/color\":567,\"../../components/colorscale/defaults\":577,\"../../components/colorscale/has_colorscale\":581}],848:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat,i=t(\"../scatterpolar/attributes\"),a=t(\"../bar/attributes\");e.exports={r:i.r,theta:i.theta,r0:i.r0,dr:i.dr,theta0:i.theta0,dtheta:i.dtheta,thetaunit:i.thetaunit,base:n({},a.base,{}),offset:n({},a.offset,{}),width:n({},a.width,{}),text:n({},a.text,{}),marker:a.marker,hoverinfo:i.hoverinfo,selected:a.selected,unselected:a.unselected}},{\"../../lib/extend\":682,\"../bar/attributes\":835,\"../scatterpolar/attributes\":1094}],849:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/has_colorscale\"),i=t(\"../../components/colorscale/calc\"),a=t(\"../bar/arrays_to_calcdata\"),o=t(\"../bar/cross_trace_calc\").setGroupPositions,s=t(\"../scatter/calc_selection\"),l=t(\"../../registry\").traceIs,c=t(\"../../lib\").extendFlat;e.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,c=r[o].angularaxis,u=l.makeCalcdata(e,\"r\"),f=c.makeCalcdata(e,\"theta\"),h=e._length,p=new Array(h),d=u,g=f,m=0;m<h;m++)p[m]={p:g[m],s:d[m]};function v(t){var r=e[t];void 0!==r&&(e[\"_\"+t]=Array.isArray(r)?c.makeCalcdata(e,t):c.d2c(r,e.thetaunit))}return\"linear\"===c.type&&(v(\"width\"),v(\"offset\")),n(e,\"marker\")&&i(e,e.marker.color,\"marker\",\"c\"),n(e,\"marker.line\")&&i(e,e.marker.line.color,\"marker.line\",\"c\"),a(p,e),s(p,e),p},crossTraceCalc:function(t,e,r){for(var n=t.calcdata,i=[],a=0;a<n.length;a++){var s=n[a],u=s[0].trace;!0===u.visible&&l(u,\"bar\")&&u.subplot===r&&i.push(s)}var f=c({},e.radialaxis,{_id:\"x\"}),h=e.angularaxis;o({_fullLayout:e},h,f,i)}}},{\"../../components/colorscale/calc\":575,\"../../components/colorscale/has_colorscale\":581,\"../../lib\":693,\"../../registry\":825,\"../bar/arrays_to_calcdata\":834,\"../bar/cross_trace_calc\":837,\"../scatter/calc_selection\":1034}],850:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatterpolar/defaults\").handleRThetaDefaults,a=t(\"../bar/style_defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,s,l)?(l(\"thetaunit\"),l(\"base\"),l(\"offset\"),l(\"width\"),l(\"text\"),a(t,e,l,r,s),n.coerceSelectionMarkerOpacity(e,l)):e.visible=!1}},{\"../../lib\":693,\"../bar/style_defaults\":847,\"../scatterpolar/defaults\":1096,\"./attributes\":848}],851:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../lib\"),a=t(\"../bar/hover\").getTraceColor,o=t(\"../scatter/fill_hover_text\"),s=t(\"../scatterpolar/hover\").makeHoverPointText,l=t(\"../../plots/polar/helpers\").isPtInsidePolygon;e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.subplot,h=f.radialAxis,p=f.angularAxis,d=f.vangles,g=d?l:i.isPtInsideSector,m=t.maxHoverDistance,v=p._period||2*Math.PI,y=Math.abs(h.g2p(Math.sqrt(e*e+r*r))),x=Math.atan2(r,e);h.range[0]>h.range[1]&&(x+=Math.PI);if(n.getClosest(c,function(t){return g(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?m+Math.min(1,Math.abs(t.thetag1-t.thetag0)/v)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0},t),!1!==t.index){var b=c[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,u,t),s(_,u,f,t),t.color=a(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign=\"left\"),[t]}}},{\"../../components/fx\":609,\"../../lib\":693,\"../../plots/polar/helpers\":807,\"../bar/hover\":839,\"../scatter/fill_hover_text\":1040,\"../scatterpolar/hover\":1097}],852:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:t(\"../../plots/polar\"),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\").calc,crossTraceCalc:t(\"./calc\").crossTraceCalc,plot:t(\"./plot\"),colorbar:t(\"../scatter/marker_colorbar\"),style:t(\"../bar/style\").style,hoverPoints:t(\"./hover\"),selectPoints:t(\"../bar/select\"),meta:{}}},{\"../../plots/polar\":808,\"../bar/select\":844,\"../bar/style\":846,\"../scatter/marker_colorbar\":1050,\"./attributes\":848,\"./calc\":849,\"./defaults\":850,\"./hover\":851,\"./layout_attributes\":853,\"./layout_defaults\":854,\"./plot\":855}],853:[function(t,e,r){\"use strict\";e.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}},{}],854:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l<r.length;l++){var c=r[l];\"barpolar\"===c.type&&!0===c.visible&&(o[a=c.subplot]||(s(\"barmode\"),s(\"bargap\"),o[a]=1))}}},{\"../../lib\":693,\"./layout_attributes\":853}],855:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"fast-isnumeric\"),a=t(\"../../lib\"),o=t(\"../../components/drawing\"),s=t(\"../../plots/polar/helpers\");e.exports=function(t,e,r){var l=e.xaxis,c=e.yaxis,u=e.radialAxis,f=e.angularAxis,h=function(t){var e=t.cxx,r=t.cyy;if(t.vangles)return function(n,i,o,l){var c,u;a.angleDelta(o,l)>0?(c=o,u=l):(c=l,u=o);var f=s.findEnclosingVertexAngles(c,t.vangles)[0],h=s.findEnclosingVertexAngles(u,t.vangles)[1],p=[f,(c+u)/2,h];return s.pathPolygonAnnulus(n,i,c,u,p,e,r)};return function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),p=e.layers.frontplot.select(\"g.barlayer\");a.makeTraceGroups(p,r,\"trace bars\").each(function(t){var r=t[0].node3=n.select(this),s=a.ensureSingle(r,\"g\",\"points\").selectAll(\"g.point\").data(a.identity);s.enter().append(\"g\").style(\"vector-effect\",\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),s.exit().remove(),s.each(function(t){var e,r=n.select(this),o=t.rp0=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=f.c2g(t.p0),d=t.thetag1=f.c2g(t.p1);if(i(o)&&i(s)&&i(p)&&i(d)&&o!==s&&p!==d){var g=u.c2g(t.s1),m=(p+d)/2;t.ct=[l.c2p(g*Math.cos(m)),c.c2p(g*Math.sin(m))],e=h(o,s,p,d)}else e=\"M0,0Z\";a.ensureSingle(r,\"path\").attr(\"d\",e)}),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null)})}},{\"../../components/drawing\":592,\"../../lib\":693,\"../../plots/polar/helpers\":807,d3:147,\"fast-isnumeric\":213}],856:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/color/attributes\"),a=t(\"../../lib/extend\").extendFlat,o=n.marker,s=o.line;e.exports={y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},name:{valType:\"string\",editType:\"calc+clearAxisTypes\"},text:a({},n.text,{}),whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},notched:{valType:\"boolean\",editType:\"calc\"},notchwidth:{valType:\"number\",min:0,max:.5,dflt:.25,editType:\"calc\"},boxpoints:{valType:\"enumerated\",values:[\"all\",\"outliers\",\"suspectedoutliers\",!1],dflt:\"outliers\",editType:\"calc\"},boxmean:{valType:\"enumerated\",values:[!0,\"sd\",!1],dflt:!1,editType:\"calc\"},jitter:{valType:\"number\",min:0,max:1,editType:\"calc\"},pointpos:{valType:\"number\",min:-2,max:2,editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},marker:{outliercolor:{valType:\"color\",dflt:\"rgba(0, 0, 0, 0)\",editType:\"style\"},symbol:a({},o.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:a({},o.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),size:a({},o.size,{arrayOk:!1,editType:\"calc\"}),color:a({},o.color,{arrayOk:!1,editType:\"style\"}),line:{color:a({},s.color,{arrayOk:!1,dflt:i.defaultLine,editType:\"style\"}),width:a({},s.width,{arrayOk:!1,dflt:0,editType:\"style\"}),outliercolor:{valType:\"color\",editType:\"style\"},outlierwidth:{valType:\"number\",min:0,dflt:1,editType:\"style\"},editType:\"style\"},editType:\"plot\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:n.fillcolor,selected:{marker:n.selected.marker,editType:\"style\"},unselected:{marker:n.unselected.marker,editType:\"style\"},hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"}}},{\"../../components/color/attributes\":566,\"../../lib/extend\":682,\"../scatter/attributes\":1032}],857:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=i._,o=t(\"../../plots/cartesian/axes\");function s(t,e,r){var n={text:\"tx\"};for(var i in n)Array.isArray(e[i])&&(t[n[i]]=e[i][r])}function l(t,e){return t.v-e.v}function c(t){return t.v}e.exports=function(t,e){var r,u,f,h,p,d=t._fullLayout,g=o.getFromId(t,e.xaxis||\"x\"),m=o.getFromId(t,e.yaxis||\"y\"),v=[],y=\"violin\"===e.type?\"_numViolins\":\"_numBoxes\";\"h\"===e.orientation?(u=g,f=\"x\",h=m,p=\"y\"):(u=m,f=\"y\",h=g,p=\"x\");var x=u.makeCalcdata(e,f),b=function(t,e,r,a,o){if(e in t)return r.makeCalcdata(t,e);var s;s=e+\"0\"in t?t[e+\"0\"]:\"name\"in t&&(\"category\"===r.type||n(t.name)&&-1!==[\"linear\",\"log\"].indexOf(r.type)||i.isDateTime(t.name)&&\"date\"===r.type)?t.name:o;var l=r.d2c(s,0,t[e+\"calendar\"]);return a.map(function(){return l})}(e,p,h,x,d[y]),_=i.distinctVals(b),w=_.vals,k=_.minDiff/2,M=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i<r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(w,k),A=w.length,T=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(A);for(r=0;r<e._length;r++){var S=x[r];if(n(S)){var E=i.findBin(b[r],M);if(E>=0&&E<A){var C={v:S,i:r};s(C,e,r),T[E].push(C)}}}for(r=0;r<A;r++)if(T[r].length>0){var L=T[r].sort(l),z=L.map(c),P=z.length,O={pos:w[r],pts:L};O.min=z[0],O.max=z[P-1],O.mean=i.mean(z,P),O.sd=i.stdev(z,P,O.mean),O.q1=i.interp(z,.25),O.med=i.interp(z,.5),O.q3=i.interp(z,.75),O.lf=Math.min(O.q1,z[Math.min(i.findBin(2.5*O.q1-1.5*O.q3,z,!0)+1,P-1)]),O.uf=Math.max(O.q3,z[Math.max(i.findBin(2.5*O.q3-1.5*O.q1,z),0)]),O.lo=4*O.q1-3*O.q3,O.uo=4*O.q3-3*O.q1;var I=1.57*(O.q3-O.q1)/Math.sqrt(P);O.ln=O.med-I,O.un=O.med+I,v.push(O)}!function(t,e){if(i.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],a={},o=0;o<n.length;o++)a[n[o].i]=o;i.tagSelected(n,e,a)}}(v,e);var D=o.findExtremes(u,x,{padded:!0});return e._extremes[u._id]=D,v.length>0?(v[0].t={num:d[y],dPos:k,posLetter:p,valLetter:f,labels:{med:a(t,\"median:\"),min:a(t,\"min:\"),q1:a(t,\"q1:\"),q3:a(t,\"q3:\"),max:a(t,\"max:\"),mean:\"sd\"===e.boxmean?a(t,\"mean \\xb1 \\u03c3:\"):a(t,\"mean:\"),lf:a(t,\"lower fence:\"),uf:a(t,\"upper fence:\")}},d[y]++,v):[{t:{empty:!0}}]}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"fast-isnumeric\":213}],858:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\"),a=[\"v\",\"h\"];function o(t,e,r,a,o){var s,l,c,u=e.calcdata,f=e._fullLayout,h=[],p=\"violin\"===t?\"_numViolins\":\"_numBoxes\";for(s=0;s<r.length;s++)for(c=u[r[s]],l=0;l<c.length;l++)h.push(c[l].pos);if(h.length){var d=i.distinctVals(h),g=d.minDiff/2;h.length===d.vals.length&&(f[p]=1),n.minDtick(a,d.minDiff,d.vals[0],!0);var m=(1-f[t+\"gap\"])*(1-f[t+\"groupgap\"])*g/f[p],v=n.findExtremes(a,d.vals,{vpadminus:g+o[0]*m,vpadplus:g+o[1]*m});for(s=0;s<r.length;s++)(c=u[r[s]])[0].t.dPos=g,c[0].trace._extremes[a._id]=v}}e.exports={crossTraceCalc:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,s=0;s<a.length;s++){for(var l=a[s],c=\"h\"===l?i:n,u=[],f=0,h=0,p=0;p<r.length;p++){var d=r[p],g=d[0].t,m=d[0].trace;!0!==m.visible||\"box\"!==m.type&&\"candlestick\"!==m.type||g.empty||(m.orientation||\"v\")!==l||m.xaxis!==n._id||m.yaxis!==i._id||(u.push(p),m.boxpoints&&(f=Math.max(f,m.jitter-m.pointpos-1),h=Math.max(h,m.jitter+m.pointpos-1)))}o(\"box\",t,u,c,[f,h])}},setPositionOffset:o}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742}],859:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"../../components/color\"),o=t(\"./attributes\");function s(t,e,r,n){var a,o,s=r(\"y\"),l=r(\"x\"),c=l&&l.length;if(s&&s.length)a=\"v\",c?o=Math.min(l.length,s.length):(r(\"x0\"),o=s.length);else{if(!c)return void(e.visible=!1);a=\"h\",r(\"y0\"),o=l.length}e._length=o,i.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],n),r(\"orientation\",a)}function l(t,e,r,i){var a=i.prefix,s=n.coerce2(t,e,o,\"marker.outliercolor\"),l=r(\"marker.line.outliercolor\"),c=r(a+\"points\",s||l?\"suspectedoutliers\":void 0);c?(r(\"jitter\",\"all\"===c?.3:0),r(\"pointpos\",\"all\"===c?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.color\",e.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),\"suspectedoutliers\"===c&&(r(\"marker.line.outliercolor\",e.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\")):delete e.marker,r(\"hoveron\"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,i){function c(r,i){return n.coerce(t,e,o,r,i)}s(t,e,c,i),!1!==e.visible&&(c(\"line.color\",(t.marker||{}).color||r),c(\"line.width\"),c(\"fillcolor\",a.addOpacity(e.line.color,.5)),c(\"whiskerwidth\"),c(\"boxmean\"),c(\"notched\",void 0!==t.notchwidth)&&c(\"notchwidth\"),l(t,e,c,{prefix:\"box\"}))},handleSampleDefaults:s,handlePointsDefaults:l}},{\"../../components/color\":567,\"../../lib\":693,\"../../registry\":825,\"./attributes\":856}],860:[function(t,e,r){\"use strict\";e.exports=function(t,e){return e.hoverOnBox&&(t.hoverOnBox=e.hoverOnBox),\"xVal\"in e&&(t.x=e.xVal),\"yVal\"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],861:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\"),a=t(\"../../components/fx\"),o=t(\"../../components/color\"),s=t(\"../scatter/fill_hover_text\");function l(t,e,r,s){var l,c,u,f,h,p,d,g,m,v,y,x,b=t.cd,_=t.xa,w=t.ya,k=b[0].trace,M=b[0].t,A=\"violin\"===k.type,T=[],S=M.bdPos,E=M.wHover,C=function(t){return t.pos+M.bPos-p};A&&\"both\"!==k.side?(\"positive\"===k.side&&(m=function(t){var e=C(t);return a.inbox(e,e+E,v)}),\"negative\"===k.side&&(m=function(t){var e=C(t);return a.inbox(e-E,e,v)})):m=function(t){var e=C(t);return a.inbox(e-E,e+E,v)},x=A?function(t){return a.inbox(t.span[0]-h,t.span[1]-h,v)}:function(t){return a.inbox(t.min-h,t.max-h,v)},\"h\"===k.orientation?(h=e,p=r,d=x,g=m,l=\"y\",u=w,c=\"x\",f=_):(h=r,p=e,d=m,g=x,l=\"x\",u=_,c=\"y\",f=w);var L=Math.min(1,S/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function z(t){return(d(t)+g(t))/2}v=t.maxHoverDistance-L,y=t.maxSpikeDistance-L;var P=a.getDistanceFunction(s,d,g,z);if(a.getClosest(b,P,t),!1===t.index)return[];var O=b[t.index],I=k.line.color,D=(k.marker||{}).color;o.opacity(I)&&k.line.width?t.color=I:o.opacity(D)&&k.boxpoints?t.color=D:t.color=k.fillcolor,t[l+\"0\"]=u.c2p(O.pos+M.bPos-S,!0),t[l+\"1\"]=u.c2p(O.pos+M.bPos+S,!0),t[l+\"LabelVal\"]=O.pos;var R=l+\"Spike\";t.spikeDistance=z(O)*y/v,t[R]=u.c2p(O.pos,!0);var B={},F=[\"med\",\"min\",\"q1\",\"q3\",\"max\"];(k.boxmean||(k.meanline||{}).visible)&&F.push(\"mean\"),(k.boxpoints||k.points)&&F.push(\"lf\",\"uf\");for(var N=0;N<F.length;N++){var j=F[N];if(j in O&&!(O[j]in B)){B[O[j]]=!0;var V=O[j],U=f.c2p(V,!0),q=i.extendFlat({},t);q[c+\"0\"]=q[c+\"1\"]=U,q[c+\"LabelVal\"]=V,q[c+\"Label\"]=(M.labels?M.labels[j]+\" \":\"\")+n.hoverLabelText(f,V),q.hoverOnBox=!0,\"mean\"===j&&\"sd\"in O&&\"sd\"===k.boxmean&&(q[c+\"err\"]=O.sd),t.name=\"\",t.spikeDistance=void 0,t[R]=void 0,T.push(q)}}return T}function c(t,e,r){for(var n,o,l,c=t.cd,u=t.xa,f=t.ya,h=c[0].trace,p=u.c2p(e),d=f.c2p(r),g=a.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-p)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.y)-d)-e,1-3/e)}),m=!1,v=0;v<c.length;v++){o=c[v];for(var y=0;y<(o.pts||[]).length;y++){var x=g(l=o.pts[y]);x<=t.distance&&(t.distance=x,m=[v,y])}}if(!m)return!1;l=(o=c[m[0]]).pts[m[1]];var b=u.c2p(l.x,!0),_=f.c2p(l.y,!0),w=l.mrc||1;n=i.extendFlat({},t,{index:l.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,xLabelVal:l.x,y0:_-w,y1:_+w,yLabelVal:l.y,spikeDistance:t.distance});var k=\"h\"===h.orientation?\"y\":\"x\",M=\"h\"===h.orientation?f:u;return n[k+\"Spike\"]=M.c2p(o.pos,!0),s(l,h,n),n}e.exports={hoverPoints:function(t,e,r,n){var i,a=t.cd[0].trace.hoveron,o=[];return-1!==a.indexOf(\"boxes\")&&(o=o.concat(l(t,e,r,n))),-1!==a.indexOf(\"points\")&&(i=c(t,e,r)),\"closest\"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:l,hoverOnPoints:c}},{\"../../components/color\":567,\"../../components/fx\":609,\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../scatter/fill_hover_text\":1040}],862:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.layoutAttributes=t(\"./layout_attributes\"),n.supplyDefaults=t(\"./defaults\").supplyDefaults,n.supplyLayoutDefaults=t(\"./layout_defaults\").supplyLayoutDefaults,n.calc=t(\"./calc\"),n.crossTraceCalc=t(\"./cross_trace_calc\").crossTraceCalc,n.plot=t(\"./plot\").plot,n.style=t(\"./style\").style,n.styleOnSelect=t(\"./style\").styleOnSelect,n.hoverPoints=t(\"./hover\").hoverPoints,n.eventData=t(\"./event_data\"),n.selectPoints=t(\"./select\"),n.moduleType=\"trace\",n.name=\"box\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"boxLayout\",\"zoomScale\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"./attributes\":856,\"./calc\":857,\"./cross_trace_calc\":858,\"./defaults\":859,\"./event_data\":860,\"./hover\":861,\"./layout_attributes\":863,\"./layout_defaults\":864,\"./plot\":865,\"./select\":866,\"./style\":867}],863:[function(t,e,r){\"use strict\";e.exports={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"}}},{}],864:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"./layout_attributes\");function o(t,e,r,i,a){for(var o,s=a+\"Layout\",l=0;l<r.length;l++)if(n.traceIs(r[l],s)){o=!0;break}o&&(i(a+\"mode\"),i(a+\"gap\"),i(a+\"groupgap\"))}e.exports={supplyLayoutDefaults:function(t,e,r){o(0,0,r,function(r,n){return i.coerce(t,e,a,r,n)},\"box\")},_supply:o}},{\"../../lib\":693,\"../../registry\":825,\"./layout_attributes\":863}],865:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=5,s=.01;function l(t,e,r,a){var o,s,l=e.pos,c=e.val,u=a.bPos,f=a.wdPos||0,h=a.bPosPxOffset||0,p=r.whiskerwidth||0,d=r.notched||!1,g=d?1-2*r.notchwidth:1;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var m=t.selectAll(\"path.box\").data(\"violin\"!==r.type||r.box.visible?i.identity:[]);m.enter().append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"class\",\"box\"),m.exit().remove(),m.each(function(t){var e=t.pos,a=l.c2p(e+u,!0)+h,m=l.c2p(e+u-o,!0)+h,v=l.c2p(e+u+s,!0)+h,y=l.c2p(e+u-f,!0)+h,x=l.c2p(e+u+f,!0)+h,b=l.c2p(e+u-o*g,!0)+h,_=l.c2p(e+u+s*g,!0)+h,w=c.c2p(t.q1,!0),k=c.c2p(t.q3,!0),M=i.constrain(c.c2p(t.med,!0),Math.min(w,k)+1,Math.max(w,k)-1),A=void 0===t.lf||!1===r.boxpoints,T=c.c2p(A?t.min:t.lf,!0),S=c.c2p(A?t.max:t.uf,!0),E=c.c2p(t.ln,!0),C=c.c2p(t.un,!0);\"h\"===r.orientation?n.select(this).attr(\"d\",\"M\"+M+\",\"+b+\"V\"+_+\"M\"+w+\",\"+m+\"V\"+v+(d?\"H\"+E+\"L\"+M+\",\"+_+\"L\"+C+\",\"+v:\"\")+\"H\"+k+\"V\"+m+(d?\"H\"+C+\"L\"+M+\",\"+b+\"L\"+E+\",\"+m:\"\")+\"ZM\"+w+\",\"+a+\"H\"+T+\"M\"+k+\",\"+a+\"H\"+S+(0===p?\"\":\"M\"+T+\",\"+y+\"V\"+x+\"M\"+S+\",\"+y+\"V\"+x)):n.select(this).attr(\"d\",\"M\"+b+\",\"+M+\"H\"+_+\"M\"+m+\",\"+w+\"H\"+v+(d?\"V\"+E+\"L\"+_+\",\"+M+\"L\"+v+\",\"+C:\"\")+\"V\"+k+\"H\"+m+(d?\"V\"+C+\"L\"+b+\",\"+M+\"L\"+m+\",\"+E:\"\")+\"ZM\"+a+\",\"+w+\"V\"+T+\"M\"+a+\",\"+k+\"V\"+S+(0===p?\"\":\"M\"+y+\",\"+T+\"H\"+x+\"M\"+y+\",\"+S+\"H\"+x))})}function c(t,e,r,n){var l=e.x,c=e.y,u=n.bdPos,f=n.bPos,h=r.boxpoints||r.points;i.seedPseudoRandom();var p=t.selectAll(\"g.points\").data(h?function(t){return t.forEach(function(t){t.t=n,t.trace=r}),t}:[]);p.enter().append(\"g\").attr(\"class\",\"points\"),p.exit().remove();var d=p.selectAll(\"path\").data(function(t){var e,n,a=\"all\"===h?t.pts:t.pts.filter(function(e){return e.v<t.lf||e.v>t.uf}),l=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*l,p=l*s,d=[],g=0;if(r.jitter){if(0===l)for(g=1,d=new Array(a.length),e=0;e<a.length;e++)d[e]=1;else for(e=0;e<a.length;e++){var m=Math.max(0,e-o),v=a[m].v,y=Math.min(a.length-1,e+o),x=a[y].v;\"all\"!==h&&(a[e].v<t.lf?x=Math.min(x,t.lf):v=Math.max(v,t.uf));var b=Math.sqrt(p*(y-m)/(x-v+c))||0;b=i.constrain(Math.abs(b),0,1),d.push(b),g=Math.max(b,g)}n=2*r.jitter/(g||1)}for(e=0;e<a.length;e++){var _=a[e],w=_.v,k=r.jitter?n*d[e]*(i.pseudoRandom()-.5):0,M=t.pos+f+u*(r.pointpos+k);\"h\"===r.orientation?(_.y=M,_.x=w):(_.x=M,_.y=w),\"suspectedoutliers\"===h&&w<t.uo&&w>t.lo&&(_.so=!0)}return a});d.enter().append(\"path\").classed(\"point\",!0),d.exit().remove(),d.call(a.translatePoints,l,c)}function u(t,e,r,a){var o,s,l=e.pos,c=e.val,u=a.bPos,f=a.bPosPxOffset||0,h=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var p=t.selectAll(\"path.mean\").data(\"box\"===r.type&&r.boxmean||\"violin\"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);p.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),p.exit().remove(),p.each(function(t){var e=l.c2p(t.pos+u,!0)+f,i=l.c2p(t.pos+u-o,!0)+f,a=l.c2p(t.pos+u+s,!0)+f,p=c.c2p(t.mean,!0),d=c.c2p(t.mean-t.sd,!0),g=c.c2p(t.mean+t.sd,!0);\"h\"===r.orientation?n.select(this).attr(\"d\",\"M\"+p+\",\"+i+\"V\"+a+(\"sd\"===h?\"m0,0L\"+d+\",\"+e+\"L\"+p+\",\"+i+\"L\"+g+\",\"+e+\"Z\":\"\")):n.select(this).attr(\"d\",\"M\"+i+\",\"+p+\"H\"+a+(\"sd\"===h?\"m0,0L\"+e+\",\"+d+\"L\"+i+\",\"+p+\"L\"+e+\",\"+g+\"Z\":\"\"))})}e.exports={plot:function(t,e,r,a){var o=t._fullLayout,s=e.xaxis,f=e.yaxis,h=o._numBoxes,p=1-o.boxgap,d=\"group\"===o.boxmode&&h>1;i.makeTraceGroups(a,r,\"trace boxes\").each(function(t){var r=n.select(this),i=t[0],a=i.t,g=i.trace;e.isRangePlot||(i.node3=r);var m,v,y=a.dPos*p*(1-o.boxgroupgap)/(d?h:1),x=d?2*a.dPos*((a.num+.5)/h-.5)*p:0,b=y*g.whiskerwidth;!0!==g.visible||a.empty?r.remove():(\"h\"===g.orientation?(m=f,v=s):(m=s,v=f),a.bPos=x,a.bdPos=y,a.wdPos=b,a.wHover=a.dPos*(d?p/h:1),l(r,{pos:m,val:v},g,a),c(r,{x:s,y:f},g,a),u(r,{pos:m,val:v},g,a))})},plotBoxAndWhiskers:l,plotPoints:c,plotBoxMean:u}},{\"../../components/drawing\":592,\"../../lib\":693,d3:147}],866:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],c=a.c2p(l.x),u=o.c2p(l.y);e.contains([c,u],null,l.i,t)?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],867:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/color\"),a=t(\"../../components/drawing\");e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\"g.trace.boxes\");r.style(\"opacity\",function(t){return t[0].trace.opacity}),r.each(function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;function l(t,e,r,n){t.style(\"stroke-width\",e+\"px\").call(i.stroke,r).call(i.fill,n)}var c=r.selectAll(\"path.box\");if(\"candlestick\"===o.type)c.each(function(t){var e=n.select(this),r=o[t.dir];l(e,r.line.width,r.line.color,r.fillcolor),e.style(\"opacity\",o.selectedpoints&&!t.selected?.3:1)});else{l(c,s,o.line.color,o.fillcolor),r.selectAll(\"path.mean\").style({\"stroke-width\":s,\"stroke-dasharray\":2*s+\"px,\"+s+\"px\"}).call(i.stroke,o.line.color);var u=r.selectAll(\"path.point\");a.pointStyle(u,o,t)}})},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace,i=r.selectAll(\"path.point\");n.selectedpoints?a.selectedPointStyle(i,n):a.pointStyle(i,n,t)}}},{\"../../components/color\":567,\"../../components/drawing\":592,d3:147}],868:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").extendFlat,i=t(\"../ohlc/attributes\"),a=t(\"../box/attributes\");function o(t){return{line:{color:n({},a.line.color,{dflt:t}),width:a.line.width,editType:\"style\"},fillcolor:a.fillcolor,editType:\"style\"}}e.exports={x:i.x,open:i.open,high:i.high,low:i.low,close:i.close,line:{width:n({},a.line.width,{}),editType:\"style\"},increasing:o(i.increasing.line.color.dflt),decreasing:o(i.decreasing.line.color.dflt),text:i.text,whiskerwidth:n({},a.whiskerwidth,{dflt:0})}},{\"../../lib\":693,\"../box/attributes\":856,\"../ohlc/attributes\":987}],869:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../ohlc/calc\").calcCommon;function o(t,e,r,n){return{min:r,q1:Math.min(t,n),med:n,q3:Math.max(t,n),max:e}}e.exports=function(t,e){var r=t._fullLayout,s=i.getFromId(t,e.xaxis),l=i.getFromId(t,e.yaxis),c=s.makeCalcdata(e,\"x\"),u=a(t,e,c,l,o);return u.length?(n.extendFlat(u[0].t,{num:r._numBoxes,dPos:n.distinctVals(c).minDiff/2,posLetter:\"x\",valLetter:\"y\"}),r._numBoxes++,u):[{t:{empty:!0}}]}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../ohlc/calc\":988}],870:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../ohlc/ohlc_defaults\"),o=t(\"./attributes\");function s(t,e,r,n){var a=r(n+\".line.color\");r(n+\".line.width\",e.line.width),r(n+\".fillcolor\",i.addOpacity(a,.5))}e.exports=function(t,e,r,i){function l(r,i){return n.coerce(t,e,o,r,i)}a(t,e,l,i)?(l(\"line.width\"),s(t,e,l,\"increasing\"),s(t,e,l,\"decreasing\"),l(\"text\"),l(\"whiskerwidth\"),i._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{\"../../components/color\":567,\"../../lib\":693,\"../ohlc/ohlc_defaults\":992,\"./attributes\":868}],871:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"showLegend\",\"candlestick\",\"boxLayout\"],meta:{},attributes:t(\"./attributes\"),layoutAttributes:t(\"../box/layout_attributes\"),supplyLayoutDefaults:t(\"../box/layout_defaults\").supplyLayoutDefaults,crossTraceCalc:t(\"../box/cross_trace_calc\").crossTraceCalc,supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\"),plot:t(\"../box/plot\").plot,layerName:\"boxlayer\",style:t(\"../box/style\").style,hoverPoints:t(\"../ohlc/hover\"),selectPoints:t(\"../ohlc/select\")}},{\"../../plots/cartesian\":753,\"../box/cross_trace_calc\":858,\"../box/layout_attributes\":863,\"../box/layout_defaults\":864,\"../box/plot\":865,\"../box/style\":867,\"../ohlc/hover\":990,\"../ohlc/select\":994,\"./attributes\":868,\"./calc\":869,\"./defaults\":870}],872:[function(t,e,r){\"use strict\";var n=t(\"./axis_defaults\");e.exports=function(t,e,r,i,a){i(\"a\")||(i(\"da\"),i(\"a0\")),i(\"b\")||(i(\"db\"),i(\"b0\")),function(t,e,r,i){[\"aaxis\",\"baxis\"].forEach(function(a){var o=a.charAt(0),s=t[a]||{},l={},c={tickfont:\"x\",id:o+\"axis\",letter:o,font:e.font,name:a,data:t[o],calendar:e.calendar,dfltColor:i,bgColor:r.paper_bgcolor,fullLayout:r};n(s,l,c),l._categories=l._categories||[],e[a]=l,t[a]||\"-\"===s.type||(t[a]={type:s.type})})}(t,e,r,a)}},{\"./axis_defaults\":877}],873:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t){return function t(e,r){if(!n(e)||r>=10)return null;var i=1/0;var a=-1/0;var o=e.length;for(var s=0;s<o;s++){var l=e[s];if(n(l)){var c=t(l,r+1);c&&(i=Math.min(c[0],i),a=Math.max(c[1],a))}else i=Math.min(l,i),a=Math.max(l,a)}return[i,a]}(t,0)}},{\"../../lib\":693}],874:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"./axis_attributes\"),a=t(\"../../components/color/attributes\"),o=n({editType:\"calc\"});o.family.dflt='\"Open Sans\", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.defaultLine,e.exports={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:i,baxis:i,font:o,color:{valType:\"color\",dflt:a.defaultLine,editType:\"plot\"}}},{\"../../components/color/attributes\":566,\"../../plots/font_attributes\":768,\"./axis_attributes\":876}],875:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,i){var a,o,s,l,c,u,f,h,p,d,g,m,v,y=n(r)?\"a\":\"b\",x=(\"a\"===y?t.aaxis:t.baxis).smoothing,b=\"a\"===y?t.a2i:t.b2j,_=\"a\"===y?r:i,w=\"a\"===y?i:r,k=\"a\"===y?e.a.length:e.b.length,M=\"a\"===y?e.b.length:e.a.length,A=Math.floor(\"a\"===y?t.b2j(w):t.a2i(w)),T=\"a\"===y?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};x&&(s=Math.max(0,Math.min(M-2,A)),l=A-s,o=\"a\"===y?function(e,r){return t.dxydi([],e,s,r,l)}:function(e,r){return t.dxydj([],s,e,l,r)});var S=b(_[0]),E=b(_[1]),C=S<E?1:-1,L=1e-8*(E-S),z=C>0?Math.floor:Math.ceil,P=C>0?Math.ceil:Math.floor,O=C>0?Math.min:Math.max,I=C>0?Math.max:Math.min,D=z(S+L),R=P(E-L),B=[[f=T(S)]];for(a=D;a*C<R*C;a+=C)c=[],g=I(S,a),v=(m=O(E,a+C))-g,u=Math.max(0,Math.min(k-2,Math.floor(.5*(g+m)))),h=T(m),x&&(p=o(u,g-u),d=o(u,m-u),c.push([f[0]+p[0]/3*v,f[1]+p[1]/3*v]),c.push([h[0]-d[0]/3*v,h[1]-d[1]/3*v])),c.push(h),B.push(c),f=h;return B}},{\"../../lib\":693}],876:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../components/color/attributes\"),a=t(\"../../plots/cartesian/layout_attributes\"),o=t(\"../../plot_api/edit_types\").overrideAll;e.exports={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{valType:\"string\",editType:\"calc\"},titlefont:n({editType:\"calc\"}),titleoffset:{valType:\"number\",dflt:10,editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},tickfont:n({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\"},tickformatstops:o(a.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:i.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgridcolor:{valType:\"color\",dflt:i.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},editType:\"calc\"}},{\"../../components/color/attributes\":566,\"../../plot_api/edit_types\":725,\"../../plots/cartesian/layout_attributes\":754,\"../../plots/font_attributes\":768}],877:[function(t,e,r){\"use strict\";var n=t(\"./attributes\"),i=t(\"../../components/color\").addOpacity,a=t(\"../../registry\"),o=t(\"../../lib\"),s=t(\"../../plots/cartesian/tick_value_defaults\"),l=t(\"../../plots/cartesian/tick_label_defaults\"),c=t(\"../../plots/cartesian/category_order_defaults\"),u=t(\"../../plots/cartesian/set_convert\"),f=t(\"../../plots/cartesian/axis_autotype\");e.exports=function(t,e,r){var h=r.letter,p=r.font||{},d=n[h+\"axis\"];function g(r,n){return o.coerce(t,e,d,r,n)}function m(r,n){return o.coerce2(t,e,d,r,n)}r.name&&(e._name=r.name,e._id=r.name);var v=g(\"type\");(\"-\"===v&&(r.data&&function(t,e){if(\"-\"!==t.type)return;var r=t._id.charAt(0),n=t[r+\"calendar\"];t.type=f(e,n)}(e,r.data),\"-\"===e.type?e.type=\"linear\":v=t.type=e.type),g(\"smoothing\"),g(\"cheatertype\"),g(\"showticklabels\"),g(\"labelprefix\",h+\" = \"),g(\"labelsuffix\"),g(\"showtickprefix\"),g(\"showticksuffix\"),g(\"separatethousands\"),g(\"tickformat\"),g(\"exponentformat\"),g(\"showexponent\"),g(\"categoryorder\"),g(\"tickmode\"),g(\"tickvals\"),g(\"ticktext\"),g(\"tick0\"),g(\"dtick\"),\"array\"===e.tickmode&&(g(\"arraytick0\"),g(\"arraydtick\")),g(\"labelpadding\"),e._hovertitle=h,\"date\"===v)&&a.getComponentMethod(\"calendars\",\"handleDefaults\")(t,e,\"calendar\",r.calendar);u(e,r.fullLayout),e.c2p=o.identity;var y=g(\"color\",r.dfltColor),x=y===t.color?y:p.color;g(\"title\"),o.coerceFont(g,\"titlefont\",{family:p.family,size:Math.round(1.2*p.size),color:x}),g(\"titleoffset\"),g(\"tickangle\"),g(\"autorange\",!e.isValidRange(t.range))&&g(\"rangemode\"),g(\"range\"),e.cleanRange(),g(\"fixedrange\"),s(t,e,g,v),l(t,e,g,v,r),c(t,e,g,{data:r.data,dataAttr:h});var b=m(\"gridcolor\",i(y,.3)),_=m(\"gridwidth\"),w=g(\"showgrid\");w||(delete e.gridcolor,delete e.gridwidth);var k=m(\"startlinecolor\",y),M=m(\"startlinewidth\",_);g(\"startline\",e.showgrid||!!k||!!M)||(delete e.startlinecolor,delete e.startlinewidth);var A=m(\"endlinecolor\",y),T=m(\"endlinewidth\",_);return g(\"endline\",e.showgrid||!!A||!!T)||(delete e.endlinecolor,delete e.endlinewidth),w?(g(\"minorgridcount\"),g(\"minorgridwidth\",_),g(\"minorgridcolor\",i(b,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),\"none\"===e.showticklabels&&(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,g(\"tickmode\"),(!e.title||e.title&&0===e.title.length)&&(delete e.titlefont,delete e.titleoffset),e}},{\"../../components/color\":567,\"../../lib\":693,\"../../plots/cartesian/axis_autotype\":743,\"../../plots/cartesian/category_order_defaults\":746,\"../../plots/cartesian/set_convert\":760,\"../../plots/cartesian/tick_label_defaults\":761,\"../../plots/cartesian/tick_value_defaults\":763,\"../../registry\":825,\"./attributes\":874}],878:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\").isArray1D,a=t(\"./cheater_basis\"),o=t(\"./array_minmax\"),s=t(\"./calc_gridlines\"),l=t(\"./calc_labels\"),c=t(\"./calc_clippath\"),u=t(\"../heatmap/clean_2d_array\"),f=t(\"./smooth_fill_2d_array\"),h=t(\"../heatmap/convert_column_xyz\"),p=t(\"./set_convert\");e.exports=function(t,e){var r=n.getFromId(t,e.xaxis),d=n.getFromId(t,e.yaxis),g=e.aaxis,m=e.baxis,v=e.x,y=e.y,x=[];v&&i(v)&&x.push(\"x\"),y&&i(y)&&x.push(\"y\"),x.length&&h(e,g,m,\"a\",\"b\",x);var b=e._a=e._a||e.a,_=e._b=e._b||e.b;v=e._x||e.x,y=e._y||e.y;var w={};if(e._cheater){var k=\"index\"===g.cheatertype?b.length:b,M=\"index\"===m.cheatertype?_.length:_;v=a(k,M,e.cheaterslope)}e._x=v=u(v),e._y=y=u(y),f(v,b,_),f(y,b,_),p(e),e.setScale();var A=o(v),T=o(y),S=.5*(A[1]-A[0]),E=.5*(A[1]+A[0]),C=.5*(T[1]-T[0]),L=.5*(T[1]+T[0]);return A=[E-1.3*S,E+1.3*S],T=[L-1.3*C,L+1.3*C],e._extremes[r._id]=n.findExtremes(r,A,{padded:!0}),e._extremes[d._id]=n.findExtremes(d,T,{padded:!0}),s(e,\"a\",\"b\"),s(e,\"b\",\"a\"),l(e,g),l(e,m),w.clipsegments=c(e._xctrl,e._yctrl,g,m),w.x=v,w.y=y,w.a=b,w.b=_,[w]}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../heatmap/clean_2d_array\":944,\"../heatmap/convert_column_xyz\":946,\"./array_minmax\":873,\"./calc_clippath\":879,\"./calc_gridlines\":880,\"./calc_labels\":881,\"./cheater_basis\":883,\"./set_convert\":896,\"./smooth_fill_2d_array\":897}],879:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,c=!!n.smoothing,u=t[0].length-1,f=t.length-1;for(i=0,a=[],o=[];i<=u;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=f;i++)a[i]=t[i][u],o[i]=e[i][u];for(s.push({x:a,y:o,bicubic:c}),i=u,a=[],o=[];i>=0;i--)a[u-i]=t[f][i],o[u-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},{}],880:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib/extend\").extendFlat;e.exports=function(t,e,r){var a,o,s,l,c,u,f,h,p,d,g,m,v,y,x=t[\"_\"+e],b=t[e+\"axis\"],_=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],M=t[\"_\"+r],A=t[r+\"axis\"];\"array\"===b.tickmode&&(b.tickvals=x.slice());var T=t._xctrl,S=t._yctrl,E=T[0].length,C=T.length,L=t._a.length,z=t._b.length;n.prepTicks(b),\"array\"===b.tickmode&&delete b.tickvals;var P=b.smoothing?3:1;function O(n){var i,a,o,s,l,c,u,f,p,d,g,m,v=[],y=[],x={};if(\"b\"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(z-2,a))),s=a-o,x.length=z,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i<L;i++)c=Math.min(L-2,i),u=i-c,f=t.evalxy([],i,a),A.smoothing&&i>0&&(p=t.dxydi([],i-1,o,0,s),v.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),v.push(f[0]-d[0]/3),y.push(f[1]-d[1]/3)),v.push(f[0]),y.push(f[1]),l=f;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,i))),u=i-c,x.length=L,x.crossLength=z,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a<z;a++)o=Math.min(z-2,a),s=a-o,f=t.evalxy([],i,a),A.smoothing&&a>0&&(g=t.dxydj([],c,a-1,u,0),v.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),m=t.dxydj([],c,a-1,u,1),v.push(f[0]-m[0]/3),y.push(f[1]-m[1]/3)),v.push(f[0]),y.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=v,x.y=y,x.smoothing=A.smoothing,x}function I(n){var i,a,o,s,l,c=[],u=[],f={};if(f.length=x.length,f.crossLength=M.length,\"b\"===e)for(o=Math.max(0,Math.min(z-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;i<E;i++)c[i]=T[n*P][i],u[i]=S[n*P][i];else for(a=Math.max(0,Math.min(L-2,n)),s=Math.min(1,Math.max(0,n-a)),f.xy=function(e){return t.evalxy([],n,e)},f.dxy=function(e,r){return t.dxydj([],a,e,s,r)},i=0;i<C;i++)c[i]=T[i][n*P],u[i]=S[i][n*P];return f.axisLetter=e,f.axis=b,f.crossAxis=A,f.value=x[n],f.constvar=r,f.index=n,f.x=c,f.y=u,f.smoothing=A.smoothing,f}if(\"array\"===b.tickmode){for(l=5e-15,u=(c=[Math.floor((x.length-1-b.arraytick0)/b.arraydtick*(1+l)),Math.ceil(-b.arraytick0/b.arraydtick/(1+l))].sort(function(t,e){return t-e}))[0]-1,f=c[1]+1,h=u;h<f;h++)(o=b.arraytick0+b.arraydtick*h)<0||o>x.length-1||_.push(i(I(o),{color:b.gridcolor,width:b.gridwidth}));for(h=u;h<f;h++)if(s=b.arraytick0+b.arraydtick*h,g=Math.min(s+b.arraydtick,x.length-1),!(s<0||s>x.length-1||g<0||g>x.length-1))for(m=x[s],v=x[g],a=0;a<b.minorgridcount;a++)(y=g-s)<=0||(d=m+(v-m)*(a+1)/(b.minorgridcount+1)*(b.arraydtick/y))<x[0]||d>x[x.length-1]||w.push(i(O(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(I(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(I(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort(function(t,e){return t-e}))[0],f=c[1],h=u;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(O(p),{color:b.gridcolor,width:b.gridwidth}));for(h=u-1;h<f+1;h++)for(p=b.tick0+b.dtick*h,a=0;a<b.minorgridcount;a++)(d=p+b.dtick*(a+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(i(O(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(i(O(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(i(O(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{\"../../lib/extend\":682,\"../../plots/cartesian/axes\":742}],881:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib/extend\").extendFlat;e.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==[\"start\",\"both\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:o.xy(0),dxy:o.dxy(0,0),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a)),-1!==[\"end\",\"both\"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{endAnchor:!1,xy:o.xy(o.crossLength-1),dxy:o.dxy(o.crossLength-2,1),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a))}},{\"../../lib/extend\":682,\"../../plots/cartesian/axes\":742}],882:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,f=(c*c*a-l*l*s)*n,h=c*(l+c)*3,p=l*(l+c)*3;return[[e[0]+(h&&u/h),e[1]+(h&&f/h)],[e[0]-(p&&u/p),e[1]-(p&&f/p)]]}},{}],883:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r){var i,a,o,s,l,c,u=[],f=n(t)?t.length:t,h=n(e)?e.length:e,p=n(t)?t:null,d=n(e)?e:null;p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(f-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(h-1));var g=1/0,m=-1/0;for(a=0;a<h;a++)for(u[a]=[],l=d?(d[a]-d[0])*s:a/(h-1),i=0;i<f;i++)c=(p?(p[i]-p[0])*o:i/(f-1))-l*r,g=Math.min(c,g),m=Math.max(c,m),u[a][i]=c;var v=1/(m-g),y=-g*v;for(a=0;a<h;a++)for(i=0;i<f;i++)u[a][i]=v*u[a][i]+y;return u}},{\"../../lib\":693}],884:[function(t,e,r){\"use strict\";var n=t(\"./catmull_rom\"),i=t(\"../../lib\").ensureArray;function a(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}e.exports=function(t,e,r,o,s,l){var c,u,f,h,p,d,g,m,v,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=i(t,w),e=i(e,w),f=0;f<w;f++)t[f]=i(t[f],_),e[f]=i(e[f],_);for(u=0,h=0;u<b;u++,h+=l?3:1)for(p=t[h],d=e[h],g=r[u],m=o[u],c=0,f=0;c<x;c++,f+=s?3:1)p[f]=g[c],d[f]=m[c];if(s)for(u=0,h=0;u<b;u++,h+=l?3:1){for(c=1,f=3;c<x-1;c++,f+=3)v=n([r[u][c-1],o[u][c-1]],[r[u][c],o[u][c]],[r[u][c+1],o[u][c+1]],s),t[h][f-1]=v[0][0],e[h][f-1]=v[0][1],t[h][f+1]=v[1][0],e[h][f+1]=v[1][1];y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=y[0],e[h][1]=y[1],y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=y[0],e[h][_-2]=y[1]}if(l)for(f=0;f<_;f++){for(h=3;h<w-3;h+=3)v=n([t[h-3][f],e[h-3][f]],[t[h][f],e[h][f]],[t[h+3][f],e[h+3][f]],l),t[h-1][f]=v[0][0],e[h-1][f]=v[0][1],t[h+1][f]=v[1][0],e[h+1][f]=v[1][1];y=a([t[0][f],e[0][f]],[t[2][f],e[2][f]],[t[3][f],e[3][f]]),t[1][f]=y[0],e[1][f]=y[1],y=a([t[w-1][f],e[w-1][f]],[t[w-3][f],e[w-3][f]],[t[w-4][f],e[w-4][f]]),t[w-2][f]=y[0],e[w-2][f]=y[1]}if(s&&l)for(h=1;h<w;h+=(h+1)%3==0?2:1){for(f=3;f<_-3;f+=3)v=n([t[h][f-3],e[h][f-3]],[t[h][f],e[h][f]],[t[h][f+3],e[h][f+3]],s),t[h][f-1]=.5*(t[h][f-1]+v[0][0]),e[h][f-1]=.5*(e[h][f-1]+v[0][1]),t[h][f+1]=.5*(t[h][f+1]+v[1][0]),e[h][f+1]=.5*(e[h][f+1]+v[1][1]);y=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=.5*(t[h][1]+y[0]),e[h][1]=.5*(e[h][1]+y[1]),y=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=.5*(t[h][_-2]+y[0]),e[h][_-2]=.5*(e[h][_-2]+y[1])}return[t,e]}},{\"../../lib\":693,\"./catmull_rom\":882}],885:[function(t,e,r){\"use strict\";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],886:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=1-i,d=p*p,g=p*i*2,m=-3*d,v=3*(d-g),y=3*(g-h),x=3*h,b=a*a,_=b*a,w=1-a,k=w*w,M=k*w;for(f=0;f<t.length;f++)o=m*(u=t[f])[n][r]+v*u[n][r+1]+y*u[n][r+2]+x*u[n][r+3],s=m*u[n+1][r]+v*u[n+1][r+1]+y*u[n+1][r+2]+x*u[n+1][r+3],l=m*u[n+2][r]+v*u[n+2][r+1]+y*u[n+2][r+2]+x*u[n+2][r+3],c=m*u[n+3][r]+v*u[n+3][r+1]+y*u[n+3][r+2]+x*u[n+3][r+3],e[f]=M*o+3*(k*a*s+w*b*l)+_*c;return e}:e?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),r*=3;var u=i*i,f=1-i,h=f*f,p=f*i*2,d=-3*h,g=3*(h-p),m=3*(p-u),v=3*u,y=1-a;for(l=0;l<t.length;l++)o=d*(c=t[l])[n][r]+g*c[n][r+1]+m*c[n][r+2]+v*c[n][r+3],s=d*c[n+1][r]+g*c[n+1][r+1]+m*c[n+1][r+2]+v*c[n+1][r+3],e[l]=y*o+a*s;return e}:r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),n*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n][r+1]-f[n][r],s=f[n+1][r+1]-f[n+1][r],l=f[n+2][r+1]-f[n+2][r],c=f[n+3][r+1]-f[n+3][r],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-a;for(l=0;l<t.length;l++)o=(c=t[l])[n][r+1]-c[n][r],s=c[n+1][r+1]-c[n+1][r],e[l]=u*o+a*s;return e}}},{}],887:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=h*i,d=1-i,g=d*d,m=g*d,v=a*a,y=1-a,x=y*y,b=y*a*2,_=-3*x,w=3*(x-b),k=3*(b-v),M=3*v;for(f=0;f<t.length;f++)o=_*(u=t[f])[n][r]+w*u[n+1][r]+k*u[n+2][r]+M*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+k*u[n+2][r+1]+M*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+k*u[n+2][r+2]+M*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+k*u[n+2][r+3]+M*u[n+3][r+3],e[f]=m*o+3*(g*i*s+d*h*l)+p*c;return e}:e?function(e,r,n,i,a){var o,s,l,c,u,f;e||(e=[]),r*=3;var h=a*a,p=h*a,d=1-a,g=d*d,m=g*d;for(u=0;u<t.length;u++)o=(f=t[u])[n+1][r]-f[n][r],s=f[n+1][r+1]-f[n][r+1],l=f[n+1][r+2]-f[n][r+2],c=f[n+1][r+3]-f[n][r+3],e[u]=m*o+3*(g*a*s+d*h*l)+p*c;return e}:r?function(e,r,n,i,a){var o,s,l,c;e||(e=[]),n*=3;var u=1-i,f=a*a,h=1-a,p=h*h,d=h*a*2,g=-3*p,m=3*(p-d),v=3*(d-f),y=3*f;for(l=0;l<t.length;l++)o=g*(c=t[l])[n][r]+m*c[n+1][r]+v*c[n+2][r]+y*c[n+3][r],s=g*c[n][r+1]+m*c[n+1][r+1]+v*c[n+2][r+1]+y*c[n+3][r+1],e[l]=u*o+i*s;return e}:function(e,r,n,i,a){var o,s,l,c;e||(e=[]);var u=1-i;for(l=0;l<t.length;l++)o=(c=t[l])[n+1][r]-c[n][r],s=c[n+1][r+1]-c[n][r+1],e[l]=u*o+i*s;return e}}},{}],888:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){var i,s,l,c,u,f;e||(e=[]);var h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=3,p*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,k=1-g,M=k*k,A=M*k;for(f=0;f<t.length;f++)i=b*(u=t[f])[p][h]+3*(x*d*u[p][h+1]+y*m*u[p][h+2])+v*u[p][h+3],s=b*u[p+1][h]+3*(x*d*u[p+1][h+1]+y*m*u[p+1][h+2])+v*u[p+1][h+3],l=b*u[p+2][h]+3*(x*d*u[p+2][h+1]+y*m*u[p+2][h+2])+v*u[p+2][h+3],c=b*u[p+3][h]+3*(x*d*u[p+3][h+1]+y*m*u[p+3][h+2])+v*u[p+3][h+3],e[f]=A*i+3*(M*g*s+k*_*l)+w*c;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));h*=3;var m=d*d,v=m*d,y=1-d,x=y*y,b=x*y,_=1-g;for(u=0;u<t.length;u++)i=_*(f=t[u])[p][h]+g*f[p+1][h],s=_*f[p][h+1]+g*f[p+1][h+1],l=_*f[p][h+2]+g*f[p+1][h+1],c=_*f[p][h+3]+g*f[p+1][h+1],e[u]=b*i+3*(x*d*s+y*m*l)+v*c;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,c,u,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),g=Math.max(0,Math.min(1,n-p));p*=3;var m=g*g,v=m*g,y=1-g,x=y*y,b=x*y,_=1-d;for(u=0;u<t.length;u++)i=_*(f=t[u])[p][h]+d*f[p][h+1],s=_*f[p+1][h]+d*f[p+1][h+1],l=_*f[p+2][h]+d*f[p+2][h+1],c=_*f[p+3][h]+d*f[p+3][h+1],e[u]=b*i+3*(x*g*s+y*m*l)+v*c;return e}:function(e,r,n){e||(e=[]);var i,s,l,c,u=Math.max(0,Math.min(Math.floor(r),a)),f=Math.max(0,Math.min(Math.floor(n),o)),h=Math.max(0,Math.min(1,r-u)),p=Math.max(0,Math.min(1,n-f)),d=1-p,g=1-h;for(l=0;l<t.length;l++)i=g*(c=t[l])[f][u]+h*c[f][u+1],s=g*c[f+1][u]+h*c[f+1][u+1],e[l]=d*i+p*s;return e}}},{}],889:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./xy_defaults\"),a=t(\"./ab_defaults\"),o=t(\"./attributes\"),s=t(\"../../components/color/attributes\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,o,r,i)}e._clipPathId=\"clip\"+e.uid+\"carpet\";var u=c(\"color\",s.defaultLine);(n.coerceFont(c,\"font\"),c(\"carpet\"),a(t,e,l,c,u),e.a&&e.b)?(e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0),i(t,e,c)||(e.visible=!1),e._cheater&&c(\"cheaterslope\")):e.visible=!1}},{\"../../components/color/attributes\":566,\"../../lib\":693,\"./ab_defaults\":872,\"./attributes\":874,\"./xy_defaults\":898}],890:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.plot=t(\"./plot\"),n.calc=t(\"./calc\"),n.animatable=!0,n.isContainer=!0,n.moduleType=\"trace\",n.name=\"carpet\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"./attributes\":874,\"./calc\":878,\"./defaults\":889,\"./plot\":895}],891:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&(\"carpet\"===a.type&&(r||(r=a),a.carpet===e.carpet)))return a}return r}},{}],892:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){if(0===t.length)return\"\";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+\",\"+e[n]),r&&n<t.length-a&&(i.push(\"C\"),i.push([t[n+1]+\",\"+e[n+1],t[n+2]+\",\"+e[n+2]+\" \"].join(\" \")));return i.join(r?\"\":\"L\")}},{}],893:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r){var i;for(n(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],i=0;i<e.length;i++)t[i]=r(e[i]);return t}},{\"../../lib\":693}],894:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,c=1;if(a){var u=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=(i[0]*a[0]+i[1]*a[1])/u/f;c=Math.max(0,h)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],895:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"./map_1d_array\"),o=t(\"./makepath\"),s=t(\"./orient_text\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"../../lib\"),u=t(\"../../constants/alignment\");function f(t,e,r,i,s,l){var c=\"const-\"+s+\"-lines\",u=r.selectAll(\".\"+c).data(l);u.enter().append(\"path\").classed(c,!0).style(\"vector-effect\",\"non-scaling-stroke\"),u.each(function(r){var i=r,s=i.x,l=i.y,c=a([],s,t.c2p),u=a([],l,e.c2p),f=\"M\"+o(c,u,i.smoothing);n.select(this).attr(\"d\",f).style(\"stroke-width\",i.width).style(\"stroke\",i.color).style(\"fill\",\"none\")}),u.exit().remove()}function h(t,e,r,a,o,c,u,f){var h=c.selectAll(\"text.\"+f).data(u);h.enter().append(\"text\").classed(f,!0);var p=0,d={};return h.each(function(o,c){var u;if(\"auto\"===o.axis.tickangle)u=s(a,e,r,o.xy,o.dxy);else{var f=(o.axis.tickangle+180)*Math.PI/180;u=s(a,e,r,o.xy,[Math.cos(f),Math.sin(f)])}c||(d={angle:u.angle,flip:u.flip});var h=(o.endAnchor?-1:1)*u.flip,g=n.select(this).attr({\"text-anchor\":h>0?\"start\":\"end\",\"data-notex\":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);g.attr(\"transform\",\"translate(\"+u.p[0]+\",\"+u.p[1]+\") rotate(\"+u.angle+\")translate(\"+o.axis.labelpadding*h+\",\"+.3*m.height+\")\"),p=Math.max(p,m.width+o.axis.labelpadding)}),h.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,i){var l=e.xaxis,u=e.yaxis,p=t._fullLayout._clips;c.makeTraceGroups(i,r,\"trace\").each(function(e){var r=n.select(this),i=e[0],d=i.trace,m=d.aaxis,v=d.baxis,y=c.ensureSingle(r,\"g\",\"minorlayer\"),x=c.ensureSingle(r,\"g\",\"majorlayer\"),b=c.ensureSingle(r,\"g\",\"boundarylayer\"),_=c.ensureSingle(r,\"g\",\"labellayer\");r.style(\"opacity\",d.opacity),f(l,u,x,m,\"a\",m._gridlines),f(l,u,x,v,\"b\",v._gridlines),f(l,u,y,m,\"a\",m._minorgridlines),f(l,u,y,v,\"b\",v._minorgridlines),f(l,u,b,m,\"a-boundary\",m._boundarylines),f(l,u,b,v,\"b-boundary\",v._boundarylines);var w=h(t,l,u,d,i,_,m._labels,\"a-label\"),k=h(t,l,u,d,i,_,v._labels,\"b-label\");!function(t,e,r,n,i,a,o,l){var u,f,h,p;u=.5*(r.a[0]+r.a[r.a.length-1]),f=r.b[0],h=r.ab2xy(u,f,!0),p=r.dxyda_rough(u,f),void 0===o.angle&&c.extendFlat(o,s(r,i,a,h,r.dxydb_rough(u,f)));g(t,e,r,n,h,p,r.aaxis,i,a,o,\"a-title\"),u=r.a[0],f=.5*(r.b[0]+r.b[r.b.length-1]),h=r.ab2xy(u,f,!0),p=r.dxydb_rough(u,f),void 0===l.angle&&c.extendFlat(l,s(r,i,a,h,r.dxyda_rough(u,f)));g(t,e,r,n,h,p,r.baxis,i,a,l,\"b-title\")}(t,_,d,i,l,u,w,k),function(t,e,r,n,i){var s,l,u,f,h=r.select(\"#\"+t._clipPathId);h.size()||(h=r.append(\"clipPath\").classed(\"carpetclip\",!0));var p=c.ensureSingle(h,\"path\",\"carpetboundary\"),d=e.clipsegments,g=[];for(f=0;f<d.length;f++)s=d[f],l=a([],s.x,n.c2p),u=a([],s.y,i.c2p),g.push(o(l,u,s.bicubic));var m=\"M\"+g.join(\"L\")+\"Z\";h.attr(\"id\",t._clipPathId),p.attr(\"d\",m)}(d,i,p,l,u)})};var p=u.LINE_SPACING,d=(1-u.MID_SHIFT)/p+1;function g(t,e,r,a,o,c,u,f,h,g,m){var v=[];u.title&&v.push(u.title);var y=e.selectAll(\"text.\"+m).data(v),x=g.maxExtent;y.enter().append(\"text\").classed(m,!0),y.each(function(){var e=s(r,f,h,o,c);-1===[\"start\",\"both\"].indexOf(u.showticklabels)&&(x=0);var a=u.titlefont.size;x+=a+u.titleoffset;var m=(g.angle+(g.flip<0?180:0)-e.angle+450)%360,v=m>90&&m<270,y=n.select(this);y.text(u.title||\"\").call(l.convertToTspans,t),v&&(x=(-l.lineCount(y)+d)*p*a-x),y.attr(\"transform\",\"translate(\"+e.p[0]+\",\"+e.p[1]+\") rotate(\"+e.angle+\") translate(0,\"+x+\")\").classed(\"user-select-none\",!0).attr(\"text-anchor\",\"middle\").call(i.font,u.titlefont)}),y.exit().remove()}},{\"../../components/drawing\":592,\"../../constants/alignment\":665,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"./makepath\":892,\"./map_1d_array\":893,\"./orient_text\":894,d3:147}],896:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../lib/search\").findBin,a=t(\"./compute_control_points\"),o=t(\"./create_spline_evaluator\"),s=t(\"./create_i_derivative_evaluator\"),l=t(\"./create_j_derivative_evaluator\");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[c-1],g=r[0],m=r[u-1],v=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=v*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,m+=b,t.isVisible=function(t,e){return t>p&&t<d&&e>g&&e<m},t.isOccluded=function(t,e){return t<p||t>d||e<g||e>m},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(n<e[0]||n>e[c-1]|i<r[0]||i>r[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,g=0,m=0,v=[];n<e[0]?(f=0,h=0,g=(n-e[0])/(e[1]-e[0])):n>e[c-1]?(f=c-2,h=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):h=o-(f=Math.max(0,Math.min(c-2,Math.floor(o)))),i<r[0]?(p=0,d=0,m=(i-r[0])/(r[1]-r[0])):i>r[u-1]?(p=u-2,d=1,m=(i-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),g&&(t.dxydi(v,f,p,h,d),l[0]+=v[0]*g,l[1]+=v[1]*g),m&&(t.dxydj(v,f,p,h,d),l[0]+=v[0]*m,l[1]+=v[1]*m)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{\"../../lib/search\":713,\"./compute_control_points\":884,\"./constants\":885,\"./create_i_derivative_evaluator\":886,\"./create_j_derivative_evaluator\":887,\"./create_spline_evaluator\":888}],897:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<c-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}var h,p,d,g,m,v,y,x,b,_,w,k=0;for(i=0;i<c;i++)for(a=0;a<u;a++)void 0===t[a][i]&&(s.push(i),l.push(a),t[a][i]=f(i,a)),k=Math.max(k,Math.abs(t[a][i]));if(!s.length)return t;var M=0,A=0,T=s.length;do{for(M=0,o=0;o<T;o++){i=s[o],a=l[o];var S,E,C,L,z,P,O=0,I=0;0===i?(C=e[z=Math.min(c-1,2)],L=e[1],S=t[a][z],I+=(E=t[a][1])+(E-S)*(e[0]-L)/(L-C),O++):i===c-1&&(C=e[z=Math.max(0,c-3)],L=e[c-2],S=t[a][z],I+=(E=t[a][c-2])+(E-S)*(e[c-1]-L)/(L-C),O++),(0===i||i===c-1)&&a>0&&a<u-1&&(h=r[a+1]-r[a],I+=((p=r[a]-r[a-1])*t[a+1][i]+h*t[a-1][i])/(p+h),O++),0===a?(C=r[P=Math.min(u-1,2)],L=r[1],S=t[P][i],I+=(E=t[1][i])+(E-S)*(r[0]-L)/(L-C),O++):a===u-1&&(C=r[P=Math.max(0,u-3)],L=r[u-2],S=t[P][i],I+=(E=t[u-2][i])+(E-S)*(r[u-1]-L)/(L-C),O++),(0===a||a===u-1)&&i>0&&i<c-1&&(h=e[i+1]-e[i],I+=((p=e[i]-e[i-1])*t[a][i+1]+h*t[a][i-1])/(p+h),O++),O?I/=O:(d=e[i+1]-e[i],g=e[i]-e[i-1],x=(m=r[a+1]-r[a])*(v=r[a]-r[a-1])*(m+v),I=((y=d*g*(d+g))*(v*t[a+1][i]+m*t[a-1][i])+x*(g*t[a][i+1]+d*t[a][i-1]))/(x*(g+d)+y*(v+m))),M+=(_=(b=I-t[a][i])/k)*_,w=O?0:.85,t[a][i]+=b*(1+w)}M=Math.sqrt(M)}while(A++<100&&M>1e-5);return n.log(\"Smoother converged to\",M,\"after\",A,\"iterations\"),t}},{\"../../lib\":693}],898:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArray1D;e.exports=function(t,e,r){var i=r(\"x\"),a=i&&i.length,o=r(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{\"../../lib\":693}],899:[function(t,e,r){\"use strict\";var n=t(\"../scattergeo/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=n.marker.line;e.exports=s({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:n.locationmode,z:{valType:\"data_array\",editType:\"calc\"},text:s({},n.text,{}),marker:{line:{color:l.color,width:s({},l.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:n.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:n.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:s({},o.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]})},i(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}),{colorbar:a})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../scattergeo/attributes\":1072}],900:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../../components/colorscale/calc\"),o=t(\"../scatter/arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\");e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=0;c<r;c++){var u=l[c]={},f=e.locations[c],h=e.z[c];u.loc=\"string\"==typeof f?f:null,u.z=n(h)?h:i}return o(l,e),a(e,e.z,\"\",\"z\"),s(l,e),l}},{\"../../components/colorscale/calc\":575,\"../../constants/numerical\":670,\"../scatter/arrays_to_calcdata\":1031,\"../scatter/calc_selection\":1034,\"fast-isnumeric\":213}],901:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"locations\"),c=s(\"z\");l&&l.length&&n.isArrayOrTypedArray(c)&&c.length?(e._length=Math.min(l.length,c.length),s(\"locationmode\"),s(\"text\"),s(\"marker.line.color\"),s(\"marker.line.width\"),s(\"marker.opacity\"),i(t,e,o,s,{prefix:\"\",cLetter:\"z\"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"./attributes\":899}],902:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.location=e.location,t.z=e.z,t}},{}],903:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"./attributes\"),a=t(\"../scatter/fill_hover_text\");e.exports=function(t,e,r){var o,s,l,c,u=t.cd,f=u[0].trace,h=t.subplot;for(s=0;s<u.length;s++)if(c=!1,(o=u[s])._polygons){for(l=0;l<o._polygons.length;l++)o._polygons[l].contains([e,r])&&(c=!c),o._polygons[l].contains([e+360,r])&&(c=!c);if(c)break}if(c&&o)return t.x0=t.x1=t.xa.c2p(o.ct),t.y0=t.y1=t.ya.c2p(o.ct),t.index=o.index,t.location=o.loc,t.z=o.z,function(t,e,r,o){var s=r.hi||e.hoverinfo,l=\"all\"===s?i.hoverinfo.flags:s.split(\"+\"),c=-1!==l.indexOf(\"name\"),u=-1!==l.indexOf(\"location\"),f=-1!==l.indexOf(\"z\"),h=-1!==l.indexOf(\"text\"),p=[];!c&&u?t.nameOverride=r.loc:(c&&(t.nameOverride=e.name),u&&p.push(r.loc));f&&p.push((d=r.z,n.tickText(o,o.c2l(d),\"hover\").text));var d;h&&a(r,e,p);t.extraText=p.join(\"<br>\")}(t,f,o,h.mockAxis),[t]}},{\"../../plots/cartesian/axes\":742,\"../scatter/fill_hover_text\":1040,\"./attributes\":899}],904:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../heatmap/colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"./style\").style,n.styleOnSelect=t(\"./style\").styleOnSelect,n.hoverPoints=t(\"./hover\"),n.eventData=t(\"./event_data\"),n.selectPoints=t(\"./select\"),n.moduleType=\"trace\",n.name=\"choropleth\",n.basePlotModule=t(\"../../plots/geo\"),n.categories=[\"geo\",\"noOpacity\"],n.meta={},e.exports=n},{\"../../plots/geo\":772,\"../heatmap/colorbar\":945,\"./attributes\":899,\"./calc\":900,\"./defaults\":901,\"./event_data\":902,\"./hover\":903,\"./plot\":905,\"./select\":906,\"./style\":907}],905:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../lib/polygon\"),o=t(\"../../lib/topojson_utils\").getTopojsonFeatures,s=t(\"../../lib/geo_location_utils\").locationToFeature,l=t(\"./style\").style;function c(t,e){for(var r=t[0].trace,n=t.length,i=o(r,e),a=0;a<n;a++){var l=t[a],c=s(r.locationmode,l.loc,i);c?(l.geojson=c,l.ct=c.properties.ct,l.index=a,l._polygons=u(c)):l.geojson=null}}function u(t){var e,r,n,i,o=t.geometry,s=o.coordinates,l=t.id,c=[];function u(t){for(var e=0;e<t.length-1;e++)if(t[e][0]>0&&t[e+1][0]<0)return e;return null}switch(e=\"RUS\"===l||\"FJI\"===l?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;i<t.length;i++)e[i]=[t[i][0]<0?t[i][0]+360:t[i][0],t[i][1]];c.push(a.tester(e))}:\"ATA\"===l?function(t){var e=u(t);if(null===e)return c.push(a.tester(t));var r=new Array(t.length+1),n=0;for(i=0;i<t.length;i++)i>e?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var o=a.tester(r);o.pts.pop(),c.push(o)}:function(t){c.push(a.tester(t))},o.type){case\"MultiPolygon\":for(r=0;r<s.length;r++)for(n=0;n<s[r].length;n++)e(s[r][n]);break;case\"Polygon\":for(r=0;r<s.length;r++)e(s[r])}return c}e.exports=function(t,e,r){for(var a=0;a<r.length;a++)c(r[a],e.topojson);var o=e.layers.backplot.select(\".choroplethlayer\");i.makeTraceGroups(o,r,\"trace choropleth\").each(function(e){var r=(e[0].node3=n.select(this)).selectAll(\"path.choroplethlocation\").data(i.identity);r.enter().append(\"path\").classed(\"choroplethlocation\",!0),r.exit().remove(),l(t,e)})}},{\"../../lib\":693,\"../../lib/geo_location_utils\":685,\"../../lib/polygon\":706,\"../../lib/topojson_utils\":721,\"./style\":907,d3:147}],906:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=c.c2p(i),e.contains([a,o],null,r,t)?(u.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return u}},{}],907:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/color\"),a=t(\"../../components/drawing\"),o=t(\"../../components/colorscale\");function s(t,e){var r=e[0].trace,s=e[0].node3.selectAll(\".choroplethlocation\"),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFunc(o.extractScale(r.colorscale,r.zmin,r.zmax));s.each(function(t){n.select(this).attr(\"fill\",u(t.z)).call(i.stroke,t.mlc||c.color).call(a.dashLine,\"\",t.mlw||c.width||0).style(\"opacity\",l.opacity)}),a.selectedPointStyle(s,r,t)}e.exports={style:function(t,e){e&&s(t,e)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?a.selectedPointStyle(r.selectAll(\".choroplethlocation\"),n,t):s(t,e)}}},{\"../../components/color\":567,\"../../components/colorscale\":582,\"../../components/drawing\":592,d3:147}],908:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../components/colorbar/attributes\"),a=t(\"../mesh3d/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"scaled\",\"absolute\"],editType:\"calc\",dflt:\"scaled\"},sizeref:{valType:\"number\",editType:\"calc\",min:0},anchor:{valType:\"enumerated\",editType:\"calc\",values:[\"tip\",\"tail\",\"cm\",\"center\"],dflt:\"cm\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"}};s(l,n(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:i});[\"opacity\",\"lightposition\",\"lighting\"].forEach(function(t){l[t]=a[t]}),l.hoverinfo=s({},o.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),e.exports=l},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../mesh3d/attributes\":982}],909:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,c=0;c<o;c++){var u=r[c],f=i[c],h=a[c],p=Math.sqrt(u*u+f*f+h*h);s=Math.max(s,p),l=Math.min(l,p)}e._len=o,e._normMax=s,n(e,[l,s],\"\",\"c\")}},{\"../../components/colorscale/calc\":575}],910:[function(t,e,r){\"use strict\";var n=t(\"gl-cone3d\"),i=t(\"gl-cone3d\").createConeMesh,a=t(\"../../lib\").simpleMap,o=t(\"../../lib/gl_format_color\").parseColorScale,s=t(\"../../plots/gl3d/zip3\");function l(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var c=l.prototype;c.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index,r=this.data.x[e],n=this.data.y[e],i=this.data.z[e],a=this.data.u[e],o=this.data.v[e],s=this.data.w[e];t.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.text;return Array.isArray(l)&&void 0!==l[e]?t.textLabel=l[e]:l&&(t.textLabel=l),!0}};var u={xaxis:0,yaxis:1,zaxis:2},f={tip:1,tail:0,cm:.25,center:.5},h={tip:1,tail:1,cm:.75,center:.5};function p(t,e){var r=t.fullSceneLayout,i=t.dataScale,l={};function c(t,e){var n=r[e],o=i[u[e]];return a(t,function(t){return n.d2l(t)*o})}l.vectors=s(c(e.u,\"xaxis\"),c(e.v,\"yaxis\"),c(e.w,\"zaxis\"),e._len),l.positions=s(c(e.x,\"xaxis\"),c(e.y,\"yaxis\"),c(e.z,\"zaxis\"),e._len),l.colormap=o(e.colorscale),l.vertexIntensityBounds=[e.cmin/e._normMax,e.cmax/e._normMax],l.coneOffset=f[e.anchor],\"scaled\"===e.sizemode?l.coneSize=e.sizeref||.5:l.coneSize=e.sizeref&&e._normMax?e.sizeref/e._normMax:.5;var p=n(l),d=e.lightposition;return p.lightPosition=[d.x,d.y,d.z],p.ambient=e.lighting.ambient,p.diffuse=e.lighting.diffuse,p.specular=e.lighting.specular,p.roughness=e.lighting.roughness,p.fresnel=e.lighting.fresnel,p.opacity=e.opacity,e._pad=h[e.anchor]*p.vectorScale*p.coneScale*e._normMax,p}c.update=function(t){this.data=t;var e=p(this.scene,t);this.mesh.update(e)},c.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=p(t,e),a=i(r,n),o=new l(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},{\"../../lib\":693,\"../../lib/gl_format_color\":689,\"../../plots/gl3d/zip3\":795,\"gl-cone3d\":230}],911:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"u\"),c=s(\"v\"),u=s(\"w\"),f=s(\"x\"),h=s(\"y\"),p=s(\"z\");l&&l.length&&c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length&&p&&p.length?(s(\"sizeref\"),s(\"sizemode\"),s(\"anchor\"),s(\"lighting.ambient\"),s(\"lighting.diffuse\"),s(\"lighting.specular\"),s(\"lighting.roughness\"),s(\"lighting.fresnel\"),s(\"lightposition.x\"),s(\"lightposition.y\"),s(\"lightposition.z\"),i(t,e,o,s,{prefix:\"\",cLetter:\"c\"}),s(\"text\"),e._length=null):e.visible=!1}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"./attributes\":908}],912:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"cone\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:{min:\"cmin\",max:\"cmax\"},calc:t(\"./calc\"),plot:t(\"./convert\"),meta:{}}},{\"../../plots/gl3d\":784,\"./attributes\":908,\"./calc\":909,\"./convert\":910,\"./defaults\":911}],913:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/attributes\"),i=t(\"../scatter/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../components/drawing/attributes\").dash,l=t(\"../../plots/font_attributes\"),c=t(\"../../lib/extend\").extendFlat,u=t(\"../../constants/filter_ops\"),f=u.COMPARISON_OPS2,h=u.INTERVAL_OPS,p=i.line;e.exports=c({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,connectgaps:n.connectgaps,fillcolor:{valType:\"color\",editType:\"calc\"},autocontour:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"contours.start\":void 0,\"contours.end\":void 0,\"contours.size\":void 0}},ncontours:{valType:\"integer\",dflt:15,min:1,editType:\"calc\"},contours:{type:{valType:\"enumerated\",values:[\"levels\",\"constraint\"],dflt:\"levels\",editType:\"calc\"},start:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},end:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:{valType:\"boolean\",dflt:!0,editType:\"plot\"},showlabels:{valType:\"boolean\",dflt:!1,editType:\"plot\"},labelfont:l({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\"},operation:{valType:\"enumerated\",values:[].concat(f).concat(h),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:c({},p.color,{editType:\"style+colorbars\"}),width:c({},p.width,{editType:\"style+colorbars\"}),dash:s,smoothing:c({},p.smoothing,{}),editType:\"plot\"}},a(\"\",{cLetter:\"z\",autoColorDflt:!1,editTypeOverride:\"calc\"}),{colorbar:o})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../components/drawing/attributes\":591,\"../../constants/filter_ops\":666,\"../../lib/extend\":682,\"../../plots/font_attributes\":768,\"../heatmap/attributes\":942,\"../scatter/attributes\":1032}],914:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/calc\"),i=t(\"./set_contours\");e.exports=function(t,e){var r=n(t,e);return i(e),r}},{\"../heatmap/calc\":943,\"./set_contours\":932}],915:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i,a,o,s=t[0],l=s.x.length,c=s.y.length,u=s.z,f=n.contours,h=-1/0,p=1/0;for(i=0;i<c;i++)p=Math.min(p,u[i][0]),p=Math.min(p,u[i][l-1]),h=Math.max(h,u[i][0]),h=Math.max(h,u[i][l-1]);for(i=1;i<l-1;i++)p=Math.min(p,u[0][i]),p=Math.min(p,u[c-1][i]),h=Math.max(h,u[0][i]),h=Math.max(h,u[c-1][i]);switch(s.prefixBoundary=!1,e){case\">\":f.value>h&&(s.prefixBoundary=!0);break;case\"<\":f.value<p&&(s.prefixBoundary=!0);break;case\"[]\":a=Math.min.apply(null,f.value),((o=Math.max.apply(null,f.value))<p||a>h)&&(s.prefixBoundary=!0);break;case\"][\":a=Math.min.apply(null,f.value),o=Math.max.apply(null,f.value),a<p&&o>h&&(s.prefixBoundary=!0)}}},{}],916:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorbar/draw\"),i=t(\"./make_color_map\"),a=t(\"./end_plus\");e.exports=function(t,e){var r=e[0].trace,o=\"cb\"+r.uid;if(t._fullLayout._infolayer.selectAll(\".\"+o).remove(),r.showscale){var s=e[0].t.cb=n(t,o),l=r.contours,c=r.line,u=l.size||1,f=l.coloring,h=i(r,{isColorbar:!0});s.fillgradient(\"heatmap\"===f?r.colorscale:\"\").zrange(\"heatmap\"===f?[r.zmin,r.zmax]:\"\").fillcolor(\"fill\"===f?h:\"\").line({color:\"lines\"===f?h:c.color,width:!1!==l.showlines?c.width:0,dash:c.dash}).levels({start:l.start,end:a(l),size:u}).options(r.colorbar)()}}},{\"../../components/colorbar/draw\":572,\"./end_plus\":924,\"./make_color_map\":929}],917:[function(t,e,r){\"use strict\";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],918:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"./label_defaults\"),a=t(\"../../components/color\"),o=a.addOpacity,s=a.opacity,l=t(\"../../constants/filter_ops\"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,a,l,f){var h,p,d,g=e.contours,m=r(\"contours.operation\");(g._operation=c[m],function(t,e){var r;-1===u.indexOf(e.operation)?(t(\"contours.value\",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t(\"contours.value\",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),\"=\"===m?h=g.showlines=!0:(h=r(\"contours.showlines\"),d=r(\"fillcolor\",o((t.line||{}).color||l,.5))),h)&&(p=r(\"line.color\",d&&s(d)?o(e.fillcolor,1):l),r(\"line.width\",2),r(\"line.dash\"));r(\"line.smoothing\"),i(r,a,p,f)}},{\"../../components/color\":567,\"../../constants/filter_ops\":666,\"./label_defaults\":928,\"fast-isnumeric\":213}],919:[function(t,e,r){\"use strict\";var n=t(\"../../constants/filter_ops\"),i=t(\"fast-isnumeric\");function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}e.exports={\"[]\":o(\"[]\"),\"][\":o(\"][\"),\">\":s(\">\"),\"<\":s(\"<\"),\"=\":s(\"=\")}},{\"../../constants/filter_ops\":666,\"fast-isnumeric\":213}],920:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i=n(\"contours.start\"),a=n(\"contours.end\"),o=!1===i||!1===a,s=r(\"contours.size\");!(o?e.autocontour=!0:r(\"autocontour\",!1))&&s||r(\"ncontours\")}},{}],921:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths)})}e.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case\"=\":case\"<\":return t;case\">\":for(1!==t.length&&n.warn(\"Contour data invalid for the specified inequality operation.\"),a=t[0],r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);return t;case\"][\":var c=s;s=l,l=c;case\"[]\":for(2!==t.length&&n.warn(\"Contour data invalid for the specified inequality range operation.\"),a=i(t[0]),o=i(t[1]),r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(;o.edgepaths.length;)a.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)a.paths.push(l(o.paths.shift()));return[a]}}},{\"../../lib\":693}],922:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../heatmap/xyz_defaults\"),a=t(\"./constraint_defaults\"),o=t(\"./contours_defaults\"),s=t(\"./style_defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,l,r,i)}if(i(t,e,u,c)){u(\"text\");var f=\"constraint\"===u(\"contours.type\");u(\"connectgaps\",n.isArray1D(e.z)),f?a(t,e,u,c,r):(o(t,e,u,function(r){return n.coerce2(t,e,l,r)}),s(t,e,u,c))}else e.visible=!1}},{\"../../lib\":693,\"../heatmap/xyz_defaults\":957,\"./attributes\":913,\"./constraint_defaults\":918,\"./contours_defaults\":920,\"./style_defaults\":934}],923:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./constraint_mapping\"),a=t(\"./end_plus\");e.exports=function(t,e,r){for(var o=\"constraint\"===t.type?i[t._operation](t.value):t,s=o.size,l=[],c=a(o),u=r.trace._carpetTrace,f=u?{xaxis:u.aaxis,yaxis:u.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},h=o.start;h<c;h+=s)if(l.push(n.extendFlat({level:h,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},f)),l.length>1e3){n.warn(\"Too many contours, clipping at 1000\",t);break}return l}},{\"../../lib\":693,\"./constraint_mapping\":919,\"./end_plus\":924}],924:[function(t,e,r){\"use strict\";e.exports=function(t){return t.end+t.size/1e6}},{}],925:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./constants\");function a(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function o(t,e,r,o,l){var c,u=e.join(\",\"),f=u,h=t.crossings[f],p=function(t,e,r){var n=0,a=0;t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1;return[n,a]}(h,r,e),d=[s(t,e,[-p[0],-p[1]])],g=p.join(\",\"),m=t.z.length,v=t.z[0].length;for(c=0;c<1e4;c++){if(h>20?(h=i.CHOOSESADDLE[h][(p[0]||p[1])<0?0:1],t.crossings[f]=i.SADDLEREMAINDER[h]):delete t.crossings[f],!(p=i.NEWDELTA[h])){n.log(\"Found bad marching index:\",h,e,t.level);break}d.push(s(t,e,p)),e[0]+=p[0],e[1]+=p[1],a(d[d.length-1],d[d.length-2],o,l)&&d.pop(),f=e.join(\",\");var y=p[0]&&(e[0]<0||e[0]>v-2)||p[1]&&(e[1]<0||e[1]>m-2);if(f===u&&p.join(\",\")===g||r&&y)break;h=t.crossings[f]}1e4===c&&n.log(\"Infinite loop in contour?\");var x,b,_,w,k,M,A,T,S,E,C,L,z,P,O,I=a(d[0],d[d.length-1],o,l),D=0,R=.2*t.smoothing,B=[],F=0;for(c=1;c<d.length;c++)L=d[c],z=d[c-1],void 0,void 0,P=L[2]-z[2],O=L[3]-z[3],D+=A=Math.sqrt(P*P+O*O),B.push(A);var N=D/B.length*R;function j(t){return d[t%d.length]}for(c=d.length-2;c>=F;c--)if((x=B[c])<N){for(_=0,b=c-1;b>=F&&x+B[b]<N;b--)x+=B[b];if(I&&c===d.length-2)for(_=0;_<b&&x+B[_]<N;_++)x+=B[_];k=c-b+_+1,M=Math.floor((c+b+_+2)/2),w=I||c!==d.length-2?I||-1!==b?k%2?j(M):[(j(M)[0]+j(M+1)[0])/2,(j(M)[1]+j(M+1)[1])/2]:d[0]:d[d.length-1],d.splice(b+1,c-b+1,w),c=b+1,_&&(F=_),I&&(c===d.length-2?d[_]=d[d.length-1]:0===c&&(d[d.length-1]=d[0]))}for(d.splice(0,F),c=0;c<d.length;c++)d[c].length=2;if(!(d.length<2))if(I)d.pop(),t.paths.push(d);else{r||n.log(\"Unclosed interior contour?\",t.level,u,d.join(\"L\"));var V=!1;for(T=0;T<t.edgepaths.length;T++)if(E=t.edgepaths[T],!V&&a(E[0],d[d.length-1],o,l)){d.pop(),V=!0;var U=!1;for(S=0;S<t.edgepaths.length;S++)if(a((C=t.edgepaths[S])[C.length-1],d[0],o,l)){U=!0,d.shift(),t.edgepaths.splice(T,1),S===T?t.paths.push(d.concat(C)):(S>T&&S--,t.edgepaths[S]=C.concat(d,E));break}U||(t.edgepaths[T]=d.concat(E))}for(T=0;T<t.edgepaths.length&&!V;T++)a((E=t.edgepaths[T])[E.length-1],d[0],o,l)&&(d.shift(),t.edgepaths[T]=E.concat(d),V=!0);V||t.edgepaths.push(d)}}function s(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[i],!0),n+l,i]}var c=(t.level-a)/(t.z[i+1][n]-a);return[o.c2p(t.x[n],!0),s.c2p((1-c)*t.y[i]+c*t.y[i+1],!0),n,i+c]}e.exports=function(t,e,r){var i,a,s,l;for(e=e||.01,r=r||.01,a=0;a<t.length;a++){for(s=t[a],l=0;l<s.starts.length;l++)o(s,s.starts[l],\"edge\",e,r);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,o(s,Object.keys(s.crossings)[0].split(\",\").map(Number),void 0,e,r);1e4===i&&n.log(\"Infinite loop in contour?\")}}},{\"../../lib\":693,\"./constants\":917}],926:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../heatmap/hover\");e.exports=function(t,e,r,a,o){var s=i(t,e,r,a,o,!0);return s&&s.forEach(function(t){var e=t.trace;\"constraint\"===e.contours.type&&(e.fillcolor&&n.opacity(e.fillcolor)?t.color=n.addOpacity(e.fillcolor,1):e.contours.showlines&&n.opacity(e.line.color)&&(t.color=n.addOpacity(e.line.color,1)))}),s}},{\"../../components/color\":567,\"../heatmap/hover\":949}],927:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\").plot,n.style=t(\"./style\"),n.colorbar=t(\"./colorbar\"),n.hoverPoints=t(\"./hover\"),n.moduleType=\"trace\",n.name=\"contour\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"./attributes\":913,\"./calc\":914,\"./colorbar\":916,\"./defaults\":922,\"./hover\":926,\"./plot\":931,\"./style\":933}],928:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r,i){if(i||(i={}),t(\"contours.showlabels\")){var a=e.font;n.coerceFont(t,\"contours.labelfont\",{family:a.family,size:a.size,color:r}),t(\"contours.labelformat\")}!1!==i.hasHover&&t(\"zhoverformat\")}},{\"../../lib\":693}],929:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/colorscale\"),a=t(\"./end_plus\");e.exports=function(t){var e=t.contours,r=e.start,o=a(e),s=e.size||1,l=Math.floor((o-r)/s)+1,c=\"lines\"===e.coloring?0:1;isFinite(s)||(s=1,l=1);var u,f,h=t.colorscale,p=h.length,d=new Array(p),g=new Array(p);if(\"heatmap\"===e.coloring){for(t.zauto&&!1===t.autocontour&&(t.zmin=r-s/2,t.zmax=t.zmin+l*s),f=0;f<p;f++)u=h[f],d[f]=u[0]*(t.zmax-t.zmin)+t.zmin,g[f]=u[1];var m=n.extent([t.zmin,t.zmax,e.start,e.start+s*(l-1)]),v=m[t.zmin<t.zmax?0:1],y=m[t.zmin<t.zmax?1:0];v!==t.zmin&&(d.splice(0,0,v),g.splice(0,0,Range[0])),y!==t.zmax&&(d.push(y),g.push(g[g.length-1]))}else for(f=0;f<p;f++)u=h[f],d[f]=(u[0]*(l+c-1)-c/2)*s+r,g[f]=u[1];return i.makeColorScaleFunc({domain:d,range:g},{noNumericCheck:!0})}},{\"../../components/colorscale\":582,\"./end_plus\":924,d3:147}],930:[function(t,e,r){\"use strict\";var n=t(\"./constants\");function i(t,e){var r=(e[0][0]>t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,a,o,s,l,c,u,f,h=t[0].z,p=h.length,d=h[0].length,g=2===p||2===d;for(r=0;r<p-1;r++)for(o=[],0===r&&(o=o.concat(n.BOTTOMSTART)),r===p-2&&(o=o.concat(n.TOPSTART)),e=0;e<d-1;e++)for(a=o.slice(),0===e&&(a=a.concat(n.LEFTSTART)),e===d-2&&(a=a.concat(n.RIGHTSTART)),s=e+\",\"+r,l=[[h[r][e],h[r][e+1]],[h[r+1][e],h[r+1][e+1]]],f=0;f<t.length;f++)(c=i((u=t[f]).level,l))&&(u.crossings[s]=c,-1!==a.indexOf(c)&&(u.starts.push([e,r]),g&&-1!==a.indexOf(c,a.indexOf(c)+1)&&u.starts.push([e,r])))}},{\"./constants\":917}],931:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../../lib/svg_text_utils\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../../plots/cartesian/set_convert\"),c=t(\"../heatmap/plot\"),u=t(\"./make_crossings\"),f=t(\"./find_all_paths\"),h=t(\"./empty_pathinfo\"),p=t(\"./convert_to_constraints\"),d=t(\"./close_boundaries\"),g=t(\"./constants\"),m=g.LABELOPTIMIZER;function v(t,e){var r,n,o,s,l,c,u,f=function(t,e){var r=t.prefixBoundary;if(void 0===r){var n=Math.min(t.z[0][0],t.z[0][1]);r=!t.edgepaths.length&&n>t.level}return r?\"M\"+e.join(\"L\")+\"Z\":\"\"}(t,e),h=0,p=t.edgepaths.map(function(t,e){return e}),d=!0;function g(t){return Math.abs(t[1]-e[2][1])<.01}function m(t){return Math.abs(t[0]-e[0][0])<.01}function v(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(c=a.smoothopen(t.edgepaths[h],t.smoothing),f+=d?c:c.replace(/^M/,\"L\"),p.splice(p.indexOf(h),1),r=t.edgepaths[h][t.edgepaths[h].length-1],s=-1,o=0;o<4;o++){if(!r){i.log(\"Missing end?\",h,t);break}for(u=r,Math.abs(u[1]-e[0][1])<.01&&!v(r)?n=e[1]:m(r)?n=e[0]:g(r)?n=e[3]:v(r)&&(n=e[2]),l=0;l<t.edgepaths.length;l++){var y=t.edgepaths[l][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-y[0])<.01&&(y[1]-r[1])*(n[1]-y[1])>=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):i.log(\"endpt to newendpt is not vert. or horz.\",r,n,y)}if(r=n,s>=0)break;f+=\"L\"+n}if(s===t.edgepaths.length){i.log(\"unclosed perimeter path\");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+=\"Z\")}for(h=0;h<t.paths.length;h++)f+=a.smoothclosed(t.paths[h],t.smoothing);return f}function y(t,e,r,n){var a=e.width/2,o=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*a,f=Math.sin(c)*a,h=(s>n.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(c)*o);if(h<1||p<1)return 1/0;var d=m.EDGECOST*(1/(h-1)+1/(p-1));d+=m.ANGLECOST*c*c;for(var g=s-u,v=l-f,y=s+u,x=l+f,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,k=Math.sin(_.theta)*_.width/2,M=2*i.segmentDistance(g,v,y,x,_.x-w,_.y-k,_.x+w,_.y+k)/(e.height+_.height),A=_.level===e.level,T=A?m.SAMELEVELDISTANCE:1;if(M<=T)return 1/0;d+=m.NEIGHBORCOST*(A?m.SAMELEVELFACTOR:1)/(M-T)}return d}r.plot=function(t,e,o,s){var l=e.xaxis,m=e.yaxis,y=t._fullLayout;i.makeTraceGroups(s,o,\"contour\").each(function(o){var s=n.select(this),x=o[0],b=x.trace,_=x.x,w=x.y,k=b.contours,M=h(k,e,x),A=i.ensureSingle(s,\"g\",\"heatmapcoloring\"),T=[];\"heatmap\"===k.coloring&&(b.zauto&&!1===b.autocontour&&(b._input.zmin=b.zmin=k.start-k.size/2,b._input.zmax=b.zmax=b.zmin+M.length*k.size),T=[o]),c(t,e,T,A),u(M),f(M);var S=l.c2p(_[0],!0),E=l.c2p(_[_.length-1],!0),C=m.c2p(w[0],!0),L=m.c2p(w[w.length-1],!0),z=[[S,L],[E,L],[E,C],[S,C]],P=M;\"constraint\"===k.type&&(P=p(M,k._operation),d(P,k._operation,z,b)),function(t,e,r){var n=i.ensureSingle(t,\"g\",\"contourbg\").selectAll(\"path\").data(\"fill\"===r.coloring?[0]:[]);n.enter().append(\"path\"),n.exit().remove(),n.attr(\"d\",\"M\"+e.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}(s,z,k),function(t,e,r,a){var o=i.ensureSingle(t,\"g\",\"contourfill\").selectAll(\"path\").data(\"fill\"===a.coloring||\"constraint\"===a.type&&\"=\"!==a._operation?e:[]);o.enter().append(\"path\"),o.exit().remove(),o.each(function(t){var e=v(t,r);e?n.select(this).attr(\"d\",e).style(\"stroke\",\"none\"):n.select(this).remove()})}(s,P,z,k),function(t,e,o,s,l,c){var u=i.ensureSingle(t,\"g\",\"contourlines\"),f=!1!==l.showlines,h=l.showlabels,p=f&&h,d=r.createLines(u,f||h,e),m=r.createLineClip(u,p,o._fullLayout._clips,s.trace.uid),v=t.selectAll(\"g.contourlabels\").data(h?[0]:[]);if(v.exit().remove(),v.enter().append(\"g\").classed(\"contourlabels\",!0),h){var y=[c],x=[];i.clearLocationCache();var b=r.labelFormatter(l,s.t.cb,o._fullLayout),_=a.tester.append(\"text\").attr(\"data-notex\",1).call(a.font,l.labelfont),w=e[0].xaxis._length,k=e[0].yaxis._length,M={left:Math.max(c[0][0],0),right:Math.min(c[2][0],w),top:Math.max(c[0][1],0),bottom:Math.min(c[2][1],k)};M.middle=(M.top+M.bottom)/2,M.center=(M.left+M.right)/2;var A=Math.sqrt(w*w+k*k),T=g.LABELDISTANCE*A/Math.max(1,e.length/g.LABELINCREASE);d.each(function(t){var e=r.calcTextOpts(t.level,b,_,o);n.select(this).selectAll(\"path\").each(function(){var t=i.getVisibleSegment(this,M,e.height/2);if(t&&!(t.len<(e.width+e.height)*g.LABELMIN))for(var n=Math.min(Math.ceil(t.len/T),g.LABELMAX),a=0;a<n;a++){var o=r.findBestTextLocation(this,t,e,x,M);if(!o)break;r.addLabelData(o,e,x,y)}})}),_.remove(),r.drawLabels(v,x,o,m,p?y:null)}h&&!f&&d.remove()}(s,M,t,x,k,z),function(t,e,r,n,o){var s=\"clip\"+n.trace.uid,l=r.selectAll(\"#\"+s).data(n.trace.connectgaps?[]:[0]);if(l.enter().append(\"clipPath\").classed(\"contourclip\",!0).attr(\"id\",s),l.exit().remove(),!1===n.trace.connectgaps){var c={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)r=n[e],i[r[0]][r[1]]=0;return t.zmask=i,i}(n),smoothing:0};u([c]),f([c]);var h=v(c,o),p=i.ensureSingle(l,\"path\",\"\");p.attr(\"d\",h)}else s=null;t.call(a.setClipUrl,s)}(s,e,y._clips,x,z)})},r.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll(\"g.contourlevel\").data(e?r:[]);if(i.exit().remove(),i.enter().append(\"g\").classed(\"contourlevel\",!0),e){var o=i.selectAll(\"path.openline\").data(function(t){return t.pedgepaths||t.edgepaths});o.exit().remove(),o.enter().append(\"path\").classed(\"openline\",!0),o.attr(\"d\",function(t){return a.smoothopen(t,n)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",\"non-scaling-stroke\");var s=i.selectAll(\"path.closedline\").data(function(t){return t.ppaths||t.paths});s.exit().remove(),s.enter().append(\"path\").classed(\"closedline\",!0),s.attr(\"d\",function(t){return a.smoothclosed(t,n)}).style(\"stroke-miterlimit\",1).style(\"vector-effect\",\"non-scaling-stroke\")}return i},r.createLineClip=function(t,e,r,n){var i=e?\"clipline\"+n:null,o=r.selectAll(\"#\"+i).data(e?[0]:[]);return o.exit().remove(),o.enter().append(\"clipPath\").classed(\"contourlineclip\",!0).attr(\"id\",i),a.setClipUrl(t,i),o},r.labelFormatter=function(t,e,r){if(t.labelformat)return r._d3locale.numberFormat(t.labelformat);var n;if(e)n=e.axis;else{if(n={type:\"linear\",_id:\"ycontour\",showexponent:\"all\",exponentformat:\"B\"},\"constraint\"===t.type){var i=t.value;Array.isArray(i)?n.range=[i[0],i[i.length-1]]:n.range=[i,i]}else n.range=[t.start,t.end],n.nticks=(t.end-t.start)/t.size;n.range[0]===n.range[1]&&(n.range[1]+=n.range[0]||1),n.nticks||(n.nticks=1e3),l(n,r),s.prepTicks(n),n._tmin=null,n._tmax=null}return function(t){return s.tickText(n,t).text}},r.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(o.convertToTspans,n);var s=a.bBox(r.node(),!0);return{text:i,width:s.width,height:s.height,level:t,dy:(s.top+s.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,a){var o,s,l,c,u,f=r.width;e.isClosed?(s=e.len/m.INITIALSEARCHPOINTS,o=e.min+s/2,l=e.max):(s=(e.len-f)/(m.INITIALSEARCHPOINTS+1),o=e.min+s+f/2,l=e.max-(s+f)/2);for(var h=1/0,p=0;p<m.ITERATIONS;p++){for(var d=o;d<l;d+=s){var g=i.getTextLocation(t,e.total,d,f),v=y(g,r,n,a);v<h&&(h=v,u=g,c=d)}if(h>2*m.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(h<=m.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var i=e.width/2,a=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),f=i*u,h=a*c,p=i*c,d=-a*u,g=[[o-f-h,s-p-d],[o+f-h,s+p-d],[o+f+h,s+p+d],[o-f+h,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},r.drawLabels=function(t,e,r,a,s){var l=t.selectAll(\"text\").data(e,function(t){return t.text+\",\"+t.x+\",\"+t.y+\",\"+t.theta});if(l.exit().remove(),l.enter().append(\"text\").attr({\"data-notex\":1,\"text-anchor\":\"middle\"}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:\"rotate(\"+180*t.theta/Math.PI+\" \"+e+\" \"+i+\")\"}).call(o.convertToTspans,r)}),s){for(var c=\"\",u=0;u<s.length;u++)c+=\"M\"+s[u].join(\"L\")+\"Z\";i.ensureSingle(a,\"path\",\"\").attr(\"d\",c)}}},{\"../../components/drawing\":592,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"../../plots/cartesian/axes\":742,\"../../plots/cartesian/set_convert\":760,\"../heatmap/plot\":954,\"./close_boundaries\":915,\"./constants\":917,\"./convert_to_constraints\":921,\"./empty_pathinfo\":923,\"./find_all_paths\":925,\"./make_crossings\":930,d3:147}],932:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../lib\");function a(t,e,r){var i={type:\"linear\",range:[t,e]};return n.autoTicks(i,(e-t)/(r||15)),i}e.exports=function(t){var e=t.contours;if(t.autocontour){var r=t.zmin,o=t.zmax;void 0!==r&&void 0!==o||(r=i.aggNums(Math.min,null,t._z),o=i.aggNums(Math.max,null,t._z));var s=a(r,o,t.ncontours);e.size=s.dtick,e.start=n.tickFirst(s),s.range.reverse(),e.end=n.tickFirst(s),e.start===r&&(e.start+=e.size),e.end===o&&(e.end-=e.size),e.start>e.end&&(e.start=e.end=(e.start+e.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:e.start,end:e.end,size:e.size}),t._input.autocontour=!0}else if(\"constraint\"!==e.type){var l,c=e.start,u=e.end,f=t._input.contours;if(c>u&&(e.start=f.start=u,u=e.end=f.end=c,c=e.start),!(e.size>0))l=c===u?1:a(c,u,t.ncontours).dtick,f.size=e.size=l}}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742}],933:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../heatmap/style\"),o=t(\"./make_color_map\");e.exports=function(t){var e=n.select(t).selectAll(\"g.contour\");e.style(\"opacity\",function(t){return t[0].trace.opacity}),e.each(function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u=\"constraint\"===a.type,f=!u&&\"lines\"===a.coloring,h=!u&&\"fill\"===a.coloring,p=f||h?o(r):null;e.selectAll(\"g.contourlevel\").each(function(t){n.select(this).selectAll(\"path\").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)});var d=a.labelfont;if(e.selectAll(\"g.contourlabels text\").each(function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})}),u)e.selectAll(\"g.contourfill path\").style(\"fill\",r.fillcolor);else if(h){var g;e.selectAll(\"g.contourfill path\").style(\"fill\",function(t){return void 0===g&&(g=t.level),p(t.level+.5*l)}),void 0===g&&(g=c),e.selectAll(\"g.contourbg path\").style(\"fill\",p(g-.5*l))}}),a(t)}},{\"../../components/drawing\":592,\"../heatmap/style\":955,\"./make_color_map\":929,d3:147}],934:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/defaults\"),i=t(\"./label_defaults\");e.exports=function(t,e,r,a,o){var s,l=r(\"contours.coloring\"),c=\"\";\"fill\"===l&&(s=r(\"contours.showlines\")),!1!==s&&(\"lines\"!==l&&(c=r(\"line.color\",\"#000\")),r(\"line.width\",.5),r(\"line.dash\")),\"none\"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:\"\",cLetter:\"z\"})),r(\"line.smoothing\"),i(r,a,c,o)}},{\"../../components/colorscale/defaults\":577,\"./label_defaults\":928}],935:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/attributes\"),i=t(\"../contour/attributes\"),a=i.contours,o=t(\"../scatter/attributes\"),s=t(\"../../components/colorscale/attributes\"),l=t(\"../../components/colorbar/attributes\"),c=t(\"../../lib/extend\").extendFlat,u=o.line;e.exports=c({carpet:{valType:\"string\",editType:\"calc\"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:a.type,start:a.start,end:a.end,size:a.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:a.showlines,showlabels:a.showlabels,labelfont:a.labelfont,labelformat:a.labelformat,operation:a.operation,value:a.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:c({},u.color,{}),width:u.width,dash:u.dash,smoothing:c({},u.smoothing,{}),editType:\"plot\"}},s(\"\",{cLetter:\"z\",autoColorDflt:!1}),{colorbar:l})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../contour/attributes\":913,\"../heatmap/attributes\":942,\"../scatter/attributes\":1032}],936:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\"),i=t(\"../../lib\").isArray1D,a=t(\"../heatmap/convert_column_xyz\"),o=t(\"../heatmap/clean_2d_array\"),s=t(\"../heatmap/max_row_length\"),l=t(\"../heatmap/interp2d\"),c=t(\"../heatmap/find_empties\"),u=t(\"../heatmap/make_bound_array\"),f=t(\"./defaults\"),h=t(\"../carpet/lookup_carpetid\"),p=t(\"../contour/set_contours\");e.exports=function(t,e){var r=e._carpetTrace=h(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){if(!e.a||!e.b){var d=t.data[r.index],g=t.data[e.index];g.a||(g.a=d.a),g.b||(g.b=d.b),f(g,e,e._defaultColor,t._fullLayout)}var m=function(t,e){var r,f,h,p,d,g,m,v=e._carpetTrace,y=v.aaxis,x=v.baxis;y._minDtick=0,x._minDtick=0,i(e.z)&&a(e,y,x,\"a\",\"b\",[\"z\"]);r=e._a=e._a||e.a,p=e._b=e._b||e.b,r=r?y.makeCalcdata(e,\"_a\"):[],p=p?x.makeCalcdata(e,\"_b\"):[],f=e.a0||0,h=e.da||1,d=e.b0||0,g=e.db||1,m=e._z=o(e._z||e.z,e.transpose),e._emptypoints=c(m),l(m,e._emptypoints);var b=s(m),_=\"scaled\"===e.xtype?\"\":r,w=u(e,_,f,h,b,y),k=\"scaled\"===e.ytype?\"\":p,M=u(e,k,d,g,m.length,x),A={a:w,b:M,z:m};\"levels\"===e.contours.type&&\"none\"!==e.contours.coloring&&n(e,m,\"\",\"z\");return[A]}(0,e);return p(e),m}}},{\"../../components/colorscale/calc\":575,\"../../lib\":693,\"../carpet/lookup_carpetid\":891,\"../contour/set_contours\":932,\"../heatmap/clean_2d_array\":944,\"../heatmap/convert_column_xyz\":946,\"../heatmap/find_empties\":948,\"../heatmap/interp2d\":951,\"../heatmap/make_bound_array\":952,\"../heatmap/max_row_length\":953,\"./defaults\":937}],937:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../heatmap/xyz_defaults\"),a=t(\"./attributes\"),o=t(\"../contour/constraint_defaults\"),s=t(\"../contour/contours_defaults\"),l=t(\"../contour/style_defaults\");e.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,a,r,i)}if(u(\"carpet\"),t.a&&t.b){if(!i(t,e,u,c,\"a\",\"b\"))return void(e.visible=!1);u(\"text\"),\"constraint\"===u(\"contours.type\")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,function(r){return n.coerce2(t,e,a,r)}),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{\"../../lib\":693,\"../contour/constraint_defaults\":918,\"../contour/contours_defaults\":920,\"../contour/style_defaults\":934,\"../heatmap/xyz_defaults\":957,\"./attributes\":935}],938:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../contour/colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"../contour/style\"),n.moduleType=\"trace\",n.name=\"contourcarpet\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"../contour/colorbar\":916,\"../contour/style\":933,\"./attributes\":935,\"./calc\":936,\"./defaults\":937,\"./plot\":941}],939:[function(t,e,r){\"use strict\";var n=t(\"../../components/drawing\"),i=t(\"../carpet/axis_aligned_line\"),a=t(\"../../lib\");e.exports=function(t,e,r,o,s,l,c,u){var f,h,p,d,g,m,v,y=\"\",x=e.edgepaths.map(function(t,e){return e}),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function k(t){return Math.abs(t[1]-r[0][1])<w}function M(t){return Math.abs(t[1]-r[2][1])<w}function A(t){return Math.abs(t[0]-r[0][0])<_}function T(t){return Math.abs(t[0]-r[2][0])<_}function S(t,e){var r,n,a,o,f=\"\";for(k(t)&&!T(t)||M(t)&&!A(t)?(o=s.aaxis,a=i(s,l,[t[0],e[0]],.5*(t[1]+e[1]))):(o=s.baxis,a=i(s,l,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<a.length;r++)for(f+=o.smoothing?\"C\":\"L\",n=0;n<a[r].length;n++){var h=a[r][n];f+=[c.c2p(h[0]),u.c2p(h[1])]+\" \"}return f}for(f=0,h=null;x.length;){var E=e.edgepaths[f][0];for(h&&(y+=S(h,E)),v=n.smoothopen(e.edgepaths[f].map(o),e.smoothing),y+=b?v:v.replace(/^M/,\"L\"),x.splice(x.indexOf(f),1),h=e.edgepaths[f][e.edgepaths[f].length-1],g=-1,d=0;d<4;d++){if(!h){a.log(\"Missing end?\",f,e);break}for(k(h)&&!T(h)?p=r[1]:A(h)?p=r[0]:M(h)?p=r[3]:T(h)&&(p=r[2]),m=0;m<e.edgepaths.length;m++){var C=e.edgepaths[m][0];Math.abs(h[0]-p[0])<_?Math.abs(h[0]-C[0])<_&&(C[1]-h[1])*(p[1]-C[1])>=0&&(p=C,g=m):Math.abs(h[1]-p[1])<w?Math.abs(h[1]-C[1])<w&&(C[0]-h[0])*(p[0]-C[0])>=0&&(p=C,g=m):a.log(\"endpt to newendpt is not vert. or horz.\",h,p,C)}if(g>=0)break;y+=S(h,p),h=p}if(g===e.edgepaths.length){a.log(\"unclosed perimeter path\");break}f=g,(b=-1===x.indexOf(f))&&(f=x[0],y+=S(h,p)+\"Z\",h=null)}for(f=0;f<e.paths.length;f++)y+=n.smoothclosed(e.paths[f].map(o),e.smoothing);return y}},{\"../../components/drawing\":592,\"../../lib\":693,\"../carpet/axis_aligned_line\":875}],940:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r<t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(u=a.edgepaths[n],l=[],i=0;i<u.length;i++)l[i]=e(u[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(u=a.paths[n],c=[],i=0;i<u.length;i++)c[i]=e(u[i]);s.push(c)}}}},{}],941:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../carpet/map_1d_array\"),a=t(\"../carpet/makepath\"),o=t(\"../../components/drawing\"),s=t(\"../../lib\"),l=t(\"../contour/make_crossings\"),c=t(\"../contour/find_all_paths\"),u=t(\"../contour/plot\"),f=t(\"../contour/constants\"),h=t(\"../contour/convert_to_constraints\"),p=t(\"./join_all_paths\"),d=t(\"../contour/empty_pathinfo\"),g=t(\"./map_pathinfo\"),m=t(\"../carpet/lookup_carpetid\"),v=t(\"../contour/close_boundaries\");function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function x(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function b(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}e.exports=function(t,e,r,_){var w=e.xaxis,k=e.yaxis;s.makeTraceGroups(_,r,\"contour\").each(function(r){var _=n.select(this),M=r[0],A=M.trace,T=A._carpetTrace=m(t,A),S=t.calcdata[T.index][0];if(T.visible&&\"legendonly\"!==T.visible){var E=M.a,C=M.b,L=A.contours,z=d(L,e,M),P=\"constraint\"===L.type,O=L._operation,I=P?\"=\"===O?\"lines\":\"fill\":L.coloring,D=[[E[0],C[C.length-1]],[E[E.length-1],C[C.length-1]],[E[E.length-1],C[0]],[E[0],C[0]]];l(z);var R=1e-8*(E[E.length-1]-E[0]),B=1e-8*(C[C.length-1]-C[0]);c(z,R,B);var F,N,j,V,U=z;\"constraint\"===L.type&&(U=h(z,O),v(U,O,D,A)),g(z,G);var q=[];for(V=S.clipsegments.length-1;V>=0;V--)F=S.clipsegments[V],N=i([],F.x,w.c2p),j=i([],F.y,k.c2p),N.reverse(),j.reverse(),q.push(a(N,j,F.bicubic));var H=\"M\"+q.join(\"L\")+\"Z\";!function(t,e,r,n,o,l){var c,u,f,h,p=s.ensureSingle(t,\"g\",\"contourbg\").selectAll(\"path\").data(\"fill\"!==l||o?[]:[0]);p.enter().append(\"path\"),p.exit().remove();var d=[];for(h=0;h<e.length;h++)c=e[h],u=i([],c.x,r.c2p),f=i([],c.y,n.c2p),d.push(a(u,f,c.bicubic));p.attr(\"d\",\"M\"+d.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}(_,S.clipsegments,w,k,P,I),function(t,e,r,i,a,o,l,c,u,f,h){var d=s.ensureSingle(e,\"g\",\"contourfill\").selectAll(\"path\").data(\"fill\"===f?a:[]);d.enter().append(\"path\"),d.exit().remove(),d.each(function(e){var a=p(t,e,o,l,c,u,r,i);e.prefixBoundary&&(a=h+a),a?n.select(this).attr(\"d\",a).style(\"stroke\",\"none\"):n.select(this).remove()})}(A,_,w,k,U,D,G,T,S,I,H),function(t,e,r,i,a,l,c){var h=s.ensureSingle(t,\"g\",\"contourlines\"),p=!1!==a.showlines,d=a.showlabels,g=p&&d,m=u.createLines(h,p||d,e),v=u.createLineClip(h,g,r._fullLayout._defs,i.trace.uid),_=t.selectAll(\"g.contourlabels\").data(d?[0]:[]);if(_.exit().remove(),_.enter().append(\"g\").classed(\"contourlabels\",!0),d){var w=l.xaxis,k=l.yaxis,M=w._length,A=k._length,T=[[[0,0],[M,0],[M,A],[0,A]]],S=[];s.clearLocationCache();var E=u.labelFormatter(a,i.t.cb,r._fullLayout),C=o.tester.append(\"text\").attr(\"data-notex\",1).call(o.font,a.labelfont),L={left:0,right:M,center:M/2,top:0,bottom:A,middle:A/2},z=Math.sqrt(M*M+A*A),P=f.LABELDISTANCE*z/Math.max(1,e.length/f.LABELINCREASE);m.each(function(t){var e=u.calcTextOpts(t.level,E,C,r);n.select(this).selectAll(\"path\").each(function(r){var n=s.getVisibleSegment(this,L,e.height/2);if(n&&(function(t,e,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=i.a[0],c=i.a[i.a.length-1],u=i.b[0],f=i.b[i.b.length-1];function h(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-c)<.1)&&(r=x(i.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,a*b(e,r)/2)),(Math.abs(t[1]-u)<.1||Math.abs(t[1]-f)<.1)&&(r=x(i.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,a*b(e,r)/2)),n}var p=y(t,0,1),d=y(t,n.total,n.total-1),g=h(o[0],p),m=n.total-h(o[o.length-1],d);n.min<g&&(n.min=g);n.max>m&&(n.max=m);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*f.LABELMIN)))for(var i=Math.min(Math.ceil(n.len/P),f.LABELMAX),a=0;a<i;a++){var o=u.findBestTextLocation(this,n,e,S,L);if(!o)break;u.addLabelData(o,e,S,T)}})}),C.remove(),u.drawLabels(_,S,r,v,g?T:null)}d&&!p&&m.remove()}(_,z,t,M,L,e,T),o.setClipUrl(_,T._clipPathId)}function G(t){var e=T.ab2xy(t[0],t[1],!0);return[w.c2p(e[0]),k.c2p(e[1])]}})}},{\"../../components/drawing\":592,\"../../lib\":693,\"../carpet/lookup_carpetid\":891,\"../carpet/makepath\":892,\"../carpet/map_1d_array\":893,\"../contour/close_boundaries\":915,\"../contour/constants\":917,\"../contour/convert_to_constraints\":921,\"../contour/empty_pathinfo\":923,\"../contour/find_all_paths\":925,\"../contour/make_crossings\":930,\"../contour/plot\":931,\"./join_all_paths\":939,\"./map_pathinfo\":940,d3:147}],942:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../lib/extend\").extendFlat;e.exports=o({z:{valType:\"data_array\",editType:\"calc\"},x:o({},n.x,{impliedEdits:{xtype:\"array\"}}),x0:o({},n.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:o({},n.dx,{impliedEdits:{xtype:\"scaled\"}}),y:o({},n.y,{impliedEdits:{ytype:\"array\"}}),y0:o({},n.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:o({},n.dy,{impliedEdits:{ytype:\"scaled\"}}),text:{valType:\"data_array\",editType:\"calc\"},transpose:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xtype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},ytype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",\"best\",!1],dflt:!1,editType:\"calc\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xgap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},ygap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},zhoverformat:{valType:\"string\",dflt:\"\",editType:\"none\"}},i(\"\",{cLetter:\"z\",autoColorDflt:!1}),{colorbar:a})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../scatter/attributes\":1032}],943:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../histogram2d/calc\"),s=t(\"../../components/colorscale/calc\"),l=t(\"./convert_column_xyz\"),c=t(\"./max_row_length\"),u=t(\"./clean_2d_array\"),f=t(\"./interp2d\"),h=t(\"./find_empties\"),p=t(\"./make_bound_array\");e.exports=function(t,e){var r,d,g,m,v,y,x,b,_,w=a.getFromId(t,e.xaxis||\"x\"),k=a.getFromId(t,e.yaxis||\"y\"),M=n.traceIs(e,\"contour\"),A=n.traceIs(e,\"histogram\"),T=n.traceIs(e,\"gl2d\"),S=M?\"best\":e.zsmooth;if(w._minDtick=0,k._minDtick=0,A)r=(_=o(t,e)).x,d=_.x0,g=_.dx,m=_.y,v=_.y0,y=_.dy,x=_.z;else{var E=e.z;i.isArray1D(E)?(l(e,w,k,\"x\",\"y\",[\"z\"]),r=e._x,m=e._y,E=e._z):(r=e.x?w.makeCalcdata(e,\"x\"):[],m=e.y?k.makeCalcdata(e,\"y\"):[]),d=e.x0||0,g=e.dx||1,v=e.y0||0,y=e.dy||1,x=u(E,e.transpose),(M||e.connectgaps)&&(e._emptypoints=h(x),f(x,e._emptypoints))}function C(t){S=e._input.zsmooth=e.zsmooth=!1,i.warn('cannot use zsmooth: \"fast\": '+t)}if(\"fast\"===S)if(\"log\"===w.type||\"log\"===k.type)C(\"log axis found\");else if(!A){if(r.length){var L=(r[r.length-1]-r[0])/(r.length-1),z=Math.abs(L/100);for(b=0;b<r.length-1;b++)if(Math.abs(r[b+1]-r[b]-L)>z){C(\"x scale is not linear\");break}}if(m.length&&\"fast\"===S){var P=(m[m.length-1]-m[0])/(m.length-1),O=Math.abs(P/100);for(b=0;b<m.length-1;b++)if(Math.abs(m[b+1]-m[b]-P)>O){C(\"y scale is not linear\");break}}}var I=c(x),D=\"scaled\"===e.xtype?\"\":r,R=p(e,D,d,g,I,w),B=\"scaled\"===e.ytype?\"\":m,F=p(e,B,v,y,x.length,k);T||(e._extremes[w._id]=a.findExtremes(w,R),e._extremes[k._id]=a.findExtremes(k,F));var N={x:R,y:F,z:x,text:e._text||e.text};if(D&&D.length===R.length-1&&(N.xCenter=D),B&&B.length===F.length-1&&(N.yCenter=B),A&&(N.xRanges=_.xRanges,N.yRanges=_.yRanges,N.pts=_.pts),M&&\"constraint\"===e.contours.type||s(e,x,\"\",\"z\"),M&&e.contours&&\"heatmap\"===e.contours.coloring){var j={type:\"contour\"===e.type?\"heatmap\":\"histogram2d\",xcalendar:e.xcalendar,ycalendar:e.ycalendar};N.xfill=p(j,D,d,g,I,w),N.yfill=p(j,B,v,y,x.length,k)}return[N]}},{\"../../components/colorscale/calc\":575,\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../../registry\":825,\"../histogram2d/calc\":974,\"./clean_2d_array\":944,\"./convert_column_xyz\":946,\"./find_empties\":948,\"./interp2d\":951,\"./make_bound_array\":952,\"./max_row_length\":953}],944:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t,e){var r,i,a,o,s,l;function c(t){if(n(t))return+t}if(e){for(r=0,s=0;s<t.length;s++)r=Math.max(r,t[s].length);if(0===r)return!1;a=function(t){return t.length},o=function(t,e,r){return t[r][e]}}else r=t.length,a=function(t,e){return t[e].length},o=function(t,e,r){return t[e][r]};var u=new Array(r);for(s=0;s<r;s++)for(i=a(t,s),u[s]=new Array(i),l=0;l<i;l++)u[s][l]=c(o(t,s,l));return u}},{\"fast-isnumeric\":213}],945:[function(t,e,r){\"use strict\";e.exports={min:\"zmin\",max:\"zmax\"}},{}],946:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r,a,o,s){var l,c,u,f=t._length,h=t[a].slice(0,f),p=t[o].slice(0,f),d=t.text,g=void 0!==d&&n.isArray1D(d),m=t[a+\"calendar\"],v=t[o+\"calendar\"];for(l=0;l<f;l++)h[l]=e.d2c(h[l],0,m),p[l]=r.d2c(p[l],0,v);var y,x,b,_=n.distinctVals(h),w=_.vals,k=n.distinctVals(p),M=k.vals,A=[];for(l=0;l<s.length;l++)A[l]=n.init2dArray(M.length,w.length);for(g&&(b=n.init2dArray(M.length,w.length)),l=0;l<f;l++)if(h[l]!==i&&p[l]!==i){for(y=n.findBin(h[l]+_.minDiff/2,w),x=n.findBin(p[l]+k.minDiff/2,M),c=0;c<s.length;c++)u=t[s[c]],A[c][x][y]=u[l];g&&(b[x][y]=d[l])}for(t[\"_\"+a]=w,t[\"_\"+o]=M,c=0;c<s.length;c++)t[\"_\"+s[c]]=A[c];g&&(t._text=b)}},{\"../../constants/numerical\":670,\"../../lib\":693}],947:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./xyz_defaults\"),a=t(\"./style_defaults\"),o=t(\"../../components/colorscale/defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l)?(c(\"text\"),a(t,e,c,l),c(\"connectgaps\",n.isArray1D(e.z)&&!1!==e.zsmooth),o(t,e,l,c,{prefix:\"\",cLetter:\"z\"})):e.visible=!1}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"./attributes\":942,\"./style_defaults\":956,\"./xyz_defaults\":957}],948:[function(t,e,r){\"use strict\";var n=t(\"./max_row_length\");e.exports=function(t){var e,r,i,a,o,s,l,c,u=[],f={},h=[],p=t[0],d=[],g=[0,0,0],m=n(t);for(r=0;r<t.length;r++)for(e=d,d=p,p=t[r+1]||[],i=0;i<m;i++)void 0===d[i]&&((s=(void 0!==d[i-1]?1:0)+(void 0!==d[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==p[i]?1:0))?(0===r&&s++,0===i&&s++,r===t.length-1&&s++,i===d.length-1&&s++,s<4&&(f[[r,i]]=[r,i,s]),u.push([r,i,s])):h.push([r,i]));for(;h.length;){for(l={},c=!1,o=h.length-1;o>=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||g)[2]+(f[[r+1,i]]||g)[2]+(f[[r,i-1]]||g)[2]+(f[[r,i+1]]||g)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),c=!0);if(!c)throw\"findEmpties iterated with no new neighbors\";for(a in l)f[a]=l[a],u.push(l[a])}return u.sort(function(t,e){return e[2]-t[2]})}},{\"./max_row_length\":953}],949:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r,o,s,l){var c,u,f,h,p=t.cd[0],d=p.trace,g=t.xa,m=t.ya,v=p.x,y=p.y,x=p.z,b=p.xCenter,_=p.yCenter,w=p.zmask,k=[d.zmin,d.zmax],M=d.zhoverformat,A=v,T=y;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index)}if(f<0||f>=x[0].length||h<0||h>x.length)return}else{if(n.inbox(e-v[0],e-v[v.length-1],0)>0||n.inbox(r-y[0],r-y[y.length-1],0)>0)return;if(l){var S;for(A=[2*v[0]-v[1]],S=1;S<v.length;S++)A.push((v[S]+v[S-1])/2);for(A.push([2*v[v.length-1]-v[v.length-2]]),T=[2*y[0]-y[1]],S=1;S<y.length;S++)T.push((y[S]+y[S-1])/2);T.push([2*y[y.length-1]-y[y.length-2]])}f=Math.max(0,Math.min(A.length-2,i.findBin(e,A))),h=Math.max(0,Math.min(T.length-2,i.findBin(r,T)))}var E=g.c2p(v[f]),C=g.c2p(v[f+1]),L=m.c2p(y[h]),z=m.c2p(y[h+1]);l?(C=E,c=v[f],z=L,u=y[h]):(c=b?b[f]:(v[f]+v[f+1])/2,u=_?_[h]:(y[h]+y[h+1])/2,d.zsmooth&&(E=C=g.c2p(c),L=z=m.c2p(u)));var P,O,I=x[h][f];w&&!w[h][f]&&(I=void 0),Array.isArray(p.text)&&Array.isArray(p.text[h])&&(P=p.text[h][f]);var D={type:\"linear\",range:k,hoverformat:M,_separators:g._separators,_numFormat:g._numFormat};return O=a.tickText(D,I,\"hover\").text,[i.extendFlat(t,{index:[h,f],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:E,x1:C,y0:L,y1:z,xLabelVal:c,yLabelVal:u,zLabelVal:I,zLabel:O,text:P})]}},{\"../../components/fx\":609,\"../../lib\":693,\"../../plots/cartesian/axes\":742}],950:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.colorbar=t(\"./colorbar\"),n.style=t(\"./style\"),n.hoverPoints=t(\"./hover\"),n.moduleType=\"trace\",n.name=\"heatmap\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"2dMap\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"./attributes\":942,\"./calc\":943,\"./colorbar\":945,\"./defaults\":947,\"./hover\":949,\"./plot\":954,\"./style\":955}],951:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=[[-1,0],[1,0],[0,-1],[0,1]];function a(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,a,o,s,l,c,u,f,h,p,d,g,m,v=0;for(s=0;s<e.length;s++){for(a=(n=e[s])[0],o=n[1],d=t[a][o],p=0,h=0,l=0;l<4;l++)(u=t[a+(c=i[l])[0]])&&void 0!==(f=u[o+c[1]])&&(0===p?g=m=f:(g=Math.min(g,f),m=Math.max(m,f)),h++,p+=f);if(0===h)throw\"iterateInterp2d order is wrong: no defined neighbors\";t[a][o]=p/h,void 0===d?h<4&&(v=1):(t[a][o]=(1+r)*t[a][o]-r*d,m>g&&(v=Math.max(v,Math.abs(t[a][o]-d)/(m-g))))}return v}e.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r<e.length&&!(e[r][2]<4);r++);for(e=e.slice(r),r=0;r<100&&i>.01;r++)i=o(t,e,a(i));return i>.01&&n.log(\"interp2d didn't converge quickly\",i),t}},{\"../../lib\":693}],952:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,a,o,s){var l,c,u,f=[],h=n.traceIs(t,\"contour\"),p=n.traceIs(t,\"histogram\"),d=n.traceIs(t,\"gl2d\");if(i(e)&&e.length>1&&!p&&\"category\"!==s.type){var g=e.length;if(!(g<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],u=1;u<g;u++)f.push(.5*(e[u-1]+e[u]));f.push(1.5*e[g-1]-.5*e[g-2])}if(g<o){var m=f[f.length-1],v=m-f[f.length-2];for(u=g;u<o;u++)m+=v,f.push(m)}}else{c=a||1;var y=t[s._id.charAt(0)+\"calendar\"];for(l=p||\"category\"===s.type?s.r2c(r,0,y)||0:i(e)&&1===e.length?e[0]:void 0===r?0:s.d2c(r,0,y),u=h||d?0:-.5;u<o;u++)f.push(l+c*u)}return f}},{\"../../lib\":693,\"../../registry\":825}],953:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,t[r].length);return e}},{}],954:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"tinycolor2\"),a=t(\"../../registry\"),o=t(\"../../lib\"),s=t(\"../../components/colorscale\"),l=t(\"../../constants/xmlns_namespaces\"),c=t(\"./max_row_length\");function u(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=e[n+1],s=o.constrain(n+(t-i)/(a-i)-.5,0,r),l=Math.round(s),c=Math.abs(s-l);return s&&s!==r&&c?{bin0:l,frac:c,bin1:Math.round(l+c/(s-l))}:{bin0:l,bin1:l,frac:0}}function f(t,e){var r=e.length-1,n=o.constrain(o.findBin(t,e),0,r),i=e[n],a=(t-i)/(e[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function h(t,e,r){t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=Math.round(255*r[3])}e.exports=function(t,e,r,p){var d=e.xaxis,g=e.yaxis;o.makeTraceGroups(p,r,\"hm\").each(function(e){var r,p,m,v,y,x,b=n.select(this),_=e[0],w=_.trace,k=_.z,M=_.x,A=_.y,T=_.xCenter,S=_.yCenter,E=a.traceIs(w,\"contour\"),C=E?\"best\":w.zsmooth,L=k.length,z=c(k),P=!1,O=!1;for(x=0;void 0===r&&x<M.length-1;)r=d.c2p(M[x]),x++;for(x=M.length-1;void 0===p&&x>0;)p=d.c2p(M[x]),x--;for(p<r&&(m=p,p=r,r=m,P=!0),x=0;void 0===v&&x<A.length-1;)v=g.c2p(A[x]),x++;for(x=A.length-1;void 0===y&&x>0;)y=g.c2p(A[x]),x--;if(y<v&&(m=v,v=y,y=m,O=!0),E&&(T=M,S=A,M=_.xfill,A=_.yfill),\"fast\"!==C){var I=\"best\"===C?0:.5;r=Math.max(-I*d._length,r),p=Math.min((1+I)*d._length,p),v=Math.max(-I*g._length,v),y=Math.min((1+I)*g._length,y)}var D=Math.round(p-r),R=Math.round(y-v);if(D<=0||R<=0){b.selectAll(\"image\").data([]).exit().remove()}else{var B,F;\"fast\"===C?(B=z,F=L):(B=D,F=R);var N=document.createElement(\"canvas\");N.width=B,N.height=F;var j,V,U=N.getContext(\"2d\"),q=s.makeColorScaleFunc(s.extractScale(w.colorscale,w.zmin,w.zmax),{noNumericCheck:!0,returnArray:!0});\"fast\"===C?(j=P?function(t){return z-1-t}:o.identity,V=O?function(t){return L-1-t}:o.identity):(j=function(t){return o.constrain(Math.round(d.c2p(M[t])-r),0,D)},V=function(t){return o.constrain(Math.round(g.c2p(A[t])-v),0,R)});var H,G,W,Y,X,Z=V(0),$=[Z,Z],J=P?0:1,K=O?0:1,Q=0,tt=0,et=0,rt=0;if(C){var nt,it=0;try{nt=new Uint8Array(D*R*4)}catch(t){nt=new Array(D*R*4)}if(\"best\"===C){var at,ot,st,lt=T||M,ct=S||A,ut=new Array(lt.length),ft=new Array(ct.length),ht=new Array(D),pt=T?f:u,dt=S?f:u;for(x=0;x<lt.length;x++)ut[x]=Math.round(d.c2p(lt[x])-r);for(x=0;x<ct.length;x++)ft[x]=Math.round(g.c2p(ct[x])-v);for(x=0;x<D;x++)ht[x]=pt(x,ut);for(G=0;G<R;G++)for(ot=k[(at=dt(G,ft)).bin0],st=k[at.bin1],x=0;x<D;x++,it+=4)h(nt,it,X=At(ot,st,ht[x],at))}else for(G=0;G<L;G++)for(Y=k[G],$=V(G),x=0;x<D;x++)X=Mt(Y[x],1),h(nt,it=4*($*D+j(x)),X);var gt=U.createImageData(D,R);try{gt.data.set(nt)}catch(t){var mt=gt.data,vt=mt.length;for(G=0;G<vt;G++)mt[G]=nt[G]}U.putImageData(gt,0,0)}else{var yt=w.xgap,xt=w.ygap,bt=Math.floor(yt/2),_t=Math.floor(xt/2);for(G=0;G<L;G++)if(Y=k[G],$.reverse(),$[K]=V(G+1),$[0]!==$[1]&&void 0!==$[0]&&void 0!==$[1])for(H=[W=j(0),W],x=0;x<z;x++)H.reverse(),H[J]=j(x+1),H[0]!==H[1]&&void 0!==H[0]&&void 0!==H[1]&&(X=Mt(Y[x],(H[1]-H[0])*($[1]-$[0])),U.fillStyle=\"rgba(\"+X.join(\",\")+\")\",U.fillRect(H[0]+bt,$[0]+_t,H[1]-H[0]-yt,$[1]-$[0]-xt))}tt=Math.round(tt/Q),et=Math.round(et/Q),rt=Math.round(rt/Q);var wt=i(\"rgb(\"+tt+\",\"+et+\",\"+rt+\")\");t._hmpixcount=(t._hmpixcount||0)+Q,t._hmlumcount=(t._hmlumcount||0)+Q*wt.getLuminance();var kt=b.selectAll(\"image\").data(e);kt.enter().append(\"svg:image\").attr({xmlns:l.svg,preserveAspectRatio:\"none\"}),kt.attr({height:R,width:D,x:r,y:v,\"xlink:href\":N.toDataURL(\"image/png\")})}function Mt(t,e){if(void 0!==t){var r=q(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),Q+=e,tt+=r[0]*e,et+=r[1]*e,rt+=r[2]*e,r}return[0,0,0,0]}function At(t,e,r,n){var i=t[r.bin0];if(void 0===i)return Mt(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],c=o-i||0,u=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,Mt(i+r.frac*c+n.frac*(u+r.frac*a))}})}},{\"../../components/colorscale\":582,\"../../constants/xmlns_namespaces\":671,\"../../lib\":693,\"../../registry\":825,\"./max_row_length\":953,d3:147,tinycolor2:511}],955:[function(t,e,r){\"use strict\";var n=t(\"d3\");e.exports=function(t){n.select(t).selectAll(\".hm image\").style(\"opacity\",function(t){return t.trace.opacity})}},{d3:147}],956:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){!1===r(\"zsmooth\")&&(r(\"xgap\"),r(\"ygap\")),r(\"zhoverformat\")}},{}],957:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../registry\");function o(t,e){var r=e(t);return\"scaled\"===(r?e(t+\"type\",\"array\"):\"scaled\")&&(e(t+\"0\"),e(\"d\"+t)),r}e.exports=function(t,e,r,s,l,c){var u,f,h=r(\"z\");if(l=l||\"x\",c=c||\"y\",void 0===h||!h.length)return 0;if(i.isArray1D(t.z)){if(u=r(l),f=r(c),!(u&&u.length&&f&&f.length))return 0;e._length=Math.min(u.length,f.length,h.length)}else{if(u=o(l,r),f=o(c,r),!function(t){for(var e,r=!0,a=!1,o=!1,s=0;s<t.length;s++){if(e=t[s],!i.isArrayOrTypedArray(e)){r=!1;break}e.length>0&&(a=!0);for(var l=0;l<e.length;l++)if(n(e[l])){o=!0;break}}return r&&a&&o}(h))return 0;r(\"transpose\"),e._length=null}return a.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[l,c],s),!0}},{\"../../lib\":693,\"../../registry\":825,\"fast-isnumeric\":213}],958:[function(t,e,r){\"use strict\";for(var n=t(\"../heatmap/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/edit_types\").overrideAll,l=[\"z\",\"x\",\"x0\",\"dx\",\"y\",\"y0\",\"dy\",\"text\",\"transpose\",\"xtype\",\"ytype\"],c={},u=0;u<l.length;u++){var f=l[u];c[f]=n[f]}o(c,i(\"\",{cLetter:\"z\",autoColorDflt:!1}),{colorbar:a}),e.exports=s(c,\"calc\",\"nested\")},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../heatmap/attributes\":942}],959:[function(t,e,r){\"use strict\";var n=t(\"gl-heatmap2d\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib/str2rgbarray\");function o(t,e){this.scene=t,this.uid=e,this.type=\"heatmapgl\",this.name=\"\",this.hoverinfo=\"all\",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=n(t.glplot,this.options),this.heatmap._trace=this}var s=o.prototype;s.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],hoverinfo:this.hoverinfo}},s.update=function(t,e){var r=e[0];this.index=t.index,this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var o=n[0].length,s=n.length;this.options.shape=[o,s],this.options.x=r.x,this.options.y=r.y;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,o=new Array(i),s=new Array(4*i),l=0;l<i;l++){var c=e[l],u=a(c[1]);o[l]=r+c[0]*(n-r);for(var f=0;f<4;f++)s[4*l+f]=u[f]}return{colorLevels:o,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options);var c=this.scene.xaxis,u=this.scene.yaxis;t._extremes[c._id]=i.findExtremes(c,r.x),t._extremes[u._id]=i.findExtremes(u,r.y)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var n=new o(t,e.uid);return n.update(e,r),n}},{\"../../lib/str2rgbarray\":717,\"../../plots/cartesian/axes\":742,\"gl-heatmap2d\":240}],960:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"../heatmap/defaults\"),n.colorbar=t(\"../heatmap/colorbar\"),n.calc=t(\"../heatmap/calc\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"heatmapgl\",n.basePlotModule=t(\"../../plots/gl2d\"),n.categories=[\"gl\",\"gl2d\",\"2dMap\"],n.meta={},e.exports=n},{\"../../plots/gl2d\":781,\"../heatmap/calc\":943,\"../heatmap/colorbar\":945,\"../heatmap/defaults\":947,\"./attributes\":958,\"./convert\":959}],961:[function(t,e,r){\"use strict\";var n=t(\"../bar/attributes\");function i(t){var e={};e[\"autobin\"+t]=!1;var r={};return r[\"^autobin\"+t]=!1,{start:{valType:\"any\",dflt:null,editType:\"calc\",impliedEdits:r},end:{valType:\"any\",dflt:null,editType:\"calc\",impliedEdits:r},size:{valType:\"any\",dflt:null,editType:\"calc\",impliedEdits:r},editType:\"calc\",impliedEdits:e}}e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:n.text,orientation:n.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\",editType:\"calc\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\",editType:\"calc\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\",editType:\"calc\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\",editType:\"calc\"},editType:\"calc\"},autobinx:{valType:\"boolean\",dflt:null,editType:\"calc\",impliedEdits:{\"xbins.start\":void 0,\"xbins.end\":void 0,\"xbins.size\":void 0}},nbinsx:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},xbins:i(\"x\"),autobiny:{valType:\"boolean\",dflt:null,editType:\"calc\",impliedEdits:{\"ybins.start\":void 0,\"ybins.end\":void 0,\"ybins.size\":void 0}},nbinsy:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},ybins:i(\"y\"),marker:n.marker,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},{\"../bar/attributes\":835}],962:[function(t,e,r){\"use strict\";e.exports=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},{}],963:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){return r(\"histnorm\"),n.forEach(function(t){r(t+\"bins.start\"),r(t+\"bins.end\"),r(t+\"bins.size\"),!1!==r(\"autobin\"+t)&&r(\"nbins\"+t)}),e}},{}],964:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports={count:function(t,e,r){return r[t]++,1},sum:function(t,e,r,i){var a=i[e];return n(a)?(a=Number(a),r[t]+=a,a):0},avg:function(t,e,r,i,a){var o=i[e];return n(o)&&(o=Number(o),r[t]+=o,a[t]++),0},min:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]>a){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]<a){var o=a-r[t];return r[t]=a,o}}return 0}}},{\"fast-isnumeric\":213}],965:[function(t,e,r){\"use strict\";var n=t(\"../../constants/numerical\"),i=n.ONEAVGYEAR,a=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,c=n.ONESEC,u=t(\"../../plots/cartesian/axes\").tickIncrement;function f(t,e,r,n){if(t*e<=0)return 1/0;for(var i=Math.abs(e-t),a=\"date\"===r.type,o=h(i,a),s=0;s<10;s++){var l=h(80*o,a);if(o===l)break;if(!p(l,t,e,a,r,n))break;o=l}return o}function h(t,e){return e&&t>c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split(\"-\");return\"\"===n[0]&&(n.unshift(),n[0]=\"-\"+n[0]),n}e.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,h=-.1*e,p=t-h,d=r[0],g=r[1],m=Math.min(f(d+h,d+p,n,a),f(g+h,g+p,n,a)),v=Math.min(f(d+c,d+h,n,a),f(g+c,g+h,n,a));if(m>v&&v<Math.abs(g-d)/4e3?(s=m,l=!1):(s=Math.min(m,v),l=!0),\"date\"===n.type&&s>o){var y=s===i?1:6,x=s===i?\"M12\":\"M1\";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf(\"-\",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(c<e){var f=u(c,x,!1,a);(c+f)/2<e+t&&(c=f)}return r&&l?u(c,x,!0,a):c}}return function(e,r){var n=s*Math.round(e/s);return n+s/10<e&&n+.9*s<e+t&&(n+=s),r&&l&&(n-=s),n}}},{\"../../constants/numerical\":670,\"../../plots/cartesian/axes\":742}],966:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../bar/arrays_to_calcdata\"),s=t(\"./bin_functions\"),l=t(\"./norm_functions\"),c=t(\"./average\"),u=t(\"./clean_bins\"),f=t(\"../../constants/numerical\").ONEAVGMONTH,h=t(\"./bin_label_vals\");function p(t,e,r,i,o){var s,l,c,u,f,h=i+\"bins\",p=\"overlay\"===t._fullLayout.barmode;if(e._autoBinFinished)delete e._autoBinFinished;else{var v=p?[e]:g(t,e),y=[],x=1/0,b=1/0,_=-1/0,w=\"autobin\"+i;for(s=0;s<v.length;s++){f=(l=v[s])._pos0=r.makeCalcdata(l,i);var k=l[h];if(l[w]||!k||null===k.start||null===k.end){c=l[i+\"calendar\"];var M=l.cumulative;if(k=a.autoBin(f,r,l[\"nbins\"+i],!1,c),p&&0===k._dataSpan&&\"category\"!==r.type){if(o)return[k,f,!0];k=d(t,e,r,i,h)}M.enabled&&\"include\"!==M.currentbin&&(\"decreasing\"===M.direction?b=Math.min(b,r.r2c(k.start,0,c)-k.size):_=Math.max(_,r.r2c(k.end,0,c)+k.size)),y.push(l)}else u||(u={size:k.size,start:r.r2c(k.start,0,c),end:r.r2c(k.end,0,c)});x=m(x,k.size),b=Math.min(b,r.r2c(k.start,0,c)),_=Math.max(_,r.r2c(k.end,0,c)),s&&(l._autoBinFinished=1)}if(u&&n(u.size)&&n(x)){x=x>u.size/1.9?u.size:u.size/Math.ceil(u.size/x);var A=u.start+(u.size-x)/2;b=A-x*Math.ceil((A-b)/x)}for(s=0;s<y.length;s++)c=(l=y[s])[i+\"calendar\"],l._input[h]=l[h]={start:r.c2r(b,0,c),end:r.c2r(_,0,c),size:x},l._input[w]=l[w]}return f=e._pos0,delete e._pos0,[e[h],f]}function d(t,e,r,n,a){var o,s,l=g(t,e),c=!1,u=1/0,f=[e];for(o=0;o<l.length;o++)if((s=l[o])===e)c=!0;else if(c){var h=p(t,s,r,n,!0),d=h[0],m=h[2];s._autoBinFinished=1,s._pos0=h[1],m?f.push(s):u=Math.min(u,d.size)}else u=Math.min(u,s[a].size);var v=new Array(f.length);for(o=0;o<f.length;o++)for(var y=f[o]._pos0,x=0;x<y.length;x++)if(void 0!==y[x]){v[o]=y[x];break}for(isFinite(u)||(u=i.distinctVals(v).minDiff),o=0;o<f.length;o++){var b=(s=f[o])[n+\"calendar\"];s._input[a]=s[a]={start:r.c2r(v[o]-u/2,0,b),end:r.c2r(v[o]+u/2,0,b),size:u}}return e[a]}function g(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];\"histogram\"===l.type&&!0===l.visible&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}function m(t,e){if(t===1/0)return e;var r=v(t);return v(e)<r?e:t}function v(t){return n(t)?t:\"string\"==typeof t&&\"M\"===t.charAt(0)?f*+t.substr(1):1/0}e.exports=function(t,e){if(!0===e.visible){var r,f=[],d=[],g=a.getFromId(t,\"h\"===e.orientation?e.yaxis||\"y\":e.xaxis||\"x\"),m=\"h\"===e.orientation?\"y\":\"x\",v={x:\"y\",y:\"x\"}[m],y=e[m+\"calendar\"],x=e.cumulative;u(e,g,m);var b,_,w,k=p(t,e,g,m),M=k[0],A=k[1],T=\"string\"==typeof M.size,S=[],E=T?S:M,C=[],L=[],z=[],P=0,O=e.histnorm,I=e.histfunc,D=-1!==O.indexOf(\"density\");x.enabled&&D&&(O=O.replace(/ ?density$/,\"\"),D=!1);var R,B=\"max\"===I||\"min\"===I?null:0,F=s.count,N=l[O],j=!1,V=function(t){return g.r2c(t,0,y)};for(i.isArrayOrTypedArray(e[v])&&\"count\"!==I&&(R=e[v],j=\"avg\"===I,F=s[I]),r=V(M.start),_=V(M.end)+(r-a.tickIncrement(r,M.size,!1,y))/1e6;r<_&&f.length<1e6&&(b=a.tickIncrement(r,M.size,!1,y),f.push((r+b)/2),d.push(B),z.push([]),S.push(r),D&&C.push(1/(b-r)),j&&L.push(0),!(b<=r));)r=b;S.push(r),T||\"date\"!==g.type||(E={start:V(E.start),end:V(E.end),size:E.size});var U,q=d.length,H=!0,G=1/0,W=1/0,Y={};for(r=0;r<A.length;r++){var X=A[r];(w=i.findBin(X,E))>=0&&w<q&&(P+=F(w,r,d,R,L),H&&z[w].length&&X!==A[z[w][0]]&&(H=!1),z[w].push(r),Y[r]=w,G=Math.min(G,X-S[w]),W=Math.min(W,S[w+1]-X))}H||(U=h(G,W,S,g,y)),j&&(P=c(d,L)),N&&N(d,P,C),x.enabled&&function(t,e,r){var n,i,a;function o(e){a=t[e],t[e]/=2}function s(e){i=t[e],t[e]=a+i/2,a+=i}if(\"half\"===r)if(\"increasing\"===e)for(o(0),n=1;n<t.length;n++)s(n);else for(o(t.length-1),n=t.length-2;n>=0;n--)s(n);else if(\"increasing\"===e){for(n=1;n<t.length;n++)t[n]+=t[n-1];\"exclude\"===r&&(t.unshift(0),t.pop())}else{for(n=t.length-2;n>=0;n--)t[n]+=t[n+1];\"exclude\"===r&&(t.push(0),t.shift())}}(d,x.direction,x.currentbin);var Z=Math.min(f.length,d.length),$=[],J=0,K=Z-1;for(r=0;r<Z;r++)if(d[r]){J=r;break}for(r=Z-1;r>=J;r--)if(d[r]){K=r;break}for(r=J;r<=K;r++)if(n(f[r])&&n(d[r])){var Q={p:f[r],s:d[r],b:0};x.enabled||(Q.pts=z[r],H?Q.ph0=Q.ph1=z[r].length?A[z[r][0]]:f[r]:(Q.ph0=U(S[r]),Q.ph1=U(S[r+1],!0))),$.push(Q)}return 1===$.length&&($[0].width1=a.tickIncrement($[0].p,M.size,!1,y)-$[0].p),o($,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected($,e,Y),$}}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../bar/arrays_to_calcdata\":834,\"./average\":962,\"./bin_functions\":964,\"./bin_label_vals\":965,\"./clean_bins\":967,\"./norm_functions\":972,\"fast-isnumeric\":213}],967:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\").cleanDate,a=t(\"../../constants/numerical\"),o=a.ONEDAY,s=a.BADNUM;e.exports=function(t,e,r){var a=e.type,l=r+\"bins\",c=t[l];c||(c=t[l]={});var u=\"date\"===a?function(t){return t||0===t?i(t,s,c.calendar):null}:function(t){return n(t)?Number(t):null};c.start=u(c.start),c.end=u(c.end);var f=\"date\"===a?o:1,h=c.size;if(n(h))c.size=h>0?Number(h):f;else if(\"string\"!=typeof h)c.size=f;else{var p=h.charAt(0),d=h.substr(1);((d=n(d)?Number(d):0)<=0||\"date\"!==a||\"M\"!==p||d!==Math.round(d))&&(c.size=f)}var g=\"autobin\"+r;\"boolean\"!=typeof t[g]&&(t[g]=t._fullInput[g]=t._input[g]=!((c.start||0===c.start)&&(c.end||0===c.end))),t[g]||(delete t[\"nbins\"+r],delete t._fullInput[\"nbins\"+r])}},{\"../../constants/numerical\":670,\"../../lib\":693,\"fast-isnumeric\":213}],968:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../components/color\"),o=t(\"./bin_defaults\"),s=t(\"../bar/style_defaults\"),l=t(\"./attributes\");e.exports=function(t,e,r,c){function u(r,n){return i.coerce(t,e,l,r,n)}var f=u(\"x\"),h=u(\"y\");u(\"cumulative.enabled\")&&(u(\"cumulative.direction\"),u(\"cumulative.currentbin\")),u(\"text\");var p=u(\"orientation\",h&&!f?\"h\":\"v\"),d=\"v\"===p?\"x\":\"y\",g=\"v\"===p?\"y\":\"x\",m=f&&h?Math.min(f.length&&h.length):(e[d]||[]).length;if(m){e._length=m,n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],c),e[g]&&u(\"histfunc\"),o(t,e,u,[d]),s(t,e,u,r,c);var v=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(t,e,a.defaultLine,{axis:\"y\"}),v(t,e,a.defaultLine,{axis:\"x\",inherit:\"y\"}),i.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1}},{\"../../components/color\":567,\"../../lib\":693,\"../../registry\":825,\"../bar/style_defaults\":847,\"./attributes\":961,\"./bin_defaults\":963}],969:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){if(t.x=\"xVal\"in e?e.xVal:e.x,t.y=\"yVal\"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;t.pointIndices=a}return t}},{}],970:[function(t,e,r){\"use strict\";var n=t(\"../bar/hover\").hoverPoints,i=t(\"../../plots/cartesian/axes\").hoverLabelText;e.exports=function(t,e,r,a){var o=n(t,e,r,a);if(o){var s=(t=o[0]).cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var c=\"h\"===l.orientation?\"y\":\"x\";t[c+\"Label\"]=i(t[c+\"a\"],s.ph0,s.ph1)}return o}}},{\"../../plots/cartesian/axes\":742,\"../bar/hover\":839}],971:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.layoutAttributes=t(\"../bar/layout_attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"../bar/layout_defaults\"),n.calc=t(\"./calc\"),n.crossTraceCalc=t(\"../bar/cross_trace_calc\").crossTraceCalc,n.plot=t(\"../bar/plot\"),n.layerName=\"barlayer\",n.style=t(\"../bar/style\").style,n.styleOnSelect=t(\"../bar/style\").styleOnSelect,n.colorbar=t(\"../scatter/marker_colorbar\"),n.hoverPoints=t(\"./hover\"),n.selectPoints=t(\"../bar/select\"),n.eventData=t(\"./event_data\"),n.moduleType=\"trace\",n.name=\"histogram\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"../bar/cross_trace_calc\":837,\"../bar/layout_attributes\":841,\"../bar/layout_defaults\":842,\"../bar/plot\":843,\"../bar/select\":844,\"../bar/style\":846,\"../scatter/marker_colorbar\":1050,\"./attributes\":961,\"./calc\":966,\"./defaults\":968,\"./event_data\":969,\"./hover\":970}],972:[function(t,e,r){\"use strict\";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=n},probability:function(t,e){for(var r=t.length,n=0;n<r;n++)t[n]/=e},density:function(t,e,r,n){var i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},\"probability density\":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}}},{}],973:[function(t,e,r){\"use strict\";var n=t(\"../histogram/attributes\"),i=t(\"../heatmap/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.exports=s({x:n.x,y:n.y,z:{valType:\"data_array\",editType:\"calc\"},marker:{color:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth,zhoverformat:i.zhoverformat},a(\"\",{cLetter:\"z\",autoColorDflt:!1}),{colorbar:o})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../heatmap/attributes\":942,\"../histogram/attributes\":961}],974:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../histogram/bin_functions\"),o=t(\"../histogram/norm_functions\"),s=t(\"../histogram/average\"),l=t(\"../histogram/clean_bins\"),c=t(\"../histogram/bin_label_vals\");function u(t,e,r,n,a,o,s){var c=e+\"bins\",u=\"autobin\"+e,f=t[c];l(t,n,e),!t[u]&&f&&null!==f.start&&null!==f.end||(f=i.autoBin(r,n,t[\"nbins\"+e],\"2d\",s),\"histogram2dcontour\"===t.type&&(f.start=o(i.tickIncrement(a(f.start),f.size,!0,s)),f.end=o(i.tickIncrement(a(f.end),f.size,!1,s))),t._input[c]=t[c]=f,t._input[u]=t[u])}function f(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i<t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i<t;i++)a[i]=o}return a}function h(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function p(t,e,r,n,i,a){var o,s=t.length-1,l=new Array(s);if(e)for(o=0;o<s;o++)l[o]=[e[o],e[o]];else{var u=c(r,n,t,i,a);for(o=0;o<s;o++)l[o]=[u(t[o]),u(t[o+1],!0)]}return l}e.exports=function(t,e){var r,l,c,d,g=i.getFromId(t,e.xaxis||\"x\"),m=e.x?g.makeCalcdata(e,\"x\"):[],v=i.getFromId(t,e.yaxis||\"y\"),y=e.y?v.makeCalcdata(e,\"y\"):[],x=e.xcalendar,b=e.ycalendar,_=function(t){return g.r2c(t,0,x)},w=function(t){return v.r2c(t,0,b)},k=function(t){return g.c2r(t,0,x)},M=function(t){return v.c2r(t,0,b)},A=e._length;m.length>A&&m.splice(A,m.length-A),y.length>A&&y.splice(A,y.length-A),u(e,\"x\",m,g,_,k,x),u(e,\"y\",y,v,w,M,b);var T=[],S=[],E=[],C=\"string\"==typeof e.xbins.size,L=\"string\"==typeof e.ybins.size,z=[],P=[],O=C?z:e.xbins,I=L?P:e.ybins,D=0,R=[],B=[],F=e.histnorm,N=e.histfunc,j=-1!==F.indexOf(\"density\"),V=\"max\"===N||\"min\"===N?null:0,U=a.count,q=o[F],H=!1,G=[],W=[],Y=\"z\"in e?e.z:\"marker\"in e&&Array.isArray(e.marker.color)?e.marker.color:\"\";Y&&\"count\"!==N&&(H=\"avg\"===N,U=a[N]);var X=e.xbins,Z=_(X.start),$=_(X.end)+(Z-i.tickIncrement(Z,X.size,!1,x))/1e6;for(r=Z;r<$;r=i.tickIncrement(r,X.size,!1,x))S.push(V),z.push(r),H&&E.push(0);z.push(r);var J=S.length,K=_(e.xbins.start),Q=(r-K)/J,tt=k(K+Q/2);for(Z=w((X=e.ybins).start),$=w(X.end)+(Z-i.tickIncrement(Z,X.size,!1,b))/1e6,r=Z;r<$;r=i.tickIncrement(r,X.size,!1,b)){T.push(S.slice()),P.push(r);var et=new Array(J);for(l=0;l<J;l++)et[l]=[];B.push(et),H&&R.push(E.slice())}P.push(r);var rt=T.length,nt=w(e.ybins.start),it=(r-nt)/rt,at=M(nt+it/2);j&&(G=f(S.length,O,Q,C),W=f(T.length,I,it,L)),C||\"date\"!==g.type||(O=h(_,O)),L||\"date\"!==v.type||(I=h(w,I));var ot=!0,st=!0,lt=new Array(J),ct=new Array(rt),ut=1/0,ft=1/0,ht=1/0,pt=1/0;for(r=0;r<A;r++){var dt=m[r],gt=y[r];c=n.findBin(dt,O),d=n.findBin(gt,I),c>=0&&c<J&&d>=0&&d<rt&&(D+=U(c,r,T[d],Y,R[d]),B[d][c].push(r),ot&&(void 0===lt[c]?lt[c]=dt:lt[c]!==dt&&(ot=!1)),st&&(void 0===ct[c]?ct[c]=gt:ct[c]!==gt&&(st=!1)),ut=Math.min(ut,dt-z[c]),ft=Math.min(ft,z[c+1]-dt),ht=Math.min(ht,gt-P[d]),pt=Math.min(pt,P[d+1]-gt))}if(H)for(d=0;d<rt;d++)D+=s(T[d],R[d]);if(q)for(d=0;d<rt;d++)q(T[d],D,G,W[d]);return{x:m,xRanges:p(z,ot&&lt,ut,ft,g,x),x0:tt,dx:Q,y:y,yRanges:p(P,st&&ct,ht,pt,v,b),y0:at,dy:it,z:T,pts:B}}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../histogram/average\":962,\"../histogram/bin_functions\":964,\"../histogram/bin_label_vals\":965,\"../histogram/clean_bins\":967,\"../histogram/norm_functions\":972}],975:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./sample_defaults\"),a=t(\"../heatmap/style_defaults\"),o=t(\"../../components/colorscale/defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&&(a(t,e,c,l),o(t,e,l,c,{prefix:\"\",cLetter:\"z\"}))}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"../heatmap/style_defaults\":956,\"./attributes\":973,\"./sample_defaults\":978}],976:[function(t,e,r){\"use strict\";var n=t(\"../heatmap/hover\"),i=t(\"../../plots/cartesian/axes\").hoverLabelText;e.exports=function(t,e,r,a,o,s){var l=n(t,e,r,a,o,s);if(l){var c=(t=l[0]).index,u=c[0],f=c[1],h=t.cd[0],p=h.xRanges[f],d=h.yRanges[u];return t.xLabel=i(t.xa,p[0],p[1]),t.yLabel=i(t.ya,d[0],d[1]),l}}},{\"../../plots/cartesian/axes\":742,\"../heatmap/hover\":949}],977:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"../heatmap/calc\"),n.plot=t(\"../heatmap/plot\"),n.layerName=\"heatmaplayer\",n.colorbar=t(\"../heatmap/colorbar\"),n.style=t(\"../heatmap/style\"),n.hoverPoints=t(\"./hover\"),n.eventData=t(\"../histogram/event_data\"),n.moduleType=\"trace\",n.name=\"histogram2d\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"2dMap\",\"histogram\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"../heatmap/calc\":943,\"../heatmap/colorbar\":945,\"../heatmap/plot\":954,\"../heatmap/style\":955,\"../histogram/event_data\":969,\"./attributes\":973,\"./defaults\":975,\"./hover\":976}],978:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../histogram/bin_defaults\");e.exports=function(t,e,r,a){var o=r(\"x\"),s=r(\"y\");if(o&&o.length&&s&&s.length){e._length=Math.min(o.length,s.length),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],a),(r(\"z\")||r(\"marker.color\"))&&r(\"histfunc\");i(t,e,r,[\"x\",\"y\"])}else e.visible=!1}},{\"../../registry\":825,\"../histogram/bin_defaults\":963}],979:[function(t,e,r){\"use strict\";var n=t(\"../histogram2d/attributes\"),i=t(\"../contour/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.exports=s({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,autobinx:n.autobinx,nbinsx:n.nbinsx,xbins:n.xbins,autobiny:n.autobiny,nbinsy:n.nbinsy,ybins:n.ybins,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:i.line,zhoverformat:n.zhoverformat},a(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}),{colorbar:o})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../contour/attributes\":913,\"../histogram2d/attributes\":973}],980:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../histogram2d/sample_defaults\"),a=t(\"../contour/contours_defaults\"),o=t(\"../contour/style_defaults\"),s=t(\"./attributes\");e.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,s,r,i)}i(t,e,c,l),!1!==e.visible&&(a(t,e,c,function(r){return n.coerce2(t,e,s,r)}),o(t,e,c,l))}},{\"../../lib\":693,\"../contour/contours_defaults\":920,\"../contour/style_defaults\":934,\"../histogram2d/sample_defaults\":978,\"./attributes\":979}],981:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"../contour/calc\"),n.plot=t(\"../contour/plot\").plot,n.layerName=\"contourlayer\",n.style=t(\"../contour/style\"),n.colorbar=t(\"../contour/colorbar\"),n.hoverPoints=t(\"../contour/hover\"),n.moduleType=\"trace\",n.name=\"histogram2dcontour\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"histogram\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"../contour/calc\":914,\"../contour/colorbar\":916,\"../contour/hover\":926,\"../contour/plot\":931,\"../contour/style\":933,\"./attributes\":979,\"./defaults\":980}],982:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../components/colorbar/attributes\"),a=t(\"../surface/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat;e.exports=s({x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},i:{valType:\"data_array\",editType:\"calc\"},j:{valType:\"data_array\",editType:\"calc\"},k:{valType:\"data_array\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\",editType:\"calc\"},alphahull:{valType:\"number\",dflt:-1,editType:\"calc\"},intensity:{valType:\"data_array\",editType:\"calc\"},color:{valType:\"color\",editType:\"calc\"},vertexcolor:{valType:\"data_array\",editType:\"calc\"},facecolor:{valType:\"data_array\",editType:\"calc\"}},n(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:i,opacity:a.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:s({},a.contours.x.show,{}),color:a.contours.x.color,width:a.contours.x.width,editType:\"calc\"},lightposition:{x:s({},a.lightposition.x,{dflt:1e5}),y:s({},a.lightposition.y,{dflt:1e5}),z:s({},a.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:s({vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12,editType:\"calc\"},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6,editType:\"calc\"},editType:\"calc\"},a.lighting),hoverinfo:s({},o.hoverinfo,{editType:\"calc\"})})},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../surface/attributes\":1119}],983:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.intensity&&n(e,e.intensity,\"\",\"c\")}},{\"../../components/colorscale/calc\":575}],984:[function(t,e,r){\"use strict\";var n=t(\"gl-mesh3d\"),i=t(\"delaunay-triangulate\"),a=t(\"alpha-shape\"),o=t(\"convex-hull\"),s=t(\"../../lib/gl_format_color\").parseColorScale,l=t(\"../../lib/str2rgbarray\"),c=t(\"../../plots/gl3d/zip3\");function u(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var f=u.prototype;function h(t){return t.map(l)}f.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}this.data=t;var u,f=c(n(r.xaxis,t.x,e.dataScale[0],t.xcalendar),n(r.yaxis,t.y,e.dataScale[1],t.ycalendar),n(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k)u=c(t.i,t.j,t.k);else if(0===t.alphahull)u=o(f);else if(t.alphahull>0)u=a(t.alphahull,f);else{var p=[\"x\",\"y\",\"z\"].indexOf(t.delaunayaxis);u=i(f.map(function(t){return[t[(p+1)%3],t[(p+2)%3]]}))}var d={positions:f,cells:u,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:l(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};t.intensity?(this.color=\"#fff\",d.vertexIntensity=t.intensity,d.vertexIntensityBounds=[t.cmin,t.cmax],d.colormap=s(t.colorscale)):t.vertexcolor?(this.color=t.vertexcolor[0],d.vertexColors=h(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],d.cellColors=h(t.facecolor)):(this.color=t.color,d.meshColor=l(t.color)),this.mesh.update(d)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new u(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{\"../../lib/gl_format_color\":689,\"../../lib/str2rgbarray\":717,\"../../plots/gl3d/zip3\":795,\"alpha-shape\":51,\"convex-hull\":117,\"delaunay-triangulate\":149,\"gl-mesh3d\":267}],985:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function c(t){var e=t.map(function(t){var e=l(t);return e&&i.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}var u=c([\"x\",\"y\",\"z\"]),f=c([\"i\",\"j\",\"k\"]);u?(f&&f.forEach(function(t){for(var e=0;e<t.length;++e)t[e]|=0}),n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],s),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"contour.show\",\"contour.color\",\"contour.width\",\"colorscale\",\"reversescale\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach(function(t){l(t)}),\"intensity\"in t?(l(\"intensity\"),a(t,e,s,l,{prefix:\"\",cLetter:\"c\"})):(e.showscale=!1,\"facecolor\"in t?l(\"facecolor\"):\"vertexcolor\"in t?l(\"vertexcolor\"):l(\"color\",r)),l(\"text\"),e._length=null):e.visible=!1}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"../../registry\":825,\"./attributes\":982}],986:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.colorbar={min:\"cmin\",max:\"cmax\"},n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"mesh3d\",n.basePlotModule=t(\"../../plots/gl3d\"),n.categories=[\"gl3d\"],n.meta={},e.exports=n},{\"../../plots/gl3d\":784,\"./attributes\":982,\"./calc\":983,\"./convert\":984,\"./defaults\":985}],987:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").extendFlat,i=t(\"../scatter/attributes\"),a=t(\"../../components/drawing/attributes\").dash,o=i.line;function s(t){return{line:{color:n({},o.color,{dflt:t}),width:o.width,dash:a,editType:\"style\"},editType:\"style\"}}e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",editType:\"calc\"},high:{valType:\"data_array\",editType:\"calc\"},low:{valType:\"data_array\",editType:\"calc\"},close:{valType:\"data_array\",editType:\"calc\"},line:{width:n({},o.width,{}),dash:n({},a,{}),editType:\"style\"},increasing:s(\"#3D9970\"),decreasing:s(\"#FF4136\"),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calc\"}}},{\"../../components/drawing/attributes\":591,\"../../lib\":693,\"../scatter/attributes\":1032}],988:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=n._,a=t(\"../../plots/cartesian/axes\"),o=t(\"../../constants/numerical\").BADNUM;function s(t,e,r,n){return{o:t,h:e,l:r,c:n}}function l(t,e,r,n,s){for(var l=n.makeCalcdata(e,\"open\"),c=n.makeCalcdata(e,\"high\"),u=n.makeCalcdata(e,\"low\"),f=n.makeCalcdata(e,\"close\"),h=Array.isArray(e.text),p=!0,d=null,g=[],m=0;m<r.length;m++){var v=r[m],y=l[m],x=c[m],b=u[m],_=f[m];if(v!==o&&y!==o&&x!==o&&b!==o&&_!==o){_===y?null!==d&&_!==d&&(p=_>d):p=_>y,d=_;var w=s(y,x,b,_);w.pos=v,w.yc=(y+_)/2,w.i=m,w.dir=p?\"increasing\":\"decreasing\",h&&(w.tx=e.text[m]),g.push(w)}}return e._extremes[n._id]=a.findExtremes(n,u.concat(c),{padded:!0}),g.length&&(g[0].t={labels:{open:i(t,\"open:\")+\" \",high:i(t,\"high:\")+\" \",low:i(t,\"low:\")+\" \",close:i(t,\"close:\")+\" \"}}),g}e.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),o=function(t,e,r){var i=r._minDiff;if(!i){var a,o=t._fullData,s=[];for(i=1/0,a=0;a<o.length;a++){var l=o[a];if(\"ohlc\"===l.type&&!0===l.visible&&l.xaxis===e._id){s.push(l);var c=e.makeCalcdata(l,\"x\");l._xcalc=c;var u=n.distinctVals(c).minDiff;u&&isFinite(u)&&(i=Math.min(i,u))}}for(i===1/0&&(i=1),a=0;a<s.length;a++)s[a]._minDiff=i}return i*r.tickwidth}(t,r,e),c=e._minDiff;e._minDiff=null;var u=e._xcalc;e._xcalc=null;var f=l(t,e,u,i,s);return e._extremes[r._id]=a.findExtremes(r,u,{vpad:c/2}),f.length?(n.extendFlat(f[0].t,{wHover:c/2,tickLen:o}),f):[{t:{empty:!0}}]},calcCommon:l}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../../plots/cartesian/axes\":742}],989:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./ohlc_defaults\"),a=t(\"./attributes\");function o(t,e,r,n){r(n+\".line.color\"),r(n+\".line.width\",e.line.width),r(n+\".line.dash\",e.line.dash)}e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,a,r,i)}i(t,e,l,s)?(l(\"line.width\"),l(\"line.dash\"),o(t,e,l,\"increasing\"),o(t,e,l,\"decreasing\"),l(\"text\"),l(\"tickwidth\"),s._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{\"../../lib\":693,\"./attributes\":987,\"./ohlc_defaults\":992}],990:[function(t,e,r){\"use strict\";var n=t(\"../../plots/cartesian/axes\"),i=t(\"../../components/fx\"),a=t(\"../../components/color\"),o=t(\"../scatter/fill_hover_text\"),s={increasing:\"\\u25b2\",decreasing:\"\\u25bc\"};e.exports=function(t,e,r,l){var c=t.cd,u=t.xa,f=t.ya,h=c[0].trace,p=c[0].t,d=h.type,g=\"ohlc\"===d?\"l\":\"min\",m=\"ohlc\"===d?\"h\":\"max\",v=p.bPos||0,y=e-v,x=p.bdPos||p.tickLen,b=p.wHover,_=Math.min(1,x/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0]))),w=t.maxHoverDistance-_,k=t.maxSpikeDistance-_;function M(t){var e=t.pos-y;return i.inbox(e-b,e+b,w)}function A(t){return i.inbox(t[g]-r,t[m]-r,w)}function T(t){return(M(t)+A(t))/2}var S=i.getDistanceFunction(l,M,A,T);if(i.getClosest(c,S,t),!1===t.index)return[];var E=c[t.index],C=t.index=E.i,L=E.dir,z=h[L],P=z.line.color;function O(t){return p.labels[t]+n.hoverLabelText(f,h[t][C])}a.opacity(P)&&z.line.width?t.color=P:t.color=z.fillcolor,t.x0=u.c2p(E.pos+v-x,!0),t.x1=u.c2p(E.pos+v+x,!0),t.xLabelVal=E.pos,t.spikeDistance=T(E)*k/w,t.xSpike=u.c2p(E.pos,!0);var I=h.hoverinfo,D=I.split(\"+\"),R=\"all\"===I,B=R||-1!==D.indexOf(\"y\"),F=R||-1!==D.indexOf(\"text\"),N=B?[O(\"open\"),O(\"high\"),O(\"low\"),O(\"close\")+\"  \"+s[L]]:[];return F&&o(E,h,N),t.extraText=N.join(\"<br>\"),t.y0=t.y1=f.c2p(E.yc,!0),[t]}},{\"../../components/color\":567,\"../../components/fx\":609,\"../../plots/cartesian/axes\":742,\"../scatter/fill_hover_text\":1040}],991:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),calc:t(\"./calc\").calc,plot:t(\"./plot\"),style:t(\"./style\"),hoverPoints:t(\"./hover\"),selectPoints:t(\"./select\")}},{\"../../plots/cartesian\":753,\"./attributes\":987,\"./calc\":988,\"./defaults\":989,\"./hover\":990,\"./plot\":993,\"./select\":994,\"./style\":995}],992:[function(t,e,r){\"use strict\";var n=t(\"../../registry\");e.exports=function(t,e,r,i){var a=r(\"x\"),o=r(\"open\"),s=r(\"high\"),l=r(\"low\"),c=r(\"close\");if(n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\"],i),o&&s&&l&&c){var u=Math.min(o.length,s.length,l.length,c.length);return a&&(u=Math.min(u,a.length)),e._length=u,u}}},{\"../../registry\":825}],993:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\");e.exports=function(t,e,r,a){var o=e.xaxis,s=e.yaxis;i.makeTraceGroups(a,r,\"trace ohlc\").each(function(t){var r=n.select(this),a=t[0],l=a.t,c=a.trace;if(e.isRangePlot||(a.node3=r),!0!==c.visible||l.empty)r.remove();else{var u=l.tickLen,f=r.selectAll(\"path\").data(i.identity);f.enter().append(\"path\"),f.exit().remove(),f.attr(\"d\",function(t){var e=o.c2p(t.pos,!0),r=o.c2p(t.pos-u,!0),n=o.c2p(t.pos+u,!0);return\"M\"+r+\",\"+s.c2p(t.o,!0)+\"H\"+e+\"M\"+e+\",\"+s.c2p(t.h,!0)+\"V\"+s.c2p(t.l,!0)+\"M\"+n+\",\"+s.c2p(t.c,!0)+\"H\"+e})}})}},{\"../../lib\":693,d3:147}],994:[function(t,e,r){\"use strict\";e.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r];e.contains([i.c2p(l.pos+s),a.c2p(l.yc)],null,l.i,t)?(o.push({pointNumber:l.i,x:i.c2d(l.pos),y:a.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},{}],995:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../../components/color\");e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\"g.ohlclayer\").selectAll(\"g.trace\");r.style(\"opacity\",function(t){return t[0].trace.opacity}),r.each(function(t){var e=t[0].trace;n.select(this).selectAll(\"path\").each(function(t){var r=e[t.dir].line;n.select(this).style(\"fill\",\"none\").call(a.stroke,r.color).call(i.dashLine,r.dash,r.width).style(\"opacity\",e.selectedpoints&&!t.selected?.3:1)})})}},{\"../../components/color\":567,\"../../components/drawing\":592,d3:147}],996:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../components/colorbar/attributes\"),a=t(\"../../plots/cartesian/layout_attributes\"),o=t(\"../../plots/font_attributes\"),s=t(\"../../plots/domain\").attributes,l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/plot_template\").templatedArray;e.exports={domain:s({name:\"parcoords\",trace:!0,editType:\"calc\"}),labelfont:o({editType:\"calc\"}),tickfont:o({editType:\"calc\"}),rangefont:o({editType:\"calc\"}),dimensions:c(\"dimension\",{label:{valType:\"string\",editType:\"calc\"},tickvals:l({},a.tickvals,{editType:\"calc\"}),ticktext:l({},a.ticktext,{editType:\"calc\"}),tickformat:{valType:\"string\",dflt:\"3s\",editType:\"calc\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},constraintrange:{valType:\"info_array\",freeLength:!0,dimensions:\"1-2\",items:[{valType:\"number\",editType:\"calc\"},{valType:\"number\",editType:\"calc\"}],editType:\"calc\"},multiselect:{valType:\"boolean\",dflt:!0,editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"}),line:l(n(\"line\",{colorscaleDflt:\"Viridis\",autoColorDflt:!1,editTypeOverride:\"calc\"}),{colorbar:i,editType:\"calc\"})}},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plot_api/plot_template\":732,\"../../plots/cartesian/layout_attributes\":754,\"../../plots/domain\":767,\"../../plots/font_attributes\":768}],997:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"d3\"),a=t(\"../../lib/gup\").keyFun,o=t(\"../../lib/gup\").repeat,s=t(\"../../lib\").sorterAsc,l=n.bar.snapRatio;function c(t,e){return t*(1-l)+e*l}var u=n.bar.snapClose;function f(t,e){return t*(1-u)+e*u}function h(t,e,r){if(d(e,r))return e;for(var n=t[0],i=n,a=1;a<t.length;a++){var o=t[a];if(e<f(n,o))return c(n,i);if(e<o||a===t.length-1)return c(o,n);i=n,n=o}}function p(t,e,r){if(d(e,r))return e;for(var n=t[t.length-1],i=n,a=t.length-2;a>=0;a--){var o=t[a];if(e>f(n,o))return c(n,i);if(e>o||a===t.length-1)return c(o,n);i=n,n=o}}function d(t,e){for(var r=0;r<e.length;r++)if(t>=e[r][0]&&t<=e[r][1])return!0;return!1}function g(t){t.attr(\"x\",-n.bar.captureWidth/2).attr(\"width\",n.bar.captureWidth)}function m(t){t.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function v(t){if(!t.brush.filterSpecified)return\"0,\"+t.height;for(var e,r,n,i=y(t.brush.filter.getConsolidated(),t.height),a=[0],o=i.length?i[0][0]:null,s=0;s<i.length;s++)r=(e=i[s])[1]-e[0],a.push(o),a.push(r),(n=s+1)<i.length&&(o=i[n][0]-e[1]);return a.push(t.height),a}function y(t,e){return t.map(function(t){return t.map(function(t){return t*e}).sort(s)})}function x(){i.select(document.body).style(\"cursor\",null)}function b(t){t.attr(\"stroke-dasharray\",v)}function _(t,e){var r=i.select(t).selectAll(\".highlight, .highlight-shadow\");b(e?r.transition().duration(n.bar.snapDuration).each(\"end\",e):r)}function w(t,e){var r,i=t.brush,a=NaN,o={};if(i.filterSpecified){var s=t.height,l=i.filter.getConsolidated(),c=y(l,s),u=NaN,f=NaN,h=NaN;for(r=0;r<=c.length;r++){var p=c[r];if(p&&p[0]<=e&&e<=p[1]){u=r;break}if(f=r?r-1:NaN,p&&p[0]>e){h=r;break}}if(a=u,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-c[f][1]<c[h][0]-e?f:h),!isNaN(a)){var d=c[a],g=function(t,e){var r=n.bar.handleHeight;if(!(e>t[1]+r||e<t[0]-r))return e>=.9*t[1]+.1*t[0]?\"n\":e<=.9*t[0]+.1*t[1]?\"s\":\"ns\"}(d,e);g&&(o.interval=l[a],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var m=t.unitTickvals,v=t.unitToPaddedPx.invert(e);for(r=0;r<m.length;r++){var x=[.25*m[Math.max(r-1,0)]+.75*m[r],.25*m[Math.min(r+1,m.length-1)]+.75*m[r]];if(v>=x[0]&&v<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function k(t){t.on(\"mousemove\",function(t){if(i.event.preventDefault(),!t.parent.inBrushDrag){var e=w(t,t.height-i.mouse(this)[1]-2*n.verticalPadding),r=\"crosshair\";e.clickableOrdinalRange?r=\"pointer\":e.region&&(r=e.region+\"-resize\"),i.select(document.body).style(\"cursor\",r)}}).on(\"mouseleave\",function(t){t.parent.inBrushDrag||x()}).call(i.behavior.drag().on(\"dragstart\",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.unitToPaddedPx.invert(e),a=t.brush,o=w(t,e),s=o.interval,l=a.svgBrush;if(l.wasDragged=!1,l.grabbingBar=\"ns\"===o.region,l.grabbingBar){var c=s.map(t.unitToPaddedPx);l.grabPoint=e-c[0]-n.verticalPadding,l.barLength=c[1]-c[0]}l.clickableOrdinalRange=o.clickableOrdinalRange,l.stayingIntervals=t.multiselect&&a.filterSpecified?a.filter.getConsolidated():[],s&&(l.stayingIntervals=l.stayingIntervals.filter(function(t){return t[0]!==s[0]&&t[1]!==s[1]})),l.startExtent=o.region?s[\"s\"===o.region?1:0]:r,t.parent.inBrushDrag=!0,l.brushStartCallback()}).on(\"drag\",function(t){i.event.sourceEvent.stopPropagation();var e=t.height-i.mouse(this)[1]-2*n.verticalPadding,r=t.brush.svgBrush;r.wasDragged=!0,r.grabbingBar?r.newExtent=[e-r.grabPoint,e+r.barLength-r.grabPoint].map(t.unitToPaddedPx.invert):r.newExtent=[r.startExtent,t.unitToPaddedPx.invert(e)].sort(s);var a=Math.max(0,-r.newExtent[0]),o=Math.max(0,r.newExtent[1]-1);r.newExtent[0]+=a,r.newExtent[1]-=o,r.grabbingBar&&(r.newExtent[1]+=a,r.newExtent[0]-=o),t.brush.filterSpecified=!0,r.extent=r.stayingIntervals.concat([r.newExtent]),r.brushCallback(t),_(this.parentNode)}).on(\"dragend\",function(t){i.event.sourceEvent.stopPropagation();var e=t.brush,r=e.filter,n=e.svgBrush,a=n.grabbingBar;if(n.grabbingBar=!1,n.grabLocation=void 0,t.parent.inBrushDrag=!1,x(),!n.wasDragged)return n.wasDragged=void 0,n.clickableOrdinalRange?e.filterSpecified&&t.multiselect?n.extent.push(n.clickableOrdinalRange):(n.extent=[n.clickableOrdinalRange],e.filterSpecified=!0):a?(n.extent=n.stayingIntervals,0===n.extent.length&&A(e)):A(e),n.brushCallback(t),_(this.parentNode),void n.brushEndCallback(e.filterSpecified?r.getConsolidated():[]);var o=function(){r.set(r.getConsolidated())};if(t.ordinal){var s=t.unitTickvals;s[s.length-1]<s[0]&&s.reverse(),n.newExtent=[h(s,n.newExtent[0],n.stayingIntervals),p(s,n.newExtent[1],n.stayingIntervals)];var l=n.newExtent[1]>n.newExtent[0];n.extent=n.stayingIntervals.concat(l?[n.newExtent]:[]),n.extent.length||A(e),n.brushCallback(t),l?_(this.parentNode,o):(o(),_(this.parentNode))}else o();n.brushEndCallback(e.filterSpecified?r.getConsolidated():[])}))}function M(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[0,1]]}function T(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return n}e.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){r=n.map(function(t){return t.slice().sort(s)}).sort(M),t=T(r),e=r.reduce(function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]},[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map(function(t){return t.slice()})}(e).slice();e.filter.set(r),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t){var e=t.selectAll(\".\"+n.cn.axisBrush).data(o,a);e.enter().append(\"g\").classed(n.cn.axisBrush,!0),function(t){var e=t.selectAll(\".background\").data(o);e.enter().append(\"rect\").classed(\"background\",!0).call(g).call(m).style(\"pointer-events\",\"auto\").attr(\"transform\",\"translate(0 \"+n.verticalPadding+\")\"),e.call(k).attr(\"height\",function(t){return t.height-n.verticalPadding});var r=t.selectAll(\".highlight-shadow\").data(o);r.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width+n.bar.strokeWidth).attr(\"stroke\",n.bar.strokeColor).attr(\"opacity\",n.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),r.attr(\"y1\",function(t){return t.height}).call(b);var i=t.selectAll(\".highlight\").data(o);i.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-n.bar.width/2).attr(\"stroke-width\",n.bar.width-n.bar.strokeWidth).attr(\"stroke\",n.bar.fillColor).attr(\"opacity\",n.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),i.attr(\"y1\",function(t){return t.height}).call(b)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map(function(t){return t.sort(s)}),t=e.multiselect?T(t.sort(M)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map(function(t){var e=[h(r,t[0],[]),p(r,t[1],[])];if(e[1]>e[0])return e}).filter(function(t){return t})).length)return}return t.length>1?t:t[0]}}},{\"../../lib\":693,\"../../lib/gup\":690,\"./constants\":1e3,d3:147}],998:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../plots/get_data\").getModuleCalcData,a=t(\"./plot\"),o=t(\"../../constants/xmlns_namespaces\");r.name=\"parcoords\",r.plot=function(t){var e=i(t.calcdata,\"parcoords\")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"parcoords\"),a=e._has&&e._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(\".svg-container\");r.filter(function(t,e){return e===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\").each(function(){var t=this.toDataURL(\"image/png\");e.append(\"svg:image\").attr({xmlns:o.svg,\"xlink:href\":t,preserveAspectRatio:\"none\",x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){n.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)}},{\"../../constants/xmlns_namespaces\":671,\"../../plots/get_data\":778,\"./plot\":1006,d3:147}],999:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/has_colorscale\"),i=t(\"../../components/colorscale/calc\"),a=t(\"../../lib\"),o=t(\"../../lib/gup\").wrap;e.exports=function(t,e){var r=!!e.line.colorscale&&a.isArrayOrTypedArray(e.line.color),s=r?e.line.color:function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._length),l=r?e.line.colorscale:[[0,e.line.color],[1,e.line.color]];return n(e,\"line\")&&i(e,s,\"line\",\"c\"),o({lineColor:s,cscale:l})}},{\"../../components/colorscale/calc\":575,\"../../components/colorscale/has_colorscale\":581,\"../../lib\":693,\"../../lib/gup\":690}],1000:[function(t,e,r){\"use strict\";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:[\"contextLineLayer\",\"focusLineLayer\",\"pickLineLayer\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:\"magenta\",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeColor:\"white\",strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}}},{}],1001:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"../../plots/domain\").defaults,s=t(\"../../plots/array_container_defaults\"),l=t(\"./attributes\"),c=t(\"./axisbrush\"),u=t(\"./constants\").maxDimensionCount,f=t(\"./merge_length\");function h(t,e){function r(r,i){return n.coerce(t,e,l.dimensions,r,i)}var i=r(\"values\"),a=r(\"visible\");if(i&&i.length||(a=e.visible=!1),a){r(\"label\"),r(\"tickvals\"),r(\"ticktext\"),r(\"tickformat\"),r(\"range\"),r(\"multiselect\");var o=r(\"constraintrange\");o&&(e.constraintrange=c.cleanRanges(o,e))}}e.exports=function(t,e,r,c){function p(r,i){return n.coerce(t,e,l,r,i)}var d=t.dimensions;Array.isArray(d)&&d.length>u&&(n.log(\"parcoords traces support up to \"+u+\" dimensions at the moment\"),d.splice(u));var g=s(t,e,{name:\"dimensions\",handleItemDefaults:h}),m=function(t,e,r,o,s){var l=s(\"line.color\",r);if(i(t,\"line\")&&n.isArrayOrTypedArray(l)){if(l.length)return s(\"line.colorscale\"),a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\"}),l.length;e.line.color=r}return 1/0}(t,e,r,c,p);o(e,c,p),Array.isArray(g)&&g.length||(e.visible=!1),f(e,g,\"values\",m);var v={family:c.font.family,size:Math.round(c.font.size/1.2),color:c.font.color};n.coerceFont(p,\"labelfont\",v),n.coerceFont(p,\"tickfont\",v),n.coerceFont(p,\"rangefont\",v)}},{\"../../components/colorscale/defaults\":577,\"../../components/colorscale/has_colorscale\":581,\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"../../plots/domain\":767,\"./attributes\":996,\"./axisbrush\":997,\"./constants\":1e3,\"./merge_length\":1004}],1002:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.colorbar={container:\"line\",min:\"cmin\",max:\"cmax\"},n.moduleType=\"trace\",n.name=\"parcoords\",n.basePlotModule=t(\"./base_plot\"),n.categories=[\"gl\",\"regl\",\"noOpacity\"],n.meta={},e.exports=n},{\"./attributes\":996,\"./base_plot\":998,\"./calc\":999,\"./defaults\":1001,\"./plot\":1006}],1003:[function(t,e,r){\"use strict\";var n=t(\"glslify\"),i=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 p0, p1, p2, p3,\\n               p4, p5, p6, p7,\\n               p8, p9, pa, pb,\\n               pc, pd, pe;\\n\\nattribute vec4 pf;\\n\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\n\\nuniform vec2 resolution,\\n             viewBoxPosition,\\n             viewBoxSize;\\n\\nuniform sampler2D palette;\\nuniform sampler2D mask;\\nuniform float maskHeight;\\n\\nuniform vec2 colorClamp;\\n\\nvarying vec4 fragColor;\\n\\nvec4 unit_1 = vec4(1, 1, 1, 1);\\n\\nfloat val(mat4 p, mat4 v) {\\n    return dot(matrixCompMult(p, v) * unit_1, unit_1);\\n}\\n\\nfloat axisY(\\n        float x,\\n        mat4 d[4],\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\n    ) {\\n\\n    float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\\n    float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\\n    return y1 * (1.0 - x) + y2 * x;\\n}\\n\\nconst int bitsPerByte = 8;\\n\\nint mod2(int a) {\\n    return a - 2 * (a / 2);\\n}\\n\\nint mod8(int a) {\\n    return a - 8 * (a / 8);\\n}\\n\\nvec4 zero = vec4(0, 0, 0, 0);\\nvec4 unit_0 = vec4(1, 1, 1, 1);\\nvec2 xyProjection = vec2(1, 1);\\n\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\n                clamp(m[1], lo[1], hi[1]),\\n                clamp(m[2], lo[2], hi[2]),\\n                clamp(m[3], lo[3], hi[3]));\\n}\\n\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\n    return mclamp(p, lo, hi) == p;\\n}\\n\\nbool withinBoundingBox(\\n        mat4 d[4],\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\\n    ) {\\n\\n    return mshow(d[0], loA, hiA) &&\\n           mshow(d[1], loB, hiB) &&\\n           mshow(d[2], loC, hiC) &&\\n           mshow(d[3], loD, hiD);\\n}\\n\\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\\n    bool result = true;\\n    int bitInByteStepper;\\n    float valY, valueY, scaleX;\\n    int hit, bitmask, valX;\\n    for(int i = 0; i < 4; i++) {\\n        for(int j = 0; j < 4; j++) {\\n            for(int k = 0; k < 4; k++) {\\n                bitInByteStepper = mod8(j * 4 + k);\\n                valX = i * 2 + j / 2;\\n                valY = d[i][j][k];\\n                valueY = valY * (height - 1.0) + 0.5;\\n                scaleX = (float(valX) + 0.5) / 8.0;\\n                hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\\n                result = result && mod2(hit) == 1;\\n            }\\n        }\\n    }\\n    return result;\\n}\\n\\nvec4 position(\\n        float depth,\\n        vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\\n        mat4 dims[4],\\n        float signum,\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\\n        sampler2D mask, float maskHeight\\n    ) {\\n\\n    float x = 0.5 * signum + 0.5;\\n    float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\\n\\n    float show = float(\\n                            withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\\n                         && withinRasterMask(dims, mask, maskHeight)\\n                      );\\n\\n    vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\n\\n    return vec4(\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\n        depthOrHide,\\n        1.0\\n    );\\n}\\n\\nvoid main() {\\n\\n    float prominence = abs(pf[3]);\\n\\n    mat4 p[4];\\n    p[0] = mat4(p0, p1, p2, p3);\\n    p[1] = mat4(p4, p5, p6, p7);\\n    p[2] = mat4(p8, p9, pa, pb);\\n    p[3] = mat4(pc, pd, pe, abs(pf));\\n\\n    gl_Position = position(\\n        1.0 - prominence,\\n        resolution, viewBoxPosition, viewBoxSize,\\n        p,\\n        sign(pf[3]),\\n        dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\n        loA, hiA, loB, hiB, loC, hiC, loD, hiD,\\n        mask, maskHeight\\n    );\\n\\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\\n}\\n\"]),a=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 p0, p1, p2, p3,\\n               p4, p5, p6, p7,\\n               p8, p9, pa, pb,\\n               pc, pd, pe;\\n\\nattribute vec4 pf;\\n\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D;\\n\\nuniform vec2 resolution,\\n             viewBoxPosition,\\n             viewBoxSize;\\n\\nuniform sampler2D palette;\\n\\nuniform vec2 colorClamp;\\n\\nvarying vec4 fragColor;\\n\\nvec2 xyProjection = vec2(1, 1);\\n\\nvec4 unit = vec4(1, 1, 1, 1);\\n\\nfloat val(mat4 p, mat4 v) {\\n    return dot(matrixCompMult(p, v) * unit, unit);\\n}\\n\\nfloat axisY(\\n        float x,\\n        mat4 d[4],\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\n    ) {\\n\\n    float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\\n    float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\\n    return y1 * (1.0 - x) + y2 * x;\\n}\\n\\nvec4 position(\\n        float depth,\\n        vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\\n        mat4 dims[4],\\n        float signum,\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\n    ) {\\n\\n    float x = 0.5 * signum + 0.5;\\n    float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\\n\\n    vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\\n\\n    return vec4(\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\n        depth,\\n        1.0\\n    );\\n}\\n\\nvoid main() {\\n\\n    float prominence = abs(pf[3]);\\n\\n    mat4 p[4];\\n    p[0] = mat4(p0, p1, p2, p3);\\n    p[1] = mat4(p4, p5, p6, p7);\\n    p[2] = mat4(p8, p9, pa, pb);\\n    p[3] = mat4(pc, pd, pe, abs(pf));\\n\\n    gl_Position = position(\\n        1.0 - prominence,\\n        resolution, viewBoxPosition, viewBoxSize,\\n        p,\\n        sign(pf[3]),\\n        dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D\\n    );\\n\\n    float clampedColorIndex = clamp((prominence - colorClamp[0]) / (colorClamp[1] - colorClamp[0]), 0.0, 1.0);\\n    fragColor = texture2D(palette, vec2((clampedColorIndex * 255.0 + 0.5) / 256.0, 0.5));\\n}\\n\"]),o=n([\"precision highp float;\\n#define GLSLIFY 1\\n\\nattribute vec4 p0, p1, p2, p3,\\n               p4, p5, p6, p7,\\n               p8, p9, pa, pb,\\n               pc, pd, pe;\\n\\nattribute vec4 pf;\\n\\nuniform mat4 dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\\n\\nuniform vec2 resolution,\\n             viewBoxPosition,\\n             viewBoxSize;\\n\\nuniform sampler2D mask;\\nuniform float maskHeight;\\n\\nuniform vec2 colorClamp;\\n\\nvarying vec4 fragColor;\\n\\nvec4 unit_1 = vec4(1, 1, 1, 1);\\n\\nfloat val(mat4 p, mat4 v) {\\n    return dot(matrixCompMult(p, v) * unit_1, unit_1);\\n}\\n\\nfloat axisY(\\n        float x,\\n        mat4 d[4],\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D\\n    ) {\\n\\n    float y1 = val(d[0], dim1A) + val(d[1], dim1B) + val(d[2], dim1C) + val(d[3], dim1D);\\n    float y2 = val(d[0], dim2A) + val(d[1], dim2B) + val(d[2], dim2C) + val(d[3], dim2D);\\n    return y1 * (1.0 - x) + y2 * x;\\n}\\n\\nconst int bitsPerByte = 8;\\n\\nint mod2(int a) {\\n    return a - 2 * (a / 2);\\n}\\n\\nint mod8(int a) {\\n    return a - 8 * (a / 8);\\n}\\n\\nvec4 zero = vec4(0, 0, 0, 0);\\nvec4 unit_0 = vec4(1, 1, 1, 1);\\nvec2 xyProjection = vec2(1, 1);\\n\\nmat4 mclamp(mat4 m, mat4 lo, mat4 hi) {\\n    return mat4(clamp(m[0], lo[0], hi[0]),\\n                clamp(m[1], lo[1], hi[1]),\\n                clamp(m[2], lo[2], hi[2]),\\n                clamp(m[3], lo[3], hi[3]));\\n}\\n\\nbool mshow(mat4 p, mat4 lo, mat4 hi) {\\n    return mclamp(p, lo, hi) == p;\\n}\\n\\nbool withinBoundingBox(\\n        mat4 d[4],\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD\\n    ) {\\n\\n    return mshow(d[0], loA, hiA) &&\\n           mshow(d[1], loB, hiB) &&\\n           mshow(d[2], loC, hiC) &&\\n           mshow(d[3], loD, hiD);\\n}\\n\\nbool withinRasterMask(mat4 d[4], sampler2D mask, float height) {\\n    bool result = true;\\n    int bitInByteStepper;\\n    float valY, valueY, scaleX;\\n    int hit, bitmask, valX;\\n    for(int i = 0; i < 4; i++) {\\n        for(int j = 0; j < 4; j++) {\\n            for(int k = 0; k < 4; k++) {\\n                bitInByteStepper = mod8(j * 4 + k);\\n                valX = i * 2 + j / 2;\\n                valY = d[i][j][k];\\n                valueY = valY * (height - 1.0) + 0.5;\\n                scaleX = (float(valX) + 0.5) / 8.0;\\n                hit = int(texture2D(mask, vec2(scaleX, (valueY + 0.5) / height))[3] * 255.0) / int(pow(2.0, float(bitInByteStepper)));\\n                result = result && mod2(hit) == 1;\\n            }\\n        }\\n    }\\n    return result;\\n}\\n\\nvec4 position(\\n        float depth,\\n        vec2 resolution, vec2 viewBoxPosition, vec2 viewBoxSize,\\n        mat4 dims[4],\\n        float signum,\\n        mat4 dim1A, mat4 dim2A, mat4 dim1B, mat4 dim2B, mat4 dim1C, mat4 dim2C, mat4 dim1D, mat4 dim2D,\\n        mat4 loA, mat4 hiA, mat4 loB, mat4 hiB, mat4 loC, mat4 hiC, mat4 loD, mat4 hiD,\\n        sampler2D mask, float maskHeight\\n    ) {\\n\\n    float x = 0.5 * signum + 0.5;\\n    float y = axisY(x, dims, dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D);\\n\\n    float show = float(\\n                            withinBoundingBox(dims, loA, hiA, loB, hiB, loC, hiC, loD, hiD)\\n                         && withinRasterMask(dims, mask, maskHeight)\\n                      );\\n\\n    vec2 viewBoxXY = viewBoxPosition + viewBoxSize * vec2(x, y);\\n    float depthOrHide = depth + 2.0 * (1.0 - show);\\n\\n    return vec4(\\n        xyProjection * (2.0 * viewBoxXY / resolution - 1.0),\\n        depthOrHide,\\n        1.0\\n    );\\n}\\n\\nvoid main() {\\n\\n    float prominence = abs(pf[3]);\\n\\n    mat4 p[4];\\n    p[0] = mat4(p0, p1, p2, p3);\\n    p[1] = mat4(p4, p5, p6, p7);\\n    p[2] = mat4(p8, p9, pa, pb);\\n    p[3] = mat4(pc, pd, pe, abs(pf));\\n\\n    gl_Position = position(\\n        1.0 - prominence,\\n        resolution, viewBoxPosition, viewBoxSize,\\n        p,\\n        sign(pf[3]),\\n        dim1A, dim2A, dim1B, dim2B, dim1C, dim2C, dim1D, dim2D,\\n        loA, hiA, loB, hiB, loC, hiC, loD, hiD,\\n        mask, maskHeight\\n    );\\n\\n    fragColor = vec4(pf.rgb, 1.0);\\n}\\n\"]),s=n([\"precision lowp float;\\n#define GLSLIFY 1\\n\\nvarying vec4 fragColor;\\n\\nvoid main() {\\n    gl_FragColor = fragColor;\\n}\\n\"]),l=t(\"../../lib\"),c=1e-6,u=1e-7,f=2048,h=64,p=2,d=4,g=8,m=h/g,v=[119,119,119],y=new Uint8Array(4),x=new Uint8Array(4),b={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function _(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function w(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:y})}(t),r.drawCompleted=!0),function s(l){var c;c=Math.min(n,i-l*n),a.offset=p*l*n,a.count=p*c,0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],_(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(e(a),l*n+c<i&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}(0)}function k(t,e){return(t>>>8*e)%256/255}function M(t,e,r){var n,i,a,o=[];for(i=0;i<t;i++)for(a=0;a<p;a++)for(n=0;n<d;n++)o.push(e[i*h+r*d+n]),r*d+n===h-1&&a%2==0&&(o[o.length-1]*=-1);return o}e.exports=function(t,e){var r,n,p,d,y,A=e.context,T=e.pick,S=e.regl,E={currentRafs:{},drawCompleted:!0,clearOnly:!1},C=function(t){for(var e={},r=0;r<16;r++)e[\"p\"+r.toString(16)]=t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)});return e}(S),L=S.texture(b);P(e);var z=S({profile:!1,blend:{enable:A,func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:1,dstAlpha:1},equation:{rgb:\"add\",alpha:\"add\"},color:[0,0,0,0]},depth:{enable:!A,mask:!0,func:\"less\",range:[0,1]},cull:{enable:!0,face:\"back\"},scissor:{enable:!0,box:{x:S.prop(\"scissorX\"),y:S.prop(\"scissorY\"),width:S.prop(\"scissorWidth\"),height:S.prop(\"scissorHeight\")}},viewport:{x:S.prop(\"viewportX\"),y:S.prop(\"viewportY\"),width:S.prop(\"viewportWidth\"),height:S.prop(\"viewportHeight\")},dither:!1,vert:T?o:A?a:i,frag:s,primitive:\"lines\",lineWidth:1,attributes:C,uniforms:{resolution:S.prop(\"resolution\"),viewBoxPosition:S.prop(\"viewBoxPosition\"),viewBoxSize:S.prop(\"viewBoxSize\"),dim1A:S.prop(\"dim1A\"),dim2A:S.prop(\"dim2A\"),dim1B:S.prop(\"dim1B\"),dim2B:S.prop(\"dim2B\"),dim1C:S.prop(\"dim1C\"),dim2C:S.prop(\"dim2C\"),dim1D:S.prop(\"dim1D\"),dim2D:S.prop(\"dim2D\"),loA:S.prop(\"loA\"),hiA:S.prop(\"hiA\"),loB:S.prop(\"loB\"),hiB:S.prop(\"hiB\"),loC:S.prop(\"loC\"),hiC:S.prop(\"hiC\"),loD:S.prop(\"loD\"),hiD:S.prop(\"hiD\"),palette:L,mask:S.prop(\"maskTexture\"),maskHeight:S.prop(\"maskHeight\"),colorClamp:S.prop(\"colorClamp\")},offset:S.prop(\"offset\"),count:S.prop(\"count\")});function P(t){r=t.model,n=t.viewModel,p=n.dimensions.slice(),d=p[0]?p[0].values.length:0;var e=r.lines,i=T?e.color.map(function(t,r){return r/e.color.length}):e.color,a=Math.max(1/255,Math.pow(1/i.length,1/3)),o=function(t,e,r){for(var n,i=e.length,a=[],o=0;o<t;o++)for(var s=0;s<h;s++)a.push(s<i?e[s].paddedUnitValues[o]:s===h-1?(n=r[o],Math.max(c,Math.min(1-c,n))):s>=h-4?k(o,h-2-s):.5);return a}(d,p,i);!function(t,e,r){for(var n=0;n<16;n++)t[\"p\"+n.toString(16)](M(e,r,n))}(C,d,o),L=S.texture(l.extendFlat({data:function(t,e,r){for(var n=[],i=0;i<256;i++){var a=t(i/255);n.push((e?v:a).concat(r))}return n}(r.unitToColor,A,Math.round(255*(A?a:1)))},b))}var O=[0,1];var I=[];function D(t,e,n,i,a,o,s,c,u,f,h){var p,d,g,m,v=[t,e],y=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(p=0;p<2;p++)for(m=v[p],d=0;d<4;d++)for(g=0;g<16;g++)y[p][d][g]=g+16*d===m?1:0;var x=r.lines.canvasOverdrag,b=r.domain,_=r.canvasWidth,w=r.canvasHeight;return l.extendFlat({key:s,resolution:[_,w],viewBoxPosition:[n+x,i],viewBoxSize:[a,o],i:t,ii:e,dim1A:y[0][0],dim1B:y[0][1],dim1C:y[0][2],dim1D:y[0][3],dim2A:y[1][0],dim2B:y[1][1],dim2C:y[1][2],dim2D:y[1][3],colorClamp:O,scissorX:(c===u?0:n+x)+(r.pad.l-x)+r.layoutWidth*b.x[0],scissorWidth:(c===f?_-n+x:a+.5)+(c===u?n+x:0),scissorY:i+r.pad.b+r.layoutHeight*b.y[0],scissorHeight:o,viewportX:r.pad.l-x+r.layoutWidth*b.x[0],viewportY:r.pad.b+r.layoutHeight*b.y[0],viewportWidth:_,viewportHeight:w},h)}return{setColorDomain:function(t){O[0]=t[0],O[1]=t[1]},render:function(t,e,n){var i,a,o,s=t.length,l=1/0,c=-1/0;for(i=0;i<s;i++)t[i].dim2.canvasX>c&&(c=t[i].dim2.canvasX,o=i),t[i].dim1.canvasX<l&&(l=t[i].dim1.canvasX,a=i);0===s&&_(S,0,0,r.canvasWidth,r.canvasHeight);var h=A?{}:function(){var t,e,r,n=[0,1].map(function(){return[0,1,2,3].map(function(){return new Float32Array(16)})});for(t=0;t<2;t++)for(e=0;e<4;e++)for(r=0;r<16;r++){var i,a=r+16*e;i=a<p.length?p[a].brush.filter.getBounds()[t]:t,n[t][e][r]=i+(2*t-1)*u}function o(t,e){var r=f-1;return[Math.max(0,Math.floor(e[0]*r)),Math.min(r,Math.ceil(e[1]*r))]}for(var s=Array.apply(null,new Array(f*m)).map(function(){return 255}),l=0;l<p.length;l++){var c=l%g,h=(l-c)/g,d=Math.pow(2,c),v=p[l],x=v.brush.filter.get();if(!(x.length<2))for(var b=o(0,x[0])[1],_=1;_<x.length;_++){for(var w=o(0,x[_]),k=b+1;k<w[0];k++)s[k*m+h]&=~d;b=Math.max(b,w[1])}}var M={shape:[m,f],format:\"alpha\",type:\"uint8\",mag:\"nearest\",min:\"nearest\",data:s};return y?y(M):y=S.texture(M),{maskTexture:y,maskHeight:f,loA:n[0][0],loB:n[0][1],loC:n[0][2],loD:n[0][3],hiA:n[1][0],hiB:n[1][1],hiC:n[1][2],hiD:n[1][3]}}();for(i=0;i<s;i++){var v=t[i],x=v.dim1,b=x.crossfilterDimensionIndex,k=v.canvasX,M=v.canvasY,T=v.dim2.crossfilterDimensionIndex,C=v.panelSizeX,L=v.panelSizeY,P=k+C;if(e||!I[b]||I[b][0]!==k||I[b][1]!==P){I[b]=[k,P];var O=D(b,T,k,M,C,L,x.crossfilterDimensionIndex,i,a,o,h);E.clearOnly=n,w(S,z,E,e?r.lines.blockLineCount:d,d,O)}}},readPixel:function(t,e){return S.read({x:t,y:e,width:1,height:1,data:x}),x},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return S.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){for(var e in t.style[\"pointer-events\"]=\"none\",L.destroy(),y&&y.destroy(),C)C[e].destroy()},update:P}}},{\"../../lib\":693,glslify:390}],1004:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n){var i,a;for(n||(n=1/0),i=0;i<e.length;i++)(a=e[i]).visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),t._length=n,i=0;i<e.length;i++)(a=e[i]).visible&&(a._length=n);return n}},{}],1005:[function(t,e,r){\"use strict\";var n=t(\"./lines\"),i=t(\"./constants\"),a=t(\"../../lib\"),o=t(\"d3\"),s=t(\"../../components/drawing\"),l=t(\"../../lib/gup\"),c=l.keyFun,u=l.repeat,f=l.unwrap,h=t(\"./axisbrush\");function p(t){return!(\"visible\"in t)||t.visible}function d(t){var e=t.range?t.range[0]:a.aggNums(Math.min,null,t.values,t._length),r=t.range?t.range[1]:a.aggNums(Math.max,null,t.values,t._length);return!isNaN(e)&&isFinite(e)||(e=0),!isNaN(r)&&isFinite(r)||(r=0),e===r&&(0===e?(e-=1,r+=1):(e*=.9,r*=1.1)),[e,r]}function g(t){return t.dimensions.some(function(t){return t.brush.filterSpecified})}function m(t,e,r){var n=f(e),s=n.trace,l=n.lineColor,c=n.cscale,u=s.line,h=s.domain,g=s.dimensions,m=t.width,v=s.labelfont,y=s.tickfont,x=s.rangefont,b=a.extendDeepNoArrays({},u,{color:l.map(o.scale.linear().domain(d({values:l,range:[u.cmin,u.cmax],_length:s._length}))),blockLineCount:i.blockLineCount,canvasOverdrag:i.overdrag*i.canvasPixelRatio}),_=Math.floor(m*(h.x[1]-h.x[0])),w=Math.floor(t.height*(h.y[1]-h.y[0])),k=t.margin||{l:80,r:80,t:100,b:80},M=_,A=w;return{key:r,colCount:g.filter(p).length,dimensions:g,tickDistance:i.tickDistance,unitToColor:function(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){return o.rgb(t[1])}),n=\"rgb\".split(\"\").map(function(t){return o.scale.linear().clamp(!0).domain(e).range(r.map((n=t,function(t){return t[n]})));var n});return function(t){return n.map(function(e){return e(t)})}}(c),lines:b,labelFont:v,tickFont:y,rangeFont:x,layoutWidth:m,layoutHeight:t.height,domain:h,translateX:h.x[0]*m,translateY:t.height-h.y[1]*t.height,pad:k,canvasWidth:M*i.canvasPixelRatio+2*b.canvasOverdrag,canvasHeight:A*i.canvasPixelRatio,width:M,height:A,canvasPixelRatio:i.canvasPixelRatio}}function v(t,e,r){var n=r.width,s=r.height,l=r.dimensions,c=r.canvasPixelRatio,u=function(t){return n*t/Math.max(1,r.colCount-1)},f=i.verticalPadding/s,m=function(t,e){return o.scale.linear().range([e,t-e])}(s,i.verticalPadding),v={key:r.key,xScale:u,model:r,inBrushDrag:!1},y={};return v.dimensions=l.filter(p).map(function(n,l){var p=function(t,e){return o.scale.linear().domain(d(t)).range([e,1-e])}(n,f),x=y[n.label];y[n.label]=(x||0)+1;var b=n.label+(x?\"__\"+x:\"\"),_=n.constraintrange,w=_&&_.length;w&&!Array.isArray(_[0])&&(_=[_]);var k=w?_.map(function(t){return t.map(p)}):[[0,1]],M=n.values;M.length>n._length&&(M=M.slice(0,n._length));var A,T=n.tickvals;function S(t,e){return{val:t,text:A[e]}}function E(t,e){return t.val-e.val}if(Array.isArray(T)&&T.length){A=n.ticktext,Array.isArray(A)&&A.length?A.length>T.length?A=A.slice(0,T.length):T.length>A.length&&(T=T.slice(0,A.length)):A=T.map(o.format(n.tickformat));for(var C=1;C<T.length;C++)if(T[C]<T[C-1]){for(var L=T.map(S).sort(E),z=0;z<T.length;z++)T[z]=L[z].val,A[z]=L[z].text;break}}else T=void 0;return{key:b,label:n.label,tickFormat:n.tickformat,tickvals:T,ticktext:A,ordinal:!!T,multiselect:n.multiselect,xIndex:l,crossfilterDimensionIndex:l,visibleIndex:n._index,height:s,values:M,paddedUnitValues:M.map(p),unitTickvals:T&&T.map(p),xScale:u,x:u(l),canvasX:u(l)*c,unitToPaddedPx:m,domainScale:function(t,e,r,n,i){var a,s,l=d(r);return n?o.scale.ordinal().domain(n.map((a=o.format(r.tickformat),s=i,s?function(t,e){var r=s[e];return null==r?a(t):r}:a))).range(n.map(function(r){var n=(r-l[0])/(l[1]-l[0]);return t-e+n*(2*e-t)})):o.scale.linear().domain(l).range([t-e,e])}(s,i.verticalPadding,n,T,A),ordinalScale:function(t){if(t.tickvals){var e=d(t);return o.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}}(n),parent:v,model:r,brush:h.makeBrush(t,w,k,function(){t.linePickActive(!1)},function(){var e=v;e.focusLayer&&e.focusLayer.render(e.panels,!0);var r=g(e);!t.contextShown()&&r?(e.contextLayer&&e.contextLayer.render(e.panels,!0),t.contextShown(!0)):t.contextShown()&&!r&&(e.contextLayer&&e.contextLayer.render(e.panels,!0,!0),t.contextShown(!1))},function(r){var i=v;if(i.focusLayer.render(i.panels,!0),i.pickLayer&&i.pickLayer.render(i.panels,!0),t.linePickActive(!0),e&&e.filterChanged){var o=p.invert,s=r.map(function(t){return t.map(o).sort(a.sorterAsc)}).sort(function(t,e){return t[0]-e[0]});e.filterChanged(i.key,n._index,s)}})}}),v}function y(t){t.classed(i.cn.axisExtentText,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"default\").style(\"user-select\",\"none\")}e.exports=function(t,e,r,l,p,d){var x,b,_=(x=!0,b=!1,{linePickActive:function(t){return arguments.length?x=!!t:x},contextShown:function(t){return arguments.length?b=!!t:b}}),w=l.filter(function(t){return f(t).trace.visible}).map(m.bind(0,p)).map(v.bind(0,_,d));r.each(function(t,e){return a.extendFlat(t,w[e])});var k=r.selectAll(\".gl-canvas\").each(function(t){t.viewModel=w[0],t.model=t.viewModel?t.viewModel.model:null}),M=null;k.filter(function(t){return t.pick}).style(\"pointer-events\",\"auto\").on(\"mousemove\",function(t){if(_.linePickActive()&&t.lineLayer&&d&&d.hover){var e=o.event,r=this.width,n=this.height,i=o.mouse(this),a=i[0],s=i[1];if(a<0||s<0||a>=r||s>=n)return;var l=t.lineLayer.readPixel(a,n-1-s),c=0!==l[3],u=c?l[2]+256*(l[1]+256*l[0]):null,f={x:a,y:s,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:u};u!==M&&(c?d.hover(f):d.unhover&&d.unhover(f),M=u)}}),k.style(\"opacity\",function(t){return t.pick?.01:1}),e.style(\"background\",\"rgba(255, 255, 255, 0)\");var A=e.selectAll(\".\"+i.cn.parcoords).data(w,c);A.exit().remove(),A.enter().append(\"g\").classed(i.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),A.attr(\"transform\",function(t){return\"translate(\"+t.model.translateX+\",\"+t.model.translateY+\")\"});var T=A.selectAll(\".\"+i.cn.parcoordsControlView).data(u,c);T.enter().append(\"g\").classed(i.cn.parcoordsControlView,!0),T.attr(\"transform\",function(t){return\"translate(\"+t.model.pad.l+\",\"+t.model.pad.t+\")\"});var S=T.selectAll(\".\"+i.cn.yAxis).data(function(t){return t.dimensions},c);function E(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),i=n.length-1,a=0;a<i;a++){var o=r[a]||(r[a]={}),s=n[a],l=n[a+1];o.dim1=s,o.dim2=l,o.canvasX=s.canvasX,o.panelSizeX=l.canvasX-s.canvasX,o.panelSizeY=e.model.canvasHeight,o.y=0,o.canvasY=0}}S.enter().append(\"g\").classed(i.cn.yAxis,!0),T.each(function(t){E(S,t)}),k.each(function(t){t.viewModel&&(t.lineLayer?t.lineLayer.update(t):t.lineLayer=n(this,t),t.viewModel[t.key]=t.lineLayer,t.lineLayer.render(t.viewModel.panels,!t.context))}),S.attr(\"transform\",function(t){return\"translate(\"+t.xScale(t.xIndex)+\", 0)\"}),S.call(o.behavior.drag().origin(function(t){return t}).on(\"drag\",function(t){var e=t.parent;_.linePickActive(!1),t.x=Math.max(-i.overdrag,Math.min(t.model.width+i.overdrag,o.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,S.sort(function(t,e){return t.x-e.x}).each(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio}),E(S,e),S.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr(\"transform\",function(t){return\"translate(\"+t.xScale(t.xIndex)+\", 0)\"}),o.select(this).attr(\"transform\",\"translate(\"+t.x+\", 0)\"),S.each(function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!g(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)}).on(\"dragend\",function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,E(S,e),o.select(this).attr(\"transform\",function(t){return\"translate(\"+t.x+\", 0)\"}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!g(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),_.linePickActive(!0),d&&d.axesMoved&&d.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex}))})),S.exit().remove();var C=S.selectAll(\".\"+i.cn.axisOverlays).data(u,c);C.enter().append(\"g\").classed(i.cn.axisOverlays,!0),C.selectAll(\".\"+i.cn.axis).remove();var L=C.selectAll(\".\"+i.cn.axis).data(u,c);L.enter().append(\"g\").classed(i.cn.axis,!0),L.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,n=r.domain();o.select(this).call(o.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?n:null).tickFormat(t.ordinal?function(t){return t}:null).scale(r)),s.font(L.selectAll(\"text\"),t.model.tickFont)}),L.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),L.selectAll(\"text\").style(\"text-shadow\",\"1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff\").style(\"cursor\",\"default\").style(\"user-select\",\"none\");var z=C.selectAll(\".\"+i.cn.axisHeading).data(u,c);z.enter().append(\"g\").classed(i.cn.axisHeading,!0);var P=z.selectAll(\".\"+i.cn.axisTitle).data(u,c);P.enter().append(\"text\").classed(i.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"user-select\",\"none\").style(\"pointer-events\",\"auto\"),P.attr(\"transform\",\"translate(0,\"+-i.axisTitleOffset+\")\").text(function(t){return t.label}).each(function(t){s.font(o.select(this),t.model.labelFont)});var O=C.selectAll(\".\"+i.cn.axisExtent).data(u,c);O.enter().append(\"g\").classed(i.cn.axisExtent,!0);var I=O.selectAll(\".\"+i.cn.axisExtentTop).data(u,c);I.enter().append(\"g\").classed(i.cn.axisExtentTop,!0),I.attr(\"transform\",\"translate(0,\"+-i.axisExtentOffset+\")\");var D=I.selectAll(\".\"+i.cn.axisExtentTopText).data(u,c);function R(t,e){if(t.ordinal)return\"\";var r=t.domainScale.domain();return o.format(t.tickFormat)(r[e?r.length-1:0])}D.enter().append(\"text\").classed(i.cn.axisExtentTopText,!0).call(y),D.text(function(t){return R(t,!0)}).each(function(t){s.font(o.select(this),t.model.rangeFont)});var B=O.selectAll(\".\"+i.cn.axisExtentBottom).data(u,c);B.enter().append(\"g\").classed(i.cn.axisExtentBottom,!0),B.attr(\"transform\",function(t){return\"translate(0,\"+(t.model.height+i.axisExtentOffset)+\")\"});var F=B.selectAll(\".\"+i.cn.axisExtentBottomText).data(u,c);F.enter().append(\"text\").classed(i.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(y),F.text(function(t){return R(t)}).each(function(t){s.font(o.select(this),t.model.rangeFont)}),h.ensureAxisBrush(C)}},{\"../../components/drawing\":592,\"../../lib\":693,\"../../lib/gup\":690,\"./axisbrush\":997,\"./constants\":1e3,\"./lines\":1003,d3:147}],1006:[function(t,e,r){\"use strict\";var n=t(\"./parcoords\"),i=t(\"../../lib/prepare_regl\");e.exports=function(t,e){var r=t._fullLayout,a=r._toppaper,o=r._paperdiv,s=r._glcontainer;if(i(t)){var l={},c={},u=r._size;e.forEach(function(e,r){l[r]=t.data[r].dimensions,c[r]=t.data[r].dimensions.slice()});n(o,a,s,e,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:function(e,r,n){var i=c[e][r],a=n.map(function(t){return t.slice()});a.length?(1===a.length&&(a=a[0]),i.constraintrange=a,a=[a]):(delete i.constraintrange,a=null);var o={};o[\"dimensions[\"+r+\"].constraintrange\"]=a,t.emit(\"plotly_restyle\",[o,[e]])},hover:function(e){t.emit(\"plotly_hover\",e)},unhover:function(e){t.emit(\"plotly_unhover\",e)},axesMoved:function(e,r){function n(t){return!(\"visible\"in t)||t.visible}function i(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}var a=function(t){return function(e,n){return i(r,t,e)-i(r,t,n)}}(c[e].filter(n));l[e].sort(a),c[e].filter(function(t){return!n(t)}).sort(function(t){return c[e].indexOf(t)}).forEach(function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(c[e].indexOf(t),0,t)}),t.emit(\"plotly_restyle\")}})}}},{\"../../lib/prepare_regl\":707,\"./parcoords\":1005}],1007:[function(t,e,r){\"use strict\";var n=t(\"../../components/color/attributes\"),i=t(\"../../plots/font_attributes\"),a=t(\"../../plots/attributes\"),o=t(\"../../plots/domain\").attributes,s=t(\"../../lib/extend\").extendFlat,l=i({editType:\"calc\",colorEditType:\"style\"});e.exports={labels:{valType:\"data_array\",editType:\"calc\"},label0:{valType:\"number\",dflt:0,editType:\"calc\"},dlabel:{valType:\"number\",dflt:1,editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},marker:{colors:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:n.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},editType:\"calc\"},text:{valType:\"data_array\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"percent\"],extras:[\"none\"],editType:\"calc\"},hoverinfo:s({},a.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"calc\"},textfont:s({},l,{}),insidetextfont:s({},l,{}),outsidetextfont:s({},l,{}),domain:o({name:\"pie\",trace:!0,editType:\"calc\"}),hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},sort:{valType:\"boolean\",dflt:!0,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"number\",min:-360,max:360,dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"}}},{\"../../components/color/attributes\":566,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../../plots/domain\":767,\"../../plots/font_attributes\":768}],1008:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../plots/get_data\").getModuleCalcData;r.name=\"pie\",r.plot=function(t){var e=n.getModule(\"pie\"),r=i(t.calcdata,e)[0];r.length&&e.plot(t,r)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"pie\"),a=e._has&&e._has(\"pie\");i&&!a&&n._pielayer.selectAll(\"g.trace\").remove()}},{\"../../plots/get_data\":778,\"../../registry\":825}],1009:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\").isArrayOrTypedArray,a=t(\"tinycolor2\"),o=t(\"../../components/color\"),s=t(\"./helpers\");r.calc=function(t,e){var r,l,c,u,f,h=e.values,p=i(h)&&h.length,d=e.labels,g=e.marker.colors||[],m=[],v=t._fullLayout,y=v._piecolormap,x={},b=0,_=v.hiddenlabels||[];if(e.dlabel)for(d=new Array(h.length),r=0;r<h.length;r++)d[r]=String(e.label0+r*e.dlabel);function w(t,e){return!!t&&(!!(t=a(t)).isValid()&&(t=o.addOpacity(t,t.getAlpha()),y[e]||(y[e]=t),t))}var k=(p?h:d).length;for(r=0;r<k;r++){if(p){if(l=h[r],!n(l))continue;if((l=+l)<0)continue}else l=1;void 0!==(c=d[r])&&\"\"!==c||(c=r);var M=x[c=String(c)];void 0===M?(x[c]=m.length,(u=-1!==_.indexOf(c))||(b+=l),m.push({v:l,label:c,color:w(g[r],c),i:r,pts:[r],hidden:u})):((f=m[M]).v+=l,f.pts.push(r),f.hidden||(b+=l),!1===f.color&&g[r]&&(f.color=w(g[r],c)))}if(e.sort&&m.sort(function(t,e){return e.v-t.v}),m[0]&&(m[0].vTotal=b),e.textinfo&&\"none\"!==e.textinfo){var A,T=-1!==e.textinfo.indexOf(\"label\"),S=-1!==e.textinfo.indexOf(\"text\"),E=-1!==e.textinfo.indexOf(\"value\"),C=-1!==e.textinfo.indexOf(\"percent\"),L=v.separators;for(r=0;r<m.length;r++){if(f=m[r],A=T?[f.label]:[],S){var z=s.getFirstFilled(e.text,f.pts);z&&A.push(z)}E&&A.push(s.formatPieValue(f.v,L)),C&&A.push(s.formatPiePercent(f.v/b,L)),f.text=A.join(\"<br>\")}}return m},r.crossTraceCalc=function(t){var e=t._fullLayout,r=t.calcdata,n=e.piecolorway,i=e._piecolormap;e.extendpiecolors&&(n=function(t){var e,r=JSON.stringify(t),n=l[r];if(!n){for(n=t.slice(),e=0;e<t.length;e++)n.push(a(t[e]).lighten(20).toHexString());for(e=0;e<t.length;e++)n.push(a(t[e]).darken(20).toHexString());l[r]=n}return n}(n));var o,s,c,u,f=0;for(o=0;o<r.length;o++)if(\"pie\"===(c=r[o])[0].trace.type)for(s=0;s<c.length;s++)!1===(u=c[s]).color&&(i[u.label]?u.color=i[u.label]:(i[u.label]=u.color=n[f%n.length],f++))};var l={}},{\"../../components/color\":567,\"../../lib\":693,\"./helpers\":1012,\"fast-isnumeric\":213,tinycolor2:511}],1010:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../plots/domain\").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l,c=n.coerceFont,u=s(\"values\"),f=n.isArrayOrTypedArray(u),h=s(\"labels\");if(Array.isArray(h)?(l=h.length,f&&(l=Math.min(l,u.length))):f&&(l=u.length,s(\"label0\"),s(\"dlabel\")),l){e._length=l,s(\"marker.line.width\")&&s(\"marker.line.color\"),s(\"marker.colors\"),s(\"scalegroup\");var p=s(\"text\"),d=s(\"textinfo\",Array.isArray(p)?\"text+percent\":\"percent\");if(s(\"hovertext\"),d&&\"none\"!==d){var g=s(\"textposition\"),m=Array.isArray(g)||\"auto\"===g,v=m||\"inside\"===g,y=m||\"outside\"===g;if(v||y){var x=c(s,\"textfont\",o.font);v&&c(s,\"insidetextfont\",x),y&&c(s,\"outsidetextfont\",x)}}a(e,o,s),s(\"hole\"),s(\"sort\"),s(\"direction\"),s(\"rotation\"),s(\"pull\")}else e.visible=!1}},{\"../../lib\":693,\"../../plots/domain\":767,\"./attributes\":1007}],1011:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx/helpers\").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),r}},{\"../../components/fx/helpers\":606}],1012:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(\".\")&&(r=r.replace(/[.]?0+$/,\"\")),n.numSeparate(r,e)+\"%\"},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(\".\")&&(r=r.replace(/[.]?0+$/,\"\")),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r<e.length;r++){var n=t[e[r]];if(n||0===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0}},{\"../../lib\":693}],1013:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.supplyLayoutDefaults=t(\"./layout_defaults\"),n.layoutAttributes=t(\"./layout_attributes\");var i=t(\"./calc\");n.calc=i.calc,n.crossTraceCalc=i.crossTraceCalc,n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.styleOne=t(\"./style_one\"),n.moduleType=\"trace\",n.name=\"pie\",n.basePlotModule=t(\"./base_plot\"),n.categories=[\"pie\",\"showLegend\"],n.meta={},e.exports=n},{\"./attributes\":1007,\"./base_plot\":1008,\"./calc\":1009,\"./defaults\":1010,\"./layout_attributes\":1014,\"./layout_defaults\":1015,\"./plot\":1016,\"./style\":1017,\"./style_one\":1018}],1014:[function(t,e,r){\"use strict\";e.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}},{}],1015:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r(\"hiddenlabels\"),r(\"piecolorway\",e.colorway),r(\"extendpiecolors\")}},{\"../../lib\":693,\"./layout_attributes\":1014}],1016:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/fx\"),a=t(\"../../components/color\"),o=t(\"../../components/drawing\"),s=t(\"../../lib\"),l=t(\"../../lib/svg_text_utils\"),c=t(\"./helpers\"),u=t(\"./event_data\");function f(t,e){if(t.v===e.vTotal&&!e.trace.hole)return 1;var r=Math.PI*Math.min(t.v/e.vTotal,.5);return Math.min(1/(1+1/Math.sin(r)),(1-e.trace.hole)/2)}function h(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}e.exports=function(t,e){var r=t._fullLayout;!function(t,e){var r,n,i,a,o,s,l,c,u,f=[];for(i=0;i<t.length;i++){if(o=t[i][0],s=o.trace,r=e.w*(s.domain.x[1]-s.domain.x[0]),n=e.h*(s.domain.y[1]-s.domain.y[0]),l=s.pull,Array.isArray(l))for(l=0,a=0;a<s.pull.length;a++)s.pull[a]>l&&(l=s.pull[a]);o.r=Math.min(r,n)/(2+2*l),o.cx=e.l+e.w*(s.domain.x[1]+s.domain.x[0])/2,o.cy=e.t+e.h*(2-s.domain.y[1]-s.domain.y[0])/2,s.scalegroup&&-1===f.indexOf(s.scalegroup)&&f.push(s.scalegroup)}for(a=0;a<f.length;a++){for(u=1/0,c=f[a],i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===c&&(u=Math.min(u,o.r*o.r/o.vTotal));for(i=0;i<t.length;i++)(o=t[i][0]).trace.scalegroup===c&&(o.r=Math.sqrt(u*o.vTotal))}}(e,r._size);var p=s.makeTraceGroups(r._pielayer,e,\"trace\").each(function(e){var p=n.select(this),d=e[0],g=d.trace;!function(t){var e,r,n,i=t[0],a=i.trace,o=a.rotation*Math.PI/180,s=2*Math.PI/i.vTotal,l=\"px0\",c=\"px1\";if(\"counterclockwise\"===a.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;o+=s*t[e].v,s*=-1,l=\"px1\",c=\"px0\"}function u(t){return[i.r*Math.sin(t),-i.r*Math.cos(t)]}for(n=u(o),e=0;e<t.length;e++)(r=t[e]).hidden||(r[l]=n,o+=s*r.v/2,r.pxmid=u(o),r.midangle=o,o+=s*r.v/2,n=u(o),r[c]=n,r.largeArc=r.v>i.vTotal/2?1:0)}(e),p.attr(\"stroke-linejoin\",\"round\"),p.each(function(){var p=n.select(this).selectAll(\"g.slice\").data(e);p.enter().append(\"g\").classed(\"slice\",!0),p.exit().remove();var m=[[[],[]],[[],[]]],v=!1;p.each(function(e){if(e.hidden)n.select(this).selectAll(\"path,g\").remove();else{e.pointNumber=e.i,e.curveNumber=g.index,m[e.pxmid[1]<0?0:1][e.pxmid[0]<0?0:1].push(e);var a=d.cx,p=d.cy,y=n.select(this),x=y.selectAll(\"path.surface\").data([e]),b=!1,_=!1;if(x.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":\"all\"}),y.select(\"path.textline\").remove(),y.on(\"mouseover\",function(){var o=t._fullLayout,s=t._fullData[g.index];if(!t._dragging&&!1!==o.hovermode){var l=s.hoverinfo;if(Array.isArray(l)&&(l=i.castHoverinfo({hoverinfo:[c.castOption(l,e.pts)],_module:g._module},o,0)),\"all\"===l&&(l=\"label+text+value+percent+name\"),\"none\"!==l&&\"skip\"!==l&&l){var h=f(e,d),m=a+e.pxmid[0]*(1-h),v=p+e.pxmid[1]*(1-h),y=r.separators,x=[];if(-1!==l.indexOf(\"label\")&&x.push(e.label),-1!==l.indexOf(\"text\")){var w=c.castOption(s.hovertext||s.text,e.pts);w&&x.push(w)}-1!==l.indexOf(\"value\")&&x.push(c.formatPieValue(e.v,y)),-1!==l.indexOf(\"percent\")&&x.push(c.formatPiePercent(e.v/d.vTotal,y));var k=g.hoverlabel,M=k.font;i.loneHover({x0:m-h*d.r,x1:m+h*d.r,y:v,text:x.join(\"<br>\"),name:-1!==l.indexOf(\"name\")?s.name:void 0,idealAlign:e.pxmid[0]<0?\"left\":\"right\",color:c.castOption(k.bgcolor,e.pts)||e.color,borderColor:c.castOption(k.bordercolor,e.pts),fontFamily:c.castOption(M.family,e.pts),fontSize:c.castOption(M.size,e.pts),fontColor:c.castOption(M.color,e.pts)},{container:o._hoverlayer.node(),outerContainer:o._paper.node(),gd:t}),b=!0}t.emit(\"plotly_hover\",{points:[u(e,s)],event:n.event}),_=!0}}).on(\"mouseout\",function(r){var a=t._fullLayout,o=t._fullData[g.index];_&&(r.originalEvent=n.event,t.emit(\"plotly_unhover\",{points:[u(e,o)],event:n.event}),_=!1),b&&(i.loneUnhover(a._hoverlayer.node()),b=!1)}).on(\"click\",function(){var r=t._fullLayout,a=t._fullData[g.index];t._dragging||!1===r.hovermode||(t._hoverdata=[u(e,a)],i.click(t,n.event))}),g.pull){var w=+c.castOption(g.pull,e.pts)||0;w>0&&(a+=w*e.pxmid[0],p+=w*e.pxmid[1])}e.cxFinal=a,e.cyFinal=p;var k=g.hole;if(e.v===d.vTotal){var M=\"M\"+(a+e.px0[0])+\",\"+(p+e.px0[1])+C(e.px0,e.pxmid,!0,1)+C(e.pxmid,e.px0,!0,1)+\"Z\";k?x.attr(\"d\",\"M\"+(a+k*e.px0[0])+\",\"+(p+k*e.px0[1])+C(e.px0,e.pxmid,!1,k)+C(e.pxmid,e.px0,!1,k)+\"Z\"+M):x.attr(\"d\",M)}else{var A=C(e.px0,e.px1,!0,1);if(k){var T=1-k;x.attr(\"d\",\"M\"+(a+k*e.px1[0])+\",\"+(p+k*e.px1[1])+C(e.px1,e.px0,!1,k)+\"l\"+T*e.px0[0]+\",\"+T*e.px0[1]+A+\"Z\")}else x.attr(\"d\",\"M\"+a+\",\"+p+\"l\"+e.px0[0]+\",\"+e.px0[1]+A+\"Z\")}var S=c.castOption(g.textposition,e.pts),E=y.selectAll(\"g.slicetext\").data(e.text&&\"none\"!==S?[0]:[]);E.enter().append(\"g\").classed(\"slicetext\",!0),E.exit().remove(),E.each(function(){var r=s.ensureSingle(n.select(this),\"text\",\"\",function(t){t.attr(\"data-notex\",1)});r.text(e.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(o.font,\"outside\"===S?g.outsidetextfont:g.insidetextfont).call(l.convertToTspans,t);var i,c=o.bBox(r.node());\"outside\"===S?i=h(c,e):(i=function(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),i=t.width/t.height,a=Math.PI*Math.min(e.v/r.vTotal,.5),o=1-r.trace.hole,s=f(e,r),l={scale:s*r.r*2/n,rCenter:1-s,rotate:0};if(l.scale>=1)return l;var c=i+1/(2*Math.tan(a)),u=r.r*Math.min(1/(Math.sqrt(c*c+.5)+c),o/(Math.sqrt(i*i+o/2)+i)),h={scale:2*u/t.height,rCenter:Math.cos(u/r.r)-u*i/r.r,rotate:(180/Math.PI*e.midangle+720)%180-90},p=1/i,d=p+1/(2*Math.tan(a)),g=r.r*Math.min(1/(Math.sqrt(d*d+.5)+d),o/(Math.sqrt(p*p+o/2)+p)),m={scale:2*g/t.width,rCenter:Math.cos(g/r.r)-g/i/r.r,rotate:(180/Math.PI*e.midangle+810)%180-90},v=m.scale>h.scale?m:h;return l.scale<1&&v.scale>l.scale?v:l}(c,e,d),\"auto\"===S&&i.scale<1&&(r.call(o.font,g.outsidetextfont),g.outsidetextfont.family===g.insidetextfont.family&&g.outsidetextfont.size===g.insidetextfont.size||(c=o.bBox(r.node())),i=h(c,e)));var u=a+e.pxmid[0]*i.rCenter+(i.x||0),m=p+e.pxmid[1]*i.rCenter+(i.y||0);i.outside&&(e.yLabelMin=m-c.height/2,e.yLabelMid=m,e.yLabelMax=m+c.height/2,e.labelExtraX=0,e.labelExtraY=0,v=!0),r.attr(\"transform\",\"translate(\"+u+\",\"+m+\")\"+(i.scale<1?\"scale(\"+i.scale+\")\":\"\")+(i.rotate?\"rotate(\"+i.rotate+\")\":\"\")+\"translate(\"+-(c.left+c.right)/2+\",\"+-(c.top+c.bottom)/2+\")\")})}function C(t,r,n,i){return\"a\"+i*d.r+\",\"+i*d.r+\" 0 \"+e.largeArc+(n?\" 1 \":\" 0 \")+i*(r[0]-t[0])+\",\"+i*(r[1]-t[1])}}),v&&function(t,e){var r,n,i,a,o,s,l,u,f,h,p,d,g;function m(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var i,u,f,p,d,g,m=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,x=t.cyFinal+o(t.px0[1],t.px1[1]),b=m-v;if(b*l>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(u=0;u<h.length;u++)(f=h[u])===t||(c.castOption(e.pull,t.pts)||0)>=(c.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*l>0?(p=f.cyFinal+o(f.px0[1],f.px1[1]),(b=p-v-t.labelExtraY)*l>0&&(t.labelExtraY+=b)):(y+t.labelExtraY-x)*l>0&&(i=3*s*Math.abs(u-h.indexOf(t)),d=f.cxFinal+a(f.px0[0],f.px1[0]),(g=d+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=g)))}for(n=0;n<2;n++)for(i=n?m:v,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(u),d=[],p=0;p<u.length;p++)void 0!==u[p].yLabelMid&&d.push(u[p]);for(g=!1,p=0;n&&p<f.length;p++)if(void 0!==f[p].yLabelMid){g=f[p];break}for(p=0;p<d.length;p++){var x=p&&d[p-1];g&&!p&&(x=g),y(d[p],x)}}}(m,g),p.each(function(t){if(t.labelExtraX||t.labelExtraY){var e=n.select(this),r=e.select(\"g.slicetext text\");r.attr(\"transform\",\"translate(\"+t.labelExtraX+\",\"+t.labelExtraY+\")\"+r.attr(\"transform\"));var i=t.cxFinal+t.pxmid[0],o=\"M\"+i+\",\"+(t.cyFinal+t.pxmid[1]),s=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var l=t.labelExtraX*t.pxmid[1]/t.pxmid[0],c=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(l)>Math.abs(c)?o+=\"l\"+c*t.pxmid[0]/t.pxmid[1]+\",\"+c+\"H\"+(i+t.labelExtraX+s):o+=\"l\"+t.labelExtraX+\",\"+l+\"v\"+(c-l)+\"h\"+s}else o+=\"V\"+(t.yLabelMid+t.labelExtraY)+\"h\"+s;e.append(\"path\").classed(\"textline\",!0).call(a.stroke,g.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,g.outsidetextfont.size/8),d:o,fill:\"none\"})}})})});setTimeout(function(){p.selectAll(\"tspan\").each(function(){var t=n.select(this);t.attr(\"dy\")&&t.attr(\"dy\",t.attr(\"dy\"))})},0)}},{\"../../components/color\":567,\"../../components/drawing\":592,\"../../components/fx\":609,\"../../lib\":693,\"../../lib/svg_text_utils\":718,\"./event_data\":1011,\"./helpers\":1012,d3:147}],1017:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"./style_one\");e.exports=function(t){t._fullLayout._pielayer.selectAll(\".trace\").each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll(\"path.surface\").each(function(t){n.select(this).call(i,t,e)})})}},{\"./style_one\":1018,d3:147}],1018:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"./helpers\").castOption;e.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style({\"stroke-width\":s}).call(n.fill,e.color).call(n.stroke,o)}},{\"../../components/color\":567,\"./helpers\":1012}],1019:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\");e.exports={x:n.x,y:n.y,xy:{valType:\"data_array\",editType:\"calc\"},indices:{valType:\"data_array\",editType:\"calc\"},xbounds:{valType:\"data_array\",editType:\"calc\"},ybounds:{valType:\"data_array\",editType:\"calc\"},text:n.text,marker:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,arrayOk:!1,editType:\"calc\"},blend:{valType:\"boolean\",dflt:null,editType:\"calc\"},sizemin:{valType:\"number\",min:.1,max:2,dflt:.5,editType:\"calc\"},sizemax:{valType:\"number\",min:.1,dflt:20,editType:\"calc\"},border:{color:{valType:\"color\",arrayOk:!1,editType:\"calc\"},arearatio:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"}}},{\"../scatter/attributes\":1032}],1020:[function(t,e,r){\"use strict\";var n=t(\"gl-pointcloud2d\"),i=t(\"../../lib/str2rgbarray\"),a=t(\"../../plots/cartesian/autorange\").findExtremes,o=t(\"../scatter/get_trace_color\");function s(t,e){this.scene=t,this.uid=e,this.type=\"pointcloud\",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color=\"rgb(0, 0, 0)\",this.name=\"\",this.hoverinfo=\"all\",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;l<e;l++)o=n[2*l],s=n[2*l+1],o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;l<e;l++)r[l]=l}else for(e=c.length,n=new Float32Array(2*e),r=new Int32Array(e),l=0;l<e;l++)o=c[l],s=u[l],r[l]=l,n[2*l]=o,n[2*l+1]=s,o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var g=i(t.marker.color),m=i(t.marker.border.color),v=t.opacity*t.marker.opacity;g[3]*=v,this.pointcloudOptions.color=g;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,m[3]*=v,this.pointcloudOptions.borderColor=m;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,k=b/2||.5;t._extremes[_._id]=a(_,[d[0],d[2]],{ppad:k}),t._extremes[w._id]=a(w,[d[1],d[3]],{ppad:k})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{\"../../lib/str2rgbarray\":717,\"../../plots/cartesian/autorange\":741,\"../scatter/get_trace_color\":1042,\"gl-pointcloud2d\":278}],1021:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\");e.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a(\"x\"),a(\"y\"),a(\"xbounds\"),a(\"ybounds\"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a(\"text\"),a(\"marker.color\",r),a(\"marker.opacity\"),a(\"marker.blend\"),a(\"marker.sizemin\"),a(\"marker.sizemax\"),a(\"marker.border.color\",r),a(\"marker.border.arearatio\"),e._length=null}},{\"../../lib\":693,\"./attributes\":1019}],1022:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"../scatter3d/calc\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"pointcloud\",n.basePlotModule=t(\"../../plots/gl2d\"),n.categories=[\"gl\",\"gl2d\",\"showLegend\"],n.meta={},e.exports=n},{\"../../plots/gl2d\":781,\"../scatter3d/calc\":1060,\"./attributes\":1019,\"./convert\":1020,\"./defaults\":1021}],1023:[function(t,e,r){\"use strict\";var n=t(\"../../plots/font_attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/color/attributes\"),o=t(\"../../components/fx/attributes\"),s=t(\"../../plots/domain\").attributes,l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/edit_types\").overrideAll;e.exports=c({hoverinfo:l({},i.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hoverlabel:o.hoverlabel,domain:s({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\"},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:n({}),node:{label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:.5,arrayOk:!0}},pad:{valType:\"number\",arrayOk:!1,min:0,dflt:20},thickness:{valType:\"number\",arrayOk:!1,min:1,dflt:20}},link:{label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},line:{color:{valType:\"color\",dflt:a.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0}},source:{valType:\"data_array\",dflt:[]},target:{valType:\"data_array\",dflt:[]},value:{valType:\"data_array\",dflt:[]}}},\"calc\",\"nested\")},{\"../../components/color/attributes\":566,\"../../components/fx/attributes\":601,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/attributes\":739,\"../../plots/domain\":767,\"../../plots/font_attributes\":768}],1024:[function(t,e,r){\"use strict\";var n=t(\"../../plot_api/edit_types\").overrideAll,i=t(\"../../plots/get_data\").getModuleCalcData,a=t(\"./plot\"),o=t(\"../../components/fx/layout_attributes\");r.name=\"sankey\",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},\"plot\",\"nested\"),r.plot=function(t){var e=i(t.calcdata,\"sankey\")[0];a(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"sankey\"),a=e._has&&e._has(\"sankey\");i&&!a&&n._paperdiv.selectAll(\".sankey\").remove()}},{\"../../components/fx/layout_attributes\":610,\"../../plot_api/edit_types\":725,\"../../plots/get_data\":778,\"./plot\":1029}],1025:[function(t,e,r){\"use strict\";var n=t(\"strongly-connected-components\"),i=t(\"../../lib\"),a=t(\"../../lib/gup\").wrap;e.exports=function(t,e){return function(t,e,r){for(var a=t.length,o=i.init2dArray(a,0),s=0;s<Math.min(e.length,r.length);s++)if(i.isIndex(e[s],a)&&i.isIndex(r[s],a)){if(e[s]===r[s])return!0;o[e[s]].push(r[s])}return n(o).components.some(function(t){return t.length>1})}(e.node.label,e.link.source,e.link.target)&&(i.error(\"Circularity is present in the Sankey data. Removing all nodes and links.\"),e.link.label=[],e.link.source=[],e.link.target=[],e.link.value=[],e.link.color=[],e.node.label=[],e.node.color=[]),a({link:e.link,node:e.node})}},{\"../../lib\":693,\"../../lib/gup\":690,\"strongly-connected-components\":503}],1026:[function(t,e,r){\"use strict\";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\"cubic-in-out\",cn:{sankey:\"sankey\",sankeyLinks:\"sankey-links\",sankeyLink:\"sankey-link\",sankeyNodeSet:\"sankey-node-set\",sankeyNode:\"sankey-node\",nodeRect:\"node-rect\",nodeCapture:\"node-capture\",nodeCentered:\"node-entered\",nodeLabelGuide:\"node-label-guide\",nodeLabel:\"node-label\",nodeLabelTextPath:\"node-label-text-path\"}}},{}],1027:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../components/color\"),o=t(\"tinycolor2\"),s=t(\"../../plots/domain\").defaults;e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,i,r,a)}c(\"node.label\"),c(\"node.pad\"),c(\"node.thickness\"),c(\"node.line.color\"),c(\"node.line.width\");var u=l.colorway;c(\"node.color\",e.node.label.map(function(t,e){return a.addOpacity(function(t){return u[t%u.length]}(e),.8)})),c(\"link.label\"),c(\"link.source\"),c(\"link.target\"),c(\"link.value\"),c(\"link.line.color\"),c(\"link.line.width\"),c(\"link.color\",e.link.value.map(function(){return o(l.paper_bgcolor).getLuminance()<.333?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\"})),s(e,l,c),c(\"orientation\"),c(\"valueformat\"),c(\"valuesuffix\"),c(\"arrangement\"),n.coerceFont(c,\"textfont\",n.extendFlat({},l.font)),e._length=null}},{\"../../components/color\":567,\"../../lib\":693,\"../../plots/domain\":767,\"./attributes\":1023,tinycolor2:511}],1028:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.moduleType=\"trace\",n.name=\"sankey\",n.basePlotModule=t(\"./base_plot\"),n.categories=[\"noOpacity\"],n.meta={},e.exports=n},{\"./attributes\":1023,\"./base_plot\":1024,\"./calc\":1025,\"./defaults\":1027,\"./plot\":1029}],1029:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"./render\"),a=t(\"../../components/fx\"),o=t(\"../../components/color\"),s=t(\"../../lib\"),l=t(\"./constants\").cn,c=s._;function u(t){return\"\"!==t}function f(t,e){return t.filter(function(t){return t.key===e.traceId})}function h(t,e){n.select(t).select(\"path\").style(\"fill-opacity\",e),n.select(t).select(\"rect\").style(\"fill-opacity\",e)}function p(t){n.select(t).select(\"text.name\").style(\"fill\",\"black\")}function d(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function m(t,e,r){e&&r&&f(r,e).selectAll(\".\"+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function v(t,e,r){e&&r&&f(r,e).selectAll(\".\"+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",.4),i&&f(e,t).selectAll(\".\"+l.sankeyLink).filter(function(t){return t.link.label===i}).style(\"fill-opacity\",.4),r&&f(e,t).selectAll(\".\"+l.sankeyNode).filter(g(t)).call(m)}function x(t,e,r,n){var i=n.datum().link.label;n.style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),i&&f(e,t).selectAll(\".\"+l.sankeyLink).filter(function(t){return t.link.label===i}).style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),r&&f(e,t).selectAll(l.sankeyNode).filter(g(t)).call(v)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){var r=t._fullLayout,s=r._paper,f=r._size,d=c(t,\"source:\")+\" \",g=c(t,\"target:\")+\" \",_=c(t,\"incoming flow count:\")+\" \",w=c(t,\"outgoing flow count:\")+\" \";i(s,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{linkEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(y.bind(0,r,i,!0)),t.emit(\"plotly_hover\",{event:n.event,points:[r.link]}))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var s=i.link.trace,l=t._fullLayout._paperdiv.node().getBoundingClientRect(),c=e.getBoundingClientRect(),f=c.left+c.width/2,m=c.top+c.height/2,v=a.loneHover({x:f-l.left,y:m-l.top,name:n.format(i.valueFormat)(i.link.value)+i.valueSuffix,text:[i.link.label||\"\",d+i.link.source.label,g+i.link.target.label].filter(u).join(\"<br>\"),color:b(s,\"bgcolor\")||o.addOpacity(i.tinyColorHue,1),borderColor:b(s,\"bordercolor\"),fontFamily:b(s,\"font.family\"),fontSize:b(s,\"font.size\"),fontColor:b(s,\"font.color\"),idealAlign:n.event.x<f?\"right\":\"left\"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(v,.65),p(v)}},unhover:function(e,i,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(x.bind(0,i,o,!0)),t.emit(\"plotly_unhover\",{event:n.event,points:[i.link]}),a.loneUnhover(r._hoverlayer.node()))},select:function(e,r){var i=r.link;i.originalEvent=n.event,t._hoverdata=[i],a.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,r,i),t.emit(\"plotly_hover\",{event:n.event,points:[r.node]}))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var o=i.node.trace,s=n.select(e).select(\".\"+l.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),f=s.node().getBoundingClientRect(),d=f.left-2-c.left,g=f.right+2-c.left,m=f.top+f.height/4-c.top,v=a.loneHover({x0:d,x1:g,y:m,name:n.format(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,_+i.node.targetLinks.length,w+i.node.sourceLinks.length].filter(u).join(\"<br>\"),color:b(o,\"bgcolor\")||i.tinyColorHue,borderColor:b(o,\"bordercolor\"),fontFamily:b(o,\"font.family\"),fontSize:b(o,\"font.size\"),fontColor:b(o,\"font.color\"),idealAlign:\"left\"},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});h(v,.85),p(v)}},unhover:function(e,i,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,i,o),t.emit(\"plotly_unhover\",{event:n.event,points:[i.node]}),a.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(v,r,i),a.click(t,{target:!0})}}})}},{\"../../components/color\":567,\"../../components/fx\":609,\"../../lib\":693,\"./constants\":1026,\"./render\":1030,d3:147}],1030:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"d3\"),a=t(\"tinycolor2\"),o=t(\"../../components/color\"),s=t(\"../../components/drawing\"),l=t(\"@plotly/d3-sankey\").sankey,c=t(\"d3-force\"),u=t(\"../../lib\"),f=u.isArrayOrTypedArray,h=u.isIndex,p=t(\"../../lib/gup\"),d=p.keyFun,g=p.repeat,m=p.unwrap;function v(t){t.lastDraggedX=t.x,t.lastDraggedY=t.y}function y(t){return function(e){return e.node.originalX===t.node.originalX}}function x(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y+t[e].dy/2}function b(t){t.attr(\"transform\",function(t){return\"translate(\"+t.node.x.toFixed(3)+\", \"+(t.node.y-t.node.dy/2).toFixed(3)+\")\"})}function _(t){var e=t.sankey.nodes();!function(t){for(var e=0;e<t.length;e++)t[e].y=t[e].y-t[e].dy/2}(e);var r=t.sankey.link()(t.link);return x(e),r}function w(t){t.call(b)}function k(t,e){t.call(w),e.attr(\"d\",_)}function M(t){t.attr(\"width\",function(t){return t.visibleWidth}).attr(\"height\",function(t){return t.visibleHeight})}function A(t){return t.link.dy>1||t.linkLineWidth>0}function T(t){return\"translate(\"+t.translateX+\",\"+t.translateY+\")\"+(t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function S(t){return\"translate(\"+(t.horizontal?0:t.labelY)+\" \"+(t.horizontal?t.labelY:0)+\")\"}function E(t){return i.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+n.nodeTextOffsetHorizontal:n.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-n.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-n.nodeTextOffsetHorizontal,0]])}function C(t){return t.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\"}function L(t){return t.horizontal?\"scale(1 1)\":\"scale(-1 1)\"}function z(t){return t.darkBackground&&!t.horizontal?\"rgb(255,255,255)\":\"rgb(0,0,0)\"}function P(t){return t.horizontal&&t.left?\"100%\":\"0%\"}function O(t,e,r){t.on(\".basic\",null).on(\"mouseover.basic\",function(t){t.interactionState.dragInProgress||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on(\"mousemove.basic\",function(t){t.interactionState.dragInProgress||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on(\"mouseout.basic\",function(t){t.interactionState.dragInProgress||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on(\"click.basic\",function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||r.select(this,t,e)})}function I(t,e,r){var a=i.behavior.drag().origin(function(t){return t.node}).on(\"dragstart\",function(i){if(\"fixed\"!==i.arrangement&&(u.raiseToTop(this),i.interactionState.dragInProgress=i.node,v(i.node),i.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,i.interactionState.hovered),i.interactionState.hovered=!1),\"snap\"===i.arrangement)){var a=i.traceId+\"|\"+Math.floor(i.node.originalX);i.forceLayouts[a]?i.forceLayouts[a].alpha(1):function(t,e,r){var i=r.sankey.nodes().filter(function(t){return t.originalX===r.node.originalX});r.forceLayouts[e]=c.forceSimulation(i).alphaDecay(0).force(\"collide\",c.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(n.forceIterations)).force(\"constrain\",function(t,e,r,i){return function(){for(var t=0,a=0;a<r.length;a++){var o=r[a];o===i.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/n.forceTicksPerFrame,o.y=Math.min(i.size-o.dy/2,Math.max(o.dy/2,o.y))),t=Math.max(t,Math.abs(o.vx),Math.abs(o.vy))}!i.interactionState.dragInProgress&&t<.1&&i.forceLayouts[e].alpha()>0&&i.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,a,i),function(t,e,r,i){window.requestAnimationFrame(function a(){for(var o=0;o<n.forceTicksPerFrame;o++)r.forceLayouts[i].tick();r.sankey.relayout(),k(t.filter(y(r)),e),r.forceLayouts[i].alpha()>0&&window.requestAnimationFrame(a)})}(t,e,i,a)}}).on(\"drag\",function(r){if(\"fixed\"!==r.arrangement){var n=i.event.x,a=i.event.y;\"snap\"===r.arrangement?(r.node.x=n,r.node.y=a):(\"freeform\"===r.arrangement&&(r.node.x=n),r.node.y=Math.max(r.node.dy/2,Math.min(r.size-r.node.dy/2,a))),v(r.node),\"snap\"!==r.arrangement&&(r.sankey.relayout(),k(t.filter(y(r)),e))}}).on(\"dragend\",function(t){t.interactionState.dragInProgress=!1});t.on(\".drag\",null).call(a)}e.exports=function(t,e,r,i){var c=t.selectAll(\".\"+n.cn.sankey).data(e.filter(function(t){return m(t).trace.visible}).map(function(t,e,r){var i,a=m(e).trace,o=a.domain,s=a.node,c=a.link,u=a.arrangement,p=\"h\"===a.orientation,d=a.node.pad,g=a.node.thickness,v=a.node.line.color,y=a.node.line.width,b=a.link.line.color,_=a.link.line.width,w=a.valueformat,k=a.valuesuffix,M=a.textfont,A=t.width*(o.x[1]-o.x[0]),T=t.height*(o.y[1]-o.y[0]),S=[],E=f(c.color),C={},L=s.label.length;for(i=0;i<c.value.length;i++){var z=c.value[i],P=c.source[i],O=c.target[i];z>0&&h(P,L)&&h(O,L)&&(O=+O,C[P=+P]=C[O]=!0,S.push({pointNumber:i,label:c.label[i],color:E?c.color[i]:c.color,source:P,target:O,value:+z}))}var I=f(s.color),D=[],R=!1,B={};for(i=0;i<L;i++)if(C[i]){var F=s.label[i];B[i]=D.length,D.push({pointNumber:i,label:F,color:I?s.color[i]:s.color})}else R=!0;if(R)for(i=0;i<S.length;i++)S[i].source=B[S[i].source],S[i].target=B[S[i].target];for(var N,j=l().size(p?[A,T]:[T,A]).nodeWidth(g).nodePadding(d).nodes(D).links(S).layout(n.sankeyIterations),V=j.nodes(),U=0;U<V.length;U++)(N=V[U]).width=A,N.height=T;return x(D),{key:r,trace:a,guid:Math.floor(1e12*(1+Math.random())),horizontal:p,width:A,height:T,nodePad:d,nodeLineColor:v,nodeLineWidth:y,linkLineColor:b,linkLineWidth:_,valueFormat:w,valueSuffix:k,textFont:M,translateX:o.x[0]*t.width+t.margin.l,translateY:t.height-o.y[1]*t.height+t.margin.t,dragParallel:p?T:A,dragPerpendicular:p?A:T,nodes:D,links:S,arrangement:u,sankey:j,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,r)),d);c.exit().remove(),c.enter().append(\"g\").classed(n.cn.sankey,!0).style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"shape-rendering\",\"geometricPrecision\").style(\"pointer-events\",\"auto\").attr(\"transform\",T),c.transition().ease(n.ease).duration(n.duration).attr(\"transform\",T);var u=c.selectAll(\".\"+n.cn.sankeyLinks).data(g,d);u.enter().append(\"g\").classed(n.cn.sankeyLinks,!0).style(\"fill\",\"none\");var p=u.selectAll(\".\"+n.cn.sankeyLink).data(function(t){return t.sankey.links().filter(function(t){return t.value}).map(function(t,e,r){var n=a(r.color),i=r.source.label+\"|\"+r.target.label,s=t[i];t[i]=(s||0)+1;var l=i+\"__\"+t[i];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:l,traceId:e.key,link:r,tinyColorHue:o.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkLineColor:e.linkLineColor,linkLineWidth:e.linkLineWidth,valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,interactionState:e.interactionState}}.bind(null,{},t))},d);p.enter().append(\"path\").classed(n.cn.sankeyLink,!0).attr(\"d\",_).call(O,c,i.linkEvents),p.style(\"stroke\",function(t){return A(t)?o.tinyRGB(a(t.linkLineColor)):t.tinyColorHue}).style(\"stroke-opacity\",function(t){return A(t)?o.opacity(t.linkLineColor):t.tinyColorAlpha}).style(\"stroke-width\",function(t){return A(t)?t.linkLineWidth:1}).style(\"fill\",function(t){return t.tinyColorHue}).style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),p.transition().ease(n.ease).duration(n.duration).attr(\"d\",_),p.exit().transition().ease(n.ease).duration(n.duration).style(\"opacity\",0).remove();var v=c.selectAll(\".\"+n.cn.sankeyNodeSet).data(g,d);v.enter().append(\"g\").classed(n.cn.sankeyNodeSet,!0),v.style(\"cursor\",function(t){switch(t.arrangement){case\"fixed\":return\"default\";case\"perpendicular\":return\"ns-resize\";default:return\"move\"}});var y=v.selectAll(\".\"+n.cn.sankeyNode).data(function(t){var e=t.sankey.nodes();return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=t[e].x,t[e].originalY=t[e].y,-1===r.indexOf(t[e].x)&&r.push(t[e].x);for(r.sort(function(t,e){return t-e}),e=0;e<t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.filter(function(t){return t.value}).map(function(t,e,r){var i=a(r.color),s=n.nodePadAcross,l=e.nodePad/2,c=r.dx,u=Math.max(.5,r.dy),f=r.label,h=t[f];t[f]=(h||0)+1;var p=f+\"__\"+t[f];return r.trace=e.trace,r.curveNumber=e.trace.index,{key:p,traceId:e.key,node:r,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(c),visibleHeight:u,zoneX:-s,zoneY:-l,zoneWidth:c+2*s,zoneHeight:u+2*l,labelY:e.horizontal?r.dy/2+1:r.dx/2+1,left:1===r.originalLayer,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:i.getBrightness()<=128,tinyColorHue:o.tinyRGB(i),tinyColorAlpha:i.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,p].join(\" \"),interactionState:e.interactionState}}.bind(null,{},t))},d);y.enter().append(\"g\").classed(n.cn.sankeyNode,!0).call(b).call(O,c,i.nodeEvents),y.call(I,p,i),y.transition().ease(n.ease).duration(n.duration).call(b),y.exit().transition().ease(n.ease).duration(n.duration).style(\"opacity\",0).remove();var w=y.selectAll(\".\"+n.cn.nodeRect).data(g);w.enter().append(\"rect\").classed(n.cn.nodeRect,!0).call(M),w.style(\"stroke-width\",function(t){return t.nodeLineWidth}).style(\"stroke\",function(t){return o.tinyRGB(a(t.nodeLineColor))}).style(\"stroke-opacity\",function(t){return o.opacity(t.nodeLineColor)}).style(\"fill\",function(t){return t.tinyColorHue}).style(\"fill-opacity\",function(t){return t.tinyColorAlpha}),w.transition().ease(n.ease).duration(n.duration).call(M);var k=y.selectAll(\".\"+n.cn.nodeCapture).data(g);k.enter().append(\"rect\").classed(n.cn.nodeCapture,!0).style(\"fill-opacity\",0),k.attr(\"x\",function(t){return t.zoneX}).attr(\"y\",function(t){return t.zoneY}).attr(\"width\",function(t){return t.zoneWidth}).attr(\"height\",function(t){return t.zoneHeight});var D=y.selectAll(\".\"+n.cn.nodeCentered).data(g);D.enter().append(\"g\").classed(n.cn.nodeCentered,!0).attr(\"transform\",S),D.transition().ease(n.ease).duration(n.duration).attr(\"transform\",S);var R=D.selectAll(\".\"+n.cn.nodeLabelGuide).data(g);R.enter().append(\"path\").classed(n.cn.nodeLabelGuide,!0).attr(\"id\",function(t){return t.uniqueNodeLabelPathId}).attr(\"d\",E).attr(\"transform\",C),R.transition().ease(n.ease).duration(n.duration).attr(\"d\",E).attr(\"transform\",C);var B=D.selectAll(\".\"+n.cn.nodeLabel).data(g);B.enter().append(\"text\").classed(n.cn.nodeLabel,!0).attr(\"transform\",L).style(\"user-select\",\"none\").style(\"cursor\",\"default\").style(\"fill\",\"black\"),B.style(\"text-shadow\",function(t){return t.horizontal?\"-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff\":\"none\"}).each(function(t){s.font(B,t.textFont)}),B.transition().ease(n.ease).duration(n.duration).attr(\"transform\",L);var F=B.selectAll(\".\"+n.cn.nodeLabelTextPath).data(g);F.enter().append(\"textPath\").classed(n.cn.nodeLabelTextPath,!0).attr(\"alignment-baseline\",\"middle\").attr(\"xlink:href\",function(t){return\"#\"+t.uniqueNodeLabelPathId}).attr(\"startOffset\",P).style(\"fill\",z),F.text(function(t){return t.horizontal||t.node.dy>5?t.node.label:\"\"}).attr(\"text-anchor\",function(t){return t.horizontal&&t.left?\"end\":\"start\"}),F.transition().ease(n.ease).duration(n.duration).attr(\"startOffset\",P).style(\"fill\",z)}},{\"../../components/color\":567,\"../../components/drawing\":592,\"../../lib\":693,\"../../lib/gup\":690,\"./constants\":1026,\"@plotly/d3-sankey\":45,d3:147,\"d3-force\":143,tinycolor2:511}],1031:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,\"tx\"),n.mergeArray(e.hovertext,t,\"htx\"),n.mergeArray(e.customdata,t,\"data\"),n.mergeArray(e.textposition,t,\"tp\"),e.textfont&&(n.mergeArray(e.textfont.size,t,\"ts\"),n.mergeArray(e.textfont.color,t,\"tc\"),n.mergeArray(e.textfont.family,t,\"tf\"));var i=e.marker;if(i){n.mergeArray(i.size,t,\"ms\"),n.mergeArray(i.opacity,t,\"mo\"),n.mergeArray(i.symbol,t,\"mx\"),n.mergeArray(i.color,t,\"mc\");var a=i.line;i.line&&(n.mergeArray(a.color,t,\"mlc\"),n.mergeArray(a.width,t,\"mlw\"));var o=i.gradient;o&&\"none\"!==o.type&&(n.mergeArray(o.type,t,\"mgt\"),n.mergeArray(o.color,t,\"mgc\"))}}},{\"../../lib\":693}],1032:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../components/colorbar/attributes\"),a=t(\"../../plots/font_attributes\"),o=t(\"../../components/drawing/attributes\").dash,s=t(\"../../components/drawing\"),l=(t(\"./constants\"),t(\"../../lib/extend\").extendFlat);e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",dflt:1,editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dy:{valType:\"number\",dflt:1,editType:\"calc\"},stackgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc\"},groupnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},stackgaps:{valType:\"enumerated\",values:[\"infer zero\",\"interpolate\"],dflt:\"infer zero\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"],editType:\"calc\"},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"],editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1,editType:\"plot\"},dash:l({},o,{editType:\"style\"}),simplify:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cliponaxis:{valType:\"boolean\",dflt:!0,editType:\"plot\"},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],editType:\"calc\"},fillcolor:{valType:\"color\",editType:\"style\"},marker:l({symbol:{valType:\"enumerated\",values:s.symbolList,dflt:\"circle\",arrayOk:!0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0,editType:\"style\"},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0,editType:\"calc\"},maxdisplayed:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},sizeref:{valType:\"number\",dflt:1,editType:\"calc\"},sizemin:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\",editType:\"calc\"},colorbar:i,line:l({width:{valType:\"number\",min:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},n(\"marker.line\")),gradient:{type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],arrayOk:!0,dflt:\"none\",editType:\"calc\"},color:{valType:\"color\",arrayOk:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},n(\"marker\")),selected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},unselected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"middle center\",arrayOk:!0,editType:\"calc\"},textfont:a({editType:\"calc\",colorEditType:\"style\",arrayOk:!0}),r:{valType:\"data_array\",editType:\"calc\"},t:{valType:\"data_array\",editType:\"calc\"}}},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../components/drawing\":592,\"../../components/drawing/attributes\":591,\"../../lib/extend\":682,\"../../plots/font_attributes\":768,\"./constants\":1037}],1033:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../plots/cartesian/axes\"),o=t(\"../../constants/numerical\").BADNUM,s=t(\"./subtypes\"),l=t(\"./colorscale_calc\"),c=t(\"./arrays_to_calcdata\"),u=t(\"./calc_selection\");function f(t,e,r,n,i,o,l){var c=e._length,u=t._fullLayout,f=r._id,h=n._id,p=u._firstScatter[d(e)]===e.uid,m=(g(e,u,r,n)||{}).orientation,v=e.fill;r._minDtick=0,n._minDtick=0;var y={padded:!0},x={padded:!0};l&&(y.ppad=x.ppad=l);var b=c<2||i[0]!==i[c-1]||o[0]!==o[c-1];b&&(\"tozerox\"===v||\"tonextx\"===v&&(p||\"h\"===m))?y.tozero=!0:(e.error_y||{}).visible||\"tonexty\"!==v&&\"tozeroy\"!==v&&(s.hasMarkers(e)||s.hasText(e))||(y.padded=!1,y.ppad=0),b&&(\"tozeroy\"===v||\"tonexty\"===v&&(p||\"v\"===m))?x.tozero=!0:\"tonextx\"!==v&&\"tozerox\"!==v||(x.padded=!1),f&&(e._extremes[f]=a.findExtremes(r,i,y)),h&&(e._extremes[h]=a.findExtremes(n,o,x))}function h(t,e){if(s.hasMarkers(t)){var r,n=t.marker,o=1.6*(t.marker.sizeref||1);if(r=\"area\"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/o),3)}:function(t){return Math.max((t||0)/o,3)},i.isArrayOrTypedArray(n.size)){var l={type:\"linear\"};a.setConvert(l);for(var c=l.makeCalcdata(t.marker,\"size\"),u=new Array(e),f=0;f<e;f++)u[f]=r(c[f]);return u}return r(n.size)}}function p(t,e){var r=d(e),n=t._firstScatter;n[r]||(n[r]=e.uid)}function d(t){var e=t.stackgroup;return t.xaxis+t.yaxis+t.type+(e?\"-\"+e:\"\")}function g(t,e,r,n){var i=t.stackgroup;if(i){var a=e._scatterStackOpts[r._id+n._id][i],o=\"v\"===a.orientation?n:r;return\"linear\"===o.type||\"log\"===o.type?a:void 0}}e.exports={calc:function(t,e){var r,s,d,m,v,y,x=t._fullLayout,b=a.getFromId(t,e.xaxis||\"x\"),_=a.getFromId(t,e.yaxis||\"y\"),w=b.makeCalcdata(e,\"x\"),k=_.makeCalcdata(e,\"y\"),M=e._length,A=new Array(M),T=e.ids,S=g(e,x,b,_),E=!1;p(x,e);var C,L=\"x\",z=\"y\";for(S?(S.traceIndices.push(e.index),(r=\"v\"===S.orientation)?(z=\"s\",C=\"x\"):(L=\"s\",C=\"y\"),v=\"interpolate\"===S.stackgaps):f(t,e,b,_,w,k,h(e,M)),s=0;s<M;s++){var P=A[s]={},O=n(w[s]),I=n(k[s]);O&&I?(P[L]=w[s],P[z]=k[s]):S&&(r?O:I)?(P[C]=r?w[s]:k[s],P.gap=!0,v?(P.s=o,E=!0):P.s=0):P[L]=P[z]=o,T&&(P.id=String(T[s]))}if(c(A,e),l(e),u(A,e),S){for(s=0;s<A.length;)A[s][C]===o?A.splice(s,1):s++;if(i.sort(A,function(t,e){return t[C]-e[C]||t.i-e.i}),E){for(s=0;s<A.length-1&&A[s].gap;)s++;for((y=A[s].s)||(y=A[s].s=0),d=0;d<s;d++)A[d].s=y;for(m=A.length-1;m>s&&A[m].gap;)m--;for(y=A[m].s,d=A.length-1;d>m;d--)A[d].s=y;for(;s<m;)if(A[++s].gap){for(d=s+1;A[d].gap;)d++;for(var D=A[s-1][C],R=A[s-1].s,B=(A[d].s-R)/(A[d][C]-D);s<d;)A[s].s=R+(A[s][C]-D)*B,s++}}}return A},calcMarkerSize:h,calcAxisExpansion:f,setFirstScatter:p,getStackOpts:g}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"./arrays_to_calcdata\":1031,\"./calc_selection\":1034,\"./colorscale_calc\":1036,\"./subtypes\":1056,\"fast-isnumeric\":213}],1034:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e){n.isArrayOrTypedArray(e.selectedpoints)&&n.tagSelected(t,e)}},{\"../../lib\":693}],1035:[function(t,e,r){\"use strict\";e.exports=function(t){for(var e=0;e<t.length;e++){var r=t[e];if(\"scatter\"===r.type){var n=r.fill;if(\"none\"!==n&&\"toself\"!==n&&(r.opacity=void 0,\"tonexty\"===n||\"tonextx\"===n))for(var i=e-1;i>=0;i--){var a=t[i];if(\"scatter\"===a.type&&a.xaxis===r.xaxis&&a.yaxis===r.yaxis){a.opacity=void 0;break}}}}}},{}],1036:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/has_colorscale\"),i=t(\"../../components/colorscale/calc\"),a=t(\"./subtypes\");e.exports=function(t){a.hasLines(t)&&n(t,\"line\")&&i(t,t.line.color,\"line\",\"c\"),a.hasMarkers(t)&&(n(t,\"marker\")&&i(t,t.marker.color,\"marker\",\"c\"),n(t,\"marker.line\")&&i(t,t.marker.line.color,\"marker.line\",\"c\"))}},{\"../../components/colorscale/calc\":575,\"../../components/colorscale/has_colorscale\":581,\"./subtypes\":1056}],1037:[function(t,e,r){\"use strict\";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20}},{}],1038:[function(t,e,r){\"use strict\";var n=t(\"./calc\");function i(t,e,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,t.splice(e,0,s),e&&r===t[e-1][o]){var l=t[e-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=function(t,e,r,n){var i=t[e-1],a=t[e+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}(t,e,r,o));e||(t[0].t=t[1].t,t[0].trace=t[1].trace,delete t[1].t,delete t[1].trace)}e.exports=function(t,e){var r=e.xaxis,a=e.yaxis,o=r._id+a._id,s=t._fullLayout._scatterStackOpts[o];if(s){var l,c,u,f,h,p,d,g,m,v,y,x,b,_,w,k=t.calcdata;for(var M in s){var A=(v=s[M]).traceIndices;if(A.length){for(y=\"interpolate\"===v.stackgaps,x=v.groupnorm,\"v\"===v.orientation?(b=\"x\",_=\"y\"):(b=\"y\",_=\"x\"),w=new Array(A.length),l=0;l<w.length;l++)w[l]=!1;p=k[A[0]];var T=new Array(p.length);for(l=0;l<p.length;l++)T[l]=p[l][b];for(l=1;l<A.length;l++){for(h=k[A[l]],c=u=0;c<h.length;c++){for(d=h[c][b];d>T[u]&&u<T.length;u++)i(h,c,T[u],l,w,y,b),c++;if(d!==T[u]){for(f=0;f<l;f++)i(k[A[f]],u,d,f,w,y,b);T.splice(u,0,d)}u++}for(;u<T.length;u++)i(h,c,T[u],l,w,y,b),c++}var S=T.length;for(c=0;c<p.length;c++){for(g=p[c][_]=p[c].s,l=1;l<A.length;l++)(h=k[A[l]])[0].trace._rawLength=h[0].trace._length,h[0].trace._length=S,g+=h[c].s,h[c][_]=g;if(x)for(m=(\"fraction\"===x?g:g/100)||1,l=0;l<A.length;l++){var E=k[A[l]][c];E[_]/=m,E.sNorm=E.s/m}}for(l=0;l<A.length;l++){var C=(h=k[A[l]])[0].trace,L=n.calcMarkerSize(C,C._rawLength),z=Array.isArray(L);if(L&&w[l]||z){var P=L;for(L=new Array(S),c=0;c<S;c++)L[c]=h[c].gap?0:z?P[h[c].i]:P}var O=new Array(S),I=new Array(S);for(c=0;c<S;c++)O[c]=h[c].x,I[c]=h[c].y;n.calcAxisExpansion(t,C,r,a,O,I,L),h[0].t.orientation=v.orientation}}}}}},{\"./calc\":1033}],1039:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"./attributes\"),o=t(\"./constants\"),s=t(\"./subtypes\"),l=t(\"./xy_defaults\"),c=t(\"./stack_defaults\"),u=t(\"./marker_defaults\"),f=t(\"./line_defaults\"),h=t(\"./line_shape_defaults\"),p=t(\"./text_defaults\"),d=t(\"./fillcolor_defaults\");e.exports=function(t,e,r,g){function m(r,i){return n.coerce(t,e,a,r,i)}var v=l(t,e,g,m);if(v||(e.visible=!1),e.visible){var y=c(t,e,g,m),x=!y&&v<o.PTS_LINESONLY?\"lines+markers\":\"lines\";m(\"text\"),m(\"hovertext\"),m(\"mode\",x),s.hasLines(e)&&(f(t,e,r,g,m),h(t,e,m),m(\"connectgaps\"),m(\"line.simplify\")),s.hasMarkers(e)&&u(t,e,r,g,m,{gradient:!0}),s.hasText(e)&&p(t,e,g,m);var b=[];(s.hasMarkers(e)||s.hasText(e))&&(m(\"cliponaxis\"),m(\"marker.maxdisplayed\"),b.push(\"points\")),m(\"fill\",y?y.fillDflt:\"none\"),\"none\"!==e.fill&&(d(t,e,r,m),s.hasLines(e)||h(t,e,m)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||b.push(\"fills\"),m(\"hoveron\",b.join(\"+\")||\"points\");var _=i.getComponentMethod(\"errorbars\",\"supplyDefaults\");_(t,e,r,{axis:\"y\"}),_(t,e,r,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(e,m)}}},{\"../../lib\":693,\"../../registry\":825,\"./attributes\":1032,\"./constants\":1037,\"./fillcolor_defaults\":1041,\"./line_defaults\":1045,\"./line_shape_defaults\":1047,\"./marker_defaults\":1051,\"./stack_defaults\":1054,\"./subtypes\":1056,\"./text_defaults\":1057,\"./xy_defaults\":1058}],1040:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");function i(t){return t||0===t}e.exports=function(t,e,r){var a=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},o=n.extractOption(t,e,\"htx\",\"hovertext\");if(i(o))return a(o);var s=n.extractOption(t,e,\"tx\",\"text\");return i(s)?a(s):void 0}},{\"../../lib\":693}],1041:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../lib\").isArrayOrTypedArray;e.exports=function(t,e,r,a){var o=!1;if(e.marker){var s=e.marker.color,l=(e.marker.line||{}).color;s&&!i(s)?o=s:l&&!i(l)&&(o=l)}a(\"fillcolor\",n.addOpacity((e.line||{}).color||o||r,.5))}},{\"../../components/color\":567,\"../../lib\":693}],1042:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"./subtypes\");e.exports=function(t,e){var r,a;if(\"lines\"===t.mode)return(r=t.line.color)&&n.opacity(r)?r:t.fillcolor;if(\"none\"===t.mode)return t.fill?t.fillcolor:\"\";var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:\"\")?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color)&&n.opacity(r)&&i.hasLines(t)&&t.line.width?r:t.fillcolor}},{\"../../components/color\":567,\"./subtypes\":1056}],1043:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/fx\"),a=t(\"../../registry\"),o=t(\"./get_trace_color\"),s=t(\"../../components/color\"),l=t(\"./fill_hover_text\");e.exports=function(t,e,r,c){var u=t.cd,f=u[0].trace,h=t.xa,p=t.ya,d=h.c2p(e),g=p.c2p(r),m=[d,g],v=f.hoveron||\"\",y=-1!==f.mode.indexOf(\"markers\")?3:.5;if(-1!==v.indexOf(\"points\")){var x=function(t){var e=Math.max(y,t.mrc||0),r=h.c2p(t.x)-d,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-y/e)},b=i.getDistanceFunction(c,function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(h.c2p(t.x)-d);return n<e?r*n/e:n-e+r},function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(p.c2p(t.y)-g);return n<e?r*n/e:n-e+r},x);if(i.getClosest(u,b,t),!1!==t.index){var _=u[t.index],w=h.c2p(_.x,!0),k=p.c2p(_.y,!0),M=_.mrc||1;t.index=_.i;var A=u[0].t.orientation,T=A&&(_.sNorm||_.s),S=\"h\"===A?T:_.x,E=\"v\"===A?T:_.y;return n.extendFlat(t,{color:o(f,_),x0:w-M,x1:w+M,xLabelVal:S,y0:k-M,y1:k+M,yLabelVal:E,spikeDistance:x(_)}),l(_,f,t),a.getComponentMethod(\"errorbars\",\"hoverInfo\")(_,f,t),[t]}}if(-1!==v.indexOf(\"fills\")&&f._polygons){var C,L,z,P,O,I,D,R,B,F=f._polygons,N=[],j=!1,V=1/0,U=-1/0,q=1/0,H=-1/0;for(C=0;C<F.length;C++)(z=F[C]).contains(m)&&(j=!j,N.push(z),q=Math.min(q,z.ymin),H=Math.max(H,z.ymax));if(j){var G=((q=Math.max(q,0))+(H=Math.min(H,p._length)))/2;for(C=0;C<N.length;C++)for(P=N[C].pts,L=1;L<P.length;L++)(R=P[L-1][1])>G!=(B=P[L][1])>=G&&(I=P[L-1][0],D=P[L][0],B-R&&(O=I+(D-I)*(G-R)/(B-R),V=Math.min(V,O),U=Math.max(U,O)));V=Math.max(V,0),U=Math.min(U,h._length);var W=s.defaultLine;return s.opacity(f.fillcolor)?W=f.fillcolor:s.opacity((f.line||{}).color)&&(W=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:V,x1:U,y0:G,y1:G,color:W}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},{\"../../components/color\":567,\"../../components/fx\":609,\"../../lib\":693,\"../../registry\":825,\"./fill_hover_text\":1040,\"./get_trace_color\":1042}],1044:[function(t,e,r){\"use strict\";var n={},i=t(\"./subtypes\");n.hasLines=i.hasLines,n.hasMarkers=i.hasMarkers,n.hasText=i.hasText,n.isBubble=i.isBubble,n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.cleanData=t(\"./clean_data\"),n.calc=t(\"./calc\").calc,n.crossTraceCalc=t(\"./cross_trace_calc\"),n.arraysToCalcdata=t(\"./arrays_to_calcdata\"),n.plot=t(\"./plot\"),n.colorbar=t(\"./marker_colorbar\"),n.style=t(\"./style\").style,n.styleOnSelect=t(\"./style\").styleOnSelect,n.hoverPoints=t(\"./hover\"),n.selectPoints=t(\"./select\"),n.animatable=!0,n.moduleType=\"trace\",n.name=\"scatter\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"./arrays_to_calcdata\":1031,\"./attributes\":1032,\"./calc\":1033,\"./clean_data\":1035,\"./cross_trace_calc\":1038,\"./defaults\":1039,\"./hover\":1043,\"./marker_colorbar\":1050,\"./plot\":1052,\"./select\":1053,\"./style\":1055,\"./subtypes\":1056}],1045:[function(t,e,r){\"use strict\";var n=t(\"../../lib\").isArrayOrTypedArray,i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/defaults\");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s(\"line.color\",r),i(t,\"line\"))?a(t,e,o,s,{prefix:\"line.\",cLetter:\"c\",noScale:!0}):s(\"line.color\",!n(c)&&c||r);s(\"line.width\"),(l||{}).noDash||s(\"line.dash\")}},{\"../../components/colorscale/defaults\":577,\"../../components/colorscale/has_colorscale\":581,\"../../lib\":693}],1046:[function(t,e,r){\"use strict\";var n=t(\"../../constants/numerical\"),i=n.BADNUM,a=n.LOG_CLIP,o=a+.5,s=a-.5,l=t(\"../../lib\"),c=l.segmentsIntersect,u=l.constrain,f=t(\"./constants\");e.exports=function(t,e){var r,n,a,h,p,d,g,m,v,y,x,b,_,w,k,M,A,T,S=e.xaxis,E=e.yaxis,C=\"log\"===S.type,L=\"log\"===E.type,z=S._length,P=E._length,O=e.connectGaps,I=e.baseTolerance,D=e.shape,R=\"linear\"===D,B=[],F=f.minTolerance,N=new Array(t.length),j=0;function V(e){var r=t[e];if(!r)return!1;var n=S.c2p(r.x),a=E.c2p(r.y);if(n===i){if(C&&(n=S.c2p(r.x,!0)),n===i)return!1;L&&a===i&&(n*=Math.abs(S._m*P*(S._m>0?o:s)/(E._m*z*(E._m>0?o:s)))),n*=1e3}if(a===i){if(L&&(a=E.c2p(r.y,!0)),a===i)return!1;a*=1e3}return[n,a]}function U(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,c=i*o+a*s;if(c>0&&c<l){var u=o*a-s*i;if(u*u<l)return!0}}function q(t,e){var r=t[0]/z,n=t[1]/P,i=Math.max(0,-r,r-1,-n,n-1);return i&&void 0!==A&&U(r,n,A,T)&&(i=0),i&&e&&U(r,n,e[0]/z,e[1]/P)&&(i=0),(1+f.toleranceGrowth*i)*I}function H(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}var G,W,Y,X,Z,$,J,K=f.maxScreensAway,Q=-z*K,tt=z*(1+K),et=-P*K,rt=P*(1+K),nt=[[Q,et,tt,et],[tt,et,tt,rt],[tt,rt,Q,rt],[Q,rt,Q,et]];function it(t){if(t[0]<Q||t[0]>tt||t[1]<et||t[1]>rt)return[u(t[0],Q,tt),u(t[1],et,rt)]}function at(t,e){return t[0]===e[0]&&(t[0]===Q||t[0]===tt)||(t[1]===e[1]&&(t[1]===et||t[1]===rt)||void 0)}function ot(t,e,r){return function(n,i){var a=it(n),o=it(i),s=[];if(a&&o&&at(a,o))return s;a&&s.push(a),o&&s.push(o);var c=2*l.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);c&&((a&&o?c>0==a[t]>o[t]?a:o:a||o)[t]+=c);return s}}function st(t){var e=t[0],r=t[1],n=e===N[j-1][0],i=r===N[j-1][1];if(!n||!i)if(j>1){var a=e===N[j-2][0],o=r===N[j-2][1];n&&(e===Q||e===tt)&&a?o?j--:N[j-1]=t:i&&(r===et||r===rt)&&o?a?j--:N[j-1]=t:N[j++]=t}else N[j++]=t}function lt(t){N[j-1][0]!==t[0]&&N[j-1][1]!==t[1]&&st([Y,X]),st(t),Z=null,Y=X=0}function ct(t){if(A=t[0]/z,T=t[1]/P,G=t[0]<Q?Q:t[0]>tt?tt:0,W=t[1]<et?et:t[1]>rt?rt:0,G||W){if(j)if(Z){var e=J(Z,t);e.length>1&&(lt(e[0]),N[j++]=e[1])}else $=J(N[j-1],t)[0],N[j++]=$;else N[j++]=[G||t[0],W||t[1]];var r=N[j-1];G&&W&&(r[0]!==G||r[1]!==W)?(Z&&(Y!==G&&X!==W?st(Y&&X?(n=Z,a=(i=t)[0]-n[0],o=(i[1]-n[1])/a,(n[1]*i[0]-i[1]*n[0])/a>0?[o>0?Q:tt,rt]:[o>0?tt:Q,et]):[Y||G,X||W]):Y&&X&&st([Y,X])),st([G,W])):Y-G&&X-W&&st([G||Y,W||X]),Z=t,Y=G,X=W}else Z&&lt(J(Z,t)[0]),N[j++]=t;var n,i,a,o}for(\"linear\"===D||\"spline\"===D?J=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=nt[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&H(o,t)<H(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:\"hv\"===D||\"vh\"===D?J=function(t,e){var r=[],n=it(t),i=it(e);return n&&i&&at(n,i)?r:(n&&r.push(n),i&&r.push(i),r)}:\"hvh\"===D?J=ot(0,Q,tt):\"vhv\"===D&&(J=ot(1,et,rt)),r=0;r<t.length;r++)if(n=V(r)){for(j=0,Z=null,ct(n),r++;r<t.length;r++){if(!(h=V(r))){if(O)continue;break}if(R&&e.simplify){var ut=V(r+1);if(!((y=H(h,n))<q(h,ut)*F)){for(m=[(h[0]-n[0])/y,(h[1]-n[1])/y],p=n,x=y,b=w=k=0,g=!1,a=h,r++;r<t.length;r++){if(d=ut,ut=V(r+1),!d){if(O)continue;break}if(M=(v=[d[0]-n[0],d[1]-n[1]])[0]*m[1]-v[1]*m[0],w=Math.min(w,M),(k=Math.max(k,M))-w>q(d,ut))break;a=d,(_=v[0]*m[0]+v[1]*m[1])>x?(x=_,h=d,g=!1):_<b&&(b=_,p=d,g=!0)}if(g?(ct(h),a!==p&&ct(p)):(p!==n&&ct(p),a!==h&&ct(h)),ct(a),r>=t.length||!d)break;ct(d),n=d}}else ct(h)}Z&&st([Y||Z[0],X||Z[1]]),B.push(N.slice(0,j))}return B}},{\"../../constants/numerical\":670,\"../../lib\":693,\"./constants\":1037}],1047:[function(t,e,r){\"use strict\";e.exports=function(t,e,r){\"spline\"===r(\"line.shape\")&&r(\"line.smoothing\")}},{}],1048:[function(t,e,r){\"use strict\";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var i,a,o,s,l,c={},u=!1,f=-1,h=0,p=-1;for(a=0;a<r.length;a++)(o=(i=r[a][0].trace).stackgroup||\"\")?o in c?l=c[o]:(l=c[o]=h,h++):i.fill in n&&p>=0?l=p:(l=p=h,h++),l<f&&(u=!0),i._groupIndex=f=l;var d=r.slice();u&&d.sort(function(t,e){var r=t[0].trace,n=e[0].trace;return r._groupIndex-n._groupIndex||r.index-n.index});var g={};for(a=0;a<d.length;a++)o=(i=d[a][0].trace).stackgroup||\"\",!0===i.visible?(i._nexttrace=null,i.fill in n&&(s=g[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),g[o]=i):i._prevtrace=i._nexttrace=null;return d}},{}],1049:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\");e.exports=function(t){var e=t.marker,r=e.sizeref||1,i=e.sizemin||0,a=\"area\"===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=a(t/2);return n(e)&&e>0?Math.max(e,i):0}}},{\"fast-isnumeric\":213}],1050:[function(t,e,r){\"use strict\";e.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}},{}],1051:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/has_colorscale\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./subtypes\");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),f=(t.line||{}).color;(c=c||{},f&&(r=f),l(\"marker.symbol\"),l(\"marker.opacity\",u?.7:1),l(\"marker.size\"),l(\"marker.color\",r),i(t,\"marker\")&&a(t,e,s,l,{prefix:\"marker.\",cLetter:\"c\"}),c.noSelect||(l(\"selected.marker.color\"),l(\"unselected.marker.color\"),l(\"selected.marker.size\"),l(\"unselected.marker.size\")),c.noLine||(l(\"marker.line.color\",f&&!Array.isArray(f)&&e.marker.color!==f?f:u?n.background:n.defaultLine),i(t,\"marker.line\")&&a(t,e,s,l,{prefix:\"marker.line.\",cLetter:\"c\"}),l(\"marker.line.width\",u?1:0)),u&&(l(\"marker.sizeref\"),l(\"marker.sizemin\"),l(\"marker.sizemode\")),c.gradient)&&(\"none\"!==l(\"marker.gradient.type\")&&l(\"marker.gradient.color\"))}},{\"../../components/color\":567,\"../../components/colorscale/defaults\":577,\"../../components/colorscale/has_colorscale\":581,\"./subtypes\":1056}],1052:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../registry\"),a=t(\"../../lib\"),o=a.ensureSingle,s=a.identity,l=t(\"../../components/drawing\"),c=t(\"./subtypes\"),u=t(\"./line_points\"),f=t(\"./link_traces\"),h=t(\"../../lib/polygon\").tester;function p(t,e,r,f,p,d,g){var m;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,u=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(!c.hasMarkers(h))return;var p=h.marker.maxdisplayed;if(0===p)return;var d=i.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=f[0]&&t.y<=f[1]}),g=Math.ceil(d.length/p),m=0;o.forEach(function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&m++});var v=Math.round(m*g/3+Math.floor(m/3)*g/7.1);i.forEach(function(t){delete t.vis}),d.forEach(function(t,e){0===Math.round((e+v)%g)&&(t.vis=!0)})}(0,e,r,f,p);var v=!!g&&g.duration>0;function y(t){return v?t.transition():t}var x=r.xaxis,b=r.yaxis,_=f[0].trace,w=_.line,k=n.select(d),M=o(k,\"g\",\"errorbars\"),A=o(k,\"g\",\"lines\"),T=o(k,\"g\",\"points\"),S=o(k,\"g\",\"text\");if(i.getComponentMethod(\"errorbars\",\"plot\")(M,r,g),!0===_.visible){var E,C;y(k).style(\"opacity\",_.opacity);var L=_.fill.charAt(_.fill.length-1);\"x\"!==L&&\"y\"!==L&&(L=\"\"),r.isRangePlot||(f[0].node3=k);var z=\"\",P=[],O=_._prevtrace;O&&(z=O._prevRevpath||\"\",C=O._nextFill,P=O._polygons);var I,D,R,B,F,N,j,V,U,q=\"\",H=\"\",G=[],W=a.noop;if(E=_._ownFill,c.hasLines(_)||\"none\"!==_.fill){for(C&&C.datum(f),-1!==[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(w.shape)?(R=l.steps(w.shape),B=l.steps(w.shape.split(\"\").reverse().join(\"\"))):R=B=\"spline\"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return\"M\"+t.join(\"L\")},F=function(t){return B(t.reverse())},G=u(f,{xaxis:x,yaxis:b,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify}),U=_._polygons=new Array(G.length),m=0;m<G.length;m++)_._polygons[m]=h(G[m]);G.length&&(N=G[0][0],V=(j=G[G.length-1])[j.length-1]),W=function(t){return function(e){if(I=R(e),D=F(e),q?L?(q+=\"L\"+I.substr(1),H=D+\"L\"+H.substr(1)):(q+=\"Z\"+I,H=D+\"Z\"+H):(q=I,H=D),c.hasLines(_)&&e.length>1){var r=n.select(this);if(r.datum(f),t)y(r.style(\"opacity\",0).attr(\"d\",I).call(l.lineGroupStyle)).style(\"opacity\",1);else{var i=y(r);i.attr(\"d\",I),l.singleLineStyle(f,i)}}}}}var Y=A.selectAll(\".js-line\").data(G);y(Y.exit()).style(\"opacity\",0).remove(),Y.each(W(!1)),Y.enter().append(\"path\").classed(\"js-line\",!0).style(\"vector-effect\",\"non-scaling-stroke\").call(l.lineGroupStyle).each(W(!0)),l.setClipUrl(Y,r.layerClipId),G.length?(E?(E.datum(f),N&&V&&(L?(\"y\"===L?N[1]=V[1]=b.c2p(0,!0):\"x\"===L&&(N[0]=V[0]=x.c2p(0,!0)),y(E).attr(\"d\",\"M\"+V+\"L\"+N+\"L\"+q.substr(1)).call(l.singleFillStyle)):y(E).attr(\"d\",q+\"Z\").call(l.singleFillStyle))):C&&(\"tonext\"===_.fill.substr(0,6)&&q&&z?(\"tonext\"===_.fill?y(C).attr(\"d\",q+\"Z\"+z+\"Z\").call(l.singleFillStyle):y(C).attr(\"d\",q+\"L\"+z.substr(1)+\"Z\").call(l.singleFillStyle),_._polygons=_._polygons.concat(P)):(Z(C),_._polygons=null)),_._prevRevpath=H,_._prevPolygons=U):(E?Z(E):C&&Z(C),_._polygons=_._prevRevpath=_._prevPolygons=null),T.datum(f),S.datum(f),function(e,i,a){var o,u=a[0].trace,f=c.hasMarkers(u),h=c.hasText(u),p=tt(u),d=et,g=et;if(f||h){var m=s,_=u.stackgroup,w=_&&\"infer zero\"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?m=w?J:$:_&&!w&&(m=K),f&&(d=m),h&&(g=m)}var k,M=(o=e.selectAll(\"path.point\").data(d,p)).enter().append(\"path\").classed(\"point\",!0);v&&M.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style(\"opacity\",0).transition().style(\"opacity\",1),o.order(),f&&(k=l.makePointStyleFns(u)),o.each(function(e){var i=n.select(this),a=y(i);l.translatePoint(e,a,x,b)?(l.singlePointStyle(e,a,u,k,t),r.layerClipId&&l.hideOutsideRangePoint(e,a,x,b,u.xcalendar,u.ycalendar),u.customdata&&i.classed(\"plotly-customdata\",null!==e.data&&void 0!==e.data)):a.remove()}),v?o.exit().transition().style(\"opacity\",0).remove():o.exit().remove(),(o=i.selectAll(\"g\").data(g,p)).enter().append(\"g\").classed(\"textpoint\",!0).append(\"text\"),o.order(),o.each(function(t){var e=n.select(this),i=y(e.select(\"text\"));l.translatePoint(t,i,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()}),o.selectAll(\"text\").call(l.textPointStyle,u,t).each(function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll(\"tspan.line\").each(function(){y(n.select(this)).attr({x:e,y:r})})}),o.exit().remove()}(T,S,f);var X=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(T,X),l.setClipUrl(S,X)}function Z(t){y(t).attr(\"d\",\"M0,0Z\")}function $(t){return t.filter(function(t){return!t.gap&&t.vis})}function J(t){return t.filter(function(t){return t.vis})}function K(t){return t.filter(function(t){return!t.gap})}function Q(t){return t.id}function tt(t){if(t.ids)return Q}function et(){return!1}}e.exports=function(t,e,r,i,a,c){var u,h,d=!a,g=!!a&&a.duration>0,m=f(t,e,r);((u=i.selectAll(\"g.trace\").data(m,function(t){return t[0].trace.uid})).enter().append(\"g\").attr(\"class\",function(t){return\"trace scatter trace\"+t[0].trace.uid}).style(\"stroke-miterlimit\",2),u.order(),function(t,e,r){e.each(function(t){var e=o(n.select(this),\"g\",\"fills\");l.setClipUrl(e,r.layerClipId);var i=t[0].trace,a=[];i.fill&&(\"tozero\"===i.fill.substr(0,6)||\"toself\"===i.fill||\"to\"===i.fill.substr(0,2)&&!i._prevtrace)&&(a=[\"_ownFill\"]),i._nexttrace&&a.push(\"_nextFill\");var c=e.selectAll(\"g\").data(a,s);c.enter().append(\"g\"),c.exit().each(function(t){i[t]=null}).remove(),c.order().each(function(t){i[t]=o(n.select(this),\"path\",\"js-fill\")})})}(0,u,e),g)?(c&&(h=c()),n.transition().duration(a.duration).ease(a.easing).each(\"end\",function(){h&&h()}).each(\"interrupt\",function(){h&&h()}).each(function(){i.selectAll(\"g.trace\").each(function(r,n){p(t,n,e,r,m,this,a)})})):u.each(function(r,n){p(t,n,e,r,m,this,a)});d&&u.exit().remove(),i.selectAll(\"path:not([d])\").remove()}},{\"../../components/drawing\":592,\"../../lib\":693,\"../../lib/polygon\":706,\"../../registry\":825,\"./line_points\":1046,\"./link_traces\":1048,\"./subtypes\":1056,d3:147}],1053:[function(t,e,r){\"use strict\";var n=t(\"./subtypes\");e.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)i=s[r],a=l.c2p(i.x),o=c.c2p(i.y),null!==i.i&&e.contains([a,o],!1,r,t)?(u.push({pointNumber:i.i,x:l.c2d(i.x),y:c.c2d(i.y)}),i.selected=1):i.selected=0;return u}},{\"./subtypes\":1056}],1054:[function(t,e,r){\"use strict\";var n=[\"orientation\",\"groupnorm\",\"stackgaps\"];e.exports=function(t,e,r,i){var a=r._scatterStackOpts,o=i(\"stackgroup\");if(o){var s=e.xaxis+e.yaxis,l=a[s];l||(l=a[s]={});var c=l[o],u=!1;c?c.traces.push(e):(c=l[o]={traceIndices:[],traces:[e]},u=!0);for(var f={orientation:e.x&&!e.y?\"h\":\"v\"},h=0;h<n.length;h++){var p=n[h],d=p+\"Found\";if(!c[d]){var g=void 0!==t[p],m=\"orientation\"===p;if((g||u)&&(c[p]=i(p,f[p]),m&&(c.fillDflt=\"h\"===c[p]?\"tonextx\":\"tonexty\"),g&&(c[d]=!0,!u&&(delete c.traces[0][p],m))))for(var v=0;v<c.traces.length-1;v++){var y=c.traces[v];y._input.fill!==y.fill&&(y.fill=c.fillDflt)}}}return c}}},{}],1055:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../../registry\");function o(t,e,r){i.pointStyle(t.selectAll(\"path.point\"),e,r)}function s(t,e,r){i.textPointStyle(t.selectAll(\"text\"),e,r)}e.exports={style:function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\"g.trace.scatter\");r.style(\"opacity\",function(t){return t[0].trace.opacity}),r.selectAll(\"g.points\").each(function(e){o(n.select(this),e.trace||e[0].trace,t)}),r.selectAll(\"g.text\").each(function(e){s(n.select(this),e.trace||e[0].trace,t)}),r.selectAll(\"g.trace path.js-line\").call(i.lineGroupStyle),r.selectAll(\"g.trace path.js-fill\").call(i.fillGroupStyle),a.getComponentMethod(\"errorbars\",\"style\")(r)},stylePoints:o,styleText:s,styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll(\"path.point\"),n),i.selectedTextStyle(r.selectAll(\"text\"),n)):(o(r,n,t),s(r,n,t))}}},{\"../../components/drawing\":592,\"../../registry\":825,d3:147}],1056:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports={hasLines:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"lines\")},hasMarkers:function(t){return t.visible&&(t.mode&&-1!==t.mode.indexOf(\"markers\")||\"splom\"===t.type)},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf(\"text\")},isBubble:function(t){return n.isPlainObject(t.marker)&&n.isArrayOrTypedArray(t.marker.size)}}},{\"../../lib\":693}],1057:[function(t,e,r){\"use strict\";var n=t(\"../../lib\");e.exports=function(t,e,r,i,a){a=a||{},i(\"textposition\"),n.coerceFont(i,\"textfont\",r.font),a.noSelect||(i(\"selected.textfont.color\"),i(\"unselected.textfont.color\"))}},{\"../../lib\":693}],1058:[function(t,e,r){\"use strict\";var n=t(\"../../registry\");e.exports=function(t,e,r,i){var a,o=i(\"x\"),s=i(\"y\");if(n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\"],r),o)s?a=Math.min(o.length,s.length):(a=o.length,i(\"y0\"),i(\"dy\"));else{if(!s)return 0;a=e.y.length,i(\"x0\"),i(\"dx\")}return e._length=a,a}},{\"../../registry\":825}],1059:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../plots/attributes\"),o=t(\"../../constants/gl3d_dashes\"),s=t(\"../../constants/gl3d_markers\"),l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/edit_types\").overrideAll,u=n.line,f=n.marker,h=f.line,p=l({width:u.width,dash:{valType:\"enumerated\",values:Object.keys(o),dflt:\"solid\"}},i(\"line\"));delete p.showscale,delete p.colorbar;var d=e.exports=c({x:n.x,y:n.y,z:{valType:\"data_array\"},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),mode:l({},n.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},y:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}},z:{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:p,marker:l({symbol:{valType:\"enumerated\",values:Object.keys(s),dflt:\"circle\",arrayOk:!0},size:l({},f.size,{dflt:8}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:l({},f.opacity,{arrayOk:!1}),colorbar:f.colorbar,line:l({width:l({},h.width,{arrayOk:!1})},i(\"marker.line\"))},i(\"marker\")),textposition:l({},n.textposition,{dflt:\"top center\",arrayOk:!1}),textfont:{color:n.textfont.color,size:n.textfont.size,family:l({},n.textfont.family,{arrayOk:!1})},hoverinfo:l({},a.hoverinfo)},\"calc\",\"nested\");d.x.editType=d.y.editType=d.z.editType=\"calc+clearAxisTypes\"},{\"../../components/colorscale/attributes\":574,\"../../constants/gl3d_dashes\":667,\"../../constants/gl3d_markers\":668,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/attributes\":739,\"../scatter/attributes\":1032}],1060:[function(t,e,r){\"use strict\";var n=t(\"../scatter/arrays_to_calcdata\"),i=t(\"../scatter/colorscale_calc\");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(e),r}},{\"../scatter/arrays_to_calcdata\":1031,\"../scatter/colorscale_calc\":1036}],1061:[function(t,e,r){\"use strict\";var n=t(\"../../registry\");function i(t,e,r,i){if(!e||!e.visible)return null;for(var a=n.getComponentMethod(\"errorbars\",\"makeComputeError\")(e),o=new Array(t.length),s=0;s<t.length;s++){var l=a(+t[s],s);if(\"log\"===i.type){var c=i.c2l(t[s]),u=t[s]-l[0],f=t[s]+l[1];if(o[s]=[(i.c2l(u,!0)-c)*r,(i.c2l(f,!0)-c)*r],u>0){var h=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(n);if(0===a)return null;for(var o=new Array(a),s=0;s<a;s++){for(var l=[[0,0,0],[0,0,0]],c=0;c<3;c++)if(n[c])for(var u=0;u<2;u++)l[u][c]=n[c][s][u];o[s]=l}return o}},{\"../../registry\":825}],1062:[function(t,e,r){\"use strict\";var n=t(\"gl-line3d\"),i=t(\"gl-scatter3d\"),a=t(\"gl-error3d\"),o=t(\"gl-mesh3d\"),s=t(\"delaunay-triangulate\"),l=t(\"../../lib\"),c=t(\"../../lib/str2rgbarray\"),u=t(\"../../lib/gl_format_color\").formatColor,f=t(\"../scatter/make_bubble_size_func\"),h=t(\"../../constants/gl3d_dashes\"),p=t(\"../../constants/gl3d_markers\"),d=t(\"./calc_errors\");function g(t,e){this.scene=t,this.uid=e,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var m=g.prototype;function v(t,e){return e(4*t)}function y(t){return p[t]}function x(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,l.identity);return a}function b(t,e){var r,n,i,a,o,s,h,p,g=[],m=t.fullSceneLayout,b=t.dataScale,_=m.xaxis,w=m.yaxis,k=m.zaxis,M=e.marker,A=e.line,T=e.x||[],S=e.y||[],E=e.z||[],C=T.length,L=e.xcalendar,z=e.ycalendar,P=e.zcalendar;for(n=0;n<C;n++)i=_.d2l(T[n],0,L)*b[0],a=w.d2l(S[n],0,z)*b[1],o=k.d2l(E[n],0,P)*b[2],g[n]=[i,a,o];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(C),n=0;n<C;n++)s[n]=e.text;if(r={position:g,mode:e.mode,text:s},\"line\"in e&&(r.lineColor=u(A,1,C),r.lineWidth=A.width,r.lineDashes=A.dash),\"marker\"in e){var O=f(e);r.scatterColor=u(M,1,C),r.scatterSize=x(M.size,C,v,20,O),r.scatterMarker=x(M.symbol,C,y,\"\\u25cf\"),r.scatterLineWidth=M.line.width,r.scatterLineColor=u(M.line,1,C),r.scatterAngle=0}\"textposition\"in e&&(r.textOffset=(h=e.textposition,p=[0,0],Array.isArray(h)?[0,-1]:(h.indexOf(\"bottom\")>=0&&(p[1]+=1),h.indexOf(\"top\")>=0&&(p[1]-=1),h.indexOf(\"left\")>=0&&(p[0]-=1),h.indexOf(\"right\")>=0&&(p[0]+=1),p)),r.textColor=u(e.textfont,1,C),r.textSize=x(e.textfont.size,C,l.identity,12),r.textFont=e.textfont.family,r.textAngle=0);var I=[\"x\",\"y\",\"z\"];for(r.project=[!1,!1,!1],r.projectScale=[1,1,1],r.projectOpacity=[1,1,1],n=0;n<3;++n){var D=e.projection[I[n]];(r.project[n]=D.show)&&(r.projectOpacity[n]=D.opacity,r.projectScale[n]=D.scale)}r.errorBounds=d(e,b,m);var R=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&!1!==t[2].visible&&(a=t[2]),a&&a.visible&&(e[i]=a.width/2,r[i]=c(a.color),n[i]=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return r.errorColor=R.color,r.errorLineWidth=R.lineWidth,r.errorCapSize=R.capSize,r.delaunayAxis=e.surfaceaxis,r.delaunayColor=c(e.surfacecolor),r}function _(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&&(t=e),\"rgb(\"+t.slice(0,3).map(function(t){return Math.round(255*t)})+\")\"}return null}m.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){var e=t.index=t.data.index;return t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),t.textLabel=\"\",this.textLabels&&(Array.isArray(this.textLabels)?(this.textLabels[e]||0===this.textLabels[e])&&(t.textLabel=this.textLabels[e]):t.textLabel=this.textLabels),t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},m.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,f=h.solid;this.data=t;var p=b(this.scene,t);\"mode\"in p&&(this.mode=p.mode),\"lineDashes\"in p&&p.lineDashes in h&&(f=h[p.lineDashes]),this.color=_(p.scatterColor)||_(p.lineColor),this.dataPoints=p.position,e={gl:u,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:f[0],dashScale:f[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf(\"lines\")?this.linePlot?this.linePlot.update(e):(this.linePlot=n(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var d=t.opacity;if(t.marker&&t.marker.opacity&&(d*=t.marker.opacity),r={gl:u,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:d,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf(\"markers\")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=i(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),c={gl:u,position:p.position,glyph:p.text,color:p.textColor,size:p.textSize,angle:p.textAngle,alignment:p.textOffset,font:p.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf(\"text\")?this.textMarkers?this.textMarkers.update(c):(this.textMarkers=i(c),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),l={gl:u,position:p.position,color:p.errorColor,error:p.errorBounds,lineWidth:p.errorLineWidth,capSize:p.errorCapSize,opacity:t.opacity},this.errorBars?p.errorBounds?this.errorBars.update(l):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&&(this.errorBars=a(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var g=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n<t.length;++n){var c=t[n];!isNaN(c[i])&&isFinite(c[i])&&!isNaN(c[a])&&isFinite(c[a])&&(o.push([c[i],c[a]]),l.push(n))}var u=s(o);for(n=0;n<u.length;++n)for(var f=u[n],h=0;h<f.length;++h)f[h]=l[f[h]];return{positions:t,cells:u,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);g.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(g):(g.gl=u,this.delaunayMesh=o(g),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},m.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new g(t,e.uid);return r.update(e),r}},{\"../../constants/gl3d_dashes\":667,\"../../constants/gl3d_markers\":668,\"../../lib\":693,\"../../lib/gl_format_color\":689,\"../../lib/str2rgbarray\":717,\"../scatter/make_bubble_size_func\":1049,\"./calc_errors\":1061,\"delaunay-triangulate\":149,\"gl-error3d\":236,\"gl-line3d\":244,\"gl-mesh3d\":267,\"gl-scatter3d\":282}],1063:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/text_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,u){function f(r,n){return i.coerce(t,e,c,r,n)}if(function(t,e,r,i){var a=0,o=r(\"x\"),s=r(\"y\"),l=r(\"z\");n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],i),o&&s&&l&&(a=Math.min(o.length,s.length,l.length),e._length=e._xlength=e._ylength=e._zlength=a);return a}(t,e,f,u)){f(\"text\"),f(\"hovertext\"),f(\"mode\"),a.hasLines(e)&&(f(\"connectgaps\"),s(t,e,r,u,f)),a.hasMarkers(e)&&o(t,e,r,u,f,{noSelect:!0}),a.hasText(e)&&l(t,e,u,f,{noSelect:!0});var h=(e.line||{}).color,p=(e.marker||{}).color;f(\"surfaceaxis\")>=0&&f(\"surfacecolor\",h||p);for(var d=[\"x\",\"y\",\"z\"],g=0;g<3;++g){var m=\"projection.\"+d[g];f(m+\".show\")&&(f(m+\".opacity\"),f(m+\".scale\"))}var v=n.getComponentMethod(\"errorbars\",\"supplyDefaults\");v(t,e,r,{axis:\"z\"}),v(t,e,r,{axis:\"y\",inherit:\"z\"}),v(t,e,r,{axis:\"x\",inherit:\"z\"})}else e.visible=!1}},{\"../../lib\":693,\"../../registry\":825,\"../scatter/line_defaults\":1045,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"./attributes\":1059}],1064:[function(t,e,r){\"use strict\";var n={};n.plot=t(\"./convert\"),n.attributes=t(\"./attributes\"),n.markerSymbols=t(\"../../constants/gl3d_markers\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/marker_colorbar\"),n.calc=t(\"./calc\"),n.moduleType=\"trace\",n.name=\"scatter3d\",n.basePlotModule=t(\"../../plots/gl3d\"),n.categories=[\"gl3d\",\"symbols\",\"showLegend\"],n.meta={},e.exports=n},{\"../../constants/gl3d_markers\":668,\"../../plots/gl3d\":784,\"../scatter/marker_colorbar\":1050,\"./attributes\":1059,\"./calc\":1060,\"./convert\":1062,\"./defaults\":1063}],1065:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=n.marker,c=n.line,u=l.line;e.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:s({},n.mode,{dflt:\"markers\"}),text:s({},n.text,{}),line:{color:c.color,width:c.width,dash:c.dash,shape:s({},c.shape,{values:[\"linear\",\"spline\"]}),smoothing:c.smoothing,editType:\"calc\"},connectgaps:n.connectgaps,fill:s({},n.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:n.fillcolor,marker:s({symbol:l.symbol,opacity:l.opacity,maxdisplayed:l.maxdisplayed,size:l.size,sizeref:l.sizeref,sizemin:l.sizemin,sizemode:l.sizemode,line:s({width:u.width,editType:\"calc\"},a(\"marker.line\")),gradient:l.gradient,editType:\"calc\"},a(\"marker\"),{colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:n.hoveron}},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../scatter/attributes\":1032}],1066:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../scatter/colorscale_calc\"),a=t(\"../scatter/arrays_to_calcdata\"),o=t(\"../scatter/calc_selection\"),s=t(\"../scatter/calc\").calcMarkerSize,l=t(\"../carpet/lookup_carpetid\");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&\"legendonly\"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,f,h=e._length,p=new Array(h),d=!1;for(c=0;c<h;c++)if(u=e.a[c],f=e.b[c],n(u)&&n(f)){var g=r.ab2xy(+u,+f,!0),m=r.isVisible(+u,+f);m||(d=!0),p[c]={x:g[0],y:g[1],a:u,b:f,vis:m}}else p[c]={x:!1,y:!1};return e._needsCull=d,p[0].carpet=r,p[0].trace=e,s(e,h),i(e),a(p,e),o(p,e),p}}},{\"../carpet/lookup_carpetid\":891,\"../scatter/arrays_to_calcdata\":1031,\"../scatter/calc\":1033,\"../scatter/calc_selection\":1034,\"../scatter/colorscale_calc\":1036,\"fast-isnumeric\":213}],1067:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/constants\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/line_shape_defaults\"),c=t(\"../scatter/text_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),f=t(\"./attributes\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}p(\"carpet\"),e.xaxis=\"x\",e.yaxis=\"y\";var d=p(\"a\"),g=p(\"b\"),m=Math.min(d.length,g.length);if(m){e._length=m,p(\"text\"),p(\"mode\",m<i.PTS_LINESONLY?\"lines+markers\":\"lines\"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p(\"connectgaps\")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&c(t,e,h,p);var v=[];(a.hasMarkers(e)||a.hasText(e))&&(p(\"marker.maxdisplayed\"),v.push(\"points\")),p(\"fill\"),\"none\"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||v.push(\"fills\"),p(\"hoveron\",v.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\"../../lib\":693,\"../scatter/constants\":1037,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/line_shape_defaults\":1047,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"./attributes\":1065}],1068:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t}},{}],1069:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\");e.exports=function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var o=a[0];if(void 0===o.index){var s=1-o.y0/t.ya._length,l=t.xa._length,c=l*s/2,u=l-c;return o.x0=Math.max(Math.min(o.x0,u),c),o.x1=Math.max(Math.min(o.x1,u),c),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,p=h._carpet,d=(f.hi||h.hoverinfo).split(\"+\"),g=[];-1!==d.indexOf(\"all\")&&(d=[\"a\",\"b\"]),-1!==d.indexOf(\"a\")&&w(p.aaxis,f.a),-1!==d.indexOf(\"b\")&&w(p.baxis,f.b);var m=p.ab2ij([f.a,f.b]),v=Math.floor(m[0]),y=m[0]-v,x=Math.floor(m[1]),b=m[1]-x,_=p.evalxy([],v,x,y,b);return g.push(\"y: \"+_[1].toFixed(3)),o.extraText=g.join(\"<br>\"),a}function w(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,\"\"):t._hovertitle,g.push(r+\": \"+e.toFixed(3)+t.labelsuffix)}}},{\"../scatter/hover\":1043}],1070:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/marker_colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"../scatter/style\").style,n.styleOnSelect=t(\"../scatter/style\").styleOnSelect,n.hoverPoints=t(\"./hover\"),n.selectPoints=t(\"../scatter/select\"),n.eventData=t(\"./event_data\"),n.moduleType=\"trace\",n.name=\"scattercarpet\",n.basePlotModule=t(\"../../plots/cartesian\"),n.categories=[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],n.meta={},e.exports=n},{\"../../plots/cartesian\":753,\"../scatter/marker_colorbar\":1050,\"../scatter/select\":1053,\"../scatter/style\":1055,\"./attributes\":1065,\"./calc\":1066,\"./defaults\":1067,\"./event_data\":1068,\"./hover\":1069,\"./plot\":1071}],1071:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../components/drawing\");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,f={xaxis:i.getFromId(t,u.xaxis||\"x\"),yaxis:i.getFromId(t,u.yaxis||\"y\"),plot:e.plot};for(n(t,f,r,o),s=0;s<r.length;s++)l=r[s][0].trace,c=o.selectAll(\"g.trace\"+l.uid+\" .js-line\"),a.setClipUrl(c,u._clipPathId)}},{\"../../components/drawing\":592,\"../../plots/cartesian/axes\":742,\"../scatter/plot\":1052}],1072:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/drawing/attributes\").dash,s=t(\"../../lib/extend\").extendFlat,l=t(\"../../plot_api/edit_types\").overrideAll,c=n.marker,u=n.line,f=c.line;e.exports=l({lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\"],dflt:\"ISO-3\"},mode:s({},n.mode,{dflt:\"markers\"}),text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),textfont:n.textfont,textposition:n.textposition,line:{color:u.color,width:u.width,dash:o},connectgaps:n.connectgaps,marker:s({symbol:c.symbol,opacity:c.opacity,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,colorbar:c.colorbar,line:s({width:f.width},a(\"marker.line\")),gradient:c.gradient},a(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:n.fillcolor,selected:n.selected,unselected:n.unselected,hoverinfo:s({},i.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]})},\"calc\",\"nested\")},{\"../../components/colorscale/attributes\":574,\"../../components/drawing/attributes\":591,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/attributes\":739,\"../scatter/attributes\":1032}],1073:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../scatter/colorscale_calc\"),o=t(\"../scatter/arrays_to_calcdata\"),s=t(\"../scatter/calc_selection\"),l=t(\"../../lib\")._;e.exports=function(t,e){for(var r=Array.isArray(e.locations),c=r?e.locations.length:e._length,u=new Array(c),f=0;f<c;f++){var h=u[f]={};if(r){var p=e.locations[f];h.loc=\"string\"==typeof p?p:null}else{var d=e.lon[f],g=e.lat[f];n(d)&&n(g)?h.lonlat=[+d,+g]:h.lonlat=[i,i]}}return o(u,e),a(e),s(u,e),c&&(u[0].t={labels:{lat:l(t,\"lat:\")+\" \",lon:l(t,\"lon:\")+\" \"}}),u}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../scatter/arrays_to_calcdata\":1031,\"../scatter/calc_selection\":1034,\"../scatter/colorscale_calc\":1036,\"fast-isnumeric\":213}],1074:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../scatter/marker_defaults\"),o=t(\"../scatter/line_defaults\"),s=t(\"../scatter/text_defaults\"),l=t(\"../scatter/fillcolor_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}!function(t,e,r){var n,i,a=0,o=r(\"locations\");if(o)return r(\"locationmode\"),a=o.length;return n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length),e._length=a,a}(0,e,f)?e.visible=!1:(f(\"text\"),f(\"hovertext\"),f(\"mode\"),i.hasLines(e)&&(o(t,e,r,u,f),f(\"connectgaps\")),i.hasMarkers(e)&&a(t,e,r,u,f,{gradient:!0}),i.hasText(e)&&s(t,e,u,f),f(\"fill\"),\"none\"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f))}},{\"../../lib\":693,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"./attributes\":1072}],1075:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],1076:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../constants/numerical\").BADNUM,o=t(\"../scatter/get_trace_color\"),s=t(\"../scatter/fill_hover_text\"),l=t(\"./attributes\");e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=p.projection.isLonLatOverEdges,g=p.project;if(n.getClosest(c,function(t){var n=t.lonlat;if(n[0]===a)return 1/0;if(d(n))return 1/0;var i=g(n),o=g([e,r]),s=Math.abs(i[0]-o[0]),l=Math.abs(i[1]-o[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-c,1-3/c)},t),!1!==t.index){var m=c[t.index],v=m.lonlat,y=[f.c2p(v),h.c2p(v)],x=m.mrc||1;return t.x0=y[0]-x,t.x1=y[0]+x,t.y0=y[1]-x,t.y1=y[1]+x,t.loc=m.loc,t.lon=v[0],t.lat=v[1],t.color=o(u,m),t.extraText=function(t,e,r,n){var a=e.hi||t.hoverinfo,o=\"all\"===a?l.hoverinfo.flags:a.split(\"+\"),c=-1!==o.indexOf(\"location\")&&Array.isArray(t.locations),u=-1!==o.indexOf(\"lon\"),f=-1!==o.indexOf(\"lat\"),h=-1!==o.indexOf(\"text\"),p=[];function d(t){return i.tickText(r,r.c2l(t),\"hover\").text+\"\\xb0\"}c?p.push(e.loc):u&&f?p.push(\"(\"+d(e.lonlat[0])+\", \"+d(e.lonlat[1])+\")\"):u?p.push(n.lon+d(e.lonlat[0])):f&&p.push(n.lat+d(e.lonlat[1]));h&&s(e,t,p);return p.join(\"<br>\")}(u,m,p.mockAxis,c[0].t.labels),[t]}}},{\"../../components/fx\":609,\"../../constants/numerical\":670,\"../../plots/cartesian/axes\":742,\"../scatter/fill_hover_text\":1040,\"../scatter/get_trace_color\":1042,\"./attributes\":1072}],1077:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/marker_colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"./style\"),n.styleOnSelect=t(\"../scatter/style\").styleOnSelect,n.hoverPoints=t(\"./hover\"),n.eventData=t(\"./event_data\"),n.selectPoints=t(\"./select\"),n.moduleType=\"trace\",n.name=\"scattergeo\",n.basePlotModule=t(\"../../plots/geo\"),n.categories=[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],n.meta={},e.exports=n},{\"../../plots/geo\":772,\"../scatter/marker_colorbar\":1050,\"../scatter/style\":1055,\"./attributes\":1072,\"./calc\":1073,\"./defaults\":1074,\"./event_data\":1075,\"./hover\":1076,\"./plot\":1078,\"./select\":1079,\"./style\":1080}],1078:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").BADNUM,o=t(\"../../lib/topojson_utils\").getTopojsonFeatures,s=t(\"../../lib/geo_location_utils\").locationToFeature,l=t(\"../../lib/geojson_utils\"),c=t(\"../scatter/subtypes\"),u=t(\"./style\");function f(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),i=r.locationmode,l=0;l<t.length;l++){var c=t[l],u=s(i,c.loc,n);c.lonlat=u?u.properties.ct:[a,a]}}e.exports=function(t,e,r){for(var o=0;o<r.length;o++)f(r[o],e.topojson);function s(t,e){t.lonlat[0]===a&&n.select(e).remove()}var h=e.layers.frontplot.select(\".scatterlayer\"),p=i.makeTraceGroups(h,r,\"trace scattergeo\");p.selectAll(\"*\").remove(),p.each(function(e){var r=e[0].node3=n.select(this),a=e[0].trace;if(c.hasLines(a)||\"none\"!==a.fill){var o=l.calcTraceToLineCoords(e),f=\"none\"!==a.fill?l.makePolygon(o):l.makeLine(o);r.selectAll(\"path.js-line\").data([{geojson:f,trace:a}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}c.hasMarkers(a)&&r.selectAll(\"path.point\").data(i.identity).enter().append(\"path\").classed(\"point\",!0).each(function(t){s(t,this)}),c.hasText(a)&&r.selectAll(\"g\").data(i.identity).enter().append(\"g\").append(\"text\").each(function(t){s(t,this)}),u(t,e)})}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../../lib/geo_location_utils\":685,\"../../lib/geojson_utils\":686,\"../../lib/topojson_utils\":721,\"../scatter/subtypes\":1056,\"./style\":1080,d3:147}],1079:[function(t,e,r){\"use strict\";var n=t(\"../scatter/subtypes\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e){var r,a,o,s,l,c=t.cd,u=t.xaxis,f=t.yaxis,h=[],p=c[0].trace;if(!n.hasMarkers(p)&&!n.hasText(p))return[];if(!1===e)for(l=0;l<c.length;l++)c[l].selected=0;else for(l=0;l<c.length;l++)(a=(r=c[l]).lonlat)[0]!==i&&(o=u.c2p(a),s=f.c2p(a),e.contains([o,s],null,l,t)?(h.push({pointNumber:l,lon:a[0],lat:a[1]}),r.selected=1):r.selected=0);return h}},{\"../../constants/numerical\":670,\"../scatter/subtypes\":1056}],1080:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/drawing\"),a=t(\"../../components/color\"),o=t(\"../scatter/style\"),s=o.stylePoints,l=o.styleText;e.exports=function(t,e){e&&function(t,e){var r=e[0].trace,o=e[0].node3;o.style(\"opacity\",e[0].trace.opacity),s(o,r,t),l(o,r,t),o.selectAll(\"path.js-line\").style(\"fill\",\"none\").each(function(t){var e=n.select(this),r=t.trace,o=r.line||{};e.call(a.stroke,o.color).call(i.dashLine,o.dash||\"\",o.width||0),\"none\"!==r.fill&&e.call(a.fill,r.fillcolor)})}(t,e)}},{\"../../components/color\":567,\"../../components/drawing\":592,\"../scatter/style\":1055,d3:147}],1081:[function(t,e,r){\"use strict\";var n=t(\"../../plots/attributes\"),i=t(\"../scatter/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../lib/extend\").extendFlat,s=t(\"../../plot_api/edit_types\").overrideAll,l=t(\"./constants\").DASHES,c=i.line,u=i.marker,f=u.line,h=e.exports=s({x:i.x,x0:i.x0,dx:i.dx,y:i.y,y0:i.y0,dy:i.dy,text:o({},i.text,{}),hovertext:i.hovertext,textposition:i.textposition,textfont:i.textfont,mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},line:{color:c.color,width:c.width,dash:{valType:\"enumerated\",values:Object.keys(l),dflt:\"solid\"}},marker:o({},a(\"marker\"),{symbol:u.symbol,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:o({},a(\"marker.line\"),{width:f.width})}),connectgaps:i.connectgaps,fill:o({},i.fill,{dflt:\"none\"}),fillcolor:i.fillcolor,selected:{marker:i.selected.marker,textfont:i.selected.textfont},unselected:{marker:i.unselected.marker,textfont:i.unselected.textfont},opacity:n.opacity},\"calc\",\"nested\");h.x.editType=h.y.editType=h.x0.editType=h.y0.editType=\"calc+clearAxisTypes\"},{\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/attributes\":739,\"../scatter/attributes\":1032,\"./constants\":1082}],1082:[function(t,e,r){\"use strict\";e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},{}],1083:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"svg-path-sdf\"),a=t(\"color-normalize\"),o=t(\"../../registry\"),s=t(\"../../lib\"),l=t(\"../../components/drawing\"),c=t(\"../../plots/cartesian/axis_ids\"),u=t(\"../../lib/gl_format_color\").formatColor,f=t(\"../scatter/subtypes\"),h=t(\"../scatter/make_bubble_size_func\"),p=t(\"./constants\"),d=t(\"../../constants/interactions\").DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1};function m(t){var e,r=t._length,i=t.textfont,a=t.textposition,o=Array.isArray(a)?a:[a],s=i.color,l=i.size,c=i.family,u={};for(u.text=t.text,u.opacity=t.opacity,u.font={},u.align=[],u.baseline=[],e=0;e<o.length;e++){var f=o[e].split(/\\s+/);switch(f[1]){case\"left\":u.align.push(\"right\");break;case\"right\":u.align.push(\"left\");break;default:u.align.push(f[1])}switch(f[0]){case\"top\":u.baseline.push(\"bottom\");break;case\"bottom\":u.baseline.push(\"top\");break;default:u.baseline.push(f[0])}}if(Array.isArray(s))for(u.color=new Array(r),e=0;e<r;e++)u.color[e]=s[e];else u.color=s;if(Array.isArray(l)||Array.isArray(c))for(u.font=new Array(r),e=0;e<r;e++){var h=u.font[e]={};h.size=Array.isArray(l)?n(l[e])?l[e]:0:l,h.family=Array.isArray(c)?c[e]:c}else u.font={size:l,family:c};return u}function v(t){var e,r,n=t._length,i=t.marker,o={},l=Array.isArray(i.symbol),c=s.isArrayOrTypedArray(i.color),f=s.isArrayOrTypedArray(i.line.color),d=s.isArrayOrTypedArray(i.opacity),g=s.isArrayOrTypedArray(i.size),m=s.isArrayOrTypedArray(i.line.width);if(l||(r=p.OPEN_RE.test(i.symbol)),l||c||f||d){o.colors=new Array(n),o.borderColors=new Array(n);var v=u(i,i.opacity,n),y=u(i.line,i.opacity,n);if(!Array.isArray(y[0])){var x=y;for(y=Array(n),e=0;e<n;e++)y[e]=x}if(!Array.isArray(v[0])){var b=v;for(v=Array(n),e=0;e<n;e++)v[e]=b}for(o.colors=v,o.borderColors=y,e=0;e<n;e++){if(l){var _=i.symbol[e];r=p.OPEN_RE.test(_)}r&&(y[e]=v[e].slice(),v[e]=v[e].slice(),v[e][3]=0)}o.opacity=t.opacity}else r?(o.color=a(i.color,\"uint8\"),o.color[3]=0,o.borderColor=a(i.color,\"uint8\")):(o.color=a(i.color,\"uint8\"),o.borderColor=a(i.line.color,\"uint8\")),o.opacity=t.opacity*i.opacity;if(l)for(o.markers=new Array(n),e=0;e<n;e++)o.markers[e]=T(i.symbol[e]);else o.marker=T(i.symbol);var w,k=h(t);if(g||m){var M,A=o.sizes=new Array(n),S=o.borderSizes=new Array(n),E=0;if(g){for(e=0;e<n;e++)A[e]=k(i.size[e]),E+=A[e];M=E/n}else for(w=k(i.size),e=0;e<n;e++)A[e]=w;if(m)for(e=0;e<n;e++)S[e]=i.line.width[e]/2;else for(w=i.line.width/2,e=0;e<n;e++)S[e]=w;o.sizeAvg=M}else o.size=k(i&&i.size||10),o.borderSizes=k(i.line.width);return o}function y(t,e){var r=t.marker,n={};return e?(e.marker&&e.marker.symbol?n=v(s.extendFlat({},r,e.marker)):e.marker&&(e.marker.size&&(n.size=e.marker.size/2),e.marker.color&&(n.colors=e.marker.color),void 0!==e.marker.opacity&&(n.opacity=e.marker.opacity)),n):n}function x(t,e){var r={};if(!e)return r;if(e.textfont){var n={opacity:1,text:t.text,textposition:t.textposition,textfont:s.extendFlat({},t.textfont)};e.textfont&&s.extendFlat(n.textfont,e.textfont),r=m(n)}return r}function b(t,e){var r={capSize:2*e.width,lineWidth:e.thickness,color:e.color};return e.copy_ystyle&&(r=t.error_y),r}var _=p.SYMBOL_SDF_SIZE,w=p.SYMBOL_SIZE,k=p.SYMBOL_STROKE,M={},A=l.symbolFuncs[0](.05*w);function T(t){if(\"circle\"===t)return null;var e,r,n=l.symbolNumber(t),a=l.symbolFuncs[n%100],o=!!l.symbolNoDot[n%100],s=!!l.symbolNoFill[n%100],c=p.DOT_RE.test(t);return M[t]?M[t]:(e=c&&!o?a(1.1*w)+A:a(w),r=i(e,{w:_,h:_,viewBox:[-w,-w,w,w],stroke:s?k:-k}),M[t]=r,r||null)}e.exports={style:function(t,e){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0};if(!0!==e.visible)return n;if(f.hasText(e)&&(n.text=m(e),n.textSel=x(e,e.selected),n.textUnsel=x(e,e.unselected)),f.hasMarkers(e)&&(n.marker=v(e),n.markerSel=y(e,e.selected),n.markerUnsel=y(e,e.unselected),!e.unselected&&Array.isArray(e.marker.opacity))){var i=e.marker.opacity;for(n.markerUnsel.opacity=new Array(i.length),r=0;r<i.length;r++)n.markerUnsel.opacity[r]=d*i[r]}if(f.hasLines(e)){n.line={overlay:!0,thickness:e.line.width,color:e.line.color,opacity:e.opacity};var a=(p.DASHES[e.line.dash]||[1]).slice();for(r=0;r<a.length;++r)a[r]*=e.line.width;n.line.dashes=a}return e.error_x&&e.error_x.visible&&(n.errorX=b(e,e.error_x)),e.error_y&&e.error_y.visible&&(n.errorY=b(e,e.error_y)),e.fill&&\"none\"!==e.fill&&(n.fill={closed:!0,fill:e.fillcolor,thickness:0}),n},markerStyle:v,markerSelection:y,linePositions:function(t,e,r){var n,i,a=r.length/2;if(f.hasLines(e)&&a)if(\"hv\"===e.line.shape){for(n=[],i=0;i<a-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?(n.push(NaN),n.push(NaN),n.push(NaN),n.push(NaN)):(n.push(r[2*i]),n.push(r[2*i+1]),n.push(r[2*i+2]),n.push(r[2*i+1]));n.push(r[r.length-2]),n.push(r[r.length-1])}else if(\"vh\"===e.line.shape){for(n=[],i=0;i<a-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?(n.push(NaN),n.push(NaN),n.push(NaN),n.push(NaN)):(n.push(r[2*i]),n.push(r[2*i+1]),n.push(r[2*i]),n.push(r[2*i+3]));n.push(r[r.length-2]),n.push(r[r.length-1])}else n=r;var o=!1;for(i=0;i<n.length;i++)if(isNaN(n[i])){o=!0;break}var s=o||n.length>p.TOO_MANY_POINTS?\"rect\":f.hasMarkers(e)?\"rect\":\"round\";if(o&&e.connectgaps){var l=n[0],c=n[1];for(i=0;i<n.length;i+=2)isNaN(n[i])||isNaN(n[i+1])?(n[i]=l,n[i+1]=c):(l=n[i],c=n[i+1])}return{join:s,positions:n}},errorBarPositions:function(t,e,r,i,a){var s=o.getComponentMethod(\"errorbars\",\"makeComputeError\"),l=c.getFromId(t,e.xaxis),u=c.getFromId(t,e.yaxis),f=r.length/2,h={};function p(t,i){var a=i._id.charAt(0),o=e[\"error_\"+a];if(o&&o.visible&&(\"linear\"===i.type||\"log\"===i.type)){for(var l=s(o),c={x:0,y:1}[a],u={x:[0,1,2,3],y:[2,3,0,1]}[a],p=new Float64Array(4*f),d=1/0,g=-1/0,m=0,v=0;m<f;m++,v+=4){var y=t[m];if(n(y)){var x=r[2*m+c],b=l(y,m),_=b[0],w=b[1];if(n(_)&&n(w)){var k=y-_,M=y+w;p[v+u[0]]=x-i.c2l(k),p[v+u[1]]=i.c2l(M)-x,p[v+u[2]]=0,p[v+u[3]]=0,d=Math.min(d,y-_),g=Math.max(g,y+w)}}}h[a]={positions:r,errors:p,_bnds:[d,g]}}}return p(i,l),p(a,u),h},textPosition:function(t,e,r,n){var i,a=e._length,o={};if(f.hasMarkers(e)){var s=r.font,l=r.align,c=r.baseline;for(o.offset=new Array(a),i=0;i<a;i++){var u=n.sizes?n.sizes[i]:n.size,h=Array.isArray(s)?s[i].size:s.size,p=Array.isArray(l)?l.length>1?l[i]:l[0]:l,d=Array.isArray(c)?c.length>1?c[i]:c[0]:c,m=g[p],v=g[d],y=u?u/.8+1:0,x=-v*y-.5*v;o.offset[i]=[m*y/h,x/h]}}return o}}},{\"../../components/drawing\":592,\"../../constants/interactions\":669,\"../../lib\":693,\"../../lib/gl_format_color\":689,\"../../plots/cartesian/axis_ids\":745,\"../../registry\":825,\"../scatter/make_bubble_size_func\":1049,\"../scatter/subtypes\":1056,\"./constants\":1082,\"color-normalize\":107,\"fast-isnumeric\":213,\"svg-path-sdf\":509}],1084:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../registry\"),a=t(\"./attributes\"),o=t(\"../scatter/constants\"),s=t(\"../scatter/subtypes\"),l=t(\"../scatter/xy_defaults\"),c=t(\"../scatter/marker_defaults\"),u=t(\"../scatter/line_defaults\"),f=t(\"../scatter/fillcolor_defaults\"),h=t(\"../scatter/text_defaults\");e.exports=function(t,e,r,p){function d(r,i){return n.coerce(t,e,a,r,i)}var g=!!t.marker&&/-open/.test(t.marker.symbol),m=s.isBubble(t),v=l(t,e,p,d);if(v){var y=v<o.PTS_LINESONLY?\"lines+markers\":\"lines\";d(\"text\"),d(\"hovertext\"),d(\"mode\",y),s.hasLines(e)&&(d(\"connectgaps\"),u(t,e,r,p,d)),s.hasMarkers(e)&&(c(t,e,r,p,d),d(\"marker.line.width\",g||m?1:0)),s.hasText(e)&&h(t,e,p,d),d(\"fill\"),\"none\"!==e.fill&&f(t,e,r,d);var x=i.getComponentMethod(\"errorbars\",\"supplyDefaults\");x(t,e,r,{axis:\"y\"}),x(t,e,r,{axis:\"x\",inherit:\"y\"}),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{\"../../lib\":693,\"../../registry\":825,\"../scatter/constants\":1037,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"../scatter/xy_defaults\":1058,\"./attributes\":1081}],1085:[function(t,e,r){\"use strict\";var n=t(\"regl-scatter2d\"),i=t(\"regl-line2d\"),a=t(\"regl-error2d\"),o=t(\"point-cluster\"),s=t(\"array-range\"),l=t(\"gl-text\"),c=t(\"../../registry\"),u=t(\"../../lib\"),f=t(\"../../lib/prepare_regl\"),h=t(\"../../plots/cartesian/axis_ids\"),p=t(\"../../plots/cartesian/autorange\").findExtremes,d=t(\"../../components/color\"),g=t(\"../scatter/subtypes\"),m=t(\"../scatter/calc\"),v=m.calcMarkerSize,y=m.calcAxisExpansion,x=m.setFirstScatter,b=t(\"../scatter/colorscale_calc\"),_=t(\"../scatter/link_traces\"),w=t(\"../scatter/get_trace_color\"),k=t(\"../scatter/fill_hover_text\"),M=t(\"./convert\"),A=t(\"../../constants/numerical\").BADNUM,T=t(\"./constants\").TOO_MANY_POINTS,S=t(\"../../constants/interactions\").DESELECTDIM;function E(t,e,r){var n=t._extremes[e._id],i=p(e,r._bnds,{padded:!0});n.min=n.min.concat(i.min),n.max=n.max.concat(i.max)}function C(t,e,r,n,i,a){var o=M.style(t,r);if(o.marker&&(o.marker.positions=n),o.line&&n.length>1&&u.extendFlat(o.line,M.linePositions(t,r,n)),o.errorX||o.errorY){var s=M.errorBarPositions(t,r,n,i,a);o.errorX&&u.extendFlat(o.errorX,s.x),o.errorY&&u.extendFlat(o.errorY,s.y)}return o.text&&(u.extendFlat(o.text,{positions:n},M.textPosition(t,r,o.text,o.marker)),u.extendFlat(o.textSel,{positions:n},M.textPosition(t,r,o.text,o.markerSel)),u.extendFlat(o.textUnsel,{positions:n},M.textPosition(t,r,o.text,o.markerUnsel))),o}function L(t,e){var r=e._scene,n={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[]},i={selectBatch:null,unselectBatch:null,fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:null};return e._scene||((r=e._scene={}).init=function(){u.extendFlat(r,i,n)},r.init(),r.update=function(t){var e=u.repeat(t,r.count);if(r.fill2d&&r.fill2d.update(e),r.scatter2d&&r.scatter2d.update(e),r.line2d&&r.line2d.update(e),r.error2d&&r.error2d.update(e.concat(e)),r.select2d&&r.select2d.update(e),r.glText)for(var n=0;n<r.count;n++)r.glText[n].update(t);r.draw()},r.draw=function(){var t;for(t=0;t<r.count;t++)r.fill2d&&r.fillOptions[t]&&r.fill2d.draw(t);for(t=0;t<r.count;t++)r.line2d&&r.lineOptions[t]&&r.line2d.draw(t),r.error2d&&r.errorXOptions[t]&&r.error2d.draw(t),r.error2d&&r.errorYOptions[t]&&r.error2d.draw(t+r.count),!r.scatter2d||!r.markerOptions[t]||r.selectBatch&&r.selectBatch[t]||r.scatter2d.draw(t);for(r.scatter2d&&r.select2d&&r.selectBatch&&(r.select2d.draw(r.selectBatch),r.scatter2d.draw(r.unselectBatch)),t=0;t<r.count;t++)r.glText[t]&&r.textOptions[t]&&r.glText[t].render();r.dirty=!1},r.clear=function(){var n=z(t._fullLayout,e.xaxis,e.yaxis);r.select2d&&P(r.select2d,n);var i=r.scatter2d||r.line2d||(r.glText||[])[0]||r.fill2d||r.error2d;i&&P(i,n)},r.destroy=function(){r.fill2d&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy(),r.line2d&&r.line2d.destroy(),r.select2d&&r.select2d.destroy(),r.glText&&r.glText.forEach(function(t){t.destroy()}),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.markerSelectedOptions=null,r.markerUnselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.textOptions=null,r.textSelectedOptions=null,r.textUnselectedOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||u.extendFlat(r,n),r}function z(t,e,r){var n=t._size,i=t.width,a=t.height;return[n.l+e.domain[0]*n.w,n.b+r.domain[0]*n.h,i-n.r-(1-e.domain[1])*n.w,a-n.t-(1-r.domain[1])*n.h]}function P(t,e){var r=t.regl._gl;r.enable(r.SCISSOR_TEST),r.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT)}function O(t,e,r,n){var i=t.xa,a=t.ya,o=t.distance,s=t.dxy,l=t.index,f={pointNumber:l,x:e[l],y:r[l]};f.tx=Array.isArray(n.text)?n.text[l]:n.text,f.htx=Array.isArray(n.hovertext)?n.hovertext[l]:n.hovertext,f.data=Array.isArray(n.customdata)?n.customdata[l]:n.customdata,f.tp=Array.isArray(n.textposition)?n.textposition[l]:n.textposition;var h=n.textfont;h&&(f.ts=Array.isArray(h.size)?h.size[l]:h.size,f.tc=Array.isArray(h.color)?h.color[l]:h.color,f.tf=Array.isArray(h.family)?h.family[l]:h.family);var p=n.marker;p&&(f.ms=u.isArrayOrTypedArray(p.size)?p.size[l]:p.size,f.mo=u.isArrayOrTypedArray(p.opacity)?p.opacity[l]:p.opacity,f.mx=Array.isArray(p.symbol)?p.symbol[l]:p.symbol,f.mc=u.isArrayOrTypedArray(p.color)?p.color[l]:p.color);var d=p&&p.line;d&&(f.mlc=Array.isArray(d.color)?d.color[l]:d.color,f.mlw=u.isArrayOrTypedArray(d.width)?d.width[l]:d.width);var g=p&&p.gradient;g&&\"none\"!==g.type&&(f.mgt=Array.isArray(g.type)?g.type[l]:g.type,f.mgc=Array.isArray(g.color)?g.color[l]:g.color);var m=i.c2p(f.x,!0),v=a.c2p(f.y,!0),y=f.mrc||1,x=n.hoverlabel;x&&(f.hbg=Array.isArray(x.bgcolor)?x.bgcolor[l]:x.bgcolor,f.hbc=Array.isArray(x.bordercolor)?x.bordercolor[l]:x.bordercolor,f.hts=Array.isArray(x.font.size)?x.font.size[l]:x.font.size,f.htc=Array.isArray(x.font.color)?x.font.color[l]:x.font.color,f.htf=Array.isArray(x.font.family)?x.font.family[l]:x.font.family,f.hnl=Array.isArray(x.namelength)?x.namelength[l]:x.namelength);var b=n.hoverinfo;b&&(f.hi=Array.isArray(b)?b[l]:b);var _={};return _[t.index]=f,u.extendFlat(t,{color:w(n,f),x0:m-y,x1:m+y,xLabelVal:f.x,y0:v-y,y1:v+y,yLabelVal:f.y,cd:_,distance:o,spikeDistance:s}),f.htx?t.text=f.htx:f.tx?t.text=f.tx:n.text&&(t.text=n.text),k(f,n,t),c.getComponentMethod(\"errorbars\",\"hoverInfo\")(f,n,t),t}function I(t){var e,r,n=t[0].t,i=n._scene,a=n.index,o=i.selectBatch[a],s=i.unselectBatch[a],l=i.textOptions[a],c=i.textSelectedOptions[a]||{},f=i.textUnselectedOptions[a]||{},h=u.extendFlat({},l);if(o&&s){var p=c.color,g=f.color,m=l.color,v=Array.isArray(m);for(h.color=new Array(n.count),e=0;e<o.length;e++)r=o[e],h.color[r]=p||(v?m[r]:m);for(e=0;e<s.length;e++){r=s[e];var y=v?m[r]:m;h.color[r]=g||(p?y:d.addOpacity(y,S))}}i.glText[a].update(h)}e.exports={moduleType:\"trace\",name:\"scattergl\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),cleanData:t(\"../scatter/clean_data\"),colorbar:t(\"../scatter/marker_colorbar\"),calc:function(t,e){var r,n,i,a=t._fullLayout,s=h.getFromId(t,e.xaxis),l=h.getFromId(t,e.yaxis),c=a._plots[e.xaxis+e.yaxis],u=e._length,f=2*u,p={},d=s.makeCalcdata(e,\"x\"),g=l.makeCalcdata(e,\"y\"),m=new Array(f);for(r=0;r<u;r++)n=d[r],i=g[r],m[2*r]=n===A?NaN:n,m[2*r+1]=i===A?NaN:i;if(\"log\"===s.type)for(r=0;r<f;r+=2)m[r]=s.c2l(m[r]);if(\"log\"===l.type)for(r=1;r<f;r+=2)m[r]=l.c2l(m[r]);if(\"log\"!==s.type&&\"log\"!==l.type)p.tree=o(m);else{var _=p.ids=new Array(u);for(r=0;r<u;r++)_[r]=r}b(e);var w,k=C(t,0,e,m,d,g),M=L(t,c);return x(a,e),u<T?w=v(e,u):k.marker&&(w=2*(k.marker.sizeAvg||Math.max(k.marker.size,3))),y(t,e,s,l,d,g,w),k.errorX&&E(e,s,k.errorX),k.errorY&&E(e,l,k.errorY),k.fill&&!M.fill2d&&(M.fill2d=!0),k.marker&&!M.scatter2d&&(M.scatter2d=!0),k.line&&!M.line2d&&(M.line2d=!0),!k.errorX&&!k.errorY||M.error2d||(M.error2d=!0),k.text&&!M.glText&&(M.glText=!0),k.marker&&u>=T&&(k.marker.cluster=p.tree),M.lineOptions.push(k.line),M.errorXOptions.push(k.errorX),M.errorYOptions.push(k.errorY),M.fillOptions.push(k.fill),M.markerOptions.push(k.marker),M.markerSelectedOptions.push(k.markerSel),M.markerUnselectedOptions.push(k.markerUnsel),M.textOptions.push(k.text),M.textSelectedOptions.push(k.textSel),M.textUnselectedOptions.push(k.textUnsel),p._scene=M,p.index=M.count,p.x=d,p.y=g,p.positions=m,p.count=u,M.count++,[{x:!1,y:!1,t:p,trace:e}]},plot:function(t,e,r){if(r.length){var o,s,c=t._fullLayout,h=e._scene,p=e.xaxis,d=e.yaxis;if(h)if(f(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"])){var g=c._glcanvas.data()[0].regl;if(_(t,e,r),h.dirty){if(!0===h.error2d&&(h.error2d=a(g)),!0===h.line2d&&(h.line2d=i(g)),!0===h.scatter2d&&(h.scatter2d=n(g)),!0===h.fill2d&&(h.fill2d=i(g)),!0===h.glText)for(h.glText=new Array(h.count),o=0;o<h.count;o++)h.glText[o]=new l(g);if(h.glText)for(o=0;o<h.count;o++)h.glText[o].update(h.textOptions[o]);if(h.line2d&&h.line2d.update(h.lineOptions),h.error2d){var m=(h.errorXOptions||[]).concat(h.errorYOptions||[]);h.error2d.update(m)}h.scatter2d&&h.scatter2d.update(h.markerOptions),h.fill2d&&(h.fillOptions=h.fillOptions.map(function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,c=h.lineOptions[e],u=[],f=c&&c.positions||l.positions;if(\"tozeroy\"===s.fill)(u=(u=[f[0],0]).concat(f)).push(f[f.length-2]),u.push(0);else if(\"tozerox\"===s.fill)(u=(u=[0,f[1]]).concat(f)).push(0),u.push(f[f.length-1]);else if(\"toself\"===s.fill||\"tonext\"===s.fill){for(u=[],i=0,a=0;a<f.length;a+=2)(isNaN(f[a])||isNaN(f[a+1]))&&((u=u.concat(f.slice(i,a))).push(f[i],f[i+1]),i=a+2);u=u.concat(f.slice(i)),i&&u.push(f[i],f[i+1])}else{var p=s._nexttrace;if(p){var d=h.lineOptions[e+1];if(d){var g=d.positions;if(\"tonexty\"===s.fill){for(u=f.slice(),e=Math.floor(g.length/2);e--;){var m=g[2*e],v=g[2*e+1];isNaN(m)||isNaN(v)||(u.push(m),u.push(v))}t.fill=p.fillcolor}}}}if(s._prevtrace&&\"tonext\"===s._prevtrace.fill){var y=h.lineOptions[e-1].positions,x=u.length/2,b=[i=x];for(a=0;a<y.length;a+=2)(isNaN(y[a])||isNaN(y[a+1]))&&(b.push(a/2+x+1),i=a+2);u=u.concat(y),t.hole=b}return t.opacity=s.opacity,t.positions=u,t}}),h.fill2d.update(h.fillOptions))}h.selectBatch=null,h.unselectBatch=null;var v=c.dragmode,y=\"lasso\"===v||\"select\"===v,x=c.clickmode.indexOf(\"select\")>-1;for(o=0;o<r.length;o++){var b=r[o][0],w=b.trace,k=b.t,M=k.index,A=k.x,T=k.y;if(w.selectedpoints||y||x){if(y||(y=!0),h.selectBatch||(h.selectBatch=[],h.unselectBatch=[]),w.selectedpoints){var S=h.selectBatch[M]=u.selIndices2selPoints(w),E={};for(s=0;s<S.length;s++)E[S[s]]=1;var C=[];for(s=0;s<k.count;s++)E[s]||C.push(s);h.unselectBatch[M]=C}var L=k.xpx=new Array(k.count),P=k.ypx=new Array(k.count);for(s=0;s<k.count;s++)L[s]=p.c2p(A[s]),P[s]=d.c2p(T[s])}else k.xpx=k.ypx=null}y?(h.select2d||(h.select2d=n(c._glcanvas.data()[1].regl)),h.scatter2d&&h.selectBatch&&h.selectBatch.length&&h.scatter2d.update(h.markerUnselectedOptions.map(function(t,e){return h.selectBatch[e]?t:null})),h.select2d&&(h.select2d.update(h.markerOptions),h.select2d.update(h.markerSelectedOptions)),h.glText&&r.forEach(function(t){t&&t[0]&&t[0].trace&&I(t)})):h.scatter2d&&h.scatter2d.update(h.markerOptions);var O={viewport:z(c,p,d),range:[(p._rl||p.range)[0],(d._rl||d.range)[0],(p._rl||p.range)[1],(d._rl||d.range)[1]]},D=u.repeat(O,h.count);h.fill2d&&h.fill2d.update(D),h.line2d&&h.line2d.update(D),h.error2d&&h.error2d.update(D.concat(D)),h.scatter2d&&h.scatter2d.update(D),h.select2d&&h.select2d.update(D),h.glText&&h.glText.forEach(function(t){t.update(O)}),h.draw()}else h.init()}},hoverPoints:function(t,e,r,n){var i,a,o,s,l,c,u,f,h,p=t.cd,d=p[0].t,g=p[0].trace,m=t.xa,v=t.ya,y=d.x,x=d.y,b=m.c2p(e),_=v.c2p(r),w=t.distance;if(d.tree){var k=m.p2c(b-w),M=m.p2c(b+w),A=v.p2c(_-w),T=v.p2c(_+w);i=\"x\"===n?d.tree.range(Math.min(k,M),Math.min(v._rl[0],v._rl[1]),Math.max(k,M),Math.max(v._rl[0],v._rl[1])):d.tree.range(Math.min(k,M),Math.min(A,T),Math.max(k,M),Math.max(A,T))}else{if(!d.ids)return[t];i=d.ids}var S=w;if(\"x\"===n)for(l=0;l<i.length;l++)o=y[i[l]],(c=Math.abs(m.c2p(o)-b))<S&&(S=c,u=v.c2p(x[i[l]])-_,h=Math.sqrt(c*c+u*u),a=i[l]);else for(l=0;l<i.length;l++)o=y[i[l]],s=x[i[l]],c=m.c2p(o)-b,u=v.c2p(s)-_,(f=Math.sqrt(c*c+u*u))<S&&(S=h=f,a=i[l]);return t.index=a,t.distance=S,t.dxy=h,void 0===a?[t]:(O(t,y,x,g),[t])},style:function(t,e){if(e){var r=e[0][0].t._scene;t._fullLayout._has(\"splom\")||r.clear(),r.draw()}},selectPoints:function(t,e){var r=t.cd,n=[],i=r[0].trace,a=r[0].t,o=a.x,l=a.y,c=a._scene;if(!c)return n;var u=g.hasText(i),f=g.hasMarkers(i),h=!f&&!u;if(!0!==i.visible||h)return n;var p,d=null,m=null;if(!1===e||e.degenerate)m=s(a.count);else for(d=[],m=[],p=0;p<a.count;p++)e.contains([a.xpx[p],a.ypx[p]],!1,p,t)?(d.push(p),n.push({pointNumber:p,x:o[p],y:l[p]})):m.push(p);if(c.selectBatch||(c.selectBatch=[],c.unselectBatch=[]),!c.selectBatch[a.index]){for(p=0;p<c.count;p++)c.selectBatch[p]=[],c.unselectBatch[p]=[];f&&c.scatter2d.update(c.markerUnselectedOptions)}return c.selectBatch[a.index]=d,c.unselectBatch[a.index]=m,u&&I(r),n},sceneOptions:C,sceneUpdate:L,calcHover:O,meta:{}}},{\"../../components/color\":567,\"../../constants/interactions\":669,\"../../constants/numerical\":670,\"../../lib\":693,\"../../lib/prepare_regl\":707,\"../../plots/cartesian\":753,\"../../plots/cartesian/autorange\":741,\"../../plots/cartesian/axis_ids\":745,\"../../registry\":825,\"../scatter/calc\":1033,\"../scatter/clean_data\":1035,\"../scatter/colorscale_calc\":1036,\"../scatter/fill_hover_text\":1040,\"../scatter/get_trace_color\":1042,\"../scatter/link_traces\":1048,\"../scatter/marker_colorbar\":1050,\"../scatter/subtypes\":1056,\"./attributes\":1081,\"./constants\":1082,\"./convert\":1083,\"./defaults\":1084,\"array-range\":54,\"gl-text\":302,\"point-cluster\":449,\"regl-error2d\":470,\"regl-line2d\":471,\"regl-scatter2d\":472}],1086:[function(t,e,r){\"use strict\";var n=t(\"../scattergeo/attributes\"),i=t(\"../scatter/attributes\"),a=t(\"../../plots/mapbox/layout_attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../components/colorbar/attributes\"),l=t(\"../../lib/extend\").extendFlat,c=t(\"../../plot_api/edit_types\").overrideAll,u=n.line,f=n.marker;e.exports=c({lon:n.lon,lat:n.lat,mode:l({},i.mode,{dflt:\"markers\"}),text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),line:{color:u.color,width:u.width},connectgaps:i.connectgaps,marker:{symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},opacity:f.opacity,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,color:f.color,colorscale:f.colorscale,cauto:f.cauto,cmax:f.cmax,cmin:f.cmin,autocolorscale:f.autocolorscale,reversescale:f.reversescale,showscale:f.showscale,colorbar:s},fill:n.fill,fillcolor:i.fillcolor,textfont:a.layers.symbol.textfont,textposition:a.layers.symbol.textposition,selected:{marker:i.selected.marker},unselected:{marker:i.unselected.marker},hoverinfo:l({},o.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]})},\"calc\",\"nested\")},{\"../../components/colorbar/attributes\":568,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/attributes\":739,\"../../plots/mapbox/layout_attributes\":801,\"../scatter/attributes\":1032,\"../scattergeo/attributes\":1072}],1087:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../lib\"),a=t(\"../../constants/numerical\").BADNUM,o=t(\"../../lib/geojson_utils\"),s=t(\"../../components/colorscale\"),l=t(\"../../components/drawing\"),c=t(\"../scatter/make_bubble_size_func\"),u=t(\"../scatter/subtypes\"),f=t(\"../../plots/mapbox/convert_text_opts\");function h(){return{geojson:o.makeBlank(),layout:{visibility:\"none\"},paint:{}}}function p(t){return i.isArrayOrTypedArray(t)?function(t){return t}:t?function(){return t}:d}function d(){return\"\"}function g(t){return t[0]===a}e.exports=function(t){var e,r=t[0].trace,a=!0===r.visible,m=\"none\"!==r.fill,v=u.hasLines(r),y=u.hasMarkers(r),x=u.hasText(r),b=y&&\"circle\"===r.marker.symbol,_=y&&\"circle\"!==r.marker.symbol,w=h(),k=h(),M=h(),A=h(),T={fill:w,line:k,circle:M,symbol:A};if(!a)return T;if((m||v)&&(e=o.calcTraceToLineCoords(t)),m&&(w.geojson=o.makePolygon(e),w.layout.visibility=\"visible\",i.extendFlat(w.paint,{\"fill-color\":r.fillcolor})),v&&(k.geojson=o.makeLine(e),k.layout.visibility=\"visible\",i.extendFlat(k.paint,{\"line-width\":r.line.width,\"line-color\":r.line.color,\"line-opacity\":r.opacity})),b){var S=function(t){var e,r,a,o,u=t[0].trace,f=u.marker,h=u.selectedpoints,p=i.isArrayOrTypedArray(f.color),d=i.isArrayOrTypedArray(f.size),m=i.isArrayOrTypedArray(f.opacity);function v(t){return u.opacity*t}p&&(r=s.hasColorscale(u,\"marker\")?s.makeColorScaleFunc(s.extractScale(f.colorscale,f.cmin,f.cmax)):i.identity);d&&(a=c(u));m&&(o=function(t){var e=n(t)?+i.constrain(t,0,1):0;return v(e)});var y,x=[];for(e=0;e<t.length;e++){var b=t[e],_=b.lonlat;if(!g(_)){var w={};r&&(w.mcc=b.mcc=r(b.mc)),a&&(w.mrc=b.mrc=a(b.ms)),o&&(w.mo=o(b.mo)),h&&(w.selected=b.selected||0),x.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:_},properties:w})}}if(h)for(y=l.makeSelectedPointStyleFns(u),e=0;e<x.length;e++){var k=x[e].properties;y.selectedOpacityFn&&(k.mo=v(y.selectedOpacityFn(k))),y.selectedColorFn&&(k.mcc=y.selectedColorFn(k)),y.selectedSizeFn&&(k.mrc=y.selectedSizeFn(k))}return{geojson:{type:\"FeatureCollection\",features:x},mcc:p||y&&y.selectedColorFn?{type:\"identity\",property:\"mcc\"}:f.color,mrc:d||y&&y.selectedSizeFn?{type:\"identity\",property:\"mrc\"}:(M=f.size,M/2),mo:m||y&&y.selectedOpacityFn?{type:\"identity\",property:\"mo\"}:v(f.opacity)};var M}(t);M.geojson=S.geojson,M.layout.visibility=\"visible\",i.extendFlat(M.paint,{\"circle-color\":S.mcc,\"circle-radius\":S.mrc,\"circle-opacity\":S.mo})}if((_||x)&&(A.geojson=function(t){for(var e=t[0].trace,r=(e.marker||{}).symbol,n=e.text,i=\"circle\"!==r?p(r):d,a=u.hasText(e)?p(n):d,o=[],s=0;s<t.length;s++){var l=t[s];g(l.lonlat)||o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:l.lonlat},properties:{symbol:i(l.mx),text:a(l.tx)}})}return{type:\"FeatureCollection\",features:o}}(t),i.extendFlat(A.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),_&&(i.extendFlat(A.layout,{\"icon-size\":r.marker.size/10}),i.extendFlat(A.paint,{\"icon-opacity\":r.opacity*r.marker.opacity,\"icon-color\":r.marker.color})),x)){var E=(r.marker||{}).size,C=f(r.textposition,E);i.extendFlat(A.layout,{\"text-size\":r.textfont.size,\"text-anchor\":C.anchor,\"text-offset\":C.offset}),i.extendFlat(A.paint,{\"text-color\":r.textfont.color,\"text-opacity\":r.opacity})}return T}},{\"../../components/colorscale\":582,\"../../components/drawing\":592,\"../../constants/numerical\":670,\"../../lib\":693,\"../../lib/geojson_utils\":686,\"../../plots/mapbox/convert_text_opts\":798,\"../scatter/make_bubble_size_func\":1049,\"../scatter/subtypes\":1056,\"fast-isnumeric\":213}],1088:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../scatter/marker_defaults\"),o=t(\"../scatter/line_defaults\"),s=t(\"../scatter/text_defaults\"),l=t(\"../scatter/fillcolor_defaults\"),c=t(\"./attributes\");e.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}if(function(t,e,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return e._length=a,a}(0,e,f)){if(f(\"text\"),f(\"hovertext\"),f(\"mode\"),i.hasLines(e)&&(o(t,e,r,u,f,{noDash:!0}),f(\"connectgaps\")),i.hasMarkers(e)){a(t,e,r,u,f,{noLine:!0});var h=e.marker;\"circle\"!==h.symbol&&(n.isArrayOrTypedArray(h.size)&&(h.size=h.size[0]),n.isArrayOrTypedArray(h.color)&&(h.color=h.color[0]))}i.hasText(e)&&s(t,e,u,f,{noSelect:!0}),f(\"fill\"),\"none\"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{\"../../lib\":693,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"./attributes\":1086}],1089:[function(t,e,r){\"use strict\";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1090:[function(t,e,r){\"use strict\";var n=t(\"../../components/fx\"),i=t(\"../../lib\"),a=t(\"../scatter/get_trace_color\"),o=t(\"../scatter/fill_hover_text\"),s=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,f=t.ya,h=t.subplot,p=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(l,function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=h.project([n,a]),l=o.x-u.c2p([d,a]),c=o.y-f.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)},t),!1!==t.index){var g=l[t.index],m=g.lonlat,v=[i.modHalf(m[0],360)+p,m[1]],y=u.c2p(v),x=f.c2p(v),b=g.mrc||1;return t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b,t.color=a(c,g),t.extraText=function(t,e,r){var n=(e.hi||t.hoverinfo).split(\"+\"),i=-1!==n.indexOf(\"all\"),a=-1!==n.indexOf(\"lon\"),s=-1!==n.indexOf(\"lat\"),l=e.lonlat,c=[];function u(t){return t+\"\\xb0\"}i||a&&s?c.push(\"(\"+u(l[0])+\", \"+u(l[1])+\")\"):a?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==n.indexOf(\"text\"))&&o(e,t,c);return c.join(\"<br>\")}(c,g,l[0].t.labels),[t]}}},{\"../../components/fx\":609,\"../../constants/numerical\":670,\"../../lib\":693,\"../scatter/fill_hover_text\":1040,\"../scatter/get_trace_color\":1042}],1091:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/marker_colorbar\"),n.calc=t(\"../scattergeo/calc\"),n.plot=t(\"./plot\"),n.hoverPoints=t(\"./hover\"),n.eventData=t(\"./event_data\"),n.selectPoints=t(\"./select\"),n.style=function(t,e){e&&e[0].trace._glTrace.update(e)},n.moduleType=\"trace\",n.name=\"scattermapbox\",n.basePlotModule=t(\"../../plots/mapbox\"),n.categories=[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatterlike\"],n.meta={},e.exports=n},{\"../../plots/mapbox\":799,\"../scatter/marker_colorbar\":1050,\"../scattergeo/calc\":1073,\"./attributes\":1086,\"./defaults\":1088,\"./event_data\":1089,\"./hover\":1090,\"./plot\":1092,\"./select\":1093}],1092:[function(t,e,r){\"use strict\";var n=t(\"./convert\");function i(t,e){this.subplot=t,this.uid=e,this.sourceIds={fill:e+\"-source-fill\",line:e+\"-source-line\",circle:e+\"-source-circle\",symbol:e+\"-source-symbol\"},this.layerIds={fill:e+\"-layer-fill\",line:e+\"-layer-line\",circle:e+\"-layer-circle\",symbol:e+\"-layer-symbol\"},this.order=[\"fill\",\"line\",\"circle\",\"symbol\"]}var a=i.prototype;a.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:\"geojson\",data:e.geojson})},a.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},a.addLayer=function(t,e){this.subplot.map.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint})},a.update=function(t){for(var e=this.subplot,r=n(t),i=0;i<this.order.length;i++){var a=this.order[i],o=r[a];e.setOptions(this.layerIds[a],\"setLayoutProperty\",o.layout),\"visible\"===o.layout.visibility&&(this.setSourceData(a,o),e.setOptions(this.layerIds[a],\"setPaintProperty\",o.paint))}t[0].trace._glTrace=this},a.dispose=function(){for(var t=this.subplot.map,e=0;e<this.order.length;e++){var r=this.order[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=new i(t,e[0].trace.uid),a=n(e),o=0;o<r.order.length;o++){var s=r.order[o],l=a[s];r.addSource(s,l),r.addLayer(s,l)}return e[0].trace._glTrace=r,r}},{\"./convert\":1087}],1093:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e){var r,o=t.cd,s=t.xaxis,l=t.yaxis,c=[],u=o[0].trace;if(!i.hasMarkers(u))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++){var f=o[r],h=f.lonlat;if(h[0]!==a){var p=[n.modHalf(h[0],360),h[1]],d=[s.c2p(p),l.c2p(p)];e.contains(d,null,r,t)?(c.push({pointNumber:r,lon:h[0],lat:h[1]}),f.selected=1):f.selected=0}}return c}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../scatter/subtypes\":1056}],1094:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat,i=t(\"../scatter/attributes\"),a=t(\"../../plots/attributes\"),o=i.line;e.exports={mode:i.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},r0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dr:{valType:\"number\",dflt:1,editType:\"calc\"},theta0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dtheta:{valType:\"number\",editType:\"calc\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:i.text,hovertext:i.hovertext,line:{color:o.color,width:o.width,dash:o.dash,shape:n({},o.shape,{values:[\"linear\",\"spline\"]}),smoothing:o.smoothing,editType:\"calc\"},connectgaps:i.connectgaps,marker:i.marker,cliponaxis:n({},i.cliponaxis,{dflt:!1}),textposition:i.textposition,textfont:i.textfont,fill:n({},i.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:i.fillcolor,hoverinfo:n({},a.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:i.hoveron,selected:i.selected,unselected:i.unselected}},{\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../scatter/attributes\":1032}],1095:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../../constants/numerical\").BADNUM,a=t(\"../../plots/cartesian/axes\"),o=t(\"../scatter/colorscale_calc\"),s=t(\"../scatter/arrays_to_calcdata\"),l=t(\"../scatter/calc_selection\"),c=t(\"../scatter/calc\").calcMarkerSize;e.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,f=r[u].radialaxis,h=r[u].angularaxis,p=f.makeCalcdata(e,\"r\"),d=h.makeCalcdata(e,\"theta\"),g=e._length,m=new Array(g),v=0;v<g;v++){var y=p[v],x=d[v],b=m[v]={};n(y)&&n(x)?(b.r=y,b.theta=x):b.r=i}var _=c(e,g);return e._extremes.x=a.findExtremes(f,p,{ppad:_}),o(e),s(m,e),l(m,e),m}},{\"../../constants/numerical\":670,\"../../plots/cartesian/axes\":742,\"../scatter/arrays_to_calcdata\":1031,\"../scatter/calc\":1033,\"../scatter/calc_selection\":1034,\"../scatter/colorscale_calc\":1036,\"fast-isnumeric\":213}],1096:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../scatter/marker_defaults\"),o=t(\"../scatter/line_defaults\"),s=t(\"../scatter/line_shape_defaults\"),l=t(\"../scatter/text_defaults\"),c=t(\"../scatter/fillcolor_defaults\"),u=t(\"../scatter/constants\").PTS_LINESONLY,f=t(\"./attributes\");function h(t,e,r,n){var i,a=n(\"r\"),o=n(\"theta\");if(a)o?i=Math.min(a.length,o.length):(i=a.length,n(\"theta0\"),n(\"dtheta\"));else{if(!o)return 0;i=e.theta.length,n(\"r0\"),n(\"dr\")}return e._length=i,i}e.exports={handleRThetaDefaults:h,supplyDefaults:function(t,e,r,p){function d(r,i){return n.coerce(t,e,f,r,i)}var g=h(0,e,0,d);if(g){d(\"thetaunit\"),d(\"mode\",g<u?\"lines+markers\":\"lines\"),d(\"text\"),d(\"hovertext\"),i.hasLines(e)&&(o(t,e,r,p,d),s(t,e,d),d(\"connectgaps\")),i.hasMarkers(e)&&a(t,e,r,p,d,{gradient:!0}),i.hasText(e)&&l(t,e,p,d);var m=[];(i.hasMarkers(e)||i.hasText(e))&&(d(\"cliponaxis\"),d(\"marker.maxdisplayed\"),m.push(\"points\")),d(\"fill\"),\"none\"!==e.fill&&(c(t,e,r,d),i.hasLines(e)||s(t,e,d)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||m.push(\"fills\"),d(\"hoveron\",m.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}}},{\"../../lib\":693,\"../scatter/constants\":1037,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/line_shape_defaults\":1047,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"./attributes\":1094}],1097:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../../lib\");function o(t,e,r,n){var o=r.radialAxis,s=r.angularAxis,l=(t.hi||e.hoverinfo).split(\"+\"),c=[];function u(t,e){c.push(t._hovertitle+\": \"+i.tickText(t,e,\"hover\").text)}if(o._hovertitle=\"r\",s._hovertitle=\"\\u03b8\",-1!==l.indexOf(\"all\")&&(l=[\"r\",\"theta\",\"text\"]),-1!==l.indexOf(\"r\")&&u(o,o.c2l(t.r)),-1!==l.indexOf(\"theta\")){var f=t.theta;u(s,\"degrees\"===s.thetaunit?a.rad2deg(f):f)}-1!==l.indexOf(\"text\")&&n.text&&(c.push(n.text),delete n.text),n.extraText=c.join(\"<br>\")}e.exports={hoverPoints:function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var s=a[0];if(void 0===s.index)return a;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,o(c,u,l,s),a}},makeHoverPointText:o}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../scatter/hover\":1043}],1098:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:t(\"../../plots/polar\"),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\").supplyDefaults,colorbar:t(\"../scatter/marker_colorbar\"),calc:t(\"./calc\"),plot:t(\"./plot\"),style:t(\"../scatter/style\").style,hoverPoints:t(\"./hover\").hoverPoints,selectPoints:t(\"../scatter/select\"),meta:{}}},{\"../../plots/polar\":808,\"../scatter/marker_colorbar\":1050,\"../scatter/select\":1053,\"../scatter/style\":1055,\"./attributes\":1094,\"./calc\":1095,\"./defaults\":1096,\"./hover\":1097,\"./plot\":1099}],1099:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\"),i=t(\"../../constants/numerical\").BADNUM;e.exports=function(t,e,r){for(var a=e.layers.frontplot.select(\"g.scatterlayer\"),o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},s=e.radialAxis,l=e.angularAxis,c=0;c<r.length;c++)for(var u=r[c],f=0;f<u.length;f++){var h=u[f],p=h.r;if(p===i)h.x=h.y=i;else{var d=s.c2g(p),g=l.c2g(h.theta);h.x=d*Math.cos(g),h.y=d*Math.sin(g)}}n(t,o,r,a)}},{\"../../constants/numerical\":670,\"../scatter/plot\":1052}],1100:[function(t,e,r){\"use strict\";var n=t(\"../scatterpolar/attributes\"),i=t(\"../scattergl/attributes\");e.exports={mode:n.mode,r:n.r,theta:n.theta,r0:n.r0,dr:n.dr,theta0:n.theta0,dtheta:n.dtheta,thetaunit:n.thetaunit,text:n.text,hovertext:n.hovertext,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,textposition:i.textposition,textfont:i.textfont,hoverinfo:n.hoverinfo,selected:n.selected,unselected:n.unselected}},{\"../scattergl/attributes\":1081,\"../scatterpolar/attributes\":1094}],1101:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/subtypes\"),a=t(\"../scatterpolar/defaults\").handleRThetaDefaults,o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/text_defaults\"),c=t(\"../scatter/fillcolor_defaults\"),u=t(\"../scatter/constants\").PTS_LINESONLY,f=t(\"./attributes\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d=a(t,e,h,p);d?(p(\"thetaunit\"),p(\"mode\",d<u?\"lines+markers\":\"lines\"),p(\"text\"),p(\"hovertext\"),i.hasLines(e)&&(s(t,e,r,h,p),p(\"connectgaps\")),i.hasMarkers(e)&&o(t,e,r,h,p),i.hasText(e)&&l(t,e,h,p),p(\"fill\"),\"none\"!==e.fill&&c(t,e,r,p),n.coerceSelectionMarkerOpacity(e,p)):e.visible=!1}},{\"../../lib\":693,\"../scatter/constants\":1037,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"../scatterpolar/defaults\":1096,\"./attributes\":1100}],1102:[function(t,e,r){\"use strict\";var n=t(\"point-cluster\"),i=t(\"fast-isnumeric\"),a=t(\"../scattergl\"),o=t(\"../scatter/colorscale_calc\"),s=t(\"../../plots/cartesian/axes\"),l=t(\"../scatterpolar/hover\").makeHoverPointText,c=t(\"../scatter/subtypes\"),u=t(\"../scattergl/constants\").TOO_MANY_POINTS;e.exports={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:t(\"../../plots/polar\"),categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),calc:function(t,e){var r=t._fullLayout,n=e.subplot,i=r[n].radialaxis,a=r[n].angularaxis,l=i.makeCalcdata(e,\"r\"),c=a.makeCalcdata(e,\"theta\"),u={};return e._length<l.length&&(l=l.slice(0,e._length)),e._length<c.length&&(c=c.slice(0,e._length)),o(e),u.r=l,u.theta=c,e._extremes.x=s.findExtremes(i,l,{tozero:!0}),[{x:!1,y:!1,t:u,trace:e}]},plot:function(t,e,r){var o=e.radialAxis,s=e.angularAxis,l=a.sceneUpdate(t,e);return r.forEach(function(f,h){if(f&&f[0]&&f[0].trace){var p,d=f[0],g=d.trace,m=d.t,v=m.r,y=m.theta,x=v.slice(),b=y.slice();for(p=0;p<v.length;p++)e.isPtInside({r:v[p],theta:y[p]})||(x[p]=NaN,b[p]=NaN);var _=v.length,w=new Array(2*_),k=Array(_),M=Array(_);for(p=0;p<_;p++){var A,T,S=x[p];if(i(S)){var E=o.c2g(S),C=s.c2g(b[p],g.thetaunit);A=E*Math.cos(C),T=E*Math.sin(C)}else A=T=NaN;k[p]=w[2*p]=A,M[p]=w[2*p+1]=T}var L=a.sceneOptions(t,e,g,w);L.fill&&!l.fill2d&&(l.fill2d=!0),L.marker&&!l.scatter2d&&(l.scatter2d=!0),L.line&&!l.line2d&&(l.line2d=!0),!L.errorX&&!L.errorY||l.error2d||(l.error2d=!0),L.text&&!l.glText&&(l.glText=!0),m.tree=n(w),L.marker&&_>=u&&(L.marker.cluster=m.tree),c.hasMarkers(g)&&(L.markerSel.positions=L.markerUnsel.positions=L.marker.positions),l.lineOptions.push(L.line),l.errorXOptions.push(L.errorX),l.errorYOptions.push(L.errorY),l.fillOptions.push(L.fill),l.markerOptions.push(L.marker),l.markerSelectedOptions.push(L.markerSel),l.markerUnselectedOptions.push(L.markerUnsel),l.textOptions.push(L.text),l.textSelectedOptions.push(L.textSel),l.textUnselectedOptions.push(L.textUnsel),l.count=r.length,m._scene=l,m.index=h,m.x=k,m.y=M,m.rawx=k,m.rawy=M,m.r=v,m.theta=y,m.positions=w,m.count=_}}),a.plot(t,e,r)},hoverPoints:function(t,e,r,n){var i=t.cd[0].t,o=i.r,s=i.theta,c=a.hoverPoints(t,e,r,n);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var f=t.subplot,h=u.cd[u.index],p=u.trace;if(h.r=o[u.index],h.theta=s[u.index],f.isPtInside(h))return u.xLabelVal=void 0,u.yLabelVal=void 0,l(h,p,f,u),c}},style:a.style,selectPoints:a.selectPoints,meta:{}}},{\"../../plots/cartesian/axes\":742,\"../../plots/polar\":808,\"../scatter/colorscale_calc\":1036,\"../scatter/marker_colorbar\":1050,\"../scatter/subtypes\":1056,\"../scattergl\":1085,\"../scattergl/constants\":1082,\"../scatterpolar/hover\":1097,\"./attributes\":1100,\"./defaults\":1101,\"fast-isnumeric\":213,\"point-cluster\":449}],1103:[function(t,e,r){\"use strict\";var n=t(\"../scatter/attributes\"),i=t(\"../../plots/attributes\"),a=t(\"../../components/colorscale/attributes\"),o=t(\"../../components/colorbar/attributes\"),s=t(\"../../components/drawing/attributes\").dash,l=t(\"../../lib/extend\").extendFlat,c=n.marker,u=n.line,f=c.line;e.exports={a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},c:{valType:\"data_array\",editType:\"calc\"},sum:{valType:\"number\",dflt:0,min:0,editType:\"calc\"},mode:l({},n.mode,{dflt:\"markers\"}),text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:s,shape:l({},u.shape,{values:[\"linear\",\"spline\"]}),smoothing:u.smoothing,editType:\"calc\"},connectgaps:n.connectgaps,cliponaxis:n.cliponaxis,fill:l({},n.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:f.width,editType:\"calc\"},a(\"marker.line\")),gradient:c.gradient,editType:\"calc\"},a(\"marker\"),{colorbar:o}),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:n.hoveron}},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../components/drawing/attributes\":591,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../scatter/attributes\":1032}],1104:[function(t,e,r){\"use strict\";var n=t(\"fast-isnumeric\"),i=t(\"../scatter/colorscale_calc\"),a=t(\"../scatter/arrays_to_calcdata\"),o=t(\"../scatter/calc_selection\"),s=t(\"../scatter/calc\").calcMarkerSize,l=[\"a\",\"b\",\"c\"],c={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};e.exports=function(t,e){var r,u,f,h,p,d,g=t._fullLayout[e.subplot].sum,m=e.sum||g,v={a:e.a,b:e.b,c:e.c};for(r=0;r<l.length;r++)if(!v[f=l[r]]){for(p=v[c[f][0]],d=v[c[f][1]],h=new Array(p.length),u=0;u<p.length;u++)h[u]=m-p[u]-d[u];v[f]=h}var y,x,b,_,w,k,M=e._length,A=new Array(M);for(r=0;r<M;r++)y=v.a[r],x=v.b[r],b=v.c[r],n(y)&&n(x)&&n(b)?(1!==(_=g/((y=+y)+(x=+x)+(b=+b)))&&(y*=_,x*=_,b*=_),k=y,w=b-x,A[r]={x:w,y:k,a:y,b:x,c:b}):A[r]={x:!1,y:!1};return s(e,M),i(e),a(A,e),o(A,e),A}},{\"../scatter/arrays_to_calcdata\":1031,\"../scatter/calc\":1033,\"../scatter/calc_selection\":1034,\"../scatter/colorscale_calc\":1036,\"fast-isnumeric\":213}],1105:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../scatter/constants\"),a=t(\"../scatter/subtypes\"),o=t(\"../scatter/marker_defaults\"),s=t(\"../scatter/line_defaults\"),l=t(\"../scatter/line_shape_defaults\"),c=t(\"../scatter/text_defaults\"),u=t(\"../scatter/fillcolor_defaults\"),f=t(\"./attributes\");e.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d,g=p(\"a\"),m=p(\"b\"),v=p(\"c\");if(g?(d=g.length,m?(d=Math.min(d,m.length),v&&(d=Math.min(d,v.length))):d=v?Math.min(d,v.length):0):m&&v&&(d=Math.min(m.length,v.length)),d){e._length=d,p(\"sum\"),p(\"text\"),p(\"hovertext\"),p(\"mode\",d<i.PTS_LINESONLY?\"lines+markers\":\"lines\"),a.hasLines(e)&&(s(t,e,r,h,p),l(t,e,p),p(\"connectgaps\")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&c(t,e,h,p);var y=[];(a.hasMarkers(e)||a.hasText(e))&&(p(\"cliponaxis\"),p(\"marker.maxdisplayed\"),y.push(\"points\")),p(\"fill\"),\"none\"!==e.fill&&(u(t,e,r,p),a.hasLines(e)||l(t,e,p)),\"tonext\"!==e.fill&&\"toself\"!==e.fill||y.push(\"fills\"),p(\"hoveron\",y.join(\"+\")||\"points\"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{\"../../lib\":693,\"../scatter/constants\":1037,\"../scatter/fillcolor_defaults\":1041,\"../scatter/line_defaults\":1045,\"../scatter/line_shape_defaults\":1047,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"../scatter/text_defaults\":1057,\"./attributes\":1103}],1106:[function(t,e,r){\"use strict\";e.exports=function(t,e,r,n,i){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[i]){var a=n[i];t.a=a.a,t.b=a.b,t.c=a.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t}},{}],1107:[function(t,e,r){\"use strict\";var n=t(\"../scatter/hover\"),i=t(\"../../plots/cartesian/axes\");e.exports=function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index){var l=1-s.y0/t.ya._length,c=t.xa._length,u=c*l/2,f=c-u;return s.x0=Math.max(Math.min(s.x0,f),u),s.x1=Math.max(Math.min(s.x1,f),u),o}var h=s.cd[s.index];s.a=h.a,s.b=h.b,s.c=h.c,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=s.subplot,g=(h.hi||p.hoverinfo).split(\"+\"),m=[];return-1!==g.indexOf(\"all\")&&(g=[\"a\",\"b\",\"c\"]),-1!==g.indexOf(\"a\")&&v(d.aaxis,h.a),-1!==g.indexOf(\"b\")&&v(d.baxis,h.b),-1!==g.indexOf(\"c\")&&v(d.caxis,h.c),s.extraText=m.join(\"<br>\"),o}function v(t,e){m.push(t._hovertitle+\": \"+i.tickText(t,e,\"hover\").text)}}},{\"../../plots/cartesian/axes\":742,\"../scatter/hover\":1043}],1108:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar=t(\"../scatter/marker_colorbar\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.style=t(\"../scatter/style\").style,n.styleOnSelect=t(\"../scatter/style\").styleOnSelect,n.hoverPoints=t(\"./hover\"),n.selectPoints=t(\"../scatter/select\"),n.eventData=t(\"./event_data\"),n.moduleType=\"trace\",n.name=\"scatterternary\",n.basePlotModule=t(\"../../plots/ternary\"),n.categories=[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],n.meta={},e.exports=n},{\"../../plots/ternary\":821,\"../scatter/marker_colorbar\":1050,\"../scatter/select\":1053,\"../scatter/style\":1055,\"./attributes\":1103,\"./calc\":1104,\"./defaults\":1105,\"./event_data\":1106,\"./hover\":1107,\"./plot\":1109}],1109:[function(t,e,r){\"use strict\";var n=t(\"../scatter/plot\");e.exports=function(t,e,r){var i=e.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();var a={xaxis:e.xaxis,yaxis:e.yaxis,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select(\"g.scatterlayer\");n(t,a,r,o)}},{\"../scatter/plot\":1052}],1110:[function(t,e,r){\"use strict\";var n=t(\"../scattergl/attributes\"),i=t(\"../../plots/cartesian/constants\").idRegex,a=t(\"../../plot_api/plot_template\").templatedArray;function o(t){return{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"subplotid\",regex:i[t],editType:\"plot\"}}}e.exports={dimensions:a(\"dimension\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},label:{valType:\"string\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},axis:{type:{valType:\"enumerated\",values:[\"linear\",\"log\",\"date\",\"category\"],editType:\"calc+clearAxisTypes\"},editType:\"calc+clearAxisTypes\"},editType:\"calc+clearAxisTypes\"}),text:n.text,marker:n.marker,xaxes:o(\"x\"),yaxes:o(\"y\"),diagonal:{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},showupperhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},showlowerhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},selected:{marker:n.selected.marker,editType:\"calc\"},unselected:{marker:n.unselected.marker,editType:\"calc\"},opacity:n.opacity}},{\"../../plot_api/plot_template\":732,\"../../plots/cartesian/constants\":747,\"../scattergl/attributes\":1081}],1111:[function(t,e,r){\"use strict\";var n=t(\"regl-line2d\"),i=t(\"../../registry\"),a=t(\"../../lib/prepare_regl\"),o=t(\"../../plots/get_data\").getModuleCalcData,s=t(\"../../plots/cartesian\"),l=t(\"../../plots/cartesian/axis_ids\").getFromId,c=t(\"../../plots/cartesian/axes\").shouldShowZeroLine,u=\"splom\";function f(t,e,r,n){for(var i=n.matrixOptions.data.length,a=r.visibleDims,o=new Array(i),s=0;s<a.length;s++){var c=a[s],u=o[s]=new Array(4),f=l(t,e._diag[c][0]);f&&(u[0]=f.r2l(f.range[0]),u[2]=f.r2l(f.range[1]));var h=l(t,e._diag[c][1]);h&&(u[1]=h.r2l(h.range[0]),u[3]=h.r2l(h.range[1]))}n.selectBatch?(n.matrix.update({ranges:o},{ranges:o}),n.matrix.draw(n.unselectBatch,n.selectBatch)):(n.matrix.update({ranges:o}),n.matrix.draw())}function h(t){var e=t._fullLayout,r=e._glcanvas.data()[0].regl,i=e._splomGrid;i||(i=e._splomGrid=n(r)),i.update(function(t){var e,r=t._fullLayout,n=r._size,i=[0,0,r.width,r.height],a={};function o(t,e,r,n,o,s){var l=e[t+\"color\"],c=e[t+\"width\"],u=String(l+c);u in a?a[u].data.push(NaN,NaN,r,n,o,s):a[u]={data:[r,n,o,s],join:\"rect\",thickness:c,color:l,viewport:i,range:i,overlay:!1}}for(e in r._splomSubplots){var s,l,u=r._plots[e],f=u.xaxis,h=u.yaxis,p=f._vals,d=h._vals,g=n.b+h.domain[0]*n.h,m=-h._m,v=-m*h.r2l(h.range[0],h.calendar);if(f.showgrid)for(e=0;e<p.length;e++)s=f._offset+f.l2p(p[e].x),o(\"grid\",f,s,g,s,g+h._length);if(h.showgrid)for(e=0;e<d.length;e++)l=g+v+m*d[e].x,o(\"grid\",h,f._offset,l,f._offset+f._length,l);c(t,f,h)&&(s=f._offset+f.l2p(0),o(\"zeroline\",f,s,g,s,g+h._length)),c(t,h,f)&&(l=g+v+0,o(\"zeroline\",h,f._offset,l,f._offset+f._length,l))}var y=[];for(e in a)y.push(a[e]);return y}(t)),i.draw()}e.exports={name:u,attr:s.attr,attrRegex:s.attrRegex,layoutAttributes:s.layoutAttributes,supplyLayoutDefaults:s.supplyLayoutDefaults,drawFramework:s.drawFramework,plot:function(t){var e=t._fullLayout,r=i.getModule(u),n=o(t.calcdata,r)[0];a(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"])&&(e._hasOnlyLargeSploms&&h(t),r.plot(t,{},n))},drag:function(t){var e=t.calcdata;t._fullLayout._hasOnlyLargeSploms&&h(t);for(var r=0;r<e.length;r++){var n=e[r][0],i=n.trace,a=n.t,o=a._scene;\"splom\"===i.type&&o&&o.matrix&&f(t,i,a,o)}},clean:function(t,e,r,n,i){var a,o,l,c=n._modules||[],u=e._modules||[];for(l=0;l<c.length;l++)if(\"splom\"===c[l].name){a=!0;break}for(l=0;l<u.length;l++)if(\"splom\"===u[l].name){o=!0;break}if(a&&!o)for(l=0;l<i.length;l++){var f=i[l][0],h=f.trace,p=f.t._scene;\"splom\"===h.type&&p&&p.matrix&&p.matrix.destroy&&(p.matrix.destroy(),f.t._scene=null)}n._splomGrid&&!e._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null),s.clean(t,e,r,n)},updateFx:function(t){s.updateFx(t);var e=t._fullLayout.dragmode;if(\"zoom\"===e||\"pan\"===e)for(var r=t.calcdata,n=0;n<r.length;n++){var i=r[n][0];if(\"splom\"===i.trace.type){var a=i.t._scene;null===a.selectBatch&&a.matrix.update(a.matrixOptions,null)}}},toSVG:s.toSVG}},{\"../../lib/prepare_regl\":707,\"../../plots/cartesian\":753,\"../../plots/cartesian/axes\":742,\"../../plots/cartesian/axis_ids\":745,\"../../plots/get_data\":778,\"../../registry\":825,\"regl-line2d\":471}],1112:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/array_container_defaults\"),a=t(\"./attributes\"),o=t(\"../scatter/subtypes\"),s=t(\"../scatter/marker_defaults\"),l=t(\"../parcoords/merge_length\"),c=/-open/;function u(t,e){function r(r,i){return n.coerce(t,e,a.dimensions,r,i)}r(\"label\");var i=r(\"values\");i&&i.length?r(\"visible\"):e.visible=!1,r(\"axis.type\")}function f(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t+(n?n+1:\"\");return r}function h(t,e,r){if(e){var n=e.charAt(0),i=t._splomAxes[n];if(!(e in i)){var a=i[e]={};r&&(a.label=r.label||\"\",r.visible&&r.axis&&(a.type=r.axis.type))}}}function p(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t,e,r,d){function g(r,i){return n.coerce(t,e,a,r,i)}var m=i(t,e,{name:\"dimensions\",handleItemDefaults:u}),v=g(\"diagonal.visible\"),y=g(\"showupperhalf\"),x=g(\"showlowerhalf\");if(l(e,m,\"values\")&&(v||y||x)){g(\"text\"),s(t,e,r,d,g);var b=c.test(e.marker.symbol),_=o.isBubble(e);g(\"marker.line.width\",b||_?1:0),function(t,e,r,n){var i,a,o=e.dimensions,s=o.length,l=e.showupperhalf,c=e.showlowerhalf,u=e.diagonal.visible,d=u||l&&c?s:s-1,g=n(\"xaxes\",f(\"x\",d)),m=n(\"yaxes\",f(\"y\",d));e._xaxes=p(g),e._yaxes=p(m);var v=Math.min(d,g.length,m.length);for(i=0;i<v;i++)for(a=0;a<v;a++){var y=g[i]+m[a];i>a&&l?r._splomSubplots[y]=1:i<a&&c?r._splomSubplots[y]=1:i!==a||!u&&c&&l||(r._splomSubplots[y]=1)}var x=e._diag=new Array(s),b=u||c?0:-1,_=u||l?0:-1;for(i=0;i<s;i++){var w=o[i],k=g[i+b],M=m[i+_];h(r,k,w),h(r,M,w),x[i]=[k,M]}c||(r._splomGridDflt.xside=\"bottom\",r._splomGridDflt.yside=\"left\")}(0,e,d,g),n.coerceSelectionMarkerOpacity(e,g)}else e.visible=!1}},{\"../../lib\":693,\"../../plots/array_container_defaults\":738,\"../parcoords/merge_length\":1004,\"../scatter/marker_defaults\":1051,\"../scatter/subtypes\":1056,\"./attributes\":1110}],1113:[function(t,e,r){\"use strict\";var n=t(\"regl-splom\"),i=t(\"array-range\"),a=t(\"../../registry\"),o=t(\"../../components/grid\"),s=t(\"../../lib\"),l=t(\"../../plots/cartesian/axis_ids\"),c=t(\"../scatter/subtypes\"),u=t(\"../scatter/calc\").calcMarkerSize,f=t(\"../scatter/calc\").calcAxisExpansion,h=t(\"../scatter/colorscale_calc\"),p=t(\"../scattergl/convert\").markerSelection,d=t(\"../scattergl/convert\").markerStyle,g=t(\"../scattergl\").calcHover,m=t(\"../../constants/numerical\").BADNUM,v=t(\"../scattergl/constants\").TOO_MANY_POINTS;function y(t,e){var r,i,a,o,s,c=t._fullLayout,u=c._size,f=e.trace,h=e.t,p=h._scene,d=p.matrixOptions,g=d.cdata,m=c._glcanvas.data()[0].regl,v=c.dragmode;if(0!==g.length){d.lower=f.showupperhalf,d.upper=f.showlowerhalf,d.diagonal=f.diagonal.visible;var y=h.visibleDims,x=g.length,b={};for(b.ranges=new Array(x),b.domains=new Array(x),s=0;s<y.length;s++){a=y[s];var _=b.ranges[s]=new Array(4),w=b.domains[s]=new Array(4);(r=l.getFromId(t,f._diag[a][0]))&&(_[0]=r._rl[0],_[2]=r._rl[1],w[0]=r.domain[0],w[2]=r.domain[1]),(i=l.getFromId(t,f._diag[a][1]))&&(_[1]=i._rl[0],_[3]=i._rl[1],w[1]=i.domain[0],w[3]=i.domain[1])}b.viewport=[u.l,u.b,u.w+u.l,u.h+u.b],!0===p.matrix&&(p.matrix=n(m));var k=c.clickmode.indexOf(\"select\")>-1,M=\"lasso\"===v||\"select\"===v||!!f.selectedpoints||k;if(p.selectBatch=null,p.unselectBatch=null,M){var A=f._length;if(p.selectBatch||(p.selectBatch=[],p.unselectBatch=[]),f.selectedpoints){p.selectBatch=f.selectedpoints;var T=f.selectedpoints,S={};for(a=0;a<T.length;a++)S[T[a]]=!0;var E=[];for(a=0;a<A;a++)S[a]||E.push(a);p.unselectBatch=E}var C=h.xpx=new Array(x),L=h.ypx=new Array(x);for(s=0;s<y.length;s++){if(a=y[s],r=l.getFromId(t,f._diag[a][0]))for(C[s]=new Array(A),o=0;o<A;o++)C[s][o]=r.c2p(g[s][o]);if(i=l.getFromId(t,f._diag[a][1]))for(L[s]=new Array(A),o=0;o<A;o++)L[s][o]=i.c2p(g[s][o])}p.selectBatch?(p.matrix.update(d,d),p.matrix.update(p.unselectedOptions,p.selectedOptions),p.matrix.update(b,b)):p.matrix.update(b,null)}else p.matrix.update(d,null),p.matrix.update(b,null),h.xpx=h.ypx=null;p.draw()}}function x(t,e,r){for(var n=r._id,i={x:0,y:1}[n.charAt(0)],a=e.visibleDims,o=0;o<a.length;o++){var s=a[o];if(t._diag[s][i]===n)return o}return!1}e.exports={moduleType:\"trace\",name:\"splom\",basePlotModule:t(\"./base_plot\"),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:t(\"../scatter/marker_colorbar\"),calc:function(t,e){var r,n,i,a,o,c=e.dimensions,g=e._length,y={},x={},b=x.cdata=[],_=x.data=[],w=y.visibleDims=[];function k(t,r){for(var n=t.makeCalcdata({v:r.values,vcalendar:e.calendar},\"v\"),i=0;i<n.length;i++)n[i]=n[i]===m?NaN:n[i];b.push(n),_.push(\"log\"===t.type?s.simpleMap(n,t.c2l):n)}for(r=0;r<c.length;r++)if((i=c[r]).visible){if(a=l.getFromId(t,e._diag[r][0]),o=l.getFromId(t,e._diag[r][1]),a&&o&&a.type!==o.type){s.log(\"Skipping splom dimension \"+r+\" with conflicting axis types\");continue}a?(k(a,i),o&&\"category\"===o.type&&(o._categories=a._categories.slice())):k(o,i),w.push(r)}h(e),s.extendFlat(x,d(e));var M=b.length*g>v;for(n=0;n<w.length;n++){var A;i=c[r=w[n]],a=l.getFromId(t,e._diag[r][0])||{},o=l.getFromId(t,e._diag[r][1])||{},A=M?2*(x.sizeAvg||Math.max(x.size,3)):u(e,g),f(t,e,a,o,b[n],b[n],A)}var T=y._scene=function(t,e){var r=e._scene,n={dirty:!0};return r||((r=e._scene=s.extendFlat({},n,{selectBatch:null,unselectBatch:null,matrix:!1,select:null})).draw=function(){r.matrix&&r.selectBatch?r.matrix.draw(r.unselectBatch,r.selectBatch):r.matrix&&r.matrix.draw(),r.dirty=!1},r.destroy=function(){r.matrix&&r.matrix.destroy(),r.matrixOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||s.extendFlat(r,n),r}(0,y);return T.matrix||(T.matrix=!0),T.matrixOptions=x,T.selectedOptions=p(e,e.selected),T.unselectedOptions=p(e,e.unselected),[{x:!1,y:!1,t:y,trace:e}]},plot:function(t,e,r){if(r.length)for(var n=0;n<r.length;n++)y(t,r[n][0])},hoverPoints:function(t,e,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=a._scene.matrixOptions.cdata,s=t.xa,l=t.ya,c=s.c2p(e),u=l.c2p(r),f=t.distance,h=x(i,a,s),p=x(i,a,l);if(!1===h||!1===p)return[t];for(var d,m,v=o[h],y=o[p],b=f,_=0;_<v.length;_++){var w=v[_],k=y[_],M=s.c2p(w)-c,A=l.c2p(k)-u,T=Math.sqrt(M*M+A*A);T<b&&(b=m=T,d=_)}return t.index=d,t.distance=b,t.dxy=m,void 0===d?[t]:(g(t,v,y,i),[t])},selectPoints:function(t,e){var r,n=t.cd,a=n[0].trace,o=n[0].t,s=o._scene,l=s.matrixOptions.cdata,u=t.xaxis,f=t.yaxis,h=[];if(!s)return h;var p=!c.hasMarkers(a)&&!c.hasText(a);if(!0!==a.visible||p)return h;var d=x(a,o,u),g=x(a,o,f);if(!1===d||!1===g)return h;var m=o.xpx[d],v=o.ypx[g],y=l[d],b=l[g],_=null,w=null;if(!1===e||e.degenerate)w=i(o.count);else for(_=[],w=[],r=0;r<y.length;r++)e.contains([m[r],v[r]],null,r,t)?(_.push(r),h.push({pointNumber:r,x:y[r],y:b[r]})):w.push(r);if(s.selectBatch||(s.selectBatch=[],s.unselectBatch=[]),!s.selectBatch){for(r=0;r<s.count;r++)s.selectBatch=[],s.unselectBatch=[];s.matrix.update(s.unselectedOptions,s.selectedOptions)}return s.selectBatch=_,s.unselectBatch=w,h},style:function(t,e){if(e){var r=t._fullLayout;e[0][0].t._scene.matrix.regl.clear({color:!0,depth:!0}),r._splomGrid&&r._splomGrid.draw();for(var n=0;n<e.length;n++)e[n][0].t._scene.draw();if(r._has(\"cartesian\"))for(var i in r._plots){var a=r._plots[i];a._scene&&a._scene.draw()}}},meta:{}},a.register(o)},{\"../../components/grid\":613,\"../../constants/numerical\":670,\"../../lib\":693,\"../../plots/cartesian/axis_ids\":745,\"../../registry\":825,\"../scatter/calc\":1033,\"../scatter/colorscale_calc\":1036,\"../scatter/marker_colorbar\":1050,\"../scatter/subtypes\":1056,\"../scattergl\":1085,\"../scattergl/constants\":1082,\"../scattergl/convert\":1083,\"./attributes\":1110,\"./base_plot\":1111,\"./defaults\":1112,\"array-range\":54,\"regl-splom\":474}],1114:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/attributes\"),i=t(\"../../components/colorbar/attributes\"),a=t(\"../mesh3d/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},starts:{x:{valType:\"data_array\",editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},maxdisplayed:{valType:\"integer\",min:0,dflt:1e3,editType:\"calc\"},sizeref:{valType:\"number\",editType:\"calc\",min:0,dflt:1},text:{valType:\"string\",dflt:\"\",editType:\"calc\"}};s(l,n(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:i});[\"opacity\",\"lightposition\",\"lighting\"].forEach(function(t){l[t]=a[t]}),l.hoverinfo=s({},o.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"divergence\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"}),e.exports=l},{\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plots/attributes\":739,\"../mesh3d/attributes\":982}],1115:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){var r,i,a,o,s=e.u,l=e.v,c=e.w,u=e.x,f=e.y,h=e.z,p=Math.min(u.length,f.length,h.length,s.length,l.length,c.length),d=0;e.starts&&(i=e.starts.x||[],a=e.starts.y||[],o=e.starts.z||[],d=Math.min(i.length,a.length,o.length));var g=0,m=1/0;for(r=0;r<p;r++){var v=s[r],y=l[r],x=c[r],b=Math.sqrt(v*v+y*y+x*x);g=Math.max(g,b),m=Math.min(m,b)}n(e,[m,g],\"\",\"c\");var _=-1/0,w=1/0,k=-1/0,M=1/0,A=-1/0,T=1/0;for(r=0;r<p;r++){var S=u[r];_=Math.max(_,S),w=Math.min(w,S);var E=f[r];k=Math.max(k,E),M=Math.min(M,E);var C=h[r];A=Math.max(A,C),T=Math.min(T,C)}for(r=0;r<d;r++){var L=i[r];_=Math.max(_,L),w=Math.min(w,L);var z=a[r];k=Math.max(k,z),M=Math.min(M,z);var P=o[r];A=Math.max(A,P),T=Math.min(T,P)}e._len=p,e._slen=d,e._normMax=g,e._xbnds=[w,_],e._ybnds=[M,k],e._zbnds=[T,A]}},{\"../../components/colorscale/calc\":575}],1116:[function(t,e,r){\"use strict\";var n=t(\"gl-streamtube3d\"),i=n.createTubeMesh,a=t(\"../../lib\"),o=t(\"../../lib/gl_format_color\").parseColorScale,s=t(\"../../plots/gl3d/zip3\"),l={xaxis:0,yaxis:1,zaxis:2};function c(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var u=c.prototype;function f(t){return a.distinctVals(t).vals}function h(t){var e=t.length;return e>2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,u={};function d(t,e){var n=r[e],o=i[l[e]];return a.simpleMap(t,function(t){return n.d2l(t)*o})}u.vectors=s(d(e.u,\"xaxis\"),d(e.v,\"yaxis\"),d(e.w,\"zaxis\"),c);var g=f(e.x.slice(0,c)),m=f(e.y.slice(0,c)),v=f(e.z.slice(0,c));if(g.length*m.length*v.length>c)return{positions:[],cells:[]};var y=d(g,\"xaxis\"),x=d(m,\"yaxis\"),b=d(v,\"zaxis\");if(u.meshgrid=[y,x,b],e.starts){var _=e._slen;u.startingPositions=s(d(e.starts.x.slice(0,_),\"xaxis\"),d(e.starts.y.slice(0,_),\"yaxis\"),d(e.starts.z.slice(0,_),\"zaxis\"))}else{for(var w=x[0],k=h(y),M=h(b),A=new Array(k.length*M.length),T=0,S=0;S<k.length;S++)for(var E=0;E<M.length;E++)A[T++]=[k[S],w,M[E]];u.startingPositions=A}u.colormap=o(e.colorscale),u.tubeSize=e.sizeref,u.maxLength=e.maxdisplayed;var C=d(e._xbnds,\"xaxis\"),L=d(e._ybnds,\"yaxis\"),z=d(e._zbnds,\"zaxis\"),P=p(y),O=p(x),I=p(b),D=[[C[0]-P[0],L[0]-O[0],z[0]-I[0]],[C[1]+P[1],L[1]+O[1],z[1]+I[1]]],R=n(u,D);R.vertexIntensityBounds=[e.cmin/e._normMax,e.cmax/e._normMax];var B=e.lightposition;return R.lightPosition=[B.x,B.y,B.z],R.ambient=e.lighting.ambient,R.diffuse=e.lighting.diffuse,R.specular=e.lighting.specular,R.roughness=e.lighting.roughness,R.fresnel=e.lighting.fresnel,R.opacity=e.opacity,e._pad=R.tubeScale*e.sizeref*2,R}u.handlePick=function(t){var e=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(t,n){var i=e[n],a=r[l[n]];return i.l2c(t)/a}if(t.object===this.mesh){var i=t.data.position,a=t.data.velocity;return t.traceCoordinate=[n(i[0],\"xaxis\"),n(i[1],\"yaxis\"),n(i[2],\"zaxis\"),n(a[0],\"xaxis\"),n(a[1],\"yaxis\"),n(a[2],\"zaxis\"),t.data.intensity*this.data._normMax,t.data.divergence],t.textLabel=this.data.text,!0}},u.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),a=i(r,n),o=new c(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},{\"../../lib\":693,\"../../lib/gl_format_color\":689,\"../../plots/gl3d/zip3\":795,\"gl-streamtube3d\":299}],1117:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/colorscale/defaults\"),a=t(\"./attributes\");e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s(\"u\"),c=s(\"v\"),u=s(\"w\"),f=s(\"x\"),h=s(\"y\"),p=s(\"z\");l&&l.length&&c&&c.length&&u&&u.length&&f&&f.length&&h&&h.length&&p&&p.length?(s(\"starts.x\"),s(\"starts.y\"),s(\"starts.z\"),s(\"maxdisplayed\"),s(\"sizeref\"),s(\"lighting.ambient\"),s(\"lighting.diffuse\"),s(\"lighting.specular\"),s(\"lighting.roughness\"),s(\"lighting.fresnel\"),s(\"lightposition.x\"),s(\"lightposition.y\"),s(\"lightposition.z\"),i(t,e,o,s,{prefix:\"\",cLetter:\"c\"}),s(\"text\"),e._length=null):e.visible=!1}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"./attributes\":1114}],1118:[function(t,e,r){\"use strict\";e.exports={moduleType:\"trace\",name:\"streamtube\",basePlotModule:t(\"../../plots/gl3d\"),categories:[\"gl3d\"],attributes:t(\"./attributes\"),supplyDefaults:t(\"./defaults\"),colorbar:{min:\"cmin\",max:\"cmax\"},calc:t(\"./calc\"),plot:t(\"./convert\"),eventData:function(t,e){return t.tubex=t.x,t.tubey=t.y,t.tubez=t.z,t.tubeu=e.traceCoordinate[3],t.tubev=e.traceCoordinate[4],t.tubew=e.traceCoordinate[5],t.norm=e.traceCoordinate[6],t.divergence=e.traceCoordinate[7],delete t.x,delete t.y,delete t.z,t},meta:{}}},{\"../../plots/gl3d\":784,\"./attributes\":1114,\"./calc\":1115,\"./convert\":1116,\"./defaults\":1117}],1119:[function(t,e,r){\"use strict\";var n=t(\"../../components/color\"),i=t(\"../../components/colorscale/attributes\"),a=t(\"../../components/colorbar/attributes\"),o=t(\"../../plots/attributes\"),s=t(\"../../lib/extend\").extendFlat,l=t(\"../../plot_api/edit_types\").overrideAll;function c(t){return{show:{valType:\"boolean\",dflt:!1},project:{x:{valType:\"boolean\",dflt:!1},y:{valType:\"boolean\",dflt:!1},z:{valType:\"boolean\",dflt:!1}},color:{valType:\"color\",dflt:n.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:n.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var u=e.exports=l(s({z:{valType:\"data_array\"},x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0},surfacecolor:{valType:\"data_array\"}},i(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{colorbar:a,contours:{x:c(),y:c(),z:c()},hidesurface:{valType:\"boolean\",dflt:!1},lightposition:{x:{valType:\"number\",min:-1e5,max:1e5,dflt:10},y:{valType:\"number\",min:-1e5,max:1e5,dflt:1e4},z:{valType:\"number\",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:\"number\",min:0,max:1,dflt:.8},diffuse:{valType:\"number\",min:0,max:1,dflt:.8},specular:{valType:\"number\",min:0,max:2,dflt:.05},roughness:{valType:\"number\",min:0,max:1,dflt:.5},fresnel:{valType:\"number\",min:0,max:5,dflt:.2}},opacity:{valType:\"number\",min:0,max:1,dflt:1},_deprecated:{zauto:s({},i.zauto,{}),zmin:s({},i.zmin,{}),zmax:s({},i.zmax,{})},hoverinfo:s({},o.hoverinfo)}),\"calc\",\"nested\");u.x.editType=u.y.editType=u.z.editType=\"calc+clearAxisTypes\"},{\"../../components/color\":567,\"../../components/colorbar/attributes\":568,\"../../components/colorscale/attributes\":574,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/attributes\":739}],1120:[function(t,e,r){\"use strict\";var n=t(\"../../components/colorscale/calc\");e.exports=function(t,e){e.surfacecolor?n(e,e.surfacecolor,\"\",\"c\"):n(e,e.z,\"\",\"c\")}},{\"../../components/colorscale/calc\":575}],1121:[function(t,e,r){\"use strict\";var n=t(\"gl-surface3d\"),i=t(\"ndarray\"),a=t(\"ndarray-homography\"),o=t(\"ndarray-fill\"),s=t(\"ndarray-ops\"),l=t(\"../../lib\").isArrayOrTypedArray,c=t(\"../../lib/gl_format_color\").parseColorScale,u=t(\"../../lib/str2rgbarray\"),f=128;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.dataScale=1}var p=h.prototype;function d(t){var e=t.shape,r=[e[0]+2,e[1]+2],n=i(new Float32Array(r[0]*r[1]),r);return s.assign(n.lo(1,1).hi(e[0],e[1]),t),s.assign(n.lo(1).hi(e[0],1),t.hi(e[0],1)),s.assign(n.lo(1,r[1]-1).hi(e[0],1),t.lo(0,e[1]-1).hi(e[0],1)),s.assign(n.lo(0,1).hi(1,e[1]),t.hi(1)),s.assign(n.lo(r[0]-1,1).hi(1,e[1]),t.lo(e[0]-1)),n.set(0,0,t.get(0,0)),n.set(0,r[1]-1,t.get(0,e[1]-1)),n.set(r[0]-1,0,t.get(e[0]-1,0)),n.set(r[0]-1,r[1]-1,t.get(e[0]-1,e[1]-1)),n}p.handlePick=function(t){if(t.object===this.surface){var e=t.index=[Math.min(0|Math.round(t.data.index[0]/this.dataScale-1),this.data.z[0].length-1),Math.min(0|Math.round(t.data.index[1]/this.dataScale-1),this.data.z.length-1)],r=[0,0,0];l(this.data.x)?l(this.data.x[0])?r[0]=this.data.x[e[1]][e[0]]:r[0]=this.data.x[e[0]]:r[0]=e[0],l(this.data.y)?l(this.data.y[0])?r[1]=this.data.y[e[1]][e[0]]:r[1]=this.data.y[e[1]]:r[1]=e[1],r[2]=this.data.z[e[1]][e[0]],t.traceCoordinate=r;var n=this.scene.fullSceneLayout;t.dataCoordinate=[n.xaxis.d2l(r[0],0,this.data.xcalendar)*this.scene.dataScale[0],n.yaxis.d2l(r[1],0,this.data.ycalendar)*this.scene.dataScale[1],n.zaxis.d2l(r[2],0,this.data.zcalendar)*this.scene.dataScale[2]];var i=this.data.text;return Array.isArray(i)&&i[e[1]]&&void 0!==i[e[1]][e[0]]?t.textLabel=i[e[1]][e[0]]:t.textLabel=i||\"\",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}},p.setContourLevels=function(){for(var t=[[],[],[]],e=!1,r=0;r<3;++r)this.showContour[r]&&(e=!0,t[r]=this.scene.contourLevels[r]);e&&this.surface.update({levels:t})},p.update=function(t){var e,r=this.scene,n=r.fullSceneLayout,s=this.surface,h=t.opacity,p=c(t.colorscale,h),g=t.z,m=t.x,v=t.y,y=n.xaxis,x=n.yaxis,b=n.zaxis,_=r.dataScale,w=g[0].length,k=t._ylength,M=[i(new Float32Array(w*k),[w,k]),i(new Float32Array(w*k),[w,k]),i(new Float32Array(w*k),[w,k])],A=M[0],T=M[1],S=r.contourLevels;this.data=t;var E=t.xcalendar,C=t.ycalendar,L=t.zcalendar;o(M[2],function(t,e){return b.d2l(g[e][t],0,L)*_[2]}),l(m)?l(m[0])?o(A,function(t,e){return y.d2l(m[e][t],0,E)*_[0]}):o(A,function(t){return y.d2l(m[t],0,E)*_[0]}):o(A,function(t){return y.d2l(t,0,E)*_[0]}),l(m)?l(v[0])?o(T,function(t,e){return x.d2l(v[e][t],0,C)*_[1]}):o(T,function(t,e){return x.d2l(v[e],0,C)*_[1]}):o(T,function(t,e){return x.d2l(e,0,E)*_[1]});var z={colormap:p,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!t.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacity:t.opacity};if(z.intensityBounds=[t.cmin,t.cmax],t.surfacecolor){var P=i(new Float32Array(w*k),[w,k]);o(P,function(e,r){return t.surfacecolor[r][e]}),M.push(P)}else z.intensityBounds[0]*=_[2],z.intensityBounds[1]*=_[2];this.dataScale=function(t){var e=Math.max(t[0].shape[0],t[0].shape[1]);if(e<f){for(var r=f/e,n=[0|Math.floor(t[0].shape[0]*r+1),0|Math.floor(t[0].shape[1]*r+1)],o=n[0]*n[1],s=0;s<t.length;++s){var l=d(t[s]),c=i(new Float32Array(o),n);a(c,l,[r,0,0,0,r,0,0,0,1]),t[s]=c}return r}return 1}(M),t.surfacecolor&&(z.intensity=M.pop());var O=[!0,!0,!0],I=[\"x\",\"y\",\"z\"];for(e=0;e<3;++e){var D=t.contours[I[e]];O[e]=D.highlight,z.showContour[e]=D.show||D.highlight,z.showContour[e]&&(z.contourProject[e]=[D.project.x,D.project.y,D.project.z],D.show?(this.showContour[e]=!0,z.levels[e]=S[e],s.highlightColor[e]=z.contourColor[e]=u(D.color),D.usecolormap?s.highlightTint[e]=z.contourTint[e]=0:s.highlightTint[e]=z.contourTint[e]=1,z.contourWidth[e]=D.width):this.showContour[e]=!1,D.highlight&&(z.dynamicColor[e]=u(D.highlightcolor),z.dynamicWidth[e]=D.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]})(p)&&(z.vertexColor=!0),z.coords=M,s.update(z),s.visible=t.visible,s.enableDynamic=O,s.enableHighlight=O,s.snapToData=!0,\"lighting\"in t&&(s.ambientLight=t.lighting.ambient,s.diffuseLight=t.lighting.diffuse,s.specularLight=t.lighting.specular,s.roughness=t.lighting.roughness,s.fresnel=t.lighting.fresnel),\"lightposition\"in t&&(s.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),h&&h<1&&(s.supportsTransparency=!0)},p.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new h(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},{\"../../lib\":693,\"../../lib/gl_format_color\":689,\"../../lib/str2rgbarray\":717,\"gl-surface3d\":301,ndarray:430,\"ndarray-fill\":420,\"ndarray-homography\":422,\"ndarray-ops\":424}],1122:[function(t,e,r){\"use strict\";var n=t(\"../../registry\"),i=t(\"../../lib\"),a=t(\"../../components/colorscale/defaults\"),o=t(\"./attributes\");function s(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}e.exports=function(t,e,r,l){var c,u;function f(r,n){return i.coerce(t,e,o,r,n)}var h=f(\"z\");if(h){var p=f(\"x\");f(\"y\"),e._xlength=Array.isArray(p)&&i.isArrayOrTypedArray(p[0])?h.length:h[0].length,e._ylength=h.length,n.getComponentMethod(\"calendars\",\"handleTraceDefaults\")(t,e,[\"x\",\"y\",\"z\"],l),f(\"text\"),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"hidesurface\",\"opacity\"].forEach(function(t){f(t)});var d=f(\"surfacecolor\");f(\"colorscale\");var g=[\"x\",\"y\",\"z\"];for(c=0;c<3;++c){var m=\"contours.\"+g[c],v=f(m+\".show\"),y=f(m+\".highlight\");if(v||y)for(u=0;u<3;++u)f(m+\".project.\"+g[u]);v&&(f(m+\".color\"),f(m+\".width\"),f(m+\".usecolormap\")),y&&(f(m+\".highlightcolor\"),f(m+\".highlightwidth\"))}d||(s(t,\"zmin\",\"cmin\"),s(t,\"zmax\",\"cmax\"),s(t,\"zauto\",\"cauto\")),a(t,e,l,f,{prefix:\"\",cLetter:\"c\"}),e._length=null}else e.visible=!1}},{\"../../components/colorscale/defaults\":577,\"../../lib\":693,\"../../registry\":825,\"./attributes\":1119}],1123:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.colorbar={min:\"cmin\",max:\"cmax\"},n.calc=t(\"./calc\"),n.plot=t(\"./convert\"),n.moduleType=\"trace\",n.name=\"surface\",n.basePlotModule=t(\"../../plots/gl3d\"),n.categories=[\"gl3d\",\"2dMap\",\"noOpacity\"],n.meta={},e.exports=n},{\"../../plots/gl3d\":784,\"./attributes\":1119,\"./calc\":1120,\"./convert\":1121,\"./defaults\":1122}],1124:[function(t,e,r){\"use strict\";var n=t(\"../../components/annotations/attributes\"),i=t(\"../../lib/extend\").extendFlat,a=t(\"../../plot_api/edit_types\").overrideAll,o=t(\"../../plots/font_attributes\"),s=t(\"../../plots/domain\").attributes;e.exports=a({domain:s({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[]},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:i({},o({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[]},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:i({},o({arrayOk:!0}))}},\"calc\",\"from-root\")},{\"../../components/annotations/attributes\":550,\"../../lib/extend\":682,\"../../plot_api/edit_types\":725,\"../../plots/domain\":767,\"../../plots/font_attributes\":768}],1125:[function(t,e,r){\"use strict\";var n=t(\"../../plots/get_data\").getModuleCalcData,i=t(\"./plot\");r.name=\"table\",r.plot=function(t){var e=n(t.calcdata,\"table\")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var i=n._has&&n._has(\"table\"),a=e._has&&e._has(\"table\");i&&!a&&n._paperdiv.selectAll(\".table\").remove()}},{\"../../plots/get_data\":778,\"./plot\":1132}],1126:[function(t,e,r){\"use strict\";var n=t(\"../../lib/gup\").wrap;e.exports=function(){return n({})}},{\"../../lib/gup\":690}],1127:[function(t,e,r){\"use strict\";e.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"<br>\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}},{}],1128:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"../../lib/extend\").extendFlat,a=t(\"fast-isnumeric\");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,o(t[r]));return e}return t}function s(t,e){return t+e}function l(t){var e,r=t.slice(),n=1/0,i=0;for(e=0;e<r.length;e++)Array.isArray(r[e])||(r[e]=[r[e]]),n=Math.min(n,r[e].length),i=Math.max(i,r[e].length);if(n!==i)for(e=0;e<r.length;e++){var a=i-r[e].length;a&&(r[e]=r[e].concat(c(a)))}return r}function c(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=\"\";return e}function u(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e},0)}function f(t,e){return Object.keys(t).map(function(r){return i({},t[r],{auxiliaryBlocks:e})})}function h(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c<t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((a+=r)>=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[\"\"],d=l(d));var g=d.concat(p(r).map(function(){return c((d[0]||[\"\"]).length)})),m=e.domain,v=Math.floor(t._fullLayout._size.w*(m.x[1]-m.x[0])),y=Math.floor(t._fullLayout._size.h*(m.y[1]-m.y[0])),x=e.header.values.length?g[0].map(function(){return e.header.height}):[n.emptyHeaderHeight],b=r.length?r[0].map(function(){return e.cells.height}):[],_=x.reduce(s,0),w=h(b,y-_+n.uplift),k=f(h(x,_),[]),M=f(w,k),A={},T=e._fullInput.columnorder.concat(p(r.map(function(t,e){return e}))),S=g.map(function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1}),E=S.reduce(s,0);S=S.map(function(t){return t/E*v});var C=Math.max(o(e.header.line.width),o(e.cells.line.width)),L={key:e.index,translateX:m.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-m.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:C,height:y,columnOrder:T,groupHeight:y,rowBlocks:M,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map(function(t){return t[0]}),gdColumnsOriginalOrder:g.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map(function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+\"__\"+A[t],label:t,specIndex:e,xIndex:T[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}})};return L.columns.forEach(function(t){t.calcdata=L,t.x=u(t)}),L}},{\"../../lib/extend\":682,\"./constants\":1127,\"fast-isnumeric\":213}],1129:[function(t,e,r){\"use strict\";var n=t(\"../../lib/extend\").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:\"header\",type:\"header\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:\"cells1\",type:\"cells\",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:\"cells2\",type:\"cells\",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+(\"string\"==typeof r&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\"),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})}},{\"../../lib/extend\":682}],1130:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./attributes\"),a=t(\"../../plots/domain\").defaults;e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s(\"columnwidth\"),s(\"header.values\"),s(\"header.format\"),s(\"header.align\"),s(\"header.prefix\"),s(\"header.suffix\"),s(\"header.height\"),s(\"header.line.width\"),s(\"header.line.color\"),s(\"header.fill.color\"),n.coerceFont(s,\"header.font\",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(t,e){return t-e}),o=i.map(function(t){return a.indexOf(t)}),s=o.length;s<n;s++)o.push(s);e(\"columnorder\",o)}(e,s),s(\"cells.values\"),s(\"cells.format\"),s(\"cells.align\"),s(\"cells.prefix\"),s(\"cells.suffix\"),s(\"cells.height\"),s(\"cells.line.width\"),s(\"cells.line.color\"),s(\"cells.fill.color\"),n.coerceFont(s,\"cells.font\",n.extendFlat({},o.font)),e._length=null}},{\"../../lib\":693,\"../../plots/domain\":767,\"./attributes\":1124}],1131:[function(t,e,r){\"use strict\";var n={};n.attributes=t(\"./attributes\"),n.supplyDefaults=t(\"./defaults\"),n.calc=t(\"./calc\"),n.plot=t(\"./plot\"),n.moduleType=\"trace\",n.name=\"table\",n.basePlotModule=t(\"./base_plot\"),n.categories=[\"noOpacity\"],n.meta={},e.exports=n},{\"./attributes\":1124,\"./base_plot\":1125,\"./calc\":1126,\"./defaults\":1130,\"./plot\":1132}],1132:[function(t,e,r){\"use strict\";var n=t(\"./constants\"),i=t(\"d3\"),a=t(\"../../lib/gup\"),o=t(\"../../components/drawing\"),s=t(\"../../lib/svg_text_utils\"),l=t(\"../../lib\").raiseToTop,c=t(\"../../lib\").cancelTransition,u=t(\"./data_preparation_helper\"),f=t(\"./data_split_helpers\"),h=t(\"../../components/color\");function p(t){return Math.ceil(t.calcdata.maxLineWidth/2)}function d(t,e){return\"clip\"+t._fullLayout._uid+\"_scrollAreaBottomClip_\"+e.key}function g(t,e){return\"clip\"+t._fullLayout._uid+\"_columnBoundaryClippath_\"+e.calcdata.key+\"_\"+e.specIndex}function m(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function v(t,e,r){var o=t.selectAll(\".\"+n.cn.scrollbarKit).data(a.repeat,a.keyFun);o.enter().append(\"g\").classed(n.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),o.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return O(e,e.length-1)+(e.length?I(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-A(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,n.goldenRatio*n.scrollbarWidth),e.barWiggleRoom=e.currentlyVisibleHeight-e.barLength,e.wiggleRoom=Math.max(0,e.totalHeight-e.scrollableAreaHeight),e.topY=0===e.barWiggleRoom?0:t.scrollY/e.wiggleRoom*e.barWiggleRoom,e.bottomY=e.topY+e.barLength,e.dragMultiplier=e.wiggleRoom/e.barWiggleRoom}).attr(\"transform\",function(t){return\"translate(\"+(t.width+n.scrollbarWidth/2+n.scrollbarOffset)+\" \"+A(t)+\")\"});var s=o.selectAll(\".\"+n.cn.scrollbar).data(a.repeat,a.keyFun);s.enter().append(\"g\").classed(n.cn.scrollbar,!0);var l=s.selectAll(\".\"+n.cn.scrollbarSlider).data(a.repeat,a.keyFun);l.enter().append(\"g\").classed(n.cn.scrollbarSlider,!0),l.attr(\"transform\",function(t){return\"translate(0 \"+(t.scrollbarState.topY||0)+\")\"});var c=l.selectAll(\".\"+n.cn.scrollbarGlyph).data(a.repeat,a.keyFun);c.enter().append(\"line\").classed(n.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",n.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",n.scrollbarWidth/2),c.attr(\"y2\",function(t){return t.scrollbarState.barLength-n.scrollbarWidth/2}).attr(\"stroke-opacity\",function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4}),c.transition().delay(0).duration(0),c.transition().delay(n.scrollbarHideDelay).duration(n.scrollbarHideDuration).attr(\"stroke-opacity\",0);var u=s.selectAll(\".\"+n.cn.scrollbarCaptureZone).data(a.repeat,a.keyFun);u.enter().append(\"line\").classed(n.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",n.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",function(r){var n=i.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=n-a.top,l=i.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||S(e,t,null,l(s-o.barLength/2))(r)}).call(i.behavior.drag().origin(function(t){return i.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on(\"drag\",S(e,t)).on(\"dragend\",function(){})),u.attr(\"y2\",function(t){return t.scrollbarState.scrollableAreaHeight})}function y(t,e,r,s){var l=function(t){var e=t.selectAll(\".\"+n.cn.columnCell).data(f.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append(\"g\").classed(n.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll(\".\"+n.cn.columnCells).data(a.repeat,a.keyFun);return e.enter().append(\"g\").classed(n.cn.columnCells,!0),e.exit().remove(),e}(r));!function(t){t.each(function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,i={size:_(r.size,n,e),color:_(r.color,n,e),family:_(r.family,n,e)};t.rowNumber=t.key,t.align=_(t.calcdata.cells.align,n,e),t.cellBorderWidth=_(t.calcdata.cells.line.width,n,e),t.font=i})}(l),function(t){t.attr(\"width\",function(t){return t.column.columnWidth}).attr(\"stroke-width\",function(t){return t.cellBorderWidth}).each(function(t){var e=i.select(this);h.stroke(e,_(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),h.fill(e,_(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll(\".\"+n.cn.cellRect).data(a.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\"rect\").classed(n.cn.cellRect,!0),e}(l));var c=function(t){var e=t.selectAll(\".\"+n.cn.cellText).data(a.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\"text\").classed(n.cn.cellText,!0).style(\"cursor\",function(){return\"auto\"}).on(\"mousedown\",function(){i.event.stopPropagation()}),e}(function(t){var e=t.selectAll(\".\"+n.cn.cellTextHolder).data(a.repeat,function(t){return t.keyWithinBlock});return e.enter().append(\"g\").classed(n.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),e}(l));!function(t){t.each(function(t){o.font(i.select(this),t.font)})}(c),x(c,e,s,t),P(l)}function x(t,e,r,a){t.text(function(t){var e=t.column.specIndex,r=t.rowNumber,a=t.value,o=\"string\"==typeof a,s=o&&a.match(/<br>/i),l=!o||s;t.mayHaveMarkup=o&&a.match(/[<&>]/);var c,u=\"string\"==typeof(c=a)&&c.match(n.latexCheck);t.latex=u;var f,h,p=u?\"\":_(t.calcdata.cells.prefix,e,r)||\"\",d=u?\"\":_(t.calcdata.cells.suffix,e,r)||\"\",g=u?null:_(t.calcdata.cells.format,e,r)||null,m=p+(g?i.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(f=b(m)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===f?b(m):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var v=(\" \"===n.wrapSplitCharacter?m.replace(/<a href=/gi,\"<a_href=\"):m).split(n.wrapSplitCharacter),y=\" \"===n.wrapSplitCharacter?v.map(function(t){return t.replace(/<a_href=/gi,\"<a href=\")}):v;t.fragments=y.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:n.wrapSpacer,width:null}),h=y.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete t.fragments,h=m;return h}).attr(\"dy\",function(t){return t.needsConvertToTspans?0:\"0.75em\"}).each(function(t){var o=i.select(this),l=t.wrappingNeeded?C:L;t.needsConvertToTspans?s.convertToTspans(o,a,l(r,this,e,a,t)):i.select(this.parentNode).attr(\"transform\",function(t){return\"translate(\"+z(t)+\" \"+n.cellPad+\")\"}).attr(\"text-anchor\",function(t){return{left:\"start\",center:\"middle\",right:\"end\"}[t.align]})})}function b(t){return-1!==t.indexOf(n.wrapSplitCharacter)}function _(t,e,r){if(Array.isArray(t)){var n=t[Math.min(e,t.length-1)];return Array.isArray(n)?n[Math.min(r,n.length-1)]:n}return t}function w(t,e,r){t.transition().ease(n.releaseTransitionEase).duration(n.releaseTransitionDuration).attr(\"transform\",\"translate(\"+e.x+\" \"+r+\")\")}function k(t){return\"cells\"===t.type}function M(t){return\"header\"===t.type}function A(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+I(e,1/0)},0)}function T(t,e,r){var n=m(e)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=O(i,i.length),s=n.calcdata.groupHeight-A(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),c=function(t,e,r){for(var n=[],i=0,a=0;a<t.length;a++){for(var o=t[a],s=o.rows,l=0,c=0;c<s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l,e<i+l&&e+r>i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each(function(t,e){t.page=c[e],t.scrollY=l}),e.attr(\"transform\",function(t){return\"translate(0 \"+(O(t.rowBlocks,t.page)-t.scrollY)+\")\"}),t&&(E(t,r,e,c,n.prevPages,n,0),E(t,r,e,c,n.prevPages,n,1),v(r,t))}}function S(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter(function(t){return s.key===t.key}),c=r||s.scrollbarState.dragMultiplier;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var u=l.selectAll(\".\"+n.cn.yColumn).selectAll(\".\"+n.cn.columnBlock).filter(k);T(t,u,l)}}function E(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var a=r.filter(function(t,e){return e===o&&n[e]!==i[e]});y(t,e,a,r),i[o]=n[o]}))}function C(t,e,r){return function(){var a=i.select(e.parentNode);a.each(function(t){var e=t.fragments;a.selectAll(\"tspan.line\").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,i,o=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value=\"\";s.length;)c+(i=(r=s.shift()).width+o)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0}),a.selectAll(\"tspan.line\").remove(),x(a.select(\".\"+n.cn.cellText),r,t),i.select(e.parentNode.parentNode).call(P)}}function L(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,f=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,h=Math.max(f,u);h-l.rows[c].rowHeight&&(l.rows[c].rowHeight=h,t.selectAll(\".\"+n.cn.columnCell).call(P),T(null,t.filter(k),0),v(r,a,!0)),s.attr(\"transform\",function(){var t=this.parentNode.getBoundingClientRect(),e=i.select(this.parentNode).select(\".\"+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),a=e.top-t.top+(r?r.matrix.f:n.cellPad);return\"translate(\"+z(o,i.select(this.parentNode).select(\".\"+n.cn.cellTextHolder).node().getBoundingClientRect().width)+\" \"+a+\")\"}),o.settledY=!0}}}function z(t,e){switch(t.align){case\"left\":return n.cellPad;case\"right\":return t.column.columnWidth-(e||0)-n.cellPad;case\"center\":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function P(t){t.attr(\"transform\",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+I(e,1/0)},0);return\"translate(0 \"+(I(R(t),t.key)+e)+\")\"}).selectAll(\".\"+n.cn.cellRect).attr(\"height\",function(t){return(e=R(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r})}function O(t,e){for(var r=0,n=e-1;n>=0;n--)r+=D(t[n]);return r}function I(t,e){for(var r=0,n=0;n<t.rows.length&&t.rows[n].rowIndex<e;n++)r+=t.rows[n].rowHeight;return r}function D(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n<t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}function R(t){return t.rowBlocks[t.page]}e.exports=function(t,e){var r=t._fullLayout._paper.selectAll(\".\"+n.cn.table).data(e.map(function(e){var r=a.unwrap(e).trace;return u(t,r)}),a.keyFun);r.exit().remove(),r.enter().append(\"g\").classed(n.cn.table,!0).attr(\"overflow\",\"visible\").style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"all\"),r.attr(\"width\",function(t){return t.width+t.size.l+t.size.r}).attr(\"height\",function(t){return t.height+t.size.t+t.size.b}).attr(\"transform\",function(t){return\"translate(\"+t.translateX+\",\"+t.translateY+\")\"});var s=r.selectAll(\".\"+n.cn.tableControlView).data(a.repeat,a.keyFun);s.enter().append(\"g\").classed(n.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\").on(\"mousemove\",function(e){s.filter(function(t){return e===t}).call(v,t)}).on(\"mousewheel\",function(e){e.scrollbarState.wheeling||(e.scrollbarState.wheeling=!0,i.event.stopPropagation(),i.event.preventDefault(),S(t,s,null,e.scrollY+i.event.deltaY)(e),e.scrollbarState.wheeling=!1)}).call(v,t,!0),s.attr(\"transform\",function(t){return\"translate(\"+t.size.l+\" \"+t.size.t+\")\"});var h=s.selectAll(\".\"+n.cn.scrollBackground).data(a.repeat,a.keyFun);h.enter().append(\"rect\").classed(n.cn.scrollBackground,!0).attr(\"fill\",\"none\"),h.attr(\"width\",function(t){return t.width}).attr(\"height\",function(t){return t.height}),s.each(function(e){o.setClipUrl(i.select(this),d(t,e))});var x=s.selectAll(\".\"+n.cn.yColumn).data(function(t){return t.columns},a.keyFun);x.enter().append(\"g\").classed(n.cn.yColumn,!0),x.exit().remove(),x.attr(\"transform\",function(t){return\"translate(\"+t.x+\" 0)\"}).call(i.behavior.drag().origin(function(e){return w(i.select(this),e,-n.uplift),l(this),e.calcdata.columnDragInProgress=!0,v(s.filter(function(t){return e.calcdata.key===t.key}),t),e}).on(\"drag\",function(t){var e=i.select(this),r=function(e){return(t===e?i.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-n.overdrag,Math.min(t.calcdata.width+n.overdrag-t.columnWidth,i.event.x)),m(x).filter(function(e){return e.calcdata.key===t.calcdata.key}).sort(function(t,e){return r(t)-r(e)}).forEach(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e)}),x.filter(function(e){return t!==e}).transition().ease(n.transitionEase).duration(n.transitionDuration).attr(\"transform\",function(t){return\"translate(\"+t.x+\" 0)\"}),e.call(c).attr(\"transform\",\"translate(\"+t.x+\" -\"+n.uplift+\" )\")}).on(\"dragend\",function(e){var r=i.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,w(r,e,0),function(t,e,r){var n=e.gdColumnsOriginalOrder;e.gdColumns.sort(function(t,e){return r[n.indexOf(t)]-r[n.indexOf(e)]}),e.columnorder=r,t.emit(\"plotly_restyle\")}(t,n,n.columns.map(function(t){return t.xIndex}))})),x.each(function(e){o.setClipUrl(i.select(this),g(t,e))});var b=x.selectAll(\".\"+n.cn.columnBlock).data(f.splitToPanels,a.keyFun);b.enter().append(\"g\").classed(n.cn.columnBlock,!0).attr(\"id\",function(t){return t.key}),b.style(\"cursor\",function(t){return t.dragHandle?\"ew-resize\":t.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"});var _=b.filter(M),A=b.filter(k);A.call(i.behavior.drag().origin(function(t){return i.event.stopPropagation(),t}).on(\"drag\",S(t,s,-1)).on(\"dragend\",function(){})),y(t,s,_,b),y(t,s,A,b);var E=s.selectAll(\".\"+n.cn.scrollAreaClip).data(a.repeat,a.keyFun);E.enter().append(\"clipPath\").classed(n.cn.scrollAreaClip,!0).attr(\"id\",function(e){return d(t,e)});var C=E.selectAll(\".\"+n.cn.scrollAreaClipRect).data(a.repeat,a.keyFun);C.enter().append(\"rect\").classed(n.cn.scrollAreaClipRect,!0).attr(\"x\",-n.overdrag).attr(\"y\",-n.uplift).attr(\"fill\",\"none\"),C.attr(\"width\",function(t){return t.width+2*n.overdrag}).attr(\"height\",function(t){return t.height+n.uplift}),x.selectAll(\".\"+n.cn.columnBoundary).data(a.repeat,a.keyFun).enter().append(\"g\").classed(n.cn.columnBoundary,!0);var L=x.selectAll(\".\"+n.cn.columnBoundaryClippath).data(a.repeat,a.keyFun);L.enter().append(\"clipPath\").classed(n.cn.columnBoundaryClippath,!0),L.attr(\"id\",function(e){return g(t,e)});var z=L.selectAll(\".\"+n.cn.columnBoundaryRect).data(a.repeat,a.keyFun);z.enter().append(\"rect\").classed(n.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),z.attr(\"width\",function(t){return t.columnWidth+2*p(t)}).attr(\"height\",function(t){return t.calcdata.height+2*p(t)+n.uplift}).attr(\"x\",function(t){return-p(t)}).attr(\"y\",function(t){return-p(t)}),T(null,A,s)}},{\"../../components/color\":567,\"../../components/drawing\":592,\"../../lib\":693,\"../../lib/gup\":690,\"../../lib/svg_text_utils\":718,\"./constants\":1127,\"./data_preparation_helper\":1128,\"./data_split_helpers\":1129,d3:147}],1133:[function(t,e,r){\"use strict\";var n=t(\"../box/attributes\"),i=t(\"../../lib/extend\").extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:n.name,orientation:i({},n.orientation,{}),bandwidth:{valType:\"number\",min:0,editType:\"calc\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},scalemode:{valType:\"enumerated\",values:[\"width\",\"count\"],dflt:\"width\",editType:\"calc\"},spanmode:{valType:\"enumerated\",values:[\"soft\",\"hard\",\"manual\"],dflt:\"soft\",editType:\"calc\"},span:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:n.fillcolor,points:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),marker:n.marker,text:n.text,box:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},width:{valType:\"number\",min:0,max:1,dflt:.25,editType:\"plot\"},fillcolor:{valType:\"color\",editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},editType:\"plot\"},meanline:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"plot\"},side:{valType:\"enumerated\",values:[\"both\",\"positive\",\"negative\"],dflt:\"both\",editType:\"plot\"},selected:n.selected,unselected:n.unselected,hoveron:{valType:\"flaglist\",flags:[\"violins\",\"points\",\"kde\"],dflt:\"violins+points+kde\",extras:[\"all\"],editType:\"style\"}}},{\"../../lib/extend\":682,\"../box/attributes\":856}],1134:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../box/calc\"),o=t(\"./helpers\"),s=t(\"../../constants/numerical\").BADNUM;function l(t,e,r){var i=e.max-e.min;if(!i)return 1;if(t.bandwidth)return Math.max(t.bandwidth,i/1e4);var a=r.length,o=n.stdev(r,a-1,e.mean);return Math.max(function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t,-.2)}(a,o,e.q3-e.q1),i/100)}function c(t,e,r,n){var a,o=t.spanmode,l=t.span||[],c=[e.min,e.max],u=[e.min-2*n,e.max+2*n];function f(n){var i=l[n],a=r.d2c(i,0,t[e.valLetter+\"calendar\"]);return a===s?u[n]:a}var h={type:\"linear\",range:a=\"soft\"===o?u:\"hard\"===o?c:[f(0),f(1)]};return i.setConvert(h),h.cleanRange(),a}e.exports=function(t,e){var r=a(t,e);if(r[0].t.empty)return r;var s=t._fullLayout,u=i.getFromId(t,e[\"h\"===e.orientation?\"xaxis\":\"yaxis\"]),f=s._violinScaleGroupStats,h=e.scalegroup,p=f[h];p||(p=f[h]={maxWidth:0,maxCount:0});for(var d=1/0,g=-1/0,m=0;m<r.length;m++){var v=r[m],y=v.pts.map(o.extractVal),x=v.bandwidth=l(e,v,y),b=v.span=c(e,v,u,x),_=b[1]-b[0],w=Math.ceil(_/(x/3)),k=_/w;if(!isFinite(k)||!isFinite(w))return n.error(\"Something went wrong with computing the violin span\"),r[0].t.empty=!0,r;var M=o.makeKDE(v,e,y);v.density=new Array(w);for(var A=0,T=b[0];T<b[1]+k/2;A++,T+=k){var S=M(T);p.maxWidth=Math.max(p.maxWidth,S),v.density[A]={v:S,t:T}}p.maxCount=Math.max(p.maxCount,y.length),d=Math.min(d,b[0]),g=Math.max(g,b[1])}var E=i.findExtremes(u,[d,g],{padded:!0});return e._extremes[u._id]=E,r[0].t.labels.kde=n._(t,\"kde:\"),r}},{\"../../constants/numerical\":670,\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../box/calc\":857,\"./helpers\":1137}],1135:[function(t,e,r){\"use strict\";var n=t(\"../box/cross_trace_calc\").setPositionOffset,i=[\"v\",\"h\"];e.exports=function(t,e){for(var r=t.calcdata,a=e.xaxis,o=e.yaxis,s=0;s<i.length;s++){for(var l=i[s],c=\"h\"===l?o:a,u=[],f=0,h=0,p=0;p<r.length;p++){var d=r[p],g=d[0].t,m=d[0].trace;!0!==m.visible||\"violin\"!==m.type||g.empty||m.orientation!==l||m.xaxis!==a._id||m.yaxis!==o._id||(u.push(p),!1!==m.points&&(f=Math.max(f,m.jitter-m.pointpos-1),h=Math.max(h,m.jitter+m.pointpos-1)))}n(\"violin\",t,u,c,[f,h])}}},{\"../box/cross_trace_calc\":858}],1136:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../components/color\"),a=t(\"../box/defaults\"),o=t(\"./attributes\");e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}function c(r,i){return n.coerce2(t,e,o,r,i)}if(a.handleSampleDefaults(t,e,l,s),!1!==e.visible){l(\"bandwidth\"),l(\"scalegroup\",e.name),l(\"scalemode\"),l(\"side\");var u,f=l(\"span\");Array.isArray(f)&&(u=\"manual\"),l(\"spanmode\",u);var h=l(\"line.color\",(t.marker||{}).color||r),p=l(\"line.width\"),d=l(\"fillcolor\",i.addOpacity(e.line.color,.5));a.handlePointsDefaults(t,e,l,{prefix:\"\"});var g=c(\"box.width\"),m=c(\"box.fillcolor\",d),v=c(\"box.line.color\",h),y=c(\"box.line.width\",p);l(\"box.visible\",Boolean(g||m||v||y))||(e.box={visible:!1});var x=c(\"meanline.color\",h),b=c(\"meanline.width\",p);l(\"meanline.visible\",Boolean(x||b))||(e.meanline={visible:!1})}}},{\"../../components/color\":567,\"../../lib\":693,\"../box/defaults\":859,\"./attributes\":1133}],1137:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};r.makeKDE=function(t,e,r){var n=r.length,a=i,o=t.bandwidth,s=1/(n*o);return function(t){for(var e=0,i=0;i<n;i++)e+=a((t-r[i])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var i,a;\"h\"===e.orientation?(i=\"y\",a=\"x\"):(i=\"x\",a=\"y\");var o=n.findPointOnPath(t.path,r,a,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[i];return[l,\"both\"===e.side?2*s-l:s]},r.getKdeValue=function(t,e,n){var i=t.pts.map(r.extractVal);return r.makeKDE(t,e,i)(n)/t.posDensityScale},r.extractVal=function(t){return t.v}},{\"../../lib\":693}],1138:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"../../plots/cartesian/axes\"),a=t(\"../box/hover\"),o=t(\"./helpers\");e.exports=function(t,e,r,s,l){var c,u,f=t.cd,h=f[0].trace,p=h.hoveron,d=-1!==p.indexOf(\"violins\"),g=-1!==p.indexOf(\"kde\"),m=[];if(d||g){var v=a.hoverOnBoxes(t,e,r,s);if(d&&(m=m.concat(v)),g&&v.length>0){var y,x,b,_,w,k=t.xa,M=t.ya;\"h\"===h.orientation?(w=e,y=\"y\",b=M,x=\"x\",_=k):(w=r,y=\"x\",b=k,x=\"y\",_=M);var A=f[t.index];if(w>=A.span[0]&&w<=A.span[1]){var T=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(A,h,w),C=o.getPositionOnKdePath(A,h,S),L=b._offset,z=b._length;T[y+\"0\"]=C[0],T[y+\"1\"]=C[1],T[x+\"0\"]=T[x+\"1\"]=S,T[x+\"Label\"]=x+\": \"+i.hoverLabelText(_,w)+\", \"+f[0].t.labels.kde+\" \"+E.toFixed(3),T.spikeDistance=v[0].spikeDistance;var P=y+\"Spike\";T[P]=v[0][P],v[0].spikeDistance=void 0,v[0][P]=void 0,m.push(T),(u={stroke:t.color})[y+\"1\"]=n.constrain(L+C[0],L,L+z),u[y+\"2\"]=n.constrain(L+C[1],L,L+z),u[x+\"1\"]=u[x+\"2\"]=_._offset+S}}}-1!==p.indexOf(\"points\")&&(c=a.hoverOnPoints(t,e,r));var O=l.selectAll(\".violinline-\"+h.uid).data(u?[0]:[]);return O.enter().append(\"line\").classed(\"violinline-\"+h.uid,!0).attr(\"stroke-width\",1.5),O.exit().remove(),O.attr(u),\"closest\"===s?c?[c]:m:c?(m.push(c),m):m}},{\"../../lib\":693,\"../../plots/cartesian/axes\":742,\"../box/hover\":861,\"./helpers\":1137}],1139:[function(t,e,r){\"use strict\";e.exports={attributes:t(\"./attributes\"),layoutAttributes:t(\"./layout_attributes\"),supplyDefaults:t(\"./defaults\"),supplyLayoutDefaults:t(\"./layout_defaults\"),calc:t(\"./calc\"),crossTraceCalc:t(\"./cross_trace_calc\"),plot:t(\"./plot\"),style:t(\"./style\"),styleOnSelect:t(\"../scatter/style\").styleOnSelect,hoverPoints:t(\"./hover\"),selectPoints:t(\"../box/select\"),moduleType:\"trace\",name:\"violin\",basePlotModule:t(\"../../plots/cartesian\"),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"violinLayout\",\"zoomScale\"],meta:{}}},{\"../../plots/cartesian\":753,\"../box/select\":866,\"../scatter/style\":1055,\"./attributes\":1133,\"./calc\":1134,\"./cross_trace_calc\":1135,\"./defaults\":1136,\"./hover\":1138,\"./layout_attributes\":1140,\"./layout_defaults\":1141,\"./plot\":1142,\"./style\":1143}],1140:[function(t,e,r){\"use strict\";var n=t(\"../box/layout_attributes\"),i=t(\"../../lib\").extendFlat;e.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},{\"../../lib\":693,\"../box/layout_attributes\":863}],1141:[function(t,e,r){\"use strict\";var n=t(\"../../lib\"),i=t(\"./layout_attributes\"),a=t(\"../box/layout_defaults\");e.exports=function(t,e,r){a._supply(t,e,r,function(r,a){return n.coerce(t,e,i,r,a)},\"violin\")}},{\"../../lib\":693,\"../box/layout_defaults\":864,\"./layout_attributes\":1140}],1142:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../lib\"),a=t(\"../../components/drawing\"),o=t(\"../box/plot\"),s=t(\"../scatter/line_points\"),l=t(\"./helpers\");e.exports=function(t,e,r,c){var u=t._fullLayout,f=e.xaxis,h=e.yaxis;function p(t){var e=s(t,{xaxis:f,yaxis:h,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0});return a.smoothopen(e[0],1)}i.makeTraceGroups(c,r,\"trace violins\").each(function(t){var r=n.select(this),a=t[0],s=a.t,c=a.trace;e.isRangePlot||(a.node3=r);var d=u._numViolins,g=\"group\"===u.violinmode&&d>1,m=1-u.violingap,v=s.bdPos=s.dPos*m*(1-u.violingroupgap)/(g?d:1),y=s.bPos=g?2*s.dPos*((s.num+.5)/d-.5)*m:0;if(s.wHover=s.dPos*(g?m/d:1),!0!==c.visible||s.empty)r.remove();else{var x=e[s.valLetter+\"axis\"],b=e[s.posLetter+\"axis\"],_=\"both\"===c.side,w=_||\"positive\"===c.side,k=_||\"negative\"===c.side,M=u._violinScaleGroupStats[c.scalegroup],A=r.selectAll(\"path.violin\").data(i.identity);A.enter().append(\"path\").style(\"vector-effect\",\"non-scaling-stroke\").attr(\"class\",\"violin\"),A.exit().remove(),A.each(function(t){var e,r,i,a,o,l,u,f,h=n.select(this),d=t.density,g=d.length,m=t.pos+y,A=b.c2p(m);switch(c.scalemode){case\"width\":e=M.maxWidth/v;break;case\"count\":e=M.maxWidth/v*(M.maxCount/t.pts.length)}if(w){for(u=new Array(g),o=0;o<g;o++)(f=u[o]={})[s.posLetter]=m+d[o].v/e,f[s.valLetter]=d[o].t;r=p(u)}if(k){for(u=new Array(g),l=0,o=g-1;l<g;l++,o--)(f=u[l]={})[s.posLetter]=m-d[o].v/e,f[s.valLetter]=d[o].t;i=p(u)}if(_)a=r+\"L\"+i.substr(1)+\"Z\";else{var T=[A,x.c2p(d[0].t)],S=[A,x.c2p(d[g-1].t)];\"h\"===c.orientation&&(T.reverse(),S.reverse()),a=w?\"M\"+T+\"L\"+r.substr(1)+\"L\"+S:\"M\"+S+\"L\"+i.substr(1)+\"L\"+T}h.attr(\"d\",a),t.posCenterPx=A,t.posDensityScale=e*v,t.path=h.node(),t.pathLength=t.path.getTotalLength()/(_?2:1)});var T,S,E,C=c.box,L=C.width,z=(C.line||{}).width;_?(T=v*L,S=0):w?(T=[0,v*L/2],S=-z):(T=[v*L/2,0],S=z),o.plotBoxAndWhiskers(r,{pos:b,val:x},c,{bPos:y,bdPos:T,bPosPxOffset:S}),o.plotBoxMean(r,{pos:b,val:x},c,{bPos:y,bdPos:T,bPosPxOffset:S}),!c.box.visible&&c.meanline.visible&&(E=i.identity);var P=r.selectAll(\"path.meanline\").data(E||[]);P.enter().append(\"path\").attr(\"class\",\"meanline\").style(\"fill\",\"none\").style(\"vector-effect\",\"non-scaling-stroke\"),P.exit().remove(),P.each(function(t){var e=x.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,c,e);n.select(this).attr(\"d\",\"h\"===c.orientation?\"M\"+e+\",\"+r[0]+\"V\"+r[1]:\"M\"+r[0]+\",\"+e+\"H\"+r[1])}),o.plotPoints(r,{x:f,y:h},c,s)}})}},{\"../../components/drawing\":592,\"../../lib\":693,\"../box/plot\":865,\"../scatter/line_points\":1046,\"./helpers\":1137,d3:147}],1143:[function(t,e,r){\"use strict\";var n=t(\"d3\"),i=t(\"../../components/color\"),a=t(\"../scatter/style\").stylePoints;e.exports=function(t,e){var r=e?e[0].node3:n.select(t).selectAll(\"g.trace.violins\");r.style(\"opacity\",function(t){return t[0].trace.opacity}),r.each(function(e){var r=e[0].trace,o=n.select(this),s=r.box||{},l=s.line||{},c=r.meanline||{},u=c.width;o.selectAll(\"path.violin\").style(\"stroke-width\",r.line.width+\"px\").call(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll(\"path.box\").style(\"stroke-width\",l.width+\"px\").call(i.stroke,l.color).call(i.fill,s.fillcolor);var f={\"stroke-width\":u+\"px\",\"stroke-dasharray\":2*u+\"px,\"+u+\"px\"};o.selectAll(\"path.mean\").style(f).call(i.stroke,c.color),o.selectAll(\"path.meanline\").style(f).call(i.stroke,c.color),a(o,r,t)})}},{\"../../components/color\":567,\"../scatter/style\":1055,d3:147}],1144:[function(t,e,r){\"use strict\";var n=t(\"../plots/cartesian/axes\"),i=t(\"../lib\"),a=t(\"../plot_api/plot_schema\"),o=t(\"./helpers\").pointsAccessorFunction,s=t(\"../constants/numerical\").BADNUM;r.moduleType=\"transform\",r.name=\"aggregate\";var l=r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},aggregations:{_isLinkedToArray:\"aggregation\",target:{valType:\"string\",editType:\"calc\"},func:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"median\",\"mode\",\"rms\",\"stddev\",\"min\",\"max\",\"first\",\"last\",\"change\",\"range\"],dflt:\"first\",editType:\"calc\"},funcmode:{valType:\"enumerated\",values:[\"sample\",\"population\"],dflt:\"sample\",editType:\"calc\"},enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},c=l.aggregations;function u(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,i=e.c2d;switch(r){case\"count\":return f;case\"first\":return h;case\"last\":return p;case\"sum\":return function(t,e){for(var r=0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&(r+=o)}return i(r)};case\"avg\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l,a++)}return a?i(r/a):s};case\"min\":return function(t,e){for(var r=1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&(r=Math.min(r,o))}return r===1/0?s:i(r)};case\"max\":return function(t,e){for(var r=-1/0,a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&(r=Math.max(r,o))}return r===-1/0?s:i(r)};case\"range\":return function(t,e){for(var r=1/0,a=-1/0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r=Math.min(r,l),a=Math.max(a,l))}return a===-1/0||r===1/0?s:i(a-r)};case\"change\":return function(t,e){var r=n(t[e[0]]),a=n(t[e[e.length-1]]);return r===s||a===s?s:i(a-r)};case\"median\":return function(t,e){for(var r=[],a=0;a<e.length;a++){var o=n(t[e[a]]);o!==s&&r.push(o)}if(!r.length)return s;r.sort();var l=(r.length-1)/2;return i((r[Math.floor(l)]+r[Math.ceil(l)])/2)};case\"mode\":return function(t,e){for(var r={},a=0,o=s,l=0;l<e.length;l++){var c=n(t[e[l]]);if(c!==s){var u=r[c]=(r[c]||0)+1;u>a&&(a=u,o=c)}}return a?i(o):s};case\"rms\":return function(t,e){for(var r=0,a=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l*l,a++)}return a?i(Math.sqrt(r/a)):s};case\"stddev\":return function(e,r){var i,a=0,o=0,l=1,c=s;for(i=0;i<r.length&&c===s;i++)c=n(e[r[i]]);if(c===s)return s;for(;i<r.length;i++){var u=n(e[r[i]]);if(u!==s){var f=u-c;a+=f,o+=f*f,l++}}var h=\"sample\"===t.funcmode?l-1:l;return h?Math.sqrt((o-a*a/l)/h):0}}}(a,n.getDataConversions(t,e,o,c)),d=new Array(r.length),g=0;g<r.length;g++)d[g]=u(c,r[g]);l.set(d),\"count\"===a.func&&i.pushUnique(e._arrayAttrs,o)}}function f(t,e){return e.length}function h(t,e){return t[e[0]]}function p(t,e){return t[e[e.length-1]]}r.supplyDefaults=function(t,e){var r,n={};function o(e,r){return i.coerce(t,n,l,e,r)}if(!o(\"enabled\"))return n;var s=a.findArrayAttributes(e),u={};for(r=0;r<s.length;r++)u[s[r]]=1;var f=o(\"groups\");if(!Array.isArray(f)){if(!u[f])return void(n.enabled=!1);u[f]=0}var h,p=t.aggregations||[],d=n.aggregations=new Array(p.length);function g(t,e){return i.coerce(p[r],h,c,t,e)}for(r=0;r<p.length;r++){h={_index:r};var m=g(\"target\"),v=g(\"func\");g(\"enabled\")&&m&&(u[m]||\"count\"===v&&void 0===u[m])?(\"stddev\"===v&&g(\"funcmode\"),u[m]=0,d[r]=h):d[r]={enabled:!1,_index:r}}for(r=0;r<s.length;r++)u[s[r]]&&d.push({target:s[r],func:c.func.dflt,enabled:!0,_index:-1});return n},r.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,a=i.getTargetArray(e,{target:n});if(a){var s,l,c,f,h={},p={},d=[],g=o(e.transforms,r),m=a.length;for(e._length&&(m=Math.min(m,e._length)),s=0;s<m;s++)void 0===(c=h[l=a[s]])?(h[l]=d.length,f=[s],d.push(f),p[h[l]]=g(s)):(d[c].push(s),p[h[l]]=(p[h[l]]||[]).concat(g(s)));r._indexToPoints=p;var v=r.aggregations;for(s=0;s<v.length;s++)u(t,e,d,v[s]);\"string\"==typeof n&&u(t,e,d,{target:n,func:\"first\",enabled:!0}),e._length=d.length}}}},{\"../constants/numerical\":670,\"../lib\":693,\"../plot_api/plot_schema\":731,\"../plots/cartesian/axes\":742,\"./helpers\":1147}],1145:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../registry\"),a=t(\"../plots/cartesian/axes\"),o=t(\"./helpers\").pointsAccessorFunction,s=t(\"../constants/filter_ops\"),l=s.COMPARISON_OPS,c=s.INTERVAL_OPS,u=s.SET_OPS;r.moduleType=\"transform\",r.name=\"filter\",r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},operation:{valType:\"enumerated\",values:[].concat(l).concat(c).concat(u),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},preservegaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},editType:\"calc\"},r.supplyDefaults=function(t){var e={};function a(i,a){return n.coerce(t,e,r.attributes,i,a)}if(a(\"enabled\")){a(\"preservegaps\"),a(\"operation\"),a(\"value\"),a(\"target\");var o=i.getComponentMethod(\"calendars\",\"handleDefaults\");o(t,e,\"valuecalendar\",null),o(t,e,\"targetcalendar\",null)}return e},r.calcTransform=function(t,e,r){if(r.enabled){var i=n.getTargetArray(e,r);if(i){var s=r.target,f=i.length;e._length&&(f=Math.min(f,e._length));var h=r.targetcalendar,p=e._arrayAttrs,d=r.preservegaps;if(\"string\"==typeof s){var g=n.nestedProperty(e,s+\"calendar\").get();g&&(h=g)}var m,v,y=function(t,e,r){var n=t.operation,i=t.value,a=Array.isArray(i);function o(t){return-1!==t.indexOf(n)}var s,f=function(r){return e(r,0,t.valuecalendar)},h=function(t){return e(t,0,r)};o(l)?s=f(a?i[0]:i):o(c)?s=a?[f(i[0]),f(i[1])]:[f(i),f(i)]:o(u)&&(s=a?i.map(f):[f(i)]);switch(n){case\"=\":return function(t){return h(t)===s};case\"!=\":return function(t){return h(t)!==s};case\"<\":return function(t){return h(t)<s};case\"<=\":return function(t){return h(t)<=s};case\">\":return function(t){return h(t)>s};case\">=\":return function(t){return h(t)>=s};case\"[]\":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case\"()\":return function(t){var e=h(t);return e>s[0]&&e<s[1]};case\"[)\":return function(t){var e=h(t);return e>=s[0]&&e<s[1]};case\"(]\":return function(t){var e=h(t);return e>s[0]&&e<=s[1]};case\"][\":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case\")(\":return function(t){var e=h(t);return e<s[0]||e>s[1]};case\"](\":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case\")[\":return function(t){var e=h(t);return e<s[0]||e>=s[1]};case\"{}\":return function(t){return-1!==s.indexOf(h(t))};case\"}{\":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},v=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(m=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},v=function(t,e){var r=x[t.astr][e];t.get().push(r)}),M(m);for(var w=o(e.transforms,r),k=0;k<f;k++){y(i[k])?(M(v,k),b[_++]=w(k)):d&&_++}r._indexToPoints=b,e._length=_}}function M(t,r){for(var i=0;i<p.length;i++){t(n.nestedProperty(e,p[i]),r)}}}},{\"../constants/filter_ops\":666,\"../lib\":693,\"../plots/cartesian/axes\":742,\"../registry\":825,\"./helpers\":1147}],1146:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plot_api/plot_schema\"),a=t(\"../plots/plots\"),o=t(\"./helpers\").pointsAccessorFunction;function s(t,e){var r,s,c,u,f,h,p,d,g,m,v=e.transform,y=e.transformIndex,x=t.transforms[y].groups,b=o(t.transforms,v);if(!Array.isArray(x)||0===x.length)return[t];var _=n.filterUnique(x),w=new Array(_.length),k=x.length,M=i.findArrayAttributes(t),A=v.styles||[],T={};for(r=0;r<A.length;r++)T[A[r].target]=A[r].value;v.styles&&(m=n.keyedContainer(v,\"styles\",\"target\",\"value.name\"));var S={},E={};for(r=0;r<_.length;r++){S[h=_[r]]=r,E[h]=0,(p=w[r]=n.extendDeepNoArrays({},t))._group=h,p.updateStyle=l(h,y),p.transforms[y]._indexToPoints={};var C=null;for(m&&(C=m.get(h)),p.name=C||\"\"===C?C:n.templateString(v.nameformat,{trace:t.name,group:h}),d=p.transforms,p.transforms=[],s=0;s<d.length;s++)p.transforms[s]=n.extendDeepNoArrays({},d[s]);for(s=0;s<M.length;s++)n.nestedProperty(p,M[s]).set([])}for(c=0;c<M.length;c++){for(u=M[c],s=0,g=[];s<_.length;s++)g[s]=n.nestedProperty(w[s],u).get();for(f=n.nestedProperty(t,u).get(),s=0;s<k;s++)g[S[x[s]]].push(f[s])}for(s=0;s<k;s++){(p=w[S[x[s]]]).transforms[y]._indexToPoints[E[x[s]]]=b(s),E[x[s]]++}for(r=0;r<_.length;r++)h=_[r],p=w[r],a.clearExpandedTraceDefaultColors(p),p=n.extendDeepNoArrays(p,T[h]||{});return w}function l(t,e){return function(r,i,a){n.keyedContainer(r,\"transforms[\"+e+\"].styles\",\"target\",\"value.\"+i).set(String(t),a)}}r.moduleType=\"transform\",r.name=\"groupby\",r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},groups:{valType:\"data_array\",dflt:[],editType:\"calc\"},nameformat:{valType:\"string\",editType:\"calc\"},styles:{_isLinkedToArray:\"style\",target:{valType:\"string\",editType:\"calc\"},value:{valType:\"any\",dflt:{},editType:\"calc\",_compareAsJSON:!0},editType:\"calc\"},editType:\"calc\"},r.supplyDefaults=function(t,e,i){var a,o={};function s(e,i){return n.coerce(t,o,r.attributes,e,i)}if(!s(\"enabled\"))return o;s(\"groups\"),s(\"nameformat\",i._dataLength>1?\"%{group} (%{trace})\":\"%{group}\");var l=t.styles,c=o.styles=[];if(l)for(a=0;a<l.length;a++){var u=c[a]={};n.coerce(l[a],c[a],r.attributes.styles,\"target\");var f=n.coerce(l[a],c[a],r.attributes.styles,\"value\");n.isPlainObject(f)?u.value=n.extendDeep({},f):f&&delete u.value}return o},r.transform=function(t,e){var r,n,i,a=[];for(n=0;n<t.length;n++)for(r=s(t[n],e),i=0;i<r.length;i++)a.push(r[i]);return a}},{\"../lib\":693,\"../plot_api/plot_schema\":731,\"../plots/plots\":805,\"./helpers\":1147}],1147:[function(t,e,r){\"use strict\";r.pointsAccessorFunction=function(t,e){for(var r,n,i=0;i<t.length&&(r=t[i])!==e;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1148:[function(t,e,r){\"use strict\";var n=t(\"../lib\"),i=t(\"../plots/cartesian/axes\"),a=t(\"./helpers\").pointsAccessorFunction;r.moduleType=\"transform\",r.name=\"sort\",r.attributes={enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},target:{valType:\"string\",strict:!0,noBlank:!0,arrayOk:!0,dflt:\"x\",editType:\"calc\"},order:{valType:\"enumerated\",values:[\"ascending\",\"descending\"],dflt:\"ascending\",editType:\"calc\"},editType:\"calc\"},r.supplyDefaults=function(t){var e={};function i(i,a){return n.coerce(t,e,r.attributes,i,a)}return i(\"enabled\")&&(i(\"target\"),i(\"order\")),e},r.calcTransform=function(t,e,r){if(r.enabled){var o=n.getTargetArray(e,r);if(o){var s=r.target,l=o.length;e._length&&(l=Math.min(l,e._length));var c,u,f=e._arrayAttrs,h=function(t,e,r,n){var i,a=new Array(n),o=new Array(n);for(i=0;i<n;i++)a[i]={v:e[i],i:i};for(a.sort(function(t,e){switch(t.order){case\"ascending\":return function(t,r){return e(t.v)-e(r.v)};case\"descending\":return function(t,r){return e(r.v)-e(t.v)}}}(t,r)),i=0;i<n;i++)o[i]=a[i].i;return o}(r,o,i.getDataToCoordFunc(t,e,s,o),l),p=a(e.transforms,r),d={};for(c=0;c<f.length;c++){var g=n.nestedProperty(e,f[c]),m=g.get(),v=new Array(l);for(u=0;u<l;u++)v[u]=m[h[u]];g.set(v)}for(u=0;u<l;u++)d[u]=p(h[u]);r._indexToPoints=d,e._length=l}}}},{\"../lib\":693,\"../plots/cartesian/axes\":742,\"./helpers\":1147}]},{},[22])(22)});});require(['plotly'], function(Plotly) {window.Plotly = Plotly;});}</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import nltk\n",
    "\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.lines import Line2D\n",
    "%matplotlib inline\n",
    "matplotlib.style.use('ggplot')\n",
    "import pickle\n",
    "import numpy as np\n",
    "import plotly.offline as offline\n",
    "import plotly\n",
    "import plotly.plotly as py\n",
    "import plotly.graph_objs as go\n",
    "from plotly import tools\n",
    "from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot\n",
    "offline.init_notebook_mode()\n",
    "master = pd.read_csv('occupations.csv', index_col=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figure 1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a125cabe0>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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V7rYHzixg7E04sobYcfPfZX3WgeUpl3jXLx72Mvk85tsN+DO+8i0ffh/NvTvaxER2avoP2wiIrJX8wIuUVzQYokx5l5jzKO4oMH3vd4s/gxcfzHG/InmhtDp+/AzCx4yxkRx5Srpfp+2frZxDaA/pGUvofbGuYXmQNAi4xpD/42WvYD8hsuTcIGL/9fGviwu68Y/p/vTPpu1JG0n+Pu7wxjzF2PMn40xb9EcNNjovZ6OCx7d0cn9np92/X5Kc6AuM/OlFS8AdSpwXBvlY697P8OA1717Yi6wDndtO+QFNtZ5b+/2eu1k68dzl/d6vTHmz7gAWBB4xlr7WWeORfM1nuNd3/8xxnyE63sEzfeNf4y/dnK/O+tyXADlFNx1/BOuRLMEl2GVOeveMGPMfxpj/o7LLgvjsgPbuiejNJeVZuP3OLon7VivtrFtu6y1q3GB2QLgDe+eeAz35/58b7Of4O6PBbiy0jDwP17WFzRnj13hjevgHRmLiIhIb6PAkYiI7Au+jytlSeKaLn8T94Dpz8T0U1wfnFLcrFA3t94F3wc+wzXETQJzM9bfS3Oz5bOAqbhspvvpvEu8Y2/BZeaMw/Xe8T2Ha9QMsNhrRNyW63C9mupwD7l+0+p/68J4OmSt/TuunOw9XHDoDFzWyn95m9wIvIgrzfoartyuMz7Cjfk0XA+beuAma+0znRzXB9baV9pYl8A1ZP4D7ju/EBcI/DvNPZo64ypcts9UXKZSbpZjzcX12PoIV2pWjAvqdTjzWZrf4xozfwFEgCk0Nw0Hd4/dissy+5b3e4+z1r4GfAPXFP0AXIAlgfvuv+llJaXrj2ta/k1cT6yrcf28GsgiLeuoLX6Po0twM7T9idblqF1xPnA77t/HF+LO7SVgoTHmINx1rQEusdY+jmtgfzDN9/S/4QJdh3vjyuxhJSIiskcy7n9KioiIiM+bbe0FYLu1Nltj4N3Gy664FJctlXXGKxERERGR7qLm2CIiInsAr+zlO7islQqay+tERERERHqMStVERET2DOOAX+PKkc6z1tZ2sL2IiIiIyE5TqZqIiIiIiIiIiGSljCMREREREREREclKgSMREREREREREclKgSMREREREREREclKgSMREREREREREclKgSMREREREREREclKgSMREREREREREclKgSMREREREREREclKgSMREREREREREclKgSMREREREREREclKgSMREREREREREclKgSMREREREREREclKgSMREREREREREclKgSMREREREREREclKgSMREREREREREckqtLsH0AG7uwcgIiIiIiIiIrIXMp3ZqLcHjli3bt3uHsJeo7y8nC1btuzuYYgAuh+ld9H9KL2J7kfpLXQvSm/S0/fjjBkzWLhwIeXl5Tz//PMALFu2jGuuuYa6ujqGDh3K73//e4qLi6moqOAHP/gB7777LpFIhFmzZrXa34UXXsiXX36Z2pfsXfaGvx8HDx7c6W1VqiYiIiIiIiL7tEgkwsMPP9xi2ZVXXsm1117LokWLmDJlCvfccw8AeXl5XHXVVVx//fVZ9zVv3jwKCwt7fMwiu4oCRyIiIiIiIrJPmzBhAqWlpS2WrVy5kgkTJgBw3HHHMW/ePAAKCgoYN24cubm5rfZTW1vLH/7wB372s5/1/KBFdhEFjkREREREREQyjBkzhueeew6Ap556qlNtVH7729/ywx/+kPz8/J4ensgu0+t7HImIiIiIiIjsanfccQfXX389v/vd75g8eTLhcLjd7T/44ANWrVrFzJkzWb169S4apXTEWktDQwPJZBJjOtULukMbN26ksbGxW/bVk6y1BAIB8vLydurcFTgSERERERERyTBy5EjmzJkDuLK1RYsWtbv9W2+9xfvvv8/48eOJx+Ns3bqVs846i8cee2xXDFfa0NDQQDgcJhTqvvBHKBQiGAx22/56Ujwep6GhYaey4FSqJiIiIiIiIpLBnzUrmUxy5513cv7557e7/QUXXMDbb7/NkiVLeOKJJzjwwAMVNOoFkslktwaN9jShUIhkMrlz++imsYiIiIiIiIjskaZPn86rr75KRUUFRx11FFdccQW1tbXMnj0bgKlTp3L22Wenth8/fjw1NTXEYjHmz5/PnDlzGD169G4avbSnu8rT9mQ7ew0UOBIREREREZF9Uk0DfFkR4O677866/uKLL866fMmSJe3ud9iwYTz//PM7PT6R3kClaiIiIiIiIrJPWvplkOjrYWLxjredMWMGhx9+OCeffHJq2bJly5g2bRoTJ07kggsuoLq6GoCKigrOOussRo0axXXXXddiP3PnzuWUU07hpJNO4pZbbunW85HeadOmTVx22WUcc8wxnHjiiZx//vmsXLmy2/b/yiuv8MYbb3Tb/jIpcCQiIiIiIiL7pFjcYDE0JTreNhKJ8PDDD7dYduWVV3LttdeyaNEipkyZwj333ANAXl4eV111Fddff32L7SsqKrjlllt45JFHeOGFF9i8eTP/+7//223nI72PtZbvf//7fOMb3+CVV15h8eLFXH311akeWt3h1Vdf5a233uq2/WVS4EhERERERET2SXGvZ3C8E4GjCRMmUFpa2mLZypUrmTBhAgDHHXcc8+bNA6CgoIBx48aRm5vbYvsvv/ySAw88kH79+rX6jOyd/vGPfxAOh/ne976XWnbooYcybtw4br75Zk4++WQmTpzI3LlzAZc9lL7tddddxyOPPAK43lq333473/rWt5g4cSIrVqxg9erV/M///A/33XcfkyZN6rCMckeox5GIiIiIiIjsk/yAUVPSALbLnx8zZgzPPfcc3/rWt3jqqadYt25du9uPGDEi9bA/aNAgnn32WWKxWKeONWPGDBYuXEh5eXmqf9KyZcu45pprqKurY+jQofz+97+nuLiYpUuXctVVVwEu4+Xyyy9nypQpANx///385S9/wVrLueeeyyWXXNLl895TPfNeiA3bdz5/xhiDtW4/A/skmXJ427WOn3zyCYcddlir5fPmzWPZsmUsWLCAiooKpk6dmgpCtqdv3748++yzzJ49m3vvvZfbb7+d888/n8LCQi699NIdP6l2KONIRERERERE9kl+xlFTJ3ocZXPHHXcwe/ZsTj31VGprawmHw+1uX1paym9+8xsuu+wyzjzzTIYOHdrpqeK7Uip30EEH8cwzz7BgwQIefvhhrr76auLxOB9//DF/+ctfePrpp1mwYAELFy7ks88+27GTl53y+uuvc8YZZxAMBtlvv/2YMGEC7777boef8wOAhx9+OKtXr+7pYQLKOBIREREREZF9VDzhpin3A0hdNXLkSObMmQO4srVFixZ1+JnJkyczefJkAB566CGCwWCnjjVhwoRWgYLMUrnzzjuPq666ivz8/NQ2jY2NqenYly9fzpFHHplaP2HCBObPn8/06dM7NYY9XXuZQV0RCoWIxzu3r9GjR/P000+3Wm5t9gy3UCjUYl1jY2OL9X75YzAYJJHoRI1lN1DGkYiIiIiIiOyTUhlHXgCpq/wGx8lkkjvvvJPzzz+/05/Ztm0bDzzwAOecc84OHRuaS+WAVqVyb7/9NieddBITJ07k1ltv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ePFiDjnkEB599FFWrVrFOeecw/jx4ykuLub1119n4MCBfPHFF0QiEQ466CDKy8u7/Zr4GUf5YUtDlubXfqla3yIv42gnSsV2lF+mFjS2wx5HX24N8PmWANaC2X29vGUvpFI1ERERERGRHeQHRt58801uvPHGVNbGjTfeyLXXXkswGNzNI3S6UkaWbu7cuZxxxhmAa6Q8YsQIhg8fTk5ODt/5znd49tln2z3uo48+ytSpUwGYNm1aKoj2yCOPMHXqVIwxHHDAAQwbNowVK1YApJoyDx8+nG984xt88MEHO3HmbfN7HOXnNGcfpfN7CvnYLAA7AAAgAElEQVQZR9mCSz3Nb4zdp8DS0EGfpaaE2762g8wkka5S4EhERERERGQHtRUYee+995g+fTrjx4/n6aef5tprr2X+/Pm7c6itzJw5k1tuuYWjjz6am2++mV/+8pct1tfX17N48eLU+W3YsIHBgwen1g8aNIgNGza0e4wBAwbw6quvAvDyyy9zwAEHAG62tJdffhlw/XQ+++wzhg8fzrZt22hsdJGPiooK3njjjXYzmnaGn3GUF7bEE66fULr6JkPAWPrk+6VqPTKMdvn9jUq9Pkv17WQ9+TPDVdQq3Ui6l0rVREREREREdpAfGDnmmGNaBEZee+211DY///nPOeWUU3qsV8+OaquMzPfcc89x9NFHU1ZWBoDNjKzgspZ806dP59VXX6WiooKjjjqKK664gttuu40bbriBeDxOXl4ev/3tbwF3TX7xi18wceJErLVce+219O3blzfeeINrrrkGYwzWWn784x/3XODIy97Jz4GkNSQshNJiLnUxty4/p7nH0a7mB4784FVdzFCUl73Pkr9tRa1h/367theT7N0UOBIREREREemErgRG2nPmmWeyYsUK6urqOOqoo/j3f//3VjOv7QqPPvooN910E+Cypa688soW65988slUmRq4DKN169al3q9fv75FeVtbTZmzZVoNHDiQOXPmtFr+9a9/nUWLFnXtRHZQeo8j/30orSanPmbID1vywu797uhx5Jeq+RlHde1mHLnXrTUBoJ2aNpEuUuBIRERERESkE7oSGEn3H//xHy3eP/744902pp3RVrYUQFVVFa+99hr/9V//lVo2duxYPv/8c7788ksGDhzI3Llzueuuu3bH0LuF3+PIDww1JZp/BxekKciBcBBCAbtbM47KUqVqBmgr40ilatIzFDgSEREREZG9Wlemon/22We57bbbMMYQCoWYOXMm48aNAyAajXLnnXcC8LOf/YxIJLLbzqmrupot9cwzz3D88cdTUFCQWhYKhbjllls499xzSSaTnH322YwZM2Z3nE63SGUceaVorkdQc1CmPmZSmT75OdCwO3oceWPs442jtp2Z1fyMIwWOpLspcCQiIiIiInu1rkxFf+yxxzJ58mSMMXz44YdceumlvPTSS1RWVvK73/2OefPmYYxhypQpTJ48udVMZb1VV7Olzj77bM4+++xWyydOnMjEiRO7dWy7S1OqVM29+oEkX33MMKjUlXzlhe1umVWtMaNUra3m2NY2n0+lAkfSzTSrmoiIiIiI7NW6MhV9YWFhquFzXV1d6vcXX3yR4447jrKyMkpLSznuuONYvHjxrjsJ6XbNzbH9jKPmdYkkVDdASZ57nxduf0aznuKXqhXmQjhoqWsj4yiRdA2+C3JcSV17vZBEukoZRyIiIiIiss+ZOXMm5557LjfffDPWWubOnZta98wzz/Cb3/yGrVu38sADDwA7NhW99G7xhCFoLOGge58eONpeb7AY+hZ6pWphS3XD7uhxZAgYSyjg+i21FRDyS9oGlCT5fEuQiloXRBLpDso4EhERERGRfY4/Ff2bb77JjTfeyOWXX55aN2XKFF566SX++Mc/cttttwHZp6KXPVs8CaGgy+QBF0jy+eVe6T2O6tvpL9RTYnHICYIxrlyusY1yuSYvM2lAHzfeihqVq0n3UeBIRERERET2OY8++ihTp04F3FT077zzTqttJkyYwBdffEFFRUXWqegHDhy4y8bbWyUt3LkghzdXBXf3ULosnoBQgKwZR5V1LvBSVujq2QpzLbUx10toV2qMQ45XJ5QTcu+zafKCXgNKvMCR+hxJN+pUqVokEikF7gcOxbWZ/xfgE+ARYASwCohEo9HKSCRigDuBqUAdcGE0Gn3b288FwL96u70lGo0+0G1nIiIiIiIi0kltTUX/+eefM2LECIwxvP/++zQ1NVFWVsYJJ5zArbfeyrZt2wB46aWX+OUvf7k7T6FXqG2EitoA73wJR49IdPyB3cBaWLAsxKFDEwwubY78+BlHoWDze19lrStjK8l37wtzLU0JQywOueFdN/ZYwpATcmPODdk2s578UrWCHEtBjqVqN5TV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\n",
      "text/plain": [
       "<Figure size 1440x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "with open('nltk_numbers.p', 'rb') as file:\n",
    "    numbers = pickle.load(file)\n",
    "\n",
    "fdist = nltk.FreqDist(numbers)\n",
    "years = pd.Series(fdist)\n",
    "years = years.sort_index(ascending=True).reset_index().rename(columns={'index': 'Year', 0: 'Count'})\n",
    "years['Year'] = pd.to_numeric(years['Year'])\n",
    "data = years.loc[years['Year'].between(1380,1999)]\n",
    "data = data.set_index('Year')\n",
    "\n",
    "fig, ax = plt.subplots(figsize=[20,4])\n",
    "fig.suptitle('Frequency of Years Mentioned in ODNB Text', fontweight='bold')\n",
    "start=1600\n",
    "end=1700\n",
    "for centuries in range(1600,1700,100):\n",
    "    for index, row in data.loc[start:end].sort_values(by='Count', ascending=False)[:3].iterrows():\n",
    "        ax.annotate(index,[index,1.05*row])\n",
    "    start = start+100\n",
    "    end = end+100\n",
    "\n",
    "start=1900\n",
    "end=2000\n",
    "for centuries in range(1900,2000,100):\n",
    "    for index, row in data.loc[start:end].sort_values(by='Count', ascending=False)[:4].iterrows():\n",
    "        ax.annotate(index,[index,1.01*row])\n",
    "        \n",
    "annotate_years = [1841, 1830, 1603, 1776]\n",
    "for year in annotate_years:\n",
    "    for index, row in data.loc[year:year].sort_values(by='Count', ascending=False).iterrows():\n",
    "        ax.annotate(index,[index,1.1*row])\n",
    "        \n",
    "        \n",
    "annotate_years = [1584, 1559, 1710, 1745, 1812, 1793, 1870, 1885]\n",
    "for year in annotate_years:\n",
    "    for index, row in data.loc[year:year].sort_values(by='Count', ascending=False).iterrows():\n",
    "        ax.annotate(index,[index,1.05*row])\n",
    "        \n",
    "plt.annotate('1715', [1715,2339*1.25])\n",
    "data.plot(color='cornflowerblue', ax=ax)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figures 3 and 4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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P2eeeSZTpkxh8ODBHHroobz55ptV2X5JkiRpReCwUtXFokWLAHj55Zc5/fTTWWuttdh555057rjjGDduHD/84Q+b66633npMmjSJE044gS222IJrrrkGgFtvvZUBAwYAMHLkSPbdd1+mTZvGgQce2Nx2s8024wc/+AGNjY3suuuuzJkzh+9///v827/9G6ussvRvI3fddRfPPfcc9957LyNHjmTIkCGMHTuWCRMmcM011/DNb36zmrtFkiRJqht7DlVzc+fOZcSIEYwYMYIJEybwyiuvcPXVVzNw4EAeffRR9ttvPxYtWtT8Gj9+PH379uXPf/4zAI8//jgTJkxoTgwBtttuOzbccEMeeuihFuvaa6+9WkzvvffevP7667z22mttxnb//fczZswYNtpoo+b1A+y000488cQT3bkbJEmSpBWKPYequYEDB3L77bcTQmDo0KGst956hBB47bXXWLx4MWeccQZnnHHGUu1mz54NwJtvvsnmm2++1PwhQ4Ywb968pcramn7jjTdoaGhYahlvvfUWjz32GCNGjFhq3sYbb1x6GyVJkqSexuRQNdenTx/Gjh27VPnaa69NCIGTTz6Z3XffvcW8QYMG0b9/fwDWXXddGhsbl2rf2NjINttss1RZW9PDhg1rM7ZBgwYxduxYLrrooubppoSzX79+ZTZPkiRJ6pFMDrXCWGONNdh+++158cUXOemkk1rMGzJkSHNit/3223PjjTfyzjvvsNZaawEwffp0Zs6cyfjx41u0++Uvf8nJJ5/cPP2LX/yCYcOGsf7667cZw6c+9SkuvPBCGhoaGDJkSIv1SpIkSb2ZyaFWKGeeeSaTJk0ihMC+++7LmmuuyaxZs3jggQf46le/yqhRozj22GO58cYbOfzww/nyl7/Mu+++y4UXXsjo0aPZZ599Wizv+eef5/jjj2ePPfbgwQcf5LbbbuO8885r82Y0ABMnTuSmm25i4sSJHHfccYwZM4YZM2Ywffp0hg4dyrHHHluL3SBJkiTVnMmhVijjx4/nzjvv5LLLLuMrX/kKixcvZoMNNmDvvfdm6NChAAwePJgpU6Zw7rnncvzxx9OvXz923313zjnnnKWGfn7jG9/g/vvv55hjjqF///589atf5aijjmp3/autthpTpkzh0ksv5dJLL6WxsZHBgwez3Xbbseeee1Z12yVJkqR6MjlUTZ188skthnm2Zfvtt+eWW25pUdZ6eOfWW2/NlClTOl3fgAEDuOmmm9odGtpWPAMHDuS8887jvPPOc1ipJEmSVho+ykKSJEmSZHIoSZIkSXJYqXqpDTfckFmzZtU7DEmSJKnHsOdQkiRJkmRyKEmSJEkyOZQkSZIkYXIoSZIkScLkUJIkSZKEyaEkSZIkCZNDSZIkSRI+57BHGN7QsHRZxfvZPs9PkiRJ0nKy51CSJEmSZHIoSZIkSXJYaa/nkFRJkiRJZdhzKEmSJEkyOZQkSZIkmRxKkiRJkjA5lCRJkiThDWnUAW9mI0mSJK087DmUJEmSJJkcSpIkSZJMDiVJkiRJmBxKkiRJkjA5lCRJHbjssstoaGjg8MMPX2reMcccw8SJE2saz4477khDQ0Pza8yYMRxxxBE89dRTpdrfcccdNDQ08O677wLQ2NjIZZddxowZM1rU+8Mf/kBDQwPPPvtsqeXOmDGDhoYGfvOb33RpewCOPvpo9t5779L1L7vsMrbeeusur6ermvZB02vLLbfkwAMP5P7772+u03p/SurZTA4lSVKnfve73zF9+vR6hwHAQQcdxNSpU5k6dSoXX3wxc+bM4XOf+xxz587ttO2nP/1ppk6dyuqrrw7kyeHll1/Oyy+/3KLemDFjmDp1KiNGjKjKNvQkV155JVOnTuWKK66gf//+fP7zn+fJJ5+sd1iSqsBHWUiSpA4NGjSI9ddfnyuuuILrr7++3uGw7rrrMm7cuObpj370o+y22248+OCD7LDDDm22Wbx4MYsXL2bw4MEMHjy403UMGDCgxTpWZqNHj2aLLbYA4OMf/zg77LADt956K7vuumt9A5PU7ew5lCRJHQohcOKJJ/LrX/+aZ555psO6Tz75JJ/97GcZNWoUW265JSeccAJ///vfm+fPnDmThoYGpk6dymmnncYWW2zBuHHjuPTSS/nwww+XKb4111wTgIULFzaXffWrX2Xvvffml7/8JbvtthsjR47k8ccfbzEMcubMmeyxxx4A7Lnnns3DJ6HtYaW33XYbu+22G6NGjWLrrbfm4IMP5rnnnmsRy/z585d7u95++21OOeUUtt9+e0aOHMkOO+zAqaee2mGbuXPnctpppzF27FhGjhzJ/vvvz2OPPdaiTuv4P/3pTy8Vf2fWXHNNRo4cycyZM9utc+GFF7LHHnuw6aabMm7cOE444QTefPPNperdcsst7LHHHowcOZKxY8dyzDHH8I9//KN5/kMPPcTBBx/MqFGj2GqrrTj11FN55513mucvy36S1DF7DiVJUqf2228/LrvsMq644gquvvrqNuvMmTOHQw45hNGjR3PVVVfx7rvvcuGFF3LYYYcxbdo0+vXr11z3ggsuYJ999mHy5Mk88MADfOc732GzzTbji1/8YqexZFnGokWLAHjjjTe44IILGDRoEBMmTGguhzwR/da3vsVJJ53E0KFD2XDDDVtcW7juuuty5ZVXcsIJJ/C9732PTTbZpN11Pvjgg3z961/nlFNOYdy4cbzzzjs8+uijLZKZjrZr//3373S7mpx77rk88sgjnH322ay77rrMnj2bP/3pT+3W/+CDDzj00EP5xz/+wZlnnsmQIUO48cYbOfTQQ3nggQdYd91124z/6aefXir+zixevJjZs2ez+eabt1unsbGRE088kWHDhjFnzhyuueYaYozcc8899OnTB4CLLrqIc889ly984QuceeaZzJ8/n3vuuYd3332XgQMH8vDDDzNp0iQ++9nPMnnyZObOnctFF13EvHnzuPvuu5dpP0nqnMmhJEnq1CqrrMKXv/xlTjnlFE455RRGjRq1VJ1rrrkGgJ///OcsWLAAgJEjR7Lvvvsybdo0DjzwwOa6O+64I2effTYAEyZM4L777uMXv/hFqeRw8uTJTJ48uXl67bXX5tprr2XQoEE0NjY2l8+dO5fbb7+93Zu39O/fn9GjRwP50Mmtttqq3XVOnz6d0aNHc+KJJzaX7bnnnkvVa2+7upIcTp8+nSOPPJIDDjiguezggw9ut/5dd93Fc889x7333svIkSMB2HnnnZkwYQLXXHMN3/zmN9uM//DDD2+xv9qzePFiFi1axLx587jiiit444032Guvvdqtf/nll7doO27cOD72sY/x8MMPs9NOO/H2229z8cUXc/TRR3POOec0191nn32a31944YWMGzeOH/7wh81l6623HpMmTeKpp55i2LBhXd5PkjrnsFJJklTKwQcfTENDA1deeWWb8x9//HEmTJjAwIEDm8u22247NtxwQx566KEWdXfZZZcW05ttthmvvfZa8/SiRYuaX4sXL25R91//9V+ZNm0a06ZN49Zbb2XPPffk6KOP5i9/+UuLeuutt1633dVzyy235Mknn+Tss8/mwQcfbE5+W+tsu8rYaqutuPrqq7nhhht48cUXO61///33M2bMGDbaaKPmfQaw00478cQTT3Qp/rbsueeejBgxgrFjx3LbbbfxjW98g8985jPt1r/33nvZf//92WKLLdhoo4342Mc+BsBLL70EwKOPPsr8+fOZNGlSm+3nz5/Po48+yn777dficzB+/Hj69u3bPFy2q/tJUudMDiVJUimrrroqX/rSl7jrrrt49dVXl5r/5ptvMnTo0KXKhwwZwrx581qUVSaQAH379uWDDz4A8uGgI0aMaH594hOfaFF36NChjB07lrFjx7LLLrvwne+2sm6ZAAAgAElEQVR8h4aGBi644IKl6nWXCRMmcPnll/OnP/2JiRMnMmbMGE4//XTee++90ttV1re+9S322msvvvvd7zJhwgQ++clP8tOf/rTd+m+99RaPPfZYi302YsQI7rjjjubEtK34TzzxxKXib8sPfvADpk2bxv/7f/+PZ555huOPP77dutOnT+eoo45qvoHR1KlT+dnPfgbQvB+a7io7bNiwNpcxb948Fi9ezBlnnNFiezbZZBMWLlzY/Nnr6n6S1DmHlUqSpNIOPfRQrrjiCq666qql5q277rptDlNsbGxkm222Kb2OYcOGMW3atObpymsV2xJC4KMf/ehSzyQMIZReZxkxRmKMzJkzh2nTpnHOOecwYMAAzjjjjG5dz9prr83555/P+eefz9NPP83VV1/NCSecwOjRo9lss82Wqj9o0CDGjh3LRRddtNS8yn3XOv5zzz2Xvn37dhr/5ptv3ny30s784he/YPDgwfzwhz9s3v+tf0j4yEc+AuTXi66zzjpLLWPttdcmhMDJJ5/M7rvvvtT8pqHAXd1Pkjpnz6EkSSqtf//+/Md//Ad33HHHUneg3H777fnd737HP//5z+ay6dOnM3PmTMaPH196Hf369WvuGRw7dmxzMtCeLMv461//ygYbbNC1jSHv2QN4//33S7cZPHgwRxxxBDvuuCPPP/98l9fZFVtuuSVnnnkmH374IS+88EKbdT71qU8xY8YMGhoaWuy39vZdU/yf/OQnuz3+999/n1VXXbVFYn7XXXe1qDNu3DhWX311pkyZ0uYy1lhjDbbffntefPHFpbZn7NixDB8+fKk2ZfaTpM7ZcyhJkrrkiCOO4Pvf/z6PPPIIH//4x5vLjz32WG688Ub23Xdfjj322Oa7lY4ePbrFzUaW15tvvsmjjz4K5I8zuPvuu3n22Wc577zzuryshoYGVlttNW6++WayLKNv376MHTt2qXqXXnop8+bN4+Mf/zjrrLMOTz75JA8++CCnn376cm9PawceeCB77bUXW2yxBSEEbrnlFtZYYw223XbbNutPnDiRm266iYkTJ3Lcccex0UYbMXfuXKZPn87QoUM59thj24z//vvv7/b4J0yYwI9+9CPOOussPvOZz/DII48slRyuvfbanHHGGZx11lksXLiQ3XffnQULFnDPPfdw0kknsf7663PmmWcyadIkQgjsu+++rLnmmsyaNYt77rmHb3/726yzzjpd3k+SOmdyqKoZXjwrqnm64v3sWbNqG4wkqdusvvrqHHPMMVx88cUtygcPHsyUKVO46KKLOP744+nXrx+7774755xzTqdDQ7vi7rvvbn6cwcCBAxk1ahSTJ0/mgAMOKHX3zUqrrbYal1xyCd/73ve4++67WbhwIbPaOEeNHTuWa6+9lp/+9Ke8++67NDQ08LWvfY2jjz66W7ap0rhx45gyZQozZ86kT58+bLXVVtx8881t9pg1bcOUKVO49NJLufTSS2lsbGTw4MFst912zXdUbSv+b37zmxx55JHdGvsee+zBN77xDa6//npuvfVWxo0bx09+8hN23nnnFvVOO+00+vbty3XXXcfNN9/M2muvzY477shaa60FwPjx47nzzju57LLL+MpXvsLixYvZYIMN2HXXXRk2bBgLFy7s8n6S1LmQZVm9Y6imbPbs2c0TrZOV1jpKWJanbWftl6dtZ+176ja3NmTIkC6f8FfWtvVct9vcM9rWc93VbFt8Iezei8x6txbnyNZW1H/nFbFtPdftNveMtvVct9vcM9pWc91dOT96zaEkSZIkyWGlWjG11evYNEjEIamSJElS97PnUJIkSZJkcihJkiRJclipeqGOhqSCw1IlSZKktthzKEmSJEkyOZQkSZIkmRxKkiRJkjA5lCRJkiRhcihJkiRJwuRQkiRJkoTJoSRJkiQJk0NJkiRJEiaHkiRJkiRg1XoH0CTGuBfwPaAP8KOU0rdbzT8SuASYVRRdmVL6UU2DlCRJkqReaoVIDmOMfYCrgM8ArwIPxxinppSeblX1jpTSCTUPUJIkSZJ6uRVlWOl44IWU0ksppQXA7cABdY5JkiRJ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3zGzNYG/Aetnaxs2GnP4UU/tnIiIiIh8PNTedQTdeRSZHzW7ODweuJ8w3hBgdt3v2whjDhfogf0SERERERGRuajbi0N3P9fMJgLLAE8An5preyUiIiIi8w3ddRSZNzS7c4i7zwZmmNmn3f3ZZq8VERERERGReVe3F4dmdqS7/zR7uJuZNXydux/TEzsmIiIiIiIic0+zO4fL1fx/+Z7eEREREREREek9zcYcfq/m/3vMnd0RERERERGR3tB0zGHOzNYAPgssAbwK3O3uj/fkjomIiIiIiMjc0/TiMFvbcBLwbWAG8DwwHFjWzC4F9nT39h7fSxEREREREelRre4c7gN8HtjQ3R/InzSz9YArgO8C5/XY3omIiIiIiMhc0a/F73cDflB7YQiQPT4w+72IiIiIiIjM41rdOVwDmNLN76YAl1a7OyIiIiIinZ5/7rkuj4cOHcrLL9/7i+YAACAASURBVL/cS3sjMn9rdedwAXef1egX2fOtyouIiIiIiMg8oNWdw4XMbDOgLbK8iIiIiIiIzANaXdy9BFzU4vciIiIiIiIyj2t6cejuK86l/RARERERqZTGK4qUozGDIiIiIiIiootDERERERER0cWhiIiIiIiIoItDERERERERQReHIiIiIiIigi4ORUREREREBF0cioiIiIiICLo4FBEREREREWDB3t4BEREREZGPo+efe67j/0OHDuXll1/uxb0R6Xm6cygiIiIiIiK6OBQRERERERFdHIqIiIiIiAi6OBQRERERERF0cSgiIiIiIiJotlIRERERkcrVznQKmu1U5g26cygiIiIiIiK6OBQRERERERFdHIqIiIiIiAgacygiIiIi8rGi8YrSW3RxKCIiIiIyn9CFpaRQt1IRERERERHRxaGIiIiIiIjo4lBERERERETQxaGIiIiIiIigi0MRERERERFBF4ciIiIiIiKCLg5FREREREQErXMoIiIiIiKZ2nUStUZi36OLQxERERERSVZ7YQm6uJwXqVupiIiIiIiI6OJQREREREREdHEoIjJPO+200xg+fHjHv3XWWYe9996bZ555BoADDzyQLbbYond3UkRaqj+XR44cyRe+8AUuu+yywu8xfPhwJk+e3PH4sssu46abbprjdRtssAHjx48v/L477LADe++9d+HX5+677z6GDx/OE088Uej1//73vxk+fDi33npr6W2VtcEGG3Qc6xVXXJGxY8dyxhln8MEHH3S8pv54ivQFGnMoIjKPGzhwYEcC+a9//YtTTz2VnXbaiTvuuKOX90xEyqg9l9955x1uvfVWfvSjH7HYYoux7bbbtiz/u9/9jhEjRnQ8vvzyy1l11VX5yle+0uV1kyZNYsiQIdXu/Dxo2223ZY899uCDDz7gvvvu44wzzmDWrFkcc8wxvb1rfZLGK3486OJQRGQet8ACC7DuuusCsO666zJ8+HC23XZbbrvttl7eMxEpo/ZcBvjsZz/LtGnTuOmmm5peHL777rssuuiiXco2s+aaaybv6/xgqaWW6jhmG220ES+88AKXXnopRx99NG1tbb28dyK9Q91KRUTmM2uttRYAM2bMmON3M2fO5OCDD2bVVVdl5MiRbLrpppx88sldulJBSDZ/8pOfsP7667PSSiux4YYbctJJJ3V5za9+9Ss222wzVlppJdZff31+8YtfdPn9k08+yTe/+U0+9alPMWrUKD73uc9x7rnnVvzXiszfFltsMWbPnt3xOO+qeeedd7L77ruzxBJLcNRRRwFdu0HusMMOPPLII1x11VUd3SevvPJKYM5upY3O1V/+8pdz7Ms111zDJptswqqrrsquu+7asI5p5YorrmCzzTZj0KBBrLnmmmy//fY8+eSTTcvU1zUTJkzo8vui+9/KWmutxTvvvMOrr77a8Pc33ngjO++8M2uvvTarrroqW221FVOmTJnjdY8//jjf/va3WX311VlllVXYcsstueuuuzp+/9prr3HYYYcxZswYVl55ZbbeemseeuihLu+RH6eRI0ey5pprsvnmm7c8TiJV0J1DEZH5TJ6wDRs2bI5k4tVXX2Xw4MGccsop9OvXj6effprTTz+dV155hVNOOQWA9vZ29txzT6ZNm8aBBx7IWmutxYsvvsj999/f8T7nnnsuP/vZz/je977HxhtvzCOPPMKpp57Koosuyh577AHAHnvswciRIznrrLPo378///jHP3jrrbfm0lEQmTflF4Lvvvsut9xyC1OnTuW0006b43WHHHIIO+20E4cccgjvvffeHL8/8cQT2XvvvRkxYgQHHnggACuuuGLDbRY5V//yl78wc+ZMjjnmGN577z2OOeYY9ttvPy666KLCf9vUqVM5/PDD+eEPf8j//u//8txzzzFt2jTefPPNbss0qmuOP/542tvbK69rZsyYQf/+/Rk8eHDD3z/zzDN88YtfZN9996Vfv37cfvvt7Lrrrlx99dWst956APz9739nm222YeTIkfzsZz9jyJAhPPzwwzz//PMAvP/+++y88868+eabHHXUUQwdOpRLLrmEnXfemXvuuYelllqqy3Fad911eeutt3j88cebHieRqujiUERkPpAnlM8++yxHHHEEiy++OJ/97Ge55557urxu9dVX55hjjukYy7HeeusxYMAADjnkEH7yk5/Qv39/pkyZwl133cXkyZP50pe+1FF2xx13BODNN9/k9NNPZ9y4cRx88MEAjB07lnfffZczzzyTb33rW7zxxhs8++yzTJo0idVXXx0IXeQ0hkSke6+99horrLBCl+e+853vdJx7tbbaaisOO+ywbs+p0aNHM2DAAJZccsmm3U1fffXVhudqvbfeeotLLrmk48LppZde4rjjjuvo0lrE9OnTWX311fn+97/fsd+1dUy9WbNmNaxr2traWtY1RbS3tzN79mw+/PBD7rnnHi699FI233xzFlhggYav32+//TqO9UcffcTGG2/MU089xRVXXNFxcXj66afziU98gquvvrrjuIwdO7bjPa6++mqefPJJbr/9dlZeeeWO/R07diznn38+Rx99dJfjlNtll11Udzah8YrVUbdSEZF5XJ5QrrDCCowdO5Z//etfnHvuuSy99NJzvLa9vZ2JEycyZswYRo4cyQorrMABBxzA+++/z3NZcL333nsZPHhwt0nb1KlTeeedd9hqq62YPXt2x79NNtmE//znP7zwwgsMHjyYZZddlsMPP5zrrrtOQVqkgIEDB3LjjTdy4403cu211zJ+/HiuuuoqTj/99Dle+4UvfKGSbRY9V8eMGdPljtro0aMBePHFFwtva4011uDRRx/l2GOP5e67756jO3u9adOmNaxrPv/5z1dS11xwwQWssMIKjBo1it13350NNtiAE088sdvXz5gxg3HjxrHuuusyYsQIVlhhBaZMmcLTTz/d8Zp7772XrbfeutsL5rvvvpu11lqLESNGdPw9ABtuuCEPP/zwHMdp6tSpLY+TSJV051BEZB43cOBAfv3rX9PW1sawYcNYZpllup1MYeLEiZxwwgkceuihjBkzhkGDBjF9+nSOPPJI3n//fSBcbDa6sMy98sorAGy22WYNf//888+z3HLLccUVV3DyySd3dHtbb731OPvss1luueUS/2KR+dMCCyzAmDFjOh6vt956fPjhh5x88snsscceXWYYHTZsWCXb7NevX8Nz9YQTTugycc3AgQO7lFtooYUAOuqNIsaOHcvpp5/ORRddxKRJk1hsscXYbrvtOProoxkwYMAcr8/H/sXUNfX738h2223HXnvtRf/+/Vl++eVZfPHFu33tRx99xPbbb8/rr7/OD3/4Q1ZccUUGDBjAhAkTulyQtqo/X331VR566KE57hBDZ7ffRsdpl1124dBDD214nESq1OsXh2a2I3AcsDqwvrs/2M3rvgKcCSwAXOjuP5trOyki8jFWn1A2c8MNN7DVVlsxfvz4joTmqaee6vKaIUOGMHPmzG7fI09QL7744oYJ6siRIwEYNWoUEydO5MMPP+TPf/4zJ554Ittssw33338//fqp44pIEaNHj+aDDz7g2Wef7XJxWOVsmo3O1W9961s8+OCDlZ+rZoaZ0d7ezmWXXcZxxx3HJz7xCX784x/P8dr8TmV9XTN48GBef/31pnVNkf0fNmxY4brzn//8J9OnT+eyyy7rcrH67rvvdnldq/pz8ODBjBkzZo4JvgD69+/f8f/8OL3yyivceOONHH/88Sy00EINj5NIlT4O0flRYDvgru5eYGYLAOcAWwBrAN8wszXmzu6JiMw/3nvvvS4JCIQZCGttuummvP76690uRL3hhhuyyCKLMHPmTMaMGTPHv/rW94UWWohNN92UffbZhxdeeIE33nij2j9KZD6WTyq17LLLli670EILlbqzV3uuzpw5s0fP1WHDhrHbbruxwQYbzNFAlVt33XUb1jXrrrtuy7qm6v3PJ/2prT9nzJjBgw92vaex6aabcv311zecJCj//TPPPMPw4cPnqDvzMZO1llxySXbbbTc22WSTbo+TpHn+uee6/Pvg/fe7PO5rev3Oobv/DUILSRPrA39396ez1/4a+DrweI/voIjIfGTs2LFcdNFFnHfeeQwdOpSrr76aZ555Zo7XfP7zn+eAAw7goIMOYs011+Sll15i6tSpnHLKKQwePJhDDjmEY445hhkzZrDhhhvy0Ucf8fTTT3PfffcxadIkHn/8cU444QS23nprRowYwRtvvME555zD2muvrcW3Rbrx3//+l2nTpgHw4Ycf8sgjj3DmmWfy5S9/maWWWqr0+40aNYopU6Zw5513MmTIEJZffnmWWGKJLq/p7lxdY401Kj9XJ0yYwOuvv85GG23ESiutxL333svUqVM54ogjGr5+0KBBDeuamTNncuuttzata6re/1GjRrHccssxfvx4Dj30UN5++20mTJjAMsss0+V1Bx10EFtuuSXbb789++yzD0OGDOGxxx5jyJAhHHDAAeywww5ceuml7LDDDuy7776MGDGC1157jenTpzNs2DD22WefLsdpiSWW4NFHH+Xuu+/u9jiJVKnXLw4LGg78u+bxDGCDXtoXEZF51kEHHcQrr7zCcccdR3t7O1tssQXjx49n991373hNW1sbF154IaeeeioTJ07k1VdfZemll2abbbbpeM1+++3H0ksvzcSJE7ngggtYeOGFWXnllfna174GhMWlhw4dyllnncXMmTMZOHAgG2+88Rzrk4lIpzfffJOtt94aCHfBhg8fzm677ca4ceOi3m/cuHE899xz7Lvvvh0zf+60005dXtPduXrkkUcm/z31xowZw8SJE7nuuut4++23GT58OAcffDB77bVXt2Ua1TWjR49miy22mKv7v/DCC3PllVey//77893vfpdlllmGH/zgB/zpT3/qsmTQqFGjuOaaazjppJM49NBDgdA1+Ec/+hEAiyyyCFdddRUTJkzoGK+45JJL8ulPf7pjErBGx+noo4/uUk+L9JS29vb2Ht+Imf0RWKbBr4509+uy19wJ/LDRmMNsXOKX3X2v7PFuhPGJ32/w2n2AQ4HB7j602QxPCy64YJeFZcvorbK9uW39zfNG2d7ctv7meaNsb267J8tm3b2qG4g1H5rfY6TOqblXtje3PS+W7c1t62/u2bL9F16429990KJbd0+VrS9fJj7OlTuH7r554lvMAJavebwc8Hw327oAuCB72N5sSuOUNVB6q2xvblt/87xRtje3rb953ijbm9vuybIxY7L6mvk9Ruqcmntle3Pb82LZ3ty2/uaeLdss8rR6n54qW1++THycV7qVPgCsYmYrAc8BOwO79O4uiYiIiIhIX1Y7aU3qxfTHQa/PVmpm25rZDGAj4PdmdnP2/LJmdiOAu88GDgBuBv4WnvLHemufRURERERE5je9fufQ3a8Brmnw/PPAV2se3wjcOBd3TUREREREpM/o9TuHIiIiIiIi0vt0cSgiIiIiIiK6OBQRERERERFdHIqIiIiIiAi6OBQRERERERF0cSgiIiIiIiLo4lBERERERETQxaGIiIiIiIigi0MRERERERFBF4ciIiIiIiKCLg5FREREREQEXRyKiIiIiIgIujgUERERERERdHEoIiIiIiIi6OJQREREREREgAV7ewdERERERET6muefe67L46FDh/Lyyy/30t4EunMoIiIiIiIiujgUERERERERXRyKiIiIiIgIujgUERERERERdHEoIiIiIiIi6OJQRERERERE0MWhiIiIiIiIoItDERERERERQReHIiIiIiIigi4ORUREREREBF0cioiIiIiICLo4FBEREREREXRxKCIiIiIiIujiUERERERERNDFoYiIiIiIiKCLQxEREREREUEXhyIiIiIiIoIuDkVERERERARdHIqIiIiIiAiwYG/vgIiIiIiIiBT3/HPPdXk8dOhQXn755eT31Z1DERERERER0cWhiIiIiIiI6OJQRERERERE0MWhiIiIiIiIoItDERERERERQReHIiIiIiIigi4ORUREREREBF0cioiIiIiICLo4FBEREREREXRxKCIiIiIiIujiUERERERERNDFoYiIiIiIiKCLQxEREREREUEXhyIiIiIiIoIuDkVERERERARdHIqIiIiIiAi6OBQRERERERF0cSgiIiIiIiLo4lBERERERESAtvb29t7eh540X/9xIiIyh7be3oF5iGKkiEjfUSg+zu93Dtua/TOzaa1e83ErO6/ut/5mHS/9zR+fsvPqfhcsK8X19mc135SdV/dbf7OOl/7mj0/ZubDtQub3i0MREREREREpQBeHIiIiIiIi0ucvDi+YB8v25rb1N88bZXtz2/qb542yvbnt3vybpZx58XPWOTX3yvbmtufFsr25bf3N80bZ3t42wHw/IY2IiIiIiIgU0NfvHIqIiIiIiAh97OLQzFYq8pzIvELfXxEREZkfKE8vpqePyYI9+eYfQ78F1ql77jfAuq0Kmll9OYA3gGfdfXYF+zZfMbOtgBvd/aPe3pe5xcwGu/vrkWW3bvD0G8Cj7v5Kk6K/AdY1s9vc/Qsx2+4tZnYAcLm7v9ZL218bWJGaetDdry5RfjF3f7vkNncEbnL3WWZ2FKE++om7P1Sg7ARgsrs/VmabVTCzJRo8PcvdPyz5PkOA5d39kWr2TD6OeuNzjjkfe1NCnZ+63ZQ6KDrGpert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\n",
      "text/plain": [
       "<Figure size 1080x576 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sizedf = pd.read_csv('sizedf.csv', index_col=0)\n",
    "places = pd.read_csv('places.csv', index_col=0)\n",
    "fig, (ax1, ax2) = plt.subplots(ncols=2, nrows=1, figsize=(15,8), sharey=True)\n",
    "places['Names minus Places'].sort_values(ascending=False).plot(kind='bar', color='red', ax=ax1).set_title('People vs. Places', fontweight='bold'); ax1.axhline(0, color='k')\n",
    "locations = sizedf.loc[:, [\"Foreign Locations per 100 Words\", 'Domestic Locations per 100 Words']]\n",
    "sizedf['Names minus Places'] = places['Names minus Places'] \n",
    "locations['Foreign vs. Domestic Places'] = locations[\"Foreign Locations per 100 Words\"] - locations['Domestic Locations per 100 Words']\n",
    "locations = pd.read_csv('locations.csv', index_col=0)\n",
    "locations['Foreign vs. Domestic Places'].sort_values(ascending=False).plot(kind='bar', color='red', ax=ax2).set_title('Foreign Places vs. Domestic Places', fontweight='bold'); ax2.axhline(0, color='k')\n",
    "ax1.set(ylabel='Difference in mentions per 100 words')\n",
    "ax1.text(6, .8, 'People', fontsize=15)\n",
    "ax1.text(20, -1, 'Places', fontsize=15)\n",
    "ax2.text(.1, .6, 'Non-British Isles Places', fontsize=15)\n",
    "ax2.text(6, -1, 'British Isles Places', fontsize=15)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figures 7-13"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('Geo_Cult_counts.csv', index_col=[0,1])\n",
    "df['rank'] = df.groupby(\"rounded\")[\"article_id\"].rank(ascending=False)\n",
    "top = df[df['rank'] < 40]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def show_ranks(start,end,countries,title):\n",
    "\n",
    "    data = []\n",
    "\n",
    "    color_list = ['rgba'+str(tuple(h)) for h in plt.cm.tab20c(np.linspace(0, 1, len(countries)+3))]\n",
    "\n",
    "    n=3\n",
    "    for country in countries: \n",
    "\n",
    "        line_data = go.Scatter(\n",
    "                    y=-(top.xs(country, level='Country')['rank'][start:end+10]),\n",
    "                    x= top.xs(country, level='Country')['rank'][start:end+10].index,\n",
    "                    name = country,\n",
    "                    mode='lines',\n",
    "                    hoverinfo= 'name+x',\n",
    "                    line=dict(\n",
    "                    shape='spline',\n",
    "                    width = 8,\n",
    "                    color = color_list[n])\n",
    "                        )\n",
    "\n",
    "        data.append(line_data)\n",
    "        n=n+1\n",
    "    layout = go.Layout(\n",
    "        title=title.format(start,end),\n",
    "        xaxis=dict(title='Decade'),\n",
    "        yaxis=dict(\n",
    "            title='Rank',\n",
    "            tickmode='array',\n",
    "            tick0 = 1,\n",
    "            dtick = 1,\n",
    "\n",
    "            tickvals=[-k for k in range(1,50)],\n",
    "            ticktext = [str(k) for k in range(1,51)]\n",
    "                                    ),\n",
    "        width=1200, height=640\n",
    "            )\n",
    "\n",
    "    fig = go.Figure(data=data, layout=layout)\n",
    "    offline.iplot(fig, filename='basic-area')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "data": [
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.9921568627450981, 0.5529411764705883, 0.23529411764705882, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Netherlands",
         "type": "scatter",
         "uid": "b3044b4a-e4e8-11e8-ad46-985aeb8bb480",
         "x": [
          1460,
          1480,
          1490,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -8,
          -5.5,
          -6,
          -7.5,
          -9,
          -4,
          -6,
          -8,
          -5,
          -4,
          -3,
          -2,
          -2,
          -2,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -2,
          -1,
          -2,
          -3,
          -3,
          -5,
          -5,
          -4,
          -6,
          -7,
          -9,
          -8,
          -6,
          -8,
          -10,
          -13.5,
          -16,
          -22,
          -25,
          -21,
          -27,
          -26,
          -23,
          -24,
          -24,
          -22.5,
          -17.5,
          -18,
          -23.5,
          -22.5,
          -18.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.9921568627450981, 0.8156862745098039, 0.6352941176470588, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "France",
         "type": "scatter",
         "uid": "b3063a90-e4e8-11e8-8323-985aeb8bb480",
         "x": [
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -2,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -2,
          -2,
          -1,
          -1,
          -1,
          -2,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2.5,
          -2
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.4549019607843137, 0.7686274509803922, 0.4627450980392157, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "England",
         "type": "scatter",
         "uid": "b3065110-e4e8-11e8-a575-985aeb8bb480",
         "x": [
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -1,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2.5,
          -2,
          -4,
          -4,
          -6.5,
          -6,
          -7,
          -6,
          -5,
          -6,
          -7,
          -4,
          -6,
          -5,
          -4,
          -5,
          -6,
          -6,
          -6,
          -4,
          -5,
          -5,
          -5,
          -4,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -1,
          -3,
          -3,
          -6,
          -5,
          -5,
          -6,
          -8,
          -9,
          -9,
          -22.5,
          -4.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.6313725490196078, 0.8509803921568627, 0.6078431372549019, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Ireland",
         "type": "scatter",
         "uid": "b3065250-e4e8-11e8-9bb6-985aeb8bb480",
         "x": [
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -5.5,
          -5,
          -5.5,
          -9,
          -3.5,
          -5,
          -8,
          -7,
          -7.5,
          -7,
          -8,
          -5.5,
          -6,
          -6,
          -7,
          -3,
          -5,
          -3,
          -3,
          -3,
          -3,
          -3,
          -3,
          -3,
          -3,
          -2,
          -2,
          -3,
          -4,
          -2,
          -3,
          -3,
          -2,
          -2,
          -2,
          -3,
          -3.5,
          -4,
          -4,
          -4,
          -5.5,
          -3,
          -7,
          -7,
          -8,
          -9,
          -11,
          -12,
          -13,
          -19.5,
          -17,
          -17,
          -13,
          -9.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.4588235294117647, 0.4196078431372549, 0.6941176470588235, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Scotland",
         "type": "scatter",
         "uid": "b3065386-e4e8-11e8-8cd9-985aeb8bb480",
         "x": [
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -3,
          -3,
          -3,
          -4,
          -3.5,
          -4,
          -3,
          -3,
          -3,
          -3,
          -3,
          -2.5,
          -4,
          -5,
          -6,
          -5,
          -3,
          -4,
          -4,
          -4,
          -4,
          -4,
          -5,
          -4,
          -4,
          -7,
          -4,
          -2,
          -2,
          -3,
          -2,
          -2,
          -3,
          -3,
          -3,
          -4,
          -3.5,
          -3,
          -3,
          -3,
          -3,
          -5,
          -4,
          -4,
          -6,
          -5,
          -6,
          -6,
          -5,
          -5,
          -5.5,
          -6,
          -4,
          -4.5,
          -4
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.7372549019607844, 0.7411764705882353, 0.8627450980392157, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Wales",
         "type": "scatter",
         "uid": "b306549e-e4e8-11e8-9afd-985aeb8bb480",
         "x": [
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -5.5,
          -6,
          -7,
          -5,
          -6.5,
          -7.5,
          -6.5,
          -9.5,
          -7.5,
          -9.5,
          -10,
          -9,
          -10,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -10,
          -11,
          -11,
          -9,
          -10.5,
          -9,
          -8,
          -13,
          -10.5,
          -10,
          -10,
          -12,
          -13,
          -14,
          -13.5,
          -10,
          -11,
          -13,
          -13,
          -14,
          -14,
          -14,
          -18.5,
          -15,
          -16,
          -15,
          -12.5,
          -12,
          -7.5,
          -7.5,
          -8
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.38823529411764707, 0.38823529411764707, 0.38823529411764707, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "India",
         "type": "scatter",
         "uid": "b30655de-e4e8-11e8-8e24-985aeb8bb480",
         "x": [
          1570,
          1610,
          1620,
          1630,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -15,
          -15.5,
          -14,
          -13,
          -19.5,
          -15,
          -13.5,
          -11,
          -16.5,
          -16,
          -15.5,
          -19.5,
          -10,
          -10,
          -8,
          -8,
          -6,
          -7,
          -7,
          -9,
          -6,
          -6,
          -6,
          -7,
          -6,
          -6,
          -5.5,
          -5,
          -4,
          -4,
          -4,
          -7,
          -6,
          -5.5,
          -10,
          -11.5,
          -14.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.7411764705882353, 0.7411764705882353, 0.7411764705882353, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Spain",
         "type": "scatter",
         "uid": "b306575a-e4e8-11e8-8558-985aeb8bb480",
         "x": [
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -7,
          -8,
          -7.5,
          -6.5,
          -6,
          -6.5,
          -9.5,
          -9,
          -9.5,
          -7,
          -7,
          -7,
          -7,
          -5,
          -4,
          -7,
          -5,
          -8,
          -8,
          -7,
          -8,
          -8,
          -8,
          -8,
          -8,
          -8,
          -8,
          -8,
          -9,
          -9,
          -10.5,
          -12,
          -12,
          -8,
          -5,
          -5,
          -7,
          -12,
          -16.5,
          -14,
          -20,
          -21,
          -22,
          -18,
          -23,
          -25,
          -21,
          -17.5,
          -14,
          -15,
          -16,
          -20.5,
          -12
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.8509803921568627, 0.8509803921568627, 0.8509803921568627, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Germany",
         "type": "scatter",
         "uid": "b306584a-e4e8-11e8-ae74-985aeb8bb480",
         "x": [
          1460,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -7,
          -7.5,
          -8,
          -9,
          -5,
          -5,
          -4,
          -4,
          -4,
          -8,
          -8,
          -8,
          -8,
          -8,
          -8,
          -8,
          -7,
          -6,
          -8,
          -6,
          -7,
          -7,
          -6,
          -6,
          -7,
          -7,
          -7,
          -7,
          -7,
          -6,
          -6,
          -9,
          -9,
          -10,
          -8,
          -9,
          -7,
          -8,
          -8,
          -7,
          -5,
          -5.5,
          -4,
          -3,
          -3,
          -3,
          -3,
          -3,
          -4,
          -5,
          -3,
          -2.5
         ]
        }
       ],
       "layout": {
        "height": 640,
        "title": "Rank of Selected Countries in ODNB Country Associations, 1460-2000",
        "width": 1200,
        "xaxis": {
         "title": "Decade"
        },
        "yaxis": {
         "dtick": 1,
         "tick0": 1,
         "tickmode": "array",
         "ticktext": [
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7",
          "8",
          "9",
          "10",
          "11",
          "12",
          "13",
          "14",
          "15",
          "16",
          "17",
          "18",
          "19",
          "20",
          "21",
          "22",
          "23",
          "24",
          "25",
          "26",
          "27",
          "28",
          "29",
          "30",
          "31",
          "32",
          "33",
          "34",
          "35",
          "36",
          "37",
          "38",
          "39",
          "40",
          "41",
          "42",
          "43",
          "44",
          "45",
          "46",
          "47",
          "48",
          "49",
          "50"
         ],
         "tickvals": [
          -1,
          -2,
          -3,
          -4,
          -5,
          -6,
          -7,
          -8,
          -9,
          -10,
          -11,
          -12,
          -13,
          -14,
          -15,
          -16,
          -17,
          -18,
          -19,
          -20,
          -21,
          -22,
          -23,
          -24,
          -25,
          -26,
          -27,
          -28,
          -29,
          -30,
          -31,
          -32,
          -33,
          -34,
          -35,
          -36,
          -37,
          -38,
          -39,
          -40,
          -41,
          -42,
          -43,
          -44,
          -45,
          -46,
          -47,
          -48,
          -49
         ],
         "title": "Rank"
        }
       }
      },
      "text/html": [
       "<div id=\"ccc4a3c4-5449-4bcd-a92f-8a0a7e745234\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"ccc4a3c4-5449-4bcd-a92f-8a0a7e745234\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.9921568627450981, 0.5529411764705883, 0.23529411764705882, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Netherlands\", \"x\": [1460.0, 1480.0, 1490.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-8.0, -5.5, -6.0, -7.5, -9.0, -4.0, -6.0, -8.0, -5.0, -4.0, -3.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -1.0, -2.0, -3.0, -3.0, -5.0, -5.0, -4.0, -6.0, -7.0, -9.0, -8.0, -6.0, -8.0, -10.0, -13.5, -16.0, -22.0, -25.0, -21.0, -27.0, -26.0, -23.0, -24.0, -24.0, -22.5, -17.5, -18.0, -23.5, -22.5, -18.5], \"type\": \"scatter\", \"uid\": \"b3044b4a-e4e8-11e8-ad46-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.9921568627450981, 0.8156862745098039, 0.6352941176470588, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"France\", \"x\": [1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b3063a90-e4e8-11e8-8323-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.4549019607843137, 0.7686274509803922, 0.4627450980392157, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"England\", \"x\": [1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0, -4.0, -4.0, -6.5, -6.0, -7.0, -6.0, -5.0, -6.0, -7.0, -4.0, -6.0, -5.0, -4.0, -5.0, -6.0, -6.0, -6.0, -4.0, -5.0, -5.0, -5.0, -4.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0, -6.0, -8.0, -9.0, -9.0, -22.5, -4.5], \"type\": \"scatter\", \"uid\": \"b3065110-e4e8-11e8-a575-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.6313725490196078, 0.8509803921568627, 0.6078431372549019, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Ireland\", \"x\": [1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.5, -5.0, -5.5, -9.0, -3.5, -5.0, -8.0, -7.0, -7.5, -7.0, -8.0, -5.5, -6.0, -6.0, -7.0, -3.0, -5.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.0, -2.0, -3.0, -4.0, -2.0, -3.0, -3.0, -2.0, -2.0, -2.0, -3.0, -3.5, -4.0, -4.0, -4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0, -13.0, -19.5, -17.0, -17.0, -13.0, -9.5], \"type\": \"scatter\", \"uid\": \"b3065250-e4e8-11e8-9bb6-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.4588235294117647, 0.4196078431372549, 0.6941176470588235, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Scotland\", \"x\": [1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-3.0, -3.0, -3.0, -4.0, -3.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.5, -4.0, -5.0, -6.0, -5.0, -3.0, -4.0, -4.0, -4.0, -4.0, -4.0, -5.0, -4.0, -4.0, -7.0, -4.0, -2.0, -2.0, -3.0, -2.0, -2.0, -3.0, -3.0, -3.0, -4.0, -3.5, -3.0, -3.0, -3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.5, -6.0, -4.0, -4.5, -4.0], \"type\": \"scatter\", \"uid\": \"b3065386-e4e8-11e8-8cd9-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.7372549019607844, 0.7411764705882353, 0.8627450980392157, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Wales\", \"x\": [1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.5, -6.0, -7.0, -5.0, -6.5, -7.5, -6.5, -9.5, -7.5, -9.5, -10.0, -9.0, -10.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -10.0, -11.0, -11.0, -9.0, -10.5, -9.0, -8.0, -13.0, -10.5, -10.0, -10.0, -12.0, -13.0, -14.0, -13.5, -10.0, -11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0, -15.0, -12.5, -12.0, -7.5, -7.5, -8.0], \"type\": \"scatter\", \"uid\": \"b306549e-e4e8-11e8-9afd-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.38823529411764707, 0.38823529411764707, 0.38823529411764707, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"India\", \"x\": [1570.0, 1610.0, 1620.0, 1630.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-15.0, -15.5, -14.0, -13.0, -19.5, -15.0, -13.5, -11.0, -16.5, -16.0, -15.5, -19.5, -10.0, -10.0, -8.0, -8.0, -6.0, -7.0, -7.0, -9.0, -6.0, -6.0, -6.0, -7.0, -6.0, -6.0, -5.5, -5.0, -4.0, -4.0, -4.0, -7.0, -6.0, -5.5, -10.0, -11.5, -14.5], \"type\": \"scatter\", \"uid\": \"b30655de-e4e8-11e8-8e24-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.7411764705882353, 0.7411764705882353, 0.7411764705882353, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Spain\", \"x\": [1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-7.0, -8.0, -7.5, -6.5, -6.0, -6.5, -9.5, -9.0, -9.5, -7.0, -7.0, -7.0, -7.0, -5.0, -4.0, -7.0, -5.0, -8.0, -8.0, -7.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -9.0, -9.0, -10.5, -12.0, -12.0, -8.0, -5.0, -5.0, -7.0, -12.0, -16.5, -14.0, -20.0, -21.0, -22.0, -18.0, -23.0, -25.0, -21.0, -17.5, -14.0, -15.0, -16.0, -20.5, -12.0], \"type\": \"scatter\", \"uid\": \"b306575a-e4e8-11e8-8558-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.8509803921568627, 0.8509803921568627, 0.8509803921568627, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Germany\", \"x\": [1460.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-7.0, -7.5, -8.0, -9.0, -5.0, -5.0, -4.0, -4.0, -4.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -7.0, -6.0, -8.0, -6.0, -7.0, -7.0, -6.0, -6.0, -7.0, -7.0, -7.0, -7.0, -7.0, -6.0, -6.0, -9.0, -9.0, -10.0, -8.0, -9.0, -7.0, -8.0, -8.0, -7.0, -5.0, -5.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -4.0, -5.0, -3.0, -2.5], \"type\": \"scatter\", \"uid\": \"b306584a-e4e8-11e8-ae74-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Rank of Selected Countries in ODNB Country Associations, 1460-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\", \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\", \"50\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38, -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<div id=\"ccc4a3c4-5449-4bcd-a92f-8a0a7e745234\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"ccc4a3c4-5449-4bcd-a92f-8a0a7e745234\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.9921568627450981, 0.5529411764705883, 0.23529411764705882, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Netherlands\", \"x\": [1460.0, 1480.0, 1490.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-8.0, -5.5, -6.0, -7.5, -9.0, -4.0, -6.0, -8.0, -5.0, -4.0, -3.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -1.0, -2.0, -3.0, -3.0, -5.0, -5.0, -4.0, -6.0, -7.0, -9.0, -8.0, -6.0, -8.0, -10.0, -13.5, -16.0, -22.0, -25.0, -21.0, -27.0, -26.0, -23.0, -24.0, -24.0, -22.5, -17.5, -18.0, -23.5, -22.5, -18.5], \"type\": \"scatter\", \"uid\": \"b3044b4a-e4e8-11e8-ad46-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.9921568627450981, 0.8156862745098039, 0.6352941176470588, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"France\", \"x\": [1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b3063a90-e4e8-11e8-8323-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.4549019607843137, 0.7686274509803922, 0.4627450980392157, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"England\", \"x\": [1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0, -4.0, -4.0, -6.5, -6.0, -7.0, -6.0, -5.0, -6.0, -7.0, -4.0, -6.0, -5.0, -4.0, -5.0, -6.0, -6.0, -6.0, -4.0, -5.0, -5.0, -5.0, -4.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0, -6.0, -8.0, -9.0, -9.0, -22.5, -4.5], \"type\": \"scatter\", \"uid\": \"b3065110-e4e8-11e8-a575-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.6313725490196078, 0.8509803921568627, 0.6078431372549019, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Ireland\", \"x\": [1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.5, -5.0, -5.5, -9.0, -3.5, -5.0, -8.0, -7.0, -7.5, -7.0, -8.0, -5.5, -6.0, -6.0, -7.0, -3.0, -5.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.0, -2.0, -3.0, -4.0, -2.0, -3.0, -3.0, -2.0, -2.0, -2.0, -3.0, -3.5, -4.0, -4.0, -4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0, -13.0, -19.5, -17.0, -17.0, -13.0, -9.5], \"type\": \"scatter\", \"uid\": \"b3065250-e4e8-11e8-9bb6-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.4588235294117647, 0.4196078431372549, 0.6941176470588235, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Scotland\", \"x\": [1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-3.0, -3.0, -3.0, -4.0, -3.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.5, -4.0, -5.0, -6.0, -5.0, -3.0, -4.0, -4.0, -4.0, -4.0, -4.0, -5.0, -4.0, -4.0, -7.0, -4.0, -2.0, -2.0, -3.0, -2.0, -2.0, -3.0, -3.0, -3.0, -4.0, -3.5, -3.0, -3.0, -3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.5, -6.0, -4.0, -4.5, -4.0], \"type\": \"scatter\", \"uid\": \"b3065386-e4e8-11e8-8cd9-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.7372549019607844, 0.7411764705882353, 0.8627450980392157, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Wales\", \"x\": [1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.5, -6.0, -7.0, -5.0, -6.5, -7.5, -6.5, -9.5, -7.5, -9.5, -10.0, -9.0, -10.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -10.0, -11.0, -11.0, -9.0, -10.5, -9.0, -8.0, -13.0, -10.5, -10.0, -10.0, -12.0, -13.0, -14.0, -13.5, -10.0, -11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0, -15.0, -12.5, -12.0, -7.5, -7.5, -8.0], \"type\": \"scatter\", \"uid\": \"b306549e-e4e8-11e8-9afd-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.38823529411764707, 0.38823529411764707, 0.38823529411764707, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"India\", \"x\": [1570.0, 1610.0, 1620.0, 1630.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-15.0, -15.5, -14.0, -13.0, -19.5, -15.0, -13.5, -11.0, -16.5, -16.0, -15.5, -19.5, -10.0, -10.0, -8.0, -8.0, -6.0, -7.0, -7.0, -9.0, -6.0, -6.0, -6.0, -7.0, -6.0, -6.0, -5.5, -5.0, -4.0, -4.0, -4.0, -7.0, -6.0, -5.5, -10.0, -11.5, -14.5], \"type\": \"scatter\", \"uid\": \"b30655de-e4e8-11e8-8e24-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.7411764705882353, 0.7411764705882353, 0.7411764705882353, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Spain\", \"x\": [1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-7.0, -8.0, -7.5, -6.5, -6.0, -6.5, -9.5, -9.0, -9.5, -7.0, -7.0, -7.0, -7.0, -5.0, -4.0, -7.0, -5.0, -8.0, -8.0, -7.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -9.0, -9.0, -10.5, -12.0, -12.0, -8.0, -5.0, -5.0, -7.0, -12.0, -16.5, -14.0, -20.0, -21.0, -22.0, -18.0, -23.0, -25.0, -21.0, -17.5, -14.0, -15.0, -16.0, -20.5, -12.0], \"type\": \"scatter\", \"uid\": \"b306575a-e4e8-11e8-8558-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.8509803921568627, 0.8509803921568627, 0.8509803921568627, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Germany\", \"x\": [1460.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-7.0, -7.5, -8.0, -9.0, -5.0, -5.0, -4.0, -4.0, -4.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -7.0, -6.0, -8.0, -6.0, -7.0, -7.0, -6.0, -6.0, -7.0, -7.0, -7.0, -7.0, -7.0, -6.0, -6.0, -9.0, -9.0, -10.0, -8.0, -9.0, -7.0, -8.0, -8.0, -7.0, -5.0, -5.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -4.0, -5.0, -3.0, -2.5], \"type\": \"scatter\", \"uid\": \"b306584a-e4e8-11e8-ae74-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Rank of Selected Countries in ODNB Country Associations, 1460-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\", \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\", \"50\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38, -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "countries = ['Netherlands', 'France', 'England', 'Ireland', 'Scotland', 'Wales', 'India','Spain', 'Germany']\n",
    "show_ranks(1460,2000,countries,'Rank of Selected Countries in ODNB Country Associations, {}-{}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "data": [
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.19215686274509805, 0.6392156862745098, 0.32941176470588235, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "England",
         "type": "scatter",
         "uid": "b3164a34-e4e8-11e8-bbc7-985aeb8bb480",
         "x": [
          1400,
          1410,
          1420,
          1430,
          1440,
          1450,
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -2,
          -2,
          -1,
          -2,
          -2,
          -2,
          -1,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2.5,
          -2,
          -4,
          -4,
          -6.5,
          -6,
          -7,
          -6,
          -5,
          -6,
          -7,
          -4,
          -6,
          -5,
          -4,
          -5,
          -6,
          -6,
          -6,
          -4,
          -5,
          -5,
          -5,
          -4,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -1,
          -3,
          -3,
          -6,
          -5,
          -5,
          -6,
          -8,
          -9,
          -9,
          -22.5,
          -4.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.7803921568627451, 0.9137254901960784, 0.7529411764705882, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Ireland",
         "type": "scatter",
         "uid": "b3164c00-e4e8-11e8-a1c1-985aeb8bb480",
         "x": [
          1400,
          1410,
          1420,
          1430,
          1440,
          1450,
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -4,
          -4.5,
          -3,
          -5,
          -4.5,
          -5,
          -5.5,
          -5,
          -5.5,
          -9,
          -3.5,
          -5,
          -8,
          -7,
          -7.5,
          -7,
          -8,
          -5.5,
          -6,
          -6,
          -7,
          -3,
          -5,
          -3,
          -3,
          -3,
          -3,
          -3,
          -3,
          -3,
          -3,
          -2,
          -2,
          -3,
          -4,
          -2,
          -3,
          -3,
          -2,
          -2,
          -2,
          -3,
          -3.5,
          -4,
          -4,
          -4,
          -5.5,
          -3,
          -7,
          -7,
          -8,
          -9,
          -11,
          -12,
          -13,
          -19.5,
          -17,
          -17,
          -13,
          -9.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.7372549019607844, 0.7411764705882353, 0.8627450980392157, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Scotland",
         "type": "scatter",
         "uid": "b3164cdc-e4e8-11e8-89b0-985aeb8bb480",
         "x": [
          1400,
          1410,
          1420,
          1430,
          1440,
          1450,
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -3,
          -3,
          -6,
          -3.5,
          -3,
          -3,
          -3,
          -3,
          -3,
          -4,
          -3.5,
          -4,
          -3,
          -3,
          -3,
          -3,
          -3,
          -2.5,
          -4,
          -5,
          -6,
          -5,
          -3,
          -4,
          -4,
          -4,
          -4,
          -4,
          -5,
          -4,
          -4,
          -7,
          -4,
          -2,
          -2,
          -3,
          -2,
          -2,
          -3,
          -3,
          -3,
          -4,
          -3.5,
          -3,
          -3,
          -3,
          -3,
          -5,
          -4,
          -4,
          -6,
          -5,
          -6,
          -6,
          -5,
          -5,
          -5.5,
          -6,
          -4,
          -4.5,
          -4
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.5882352941176471, 0.5882352941176471, 0.5882352941176471, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Wales",
         "type": "scatter",
         "uid": "b3164d9a-e4e8-11e8-8c7b-985aeb8bb480",
         "x": [
          1400,
          1410,
          1420,
          1430,
          1440,
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -5,
          -6,
          -4.5,
          -6,
          -6,
          -5.5,
          -6,
          -7,
          -5,
          -6.5,
          -7.5,
          -6.5,
          -9.5,
          -7.5,
          -9.5,
          -10,
          -9,
          -10,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -10,
          -11,
          -11,
          -9,
          -10.5,
          -9,
          -8,
          -13,
          -10.5,
          -10,
          -10,
          -12,
          -13,
          -14,
          -13.5,
          -10,
          -11,
          -13,
          -13,
          -14,
          -14,
          -14,
          -18.5,
          -15,
          -16,
          -15,
          -12.5,
          -12,
          -7.5,
          -7.5,
          -8
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.8509803921568627, 0.8509803921568627, 0.8509803921568627, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "France",
         "type": "scatter",
         "uid": "b3164e4c-e4e8-11e8-a990-985aeb8bb480",
         "x": [
          1400,
          1410,
          1420,
          1430,
          1440,
          1450,
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -1,
          -1,
          -2,
          -1,
          -1,
          -1,
          -2,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -2,
          -2,
          -1,
          -1,
          -1,
          -2,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2.5,
          -2
         ]
        }
       ],
       "layout": {
        "height": 640,
        "title": "Rank of Countries in British Isles among ODNB Country Associations, 1400-2000",
        "width": 1200,
        "xaxis": {
         "title": "Decade"
        },
        "yaxis": {
         "dtick": 1,
         "tick0": 1,
         "tickmode": "array",
         "ticktext": [
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7",
          "8",
          "9",
          "10",
          "11",
          "12",
          "13",
          "14",
          "15",
          "16",
          "17",
          "18",
          "19",
          "20",
          "21",
          "22",
          "23",
          "24",
          "25",
          "26",
          "27",
          "28",
          "29",
          "30",
          "31",
          "32",
          "33",
          "34",
          "35",
          "36",
          "37",
          "38",
          "39",
          "40",
          "41",
          "42",
          "43",
          "44",
          "45",
          "46",
          "47",
          "48",
          "49",
          "50"
         ],
         "tickvals": [
          -1,
          -2,
          -3,
          -4,
          -5,
          -6,
          -7,
          -8,
          -9,
          -10,
          -11,
          -12,
          -13,
          -14,
          -15,
          -16,
          -17,
          -18,
          -19,
          -20,
          -21,
          -22,
          -23,
          -24,
          -25,
          -26,
          -27,
          -28,
          -29,
          -30,
          -31,
          -32,
          -33,
          -34,
          -35,
          -36,
          -37,
          -38,
          -39,
          -40,
          -41,
          -42,
          -43,
          -44,
          -45,
          -46,
          -47,
          -48,
          -49
         ],
         "title": "Rank"
        }
       }
      },
      "text/html": [
       "<div id=\"04d6346f-d45c-44db-a09a-752979db8b19\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"04d6346f-d45c-44db-a09a-752979db8b19\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.19215686274509805, 0.6392156862745098, 0.32941176470588235, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"England\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-2.0, -2.0, -1.0, -2.0, -2.0, -2.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0, -4.0, -4.0, -6.5, -6.0, -7.0, -6.0, -5.0, -6.0, -7.0, -4.0, -6.0, -5.0, -4.0, -5.0, -6.0, -6.0, -6.0, -4.0, -5.0, -5.0, -5.0, -4.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0, -6.0, -8.0, -9.0, -9.0, -22.5, -4.5], \"type\": \"scatter\", \"uid\": \"b3164a34-e4e8-11e8-bbc7-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.7803921568627451, 0.9137254901960784, 0.7529411764705882, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Ireland\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-4.0, -4.5, -3.0, -5.0, -4.5, -5.0, -5.5, -5.0, -5.5, -9.0, -3.5, -5.0, -8.0, -7.0, -7.5, -7.0, -8.0, -5.5, -6.0, -6.0, -7.0, -3.0, -5.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.0, -2.0, -3.0, -4.0, -2.0, -3.0, -3.0, -2.0, -2.0, -2.0, -3.0, -3.5, -4.0, -4.0, -4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0, -13.0, -19.5, -17.0, -17.0, -13.0, -9.5], \"type\": \"scatter\", \"uid\": \"b3164c00-e4e8-11e8-a1c1-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.7372549019607844, 0.7411764705882353, 0.8627450980392157, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Scotland\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-3.0, -3.0, -6.0, -3.5, -3.0, -3.0, -3.0, -3.0, -3.0, -4.0, -3.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.5, -4.0, -5.0, -6.0, -5.0, -3.0, -4.0, -4.0, -4.0, -4.0, -4.0, -5.0, -4.0, -4.0, -7.0, -4.0, -2.0, -2.0, -3.0, -2.0, -2.0, -3.0, -3.0, -3.0, -4.0, -3.5, -3.0, -3.0, -3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.5, -6.0, -4.0, -4.5, -4.0], \"type\": \"scatter\", \"uid\": \"b3164cdc-e4e8-11e8-89b0-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.5882352941176471, 0.5882352941176471, 0.5882352941176471, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Wales\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.0, -6.0, -4.5, -6.0, -6.0, -5.5, -6.0, -7.0, -5.0, -6.5, -7.5, -6.5, -9.5, -7.5, -9.5, -10.0, -9.0, -10.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -10.0, -11.0, -11.0, -9.0, -10.5, -9.0, -8.0, -13.0, -10.5, -10.0, -10.0, -12.0, -13.0, -14.0, -13.5, -10.0, -11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0, -15.0, -12.5, -12.0, -7.5, -7.5, -8.0], \"type\": \"scatter\", \"uid\": \"b3164d9a-e4e8-11e8-8c7b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.8509803921568627, 0.8509803921568627, 0.8509803921568627, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"France\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b3164e4c-e4e8-11e8-a990-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Rank of Countries in British Isles among ODNB Country Associations, 1400-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\", \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\", \"50\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38, -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<div id=\"04d6346f-d45c-44db-a09a-752979db8b19\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"04d6346f-d45c-44db-a09a-752979db8b19\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.19215686274509805, 0.6392156862745098, 0.32941176470588235, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"England\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-2.0, -2.0, -1.0, -2.0, -2.0, -2.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0, -4.0, -4.0, -6.5, -6.0, -7.0, -6.0, -5.0, -6.0, -7.0, -4.0, -6.0, -5.0, -4.0, -5.0, -6.0, -6.0, -6.0, -4.0, -5.0, -5.0, -5.0, -4.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0, -6.0, -8.0, -9.0, -9.0, -22.5, -4.5], \"type\": \"scatter\", \"uid\": \"b3164a34-e4e8-11e8-bbc7-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.7803921568627451, 0.9137254901960784, 0.7529411764705882, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Ireland\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-4.0, -4.5, -3.0, -5.0, -4.5, -5.0, -5.5, -5.0, -5.5, -9.0, -3.5, -5.0, -8.0, -7.0, -7.5, -7.0, -8.0, -5.5, -6.0, -6.0, -7.0, -3.0, -5.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.0, -2.0, -3.0, -4.0, -2.0, -3.0, -3.0, -2.0, -2.0, -2.0, -3.0, -3.5, -4.0, -4.0, -4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0, -13.0, -19.5, -17.0, -17.0, -13.0, -9.5], \"type\": \"scatter\", \"uid\": \"b3164c00-e4e8-11e8-a1c1-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.7372549019607844, 0.7411764705882353, 0.8627450980392157, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Scotland\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-3.0, -3.0, -6.0, -3.5, -3.0, -3.0, -3.0, -3.0, -3.0, -4.0, -3.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.5, -4.0, -5.0, -6.0, -5.0, -3.0, -4.0, -4.0, -4.0, -4.0, -4.0, -5.0, -4.0, -4.0, -7.0, -4.0, -2.0, -2.0, -3.0, -2.0, -2.0, -3.0, -3.0, -3.0, -4.0, -3.5, -3.0, -3.0, -3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.5, -6.0, -4.0, -4.5, -4.0], \"type\": \"scatter\", \"uid\": \"b3164cdc-e4e8-11e8-89b0-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.5882352941176471, 0.5882352941176471, 0.5882352941176471, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Wales\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.0, -6.0, -4.5, -6.0, -6.0, -5.5, -6.0, -7.0, -5.0, -6.5, -7.5, -6.5, -9.5, -7.5, -9.5, -10.0, -9.0, -10.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -10.0, -11.0, -11.0, -9.0, -10.5, -9.0, -8.0, -13.0, -10.5, -10.0, -10.0, -12.0, -13.0, -14.0, -13.5, -10.0, -11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0, -15.0, -12.5, -12.0, -7.5, -7.5, -8.0], \"type\": \"scatter\", \"uid\": \"b3164d9a-e4e8-11e8-8c7b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.8509803921568627, 0.8509803921568627, 0.8509803921568627, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"France\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b3164e4c-e4e8-11e8-a990-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Rank of Countries in British Isles among ODNB Country Associations, 1400-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\", \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\", \"50\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38, -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "countries = ['England', 'Ireland', 'Scotland', 'Wales', 'France']\n",
    "show_ranks(1400,2000,countries,'Rank of Countries in British Isles among ODNB Country Associations, {}-{}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "data": [
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.9019607843137255, 0.3333333333333333, 0.050980392156862744, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "South Africa",
         "type": "scatter",
         "uid": "b32dc774-e4e8-11e8-9696-985aeb8bb480",
         "x": [
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -25,
          -30.5,
          -24,
          -29,
          -22,
          -22,
          -24.5,
          -23,
          -20.5,
          -16,
          -11,
          -9,
          -7,
          -7,
          -8,
          -13,
          -11,
          -16,
          -10,
          -11,
          -7.5,
          -17
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.9921568627450981, 0.5529411764705883, 0.23529411764705882, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "India",
         "type": "scatter",
         "uid": "b32dc91e-e4e8-11e8-b0aa-985aeb8bb480",
         "x": [
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -8,
          -6,
          -7,
          -7,
          -9,
          -6,
          -6,
          -6,
          -7,
          -6,
          -6,
          -5.5,
          -5,
          -4,
          -4,
          -4,
          -7,
          -6,
          -5.5,
          -10,
          -11.5,
          -14.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.9921568627450981, 0.6823529411764706, 0.4196078431372549, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Kenya",
         "type": "scatter",
         "uid": "b32dc9f4-e4e8-11e8-a1bb-985aeb8bb480",
         "x": [
          1910,
          1920,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -35,
          -36,
          -30.5,
          -32,
          -30,
          -35,
          -33
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.19215686274509805, 0.6392156862745098, 0.32941176470588235, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Zimbabwe",
         "type": "scatter",
         "uid": "b32dca9c-e4e8-11e8-ac4e-985aeb8bb480",
         "x": [
          1890,
          1900,
          1910,
          1920,
          1930,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -33,
          -36.5,
          -29.5,
          -36,
          -38.5,
          -29,
          -25.5,
          -29.5,
          -26,
          -17
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.4549019607843137, 0.7686274509803922, 0.4627450980392157, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Egypt",
         "type": "scatter",
         "uid": "b32dcb3a-e4e8-11e8-8abe-985aeb8bb480",
         "x": [
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -27.5,
          -23.5,
          -17.5,
          -12,
          -12,
          -19,
          -19,
          -15,
          -11,
          -12,
          -10,
          -12,
          -13,
          -13,
          -12,
          -11,
          -10,
          -10,
          -11,
          -15,
          -33
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.6313725490196078, 0.8509803921568627, 0.6078431372549019, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Argentina",
         "type": "scatter",
         "uid": "b32dcbdc-e4e8-11e8-bfb3-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1860,
          1870,
          1880,
          1900,
          1910,
          1980
         ],
         "y": [
          -37,
          -35.5,
          -32,
          -36,
          -38.5,
          -39,
          -30,
          -32,
          -39,
          -33
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.4588235294117647, 0.4196078431372549, 0.6941176470588235, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Brazil",
         "type": "scatter",
         "uid": "b32dcc7a-e4e8-11e8-82b8-985aeb8bb480",
         "x": [
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1910,
          1980
         ],
         "y": [
          -37.5,
          -31,
          -26.5,
          -30,
          -30,
          -36.5,
          -37.5,
          -33
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.6196078431372549, 0.6039215686274509, 0.7843137254901961, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Nigeria",
         "type": "scatter",
         "uid": "b32dcd1c-e4e8-11e8-938b-985aeb8bb480",
         "x": [
          1930,
          1940,
          1950,
          1960,
          1970
         ],
         "y": [
          -35,
          -34.5,
          -34,
          -31.5,
          -35
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.7372549019607844, 0.7411764705882353, 0.8627450980392157, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Canada",
         "type": "scatter",
         "uid": "b32dcdb4-e4e8-11e8-835a-985aeb8bb480",
         "x": [
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -11,
          -15,
          -13,
          -15,
          -13,
          -11,
          -9,
          -10,
          -9,
          -11,
          -9,
          -10,
          -11,
          -8,
          -9,
          -8,
          -9,
          -9,
          -8,
          -7.5,
          -10,
          -14.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.38823529411764707, 0.38823529411764707, 0.38823529411764707, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Australia",
         "type": "scatter",
         "uid": "b32dce48-e4e8-11e8-95ac-985aeb8bb480",
         "x": [
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -31,
          -32,
          -20,
          -25.5,
          -28,
          -16,
          -11,
          -9,
          -10,
          -9,
          -12,
          -11,
          -10,
          -11,
          -10,
          -9,
          -8,
          -7,
          -7,
          -3.5,
          -6,
          -6.5,
          -3
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.5882352941176471, 0.5882352941176471, 0.5882352941176471, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "United States",
         "type": "scatter",
         "uid": "b32dcee8-e4e8-11e8-ae0b-985aeb8bb480",
         "x": [
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -7,
          -7,
          -10,
          -11,
          -11,
          -8,
          -8,
          -7,
          -4,
          -4,
          -3,
          -1,
          -2,
          -2,
          -2,
          -2,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.7411764705882353, 0.7411764705882353, 0.7411764705882353, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "China",
         "type": "scatter",
         "uid": "b32dcf74-e4e8-11e8-806c-985aeb8bb480",
         "x": [
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -20,
          -26.5,
          -28,
          -24,
          -25,
          -20,
          -21.5,
          -21,
          -20.5,
          -15,
          -16,
          -17.5,
          -17,
          -18.5,
          -20,
          -22.5,
          -20,
          -24.5,
          -21,
          -27.5,
          -20.5,
          -12
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgba(0.8509803921568627, 0.8509803921568627, 0.8509803921568627, 1.0)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Japan",
         "type": "scatter",
         "uid": "b32dd00a-e4e8-11e8-b012-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -38.5,
          -29,
          -24.5,
          -17,
          -17.5,
          -21,
          -25,
          -26,
          -27,
          -24.5,
          -24.5,
          -19,
          -18,
          -24
         ]
        }
       ],
       "layout": {
        "height": 640,
        "title": "Rank of Selected Countries in ODNB Country Associations, 1780-2000",
        "width": 1200,
        "xaxis": {
         "title": "Decade"
        },
        "yaxis": {
         "dtick": 1,
         "tick0": 1,
         "tickmode": "array",
         "ticktext": [
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7",
          "8",
          "9",
          "10",
          "11",
          "12",
          "13",
          "14",
          "15",
          "16",
          "17",
          "18",
          "19",
          "20",
          "21",
          "22",
          "23",
          "24",
          "25",
          "26",
          "27",
          "28",
          "29",
          "30",
          "31",
          "32",
          "33",
          "34",
          "35",
          "36",
          "37",
          "38",
          "39",
          "40",
          "41",
          "42",
          "43",
          "44",
          "45",
          "46",
          "47",
          "48",
          "49",
          "50"
         ],
         "tickvals": [
          -1,
          -2,
          -3,
          -4,
          -5,
          -6,
          -7,
          -8,
          -9,
          -10,
          -11,
          -12,
          -13,
          -14,
          -15,
          -16,
          -17,
          -18,
          -19,
          -20,
          -21,
          -22,
          -23,
          -24,
          -25,
          -26,
          -27,
          -28,
          -29,
          -30,
          -31,
          -32,
          -33,
          -34,
          -35,
          -36,
          -37,
          -38,
          -39,
          -40,
          -41,
          -42,
          -43,
          -44,
          -45,
          -46,
          -47,
          -48,
          -49
         ],
         "title": "Rank"
        }
       }
      },
      "text/html": [
       "<div id=\"d7fb95e8-647a-49e8-8780-2d3956717e83\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"d7fb95e8-647a-49e8-8780-2d3956717e83\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.9019607843137255, 0.3333333333333333, 0.050980392156862744, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"South Africa\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-25.0, -30.5, -24.0, -29.0, -22.0, -22.0, -24.5, -23.0, -20.5, -16.0, -11.0, -9.0, -7.0, -7.0, -8.0, -13.0, -11.0, -16.0, -10.0, -11.0, -7.5, -17.0], \"type\": \"scatter\", \"uid\": \"b32dc774-e4e8-11e8-9696-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.9921568627450981, 0.5529411764705883, 0.23529411764705882, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"India\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-8.0, -6.0, -7.0, -7.0, -9.0, -6.0, -6.0, -6.0, -7.0, -6.0, -6.0, -5.5, -5.0, -4.0, -4.0, -4.0, -7.0, -6.0, -5.5, -10.0, -11.5, -14.5], \"type\": \"scatter\", \"uid\": \"b32dc91e-e4e8-11e8-b0aa-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.9921568627450981, 0.6823529411764706, 0.4196078431372549, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Kenya\", \"x\": [1910.0, 1920.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-35.0, -36.0, -30.5, -32.0, -30.0, -35.0, -33.0], \"type\": \"scatter\", \"uid\": \"b32dc9f4-e4e8-11e8-a1bb-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.19215686274509805, 0.6392156862745098, 0.32941176470588235, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Zimbabwe\", \"x\": [1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-33.0, -36.5, -29.5, -36.0, -38.5, -29.0, -25.5, -29.5, -26.0, -17.0], \"type\": \"scatter\", \"uid\": \"b32dca9c-e4e8-11e8-ac4e-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.4549019607843137, 0.7686274509803922, 0.4627450980392157, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Egypt\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-27.5, -23.5, -17.5, -12.0, -12.0, -19.0, -19.0, -15.0, -11.0, -12.0, -10.0, -12.0, -13.0, -13.0, -12.0, -11.0, -10.0, -10.0, -11.0, -15.0, -33.0], \"type\": \"scatter\", \"uid\": \"b32dcb3a-e4e8-11e8-8abe-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.6313725490196078, 0.8509803921568627, 0.6078431372549019, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Argentina\", \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1860.0, 1870.0, 1880.0, 1900.0, 1910.0, 1980.0], \"y\": [-37.0, -35.5, -32.0, -36.0, -38.5, -39.0, -30.0, -32.0, -39.0, -33.0], \"type\": \"scatter\", \"uid\": \"b32dcbdc-e4e8-11e8-bfb3-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.4588235294117647, 0.4196078431372549, 0.6941176470588235, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Brazil\", \"x\": [1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1910.0, 1980.0], \"y\": [-37.5, -31.0, -26.5, -30.0, -30.0, -36.5, -37.5, -33.0], \"type\": \"scatter\", \"uid\": \"b32dcc7a-e4e8-11e8-82b8-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.6196078431372549, 0.6039215686274509, 0.7843137254901961, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Nigeria\", \"x\": [1930.0, 1940.0, 1950.0, 1960.0, 1970.0], \"y\": [-35.0, -34.5, -34.0, -31.5, -35.0], \"type\": \"scatter\", \"uid\": \"b32dcd1c-e4e8-11e8-938b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.7372549019607844, 0.7411764705882353, 0.8627450980392157, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Canada\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-11.0, -15.0, -13.0, -15.0, -13.0, -11.0, -9.0, -10.0, -9.0, -11.0, -9.0, -10.0, -11.0, -8.0, -9.0, -8.0, -9.0, -9.0, -8.0, -7.5, -10.0, -14.5], \"type\": \"scatter\", \"uid\": \"b32dcdb4-e4e8-11e8-835a-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.38823529411764707, 0.38823529411764707, 0.38823529411764707, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Australia\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-31.0, -32.0, -20.0, -25.5, -28.0, -16.0, -11.0, -9.0, -10.0, -9.0, -12.0, -11.0, -10.0, -11.0, -10.0, -9.0, -8.0, -7.0, -7.0, -3.5, -6.0, -6.5, -3.0], \"type\": \"scatter\", \"uid\": \"b32dce48-e4e8-11e8-95ac-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.5882352941176471, 0.5882352941176471, 0.5882352941176471, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"United States\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-7.0, -7.0, -10.0, -11.0, -11.0, -8.0, -8.0, -7.0, -4.0, -4.0, -3.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0], \"type\": \"scatter\", \"uid\": \"b32dcee8-e4e8-11e8-ae0b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.7411764705882353, 0.7411764705882353, 0.7411764705882353, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"China\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-20.0, -26.5, -28.0, -24.0, -25.0, -20.0, -21.5, -21.0, -20.5, -15.0, -16.0, -17.5, -17.0, -18.5, -20.0, -22.5, -20.0, -24.5, -21.0, -27.5, -20.5, -12.0], \"type\": \"scatter\", \"uid\": \"b32dcf74-e4e8-11e8-806c-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.8509803921568627, 0.8509803921568627, 0.8509803921568627, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Japan\", \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-38.5, -29.0, -24.5, -17.0, -17.5, -21.0, -25.0, -26.0, -27.0, -24.5, -24.5, -19.0, -18.0, -24.0], \"type\": \"scatter\", \"uid\": \"b32dd00a-e4e8-11e8-b012-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Rank of Selected Countries in ODNB Country Associations, 1780-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\", \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\", \"50\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38, -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<div id=\"d7fb95e8-647a-49e8-8780-2d3956717e83\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"d7fb95e8-647a-49e8-8780-2d3956717e83\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.9019607843137255, 0.3333333333333333, 0.050980392156862744, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"South Africa\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-25.0, -30.5, -24.0, -29.0, -22.0, -22.0, -24.5, -23.0, -20.5, -16.0, -11.0, -9.0, -7.0, -7.0, -8.0, -13.0, -11.0, -16.0, -10.0, -11.0, -7.5, -17.0], \"type\": \"scatter\", \"uid\": \"b32dc774-e4e8-11e8-9696-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.9921568627450981, 0.5529411764705883, 0.23529411764705882, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"India\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-8.0, -6.0, -7.0, -7.0, -9.0, -6.0, -6.0, -6.0, -7.0, -6.0, -6.0, -5.5, -5.0, -4.0, -4.0, -4.0, -7.0, -6.0, -5.5, -10.0, -11.5, -14.5], \"type\": \"scatter\", \"uid\": \"b32dc91e-e4e8-11e8-b0aa-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.9921568627450981, 0.6823529411764706, 0.4196078431372549, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Kenya\", \"x\": [1910.0, 1920.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-35.0, -36.0, -30.5, -32.0, -30.0, -35.0, -33.0], \"type\": \"scatter\", \"uid\": \"b32dc9f4-e4e8-11e8-a1bb-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.19215686274509805, 0.6392156862745098, 0.32941176470588235, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Zimbabwe\", \"x\": [1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-33.0, -36.5, -29.5, -36.0, -38.5, -29.0, -25.5, -29.5, -26.0, -17.0], \"type\": \"scatter\", \"uid\": \"b32dca9c-e4e8-11e8-ac4e-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.4549019607843137, 0.7686274509803922, 0.4627450980392157, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Egypt\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-27.5, -23.5, -17.5, -12.0, -12.0, -19.0, -19.0, -15.0, -11.0, -12.0, -10.0, -12.0, -13.0, -13.0, -12.0, -11.0, -10.0, -10.0, -11.0, -15.0, -33.0], \"type\": \"scatter\", \"uid\": \"b32dcb3a-e4e8-11e8-8abe-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.6313725490196078, 0.8509803921568627, 0.6078431372549019, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Argentina\", \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1860.0, 1870.0, 1880.0, 1900.0, 1910.0, 1980.0], \"y\": [-37.0, -35.5, -32.0, -36.0, -38.5, -39.0, -30.0, -32.0, -39.0, -33.0], \"type\": \"scatter\", \"uid\": \"b32dcbdc-e4e8-11e8-bfb3-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.4588235294117647, 0.4196078431372549, 0.6941176470588235, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Brazil\", \"x\": [1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1910.0, 1980.0], \"y\": [-37.5, -31.0, -26.5, -30.0, -30.0, -36.5, -37.5, -33.0], \"type\": \"scatter\", \"uid\": \"b32dcc7a-e4e8-11e8-82b8-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.6196078431372549, 0.6039215686274509, 0.7843137254901961, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Nigeria\", \"x\": [1930.0, 1940.0, 1950.0, 1960.0, 1970.0], \"y\": [-35.0, -34.5, -34.0, -31.5, -35.0], \"type\": \"scatter\", \"uid\": \"b32dcd1c-e4e8-11e8-938b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.7372549019607844, 0.7411764705882353, 0.8627450980392157, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Canada\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-11.0, -15.0, -13.0, -15.0, -13.0, -11.0, -9.0, -10.0, -9.0, -11.0, -9.0, -10.0, -11.0, -8.0, -9.0, -8.0, -9.0, -9.0, -8.0, -7.5, -10.0, -14.5], \"type\": \"scatter\", \"uid\": \"b32dcdb4-e4e8-11e8-835a-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.38823529411764707, 0.38823529411764707, 0.38823529411764707, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Australia\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-31.0, -32.0, -20.0, -25.5, -28.0, -16.0, -11.0, -9.0, -10.0, -9.0, -12.0, -11.0, -10.0, -11.0, -10.0, -9.0, -8.0, -7.0, -7.0, -3.5, -6.0, -6.5, -3.0], \"type\": \"scatter\", \"uid\": \"b32dce48-e4e8-11e8-95ac-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.5882352941176471, 0.5882352941176471, 0.5882352941176471, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"United States\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-7.0, -7.0, -10.0, -11.0, -11.0, -8.0, -8.0, -7.0, -4.0, -4.0, -3.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0], \"type\": \"scatter\", \"uid\": \"b32dcee8-e4e8-11e8-ae0b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.7411764705882353, 0.7411764705882353, 0.7411764705882353, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"China\", \"x\": [1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-20.0, -26.5, -28.0, -24.0, -25.0, -20.0, -21.5, -21.0, -20.5, -15.0, -16.0, -17.5, -17.0, -18.5, -20.0, -22.5, -20.0, -24.5, -21.0, -27.5, -20.5, -12.0], \"type\": \"scatter\", \"uid\": \"b32dcf74-e4e8-11e8-806c-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgba(0.8509803921568627, 0.8509803921568627, 0.8509803921568627, 1.0)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Japan\", \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-38.5, -29.0, -24.5, -17.0, -17.5, -21.0, -25.0, -26.0, -27.0, -24.5, -24.5, -19.0, -18.0, -24.0], \"type\": \"scatter\", \"uid\": \"b32dd00a-e4e8-11e8-b012-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Rank of Selected Countries in ODNB Country Associations, 1780-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\", \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\", \"50\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38, -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "countries = ['South Africa', 'India', 'Kenya', 'Zimbabwe', 'Egypt' , 'Argentina', 'Brazil','Nigeria', 'Canada', 'Australia', \"United States\", \"China\", \"Japan\"]\n",
    "show_ranks(1780,2000, countries,'Rank of Selected Countries in ODNB Country Associations, {}-{}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "data": [
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgb(227,26,28)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "France",
         "type": "scatter",
         "uid": "b33b7552-e4e8-11e8-8128-985aeb8bb480",
         "x": [
          1400,
          1410,
          1420,
          1430,
          1440,
          1450,
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -1,
          -1,
          -2,
          -1,
          -1,
          -1,
          -2,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -2,
          -2,
          -1,
          -1,
          -1,
          -2,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2.5,
          -2
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgb(251,154,153)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Ireland",
         "type": "scatter",
         "uid": "b33b778c-e4e8-11e8-90ae-985aeb8bb480",
         "x": [
          1400,
          1410,
          1420,
          1430,
          1440,
          1450,
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -4,
          -4.5,
          -3,
          -5,
          -4.5,
          -5,
          -5.5,
          -5,
          -5.5,
          -9,
          -3.5,
          -5,
          -8,
          -7,
          -7.5,
          -7,
          -8,
          -5.5,
          -6,
          -6,
          -7,
          -3,
          -5,
          -3,
          -3,
          -3,
          -3,
          -3,
          -3,
          -3,
          -3,
          -2,
          -2,
          -3,
          -4,
          -2,
          -3,
          -3,
          -2,
          -2,
          -2,
          -3,
          -3.5,
          -4,
          -4,
          -4,
          -5.5,
          -3,
          -7,
          -7,
          -8,
          -9,
          -11,
          -12,
          -13,
          -19.5,
          -17,
          -17,
          -13,
          -9.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgb(178,223,138)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "England",
         "type": "scatter",
         "uid": "b33b7886-e4e8-11e8-8db0-985aeb8bb480",
         "x": [
          1400,
          1410,
          1420,
          1430,
          1440,
          1450,
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -2,
          -2,
          -1,
          -2,
          -2,
          -2,
          -1,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2.5,
          -2,
          -4,
          -4,
          -6.5,
          -6,
          -7,
          -6,
          -5,
          -6,
          -7,
          -4,
          -6,
          -5,
          -4,
          -5,
          -6,
          -6,
          -6,
          -4,
          -5,
          -5,
          -5,
          -4,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -1,
          -3,
          -3,
          -6,
          -5,
          -5,
          -6,
          -8,
          -9,
          -9,
          -22.5,
          -4.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgb(31,120,180)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Scotland",
         "type": "scatter",
         "uid": "b33b794c-e4e8-11e8-a440-985aeb8bb480",
         "x": [
          1400,
          1410,
          1420,
          1430,
          1440,
          1450,
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -3,
          -3,
          -6,
          -3.5,
          -3,
          -3,
          -3,
          -3,
          -3,
          -4,
          -3.5,
          -4,
          -3,
          -3,
          -3,
          -3,
          -3,
          -2.5,
          -4,
          -5,
          -6,
          -5,
          -3,
          -4,
          -4,
          -4,
          -4,
          -4,
          -5,
          -4,
          -4,
          -7,
          -4,
          -2,
          -2,
          -3,
          -2,
          -2,
          -3,
          -3,
          -3,
          -4,
          -3.5,
          -3,
          -3,
          -3,
          -3,
          -5,
          -4,
          -4,
          -6,
          -5,
          -6,
          -6,
          -5,
          -5,
          -5.5,
          -6,
          -4,
          -4.5,
          -4
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgb(166,206,227)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Wales",
         "type": "scatter",
         "uid": "b33b7a02-e4e8-11e8-890e-985aeb8bb480",
         "x": [
          1400,
          1410,
          1420,
          1430,
          1440,
          1460,
          1470,
          1480,
          1490,
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -5,
          -6,
          -4.5,
          -6,
          -6,
          -5.5,
          -6,
          -7,
          -5,
          -6.5,
          -7.5,
          -6.5,
          -9.5,
          -7.5,
          -9.5,
          -10,
          -9,
          -10,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -10,
          -11,
          -11,
          -9,
          -10.5,
          -9,
          -8,
          -13,
          -10.5,
          -10,
          -10,
          -12,
          -13,
          -14,
          -13.5,
          -10,
          -11,
          -13,
          -13,
          -14,
          -14,
          -14,
          -18.5,
          -15,
          -16,
          -15,
          -12.5,
          -12,
          -7.5,
          -7.5,
          -8
         ]
        }
       ],
       "layout": {
        "height": 640,
        "title": "Rankings of Countries in the British Isles among ODNB Country Associations, 1400-2000",
        "width": 1200,
        "xaxis": {
         "title": "Decade"
        },
        "yaxis": {
         "dtick": 1,
         "tick0": 1,
         "tickmode": "array",
         "ticktext": [
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7",
          "8",
          "9",
          "10",
          "11",
          "12",
          "13",
          "14",
          "15",
          "16",
          "17",
          "18",
          "19",
          "20",
          "21",
          "22",
          "23",
          "24",
          "25",
          "26",
          "27",
          "28",
          "29",
          "30",
          "31",
          "32",
          "33",
          "34",
          "35",
          "36",
          "37",
          "38",
          "39",
          "40",
          "41",
          "42",
          "43",
          "44",
          "45",
          "46",
          "47",
          "48",
          "49",
          "50"
         ],
         "tickvals": [
          -1,
          -2,
          -3,
          -4,
          -5,
          -6,
          -7,
          -8,
          -9,
          -10,
          -11,
          -12,
          -13,
          -14,
          -15,
          -16,
          -17,
          -18,
          -19,
          -20,
          -21,
          -22,
          -23,
          -24,
          -25,
          -26,
          -27,
          -28,
          -29,
          -30,
          -31,
          -32,
          -33,
          -34,
          -35,
          -36,
          -37,
          -38,
          -39,
          -40,
          -41,
          -42,
          -43,
          -44,
          -45,
          -46,
          -47,
          -48,
          -49
         ],
         "title": "Rank"
        }
       }
      },
      "text/html": [
       "<div id=\"458937e8-ace3-42bf-a7fc-fd3dea09a65f\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"458937e8-ace3-42bf-a7fc-fd3dea09a65f\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(227,26,28)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"France\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b33b7552-e4e8-11e8-8128-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(251,154,153)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Ireland\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-4.0, -4.5, -3.0, -5.0, -4.5, -5.0, -5.5, -5.0, -5.5, -9.0, -3.5, -5.0, -8.0, -7.0, -7.5, -7.0, -8.0, -5.5, -6.0, -6.0, -7.0, -3.0, -5.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.0, -2.0, -3.0, -4.0, -2.0, -3.0, -3.0, -2.0, -2.0, -2.0, -3.0, -3.5, -4.0, -4.0, -4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0, -13.0, -19.5, -17.0, -17.0, -13.0, -9.5], \"type\": \"scatter\", \"uid\": \"b33b778c-e4e8-11e8-90ae-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(178,223,138)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"England\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-2.0, -2.0, -1.0, -2.0, -2.0, -2.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0, -4.0, -4.0, -6.5, -6.0, -7.0, -6.0, -5.0, -6.0, -7.0, -4.0, -6.0, -5.0, -4.0, -5.0, -6.0, -6.0, -6.0, -4.0, -5.0, -5.0, -5.0, -4.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0, -6.0, -8.0, -9.0, -9.0, -22.5, -4.5], \"type\": \"scatter\", \"uid\": \"b33b7886-e4e8-11e8-8db0-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(31,120,180)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Scotland\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-3.0, -3.0, -6.0, -3.5, -3.0, -3.0, -3.0, -3.0, -3.0, -4.0, -3.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.5, -4.0, -5.0, -6.0, -5.0, -3.0, -4.0, -4.0, -4.0, -4.0, -4.0, -5.0, -4.0, -4.0, -7.0, -4.0, -2.0, -2.0, -3.0, -2.0, -2.0, -3.0, -3.0, -3.0, -4.0, -3.5, -3.0, -3.0, -3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.5, -6.0, -4.0, -4.5, -4.0], \"type\": \"scatter\", \"uid\": \"b33b794c-e4e8-11e8-a440-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(166,206,227)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Wales\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.0, -6.0, -4.5, -6.0, -6.0, -5.5, -6.0, -7.0, -5.0, -6.5, -7.5, -6.5, -9.5, -7.5, -9.5, -10.0, -9.0, -10.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -10.0, -11.0, -11.0, -9.0, -10.5, -9.0, -8.0, -13.0, -10.5, -10.0, -10.0, -12.0, -13.0, -14.0, -13.5, -10.0, -11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0, -15.0, -12.5, -12.0, -7.5, -7.5, -8.0], \"type\": \"scatter\", \"uid\": \"b33b7a02-e4e8-11e8-890e-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Rankings of Countries in the British Isles among ODNB Country Associations, 1400-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\", \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\", \"50\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38, -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<div id=\"458937e8-ace3-42bf-a7fc-fd3dea09a65f\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"458937e8-ace3-42bf-a7fc-fd3dea09a65f\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(227,26,28)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"France\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b33b7552-e4e8-11e8-8128-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(251,154,153)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Ireland\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-4.0, -4.5, -3.0, -5.0, -4.5, -5.0, -5.5, -5.0, -5.5, -9.0, -3.5, -5.0, -8.0, -7.0, -7.5, -7.0, -8.0, -5.5, -6.0, -6.0, -7.0, -3.0, -5.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.0, -2.0, -3.0, -4.0, -2.0, -3.0, -3.0, -2.0, -2.0, -2.0, -3.0, -3.5, -4.0, -4.0, -4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0, -13.0, -19.5, -17.0, -17.0, -13.0, -9.5], \"type\": \"scatter\", \"uid\": \"b33b778c-e4e8-11e8-90ae-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(178,223,138)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"England\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-2.0, -2.0, -1.0, -2.0, -2.0, -2.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0, -4.0, -4.0, -6.5, -6.0, -7.0, -6.0, -5.0, -6.0, -7.0, -4.0, -6.0, -5.0, -4.0, -5.0, -6.0, -6.0, -6.0, -4.0, -5.0, -5.0, -5.0, -4.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0, -6.0, -8.0, -9.0, -9.0, -22.5, -4.5], \"type\": \"scatter\", \"uid\": \"b33b7886-e4e8-11e8-8db0-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(31,120,180)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Scotland\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1450.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-3.0, -3.0, -6.0, -3.5, -3.0, -3.0, -3.0, -3.0, -3.0, -4.0, -3.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.5, -4.0, -5.0, -6.0, -5.0, -3.0, -4.0, -4.0, -4.0, -4.0, -4.0, -5.0, -4.0, -4.0, -7.0, -4.0, -2.0, -2.0, -3.0, -2.0, -2.0, -3.0, -3.0, -3.0, -4.0, -3.5, -3.0, -3.0, -3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.5, -6.0, -4.0, -4.5, -4.0], \"type\": \"scatter\", \"uid\": \"b33b794c-e4e8-11e8-a440-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(166,206,227)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Wales\", \"x\": [1400.0, 1410.0, 1420.0, 1430.0, 1440.0, 1460.0, 1470.0, 1480.0, 1490.0, 1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.0, -6.0, -4.5, -6.0, -6.0, -5.5, -6.0, -7.0, -5.0, -6.5, -7.5, -6.5, -9.5, -7.5, -9.5, -10.0, -9.0, -10.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -10.0, -11.0, -11.0, -9.0, -10.5, -9.0, -8.0, -13.0, -10.5, -10.0, -10.0, -12.0, -13.0, -14.0, -13.5, -10.0, -11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0, -15.0, -12.5, -12.0, -7.5, -7.5, -8.0], \"type\": \"scatter\", \"uid\": \"b33b7a02-e4e8-11e8-890e-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Rankings of Countries in the British Isles among ODNB Country Associations, 1400-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\", \"26\", \"27\", \"28\", \"29\", \"30\", \"31\", \"32\", \"33\", \"34\", \"35\", \"36\", \"37\", \"38\", \"39\", \"40\", \"41\", \"42\", \"43\", \"44\", \"45\", \"46\", \"47\", \"48\", \"49\", \"50\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -31, -32, -33, -34, -35, -36, -37, -38, -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data = []\n",
    "start = 1400\n",
    "end = 2000\n",
    "countries = ['France','Ireland', 'England','Scotland', 'Wales',  ]\n",
    "\n",
    "colors = ['rgb(227,26,28)', 'rgb(251,154,153)', 'rgb(178,223,138)', 'rgb(31,120,180)', 'rgb(166,206,227)',  'rgb(51,160,44)']\n",
    "n=0\n",
    "for country in countries: \n",
    "   \n",
    "    line_data = go.Scatter(\n",
    "                y=-(top.xs(country, level='Country')['rank'][start:end+10]),\n",
    "                x= top.xs(country, level='Country')['rank'][start:end+10].index,\n",
    "                name = country,\n",
    "                mode='lines',\n",
    "                hoverinfo= 'name+x',\n",
    "                line=dict(\n",
    "                shape='spline',\n",
    "                width = 8,\n",
    "                color = colors[n])\n",
    "                                )\n",
    "    data.append(line_data)\n",
    "    n=n+1\n",
    "\n",
    "layout = go.Layout(\n",
    "   # title='Rankings of {} and {} among ODNB Country Associations, {}-{}'.format(countries[1], countries[3],start,end),\n",
    "    title='Rankings of Countries in the British Isles among ODNB Country Associations, {}-{}'.format(start,end),\n",
    "    xaxis=dict(title='Decade'),\n",
    "    yaxis=dict(\n",
    "        title='Rank',\n",
    "        tickmode='array',\n",
    "        tick0 = 1,\n",
    "        dtick = 1,\n",
    "        \n",
    "        tickvals=[-k for k in range(1,50)],\n",
    "        ticktext = [str(k) for k in range(1,51)]\n",
    "                                ),\n",
    "    width=1200, height=640\n",
    "        )\n",
    "\n",
    "fig = go.Figure(data=data, layout=layout)\n",
    "offline.iplot(fig, filename='basic-area')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('Geo_Cult_counts.csv', index_col=[0,1])\n",
    "df['rank'] = df.groupby(\"rounded\")[\"article_id\"].rank(ascending=False)\n",
    "top = df[df['rank'] < 40]\n",
    "\n",
    "def highlight_country(start,end,important_country):\n",
    "\n",
    "    top25 = pd.DataFrame([top.index.get_level_values('Country'), top.index.get_level_values('rounded'), top['rank']]).T\n",
    "    top25[1] = pd.to_numeric(top25[1])\n",
    "    top25[2] = pd.to_numeric(top25[2])\n",
    "    plot_data = top25.pivot_table(index=1, columns=0, values=[1,2]).T\n",
    "    data = []\n",
    "\n",
    "\n",
    "    countries = plot_data[start].dropna().sort_values().index.get_level_values(0)[0:23]\n",
    "    countries = [country for country in countries if country != important_country]\n",
    "    color_list = ['rgba'+str(tuple(h)) for h in plt.cm.Greys(np.linspace(0, 1, len(countries)))]\n",
    "\n",
    "\n",
    "\n",
    "    n=0\n",
    "\n",
    "    for country in countries: \n",
    "\n",
    "        line_data = go.Scatter(\n",
    "                    y=-(top.xs(country, level='Country')['rank'][start:end+10]),\n",
    "                    x= top.xs(country, level='Country')['rank'][start:end+10].index,\n",
    "                    name = country,\n",
    "                    mode='lines',\n",
    "                    hoverinfo= 'name+x',\n",
    "                    line=dict(\n",
    "                    shape='spline',\n",
    "                    width = 3,\n",
    "                    #color = color_list[n]\n",
    "                    color = 'gainsboro' \n",
    "\n",
    "                                    ),\n",
    "\n",
    "                    showlegend=False )\n",
    "        data.append(line_data)\n",
    "        n=n+1\n",
    "\n",
    "    important_one = go.Scatter(\n",
    "                    y=-(top.xs(important_country, level='Country')['rank'][start:end+10]),\n",
    "                    x= top.xs(important_country, level='Country')['rank'][start:end+10].index,\n",
    "                    name = important_country,\n",
    "                    mode='lines',\n",
    "                    hoverinfo= 'name+x',\n",
    "                    line=dict(\n",
    "                    shape='spline',\n",
    "                    width = 8,\n",
    "                    color = 'rgb(37,72,180)')\n",
    "                                    )\n",
    "\n",
    "    data.append(important_one)\n",
    "\n",
    "    layout = go.Layout(\n",
    "        title='Ranking of {} in Decade-by-Decade in ODNB Country Associations, {}-{}'.format(important_country,start,end),\n",
    "        xaxis=dict(title='Decade'),\n",
    "        yaxis=dict(\n",
    "            title='Rank',\n",
    "            tickmode='array',\n",
    "            tick0 = 1,\n",
    "            dtick = 1,\n",
    "\n",
    "            tickvals=[-k for k in range(1,25)],\n",
    "            ticktext = [str(k) for k in range(1,26)]\n",
    "                                    ),\n",
    "        width=1200, height=640\n",
    "            )\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "    fig = go.Figure(data=data, layout=layout)\n",
    "\n",
    "    offline.iplot(fig, filename='basic-area')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "data": [
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "France",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386e2e4-e4e8-11e8-a03d-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2.5,
          -2
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Ireland",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386e474-e4e8-11e8-86da-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -2,
          -3,
          -3.5,
          -4,
          -4,
          -4,
          -5.5,
          -3,
          -7,
          -7,
          -8,
          -9,
          -11,
          -12,
          -13,
          -19.5,
          -17,
          -17,
          -13,
          -9.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Scotland",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386e53a-e4e8-11e8-87de-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -3,
          -4,
          -3.5,
          -3,
          -3,
          -3,
          -3,
          -5,
          -4,
          -4,
          -6,
          -5,
          -6,
          -6,
          -5,
          -5,
          -5.5,
          -6,
          -4,
          -4.5,
          -4
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "England",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386e5dc-e4e8-11e8-833b-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -4,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -1,
          -3,
          -3,
          -6,
          -5,
          -5,
          -6,
          -8,
          -9,
          -9,
          -22.5,
          -4.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Italy",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386e67a-e4e8-11e8-a4dc-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -5,
          -6,
          -6,
          -5,
          -5,
          -5,
          -5.5,
          -8,
          -8,
          -8,
          -9,
          -10,
          -7,
          -7,
          -4,
          -4,
          -3,
          -3.5,
          -5,
          -6.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Netherlands",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386e712-e4e8-11e8-863a-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -6,
          -8,
          -10,
          -13.5,
          -16,
          -22,
          -25,
          -21,
          -27,
          -26,
          -23,
          -24,
          -24,
          -22.5,
          -17.5,
          -18,
          -23.5,
          -22.5,
          -18.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "India",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386e79e-e4e8-11e8-84ec-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -7,
          -7,
          -9,
          -6,
          -6,
          -6,
          -7,
          -6,
          -6,
          -5.5,
          -5,
          -4,
          -4,
          -4,
          -7,
          -6,
          -5.5,
          -10,
          -11.5,
          -14.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Spain",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386e83e-e4e8-11e8-89e3-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -8,
          -5,
          -5,
          -7,
          -12,
          -16.5,
          -14,
          -20,
          -21,
          -22,
          -18,
          -23,
          -25,
          -21,
          -17.5,
          -14,
          -15,
          -16,
          -20.5,
          -12
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Germany",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386e8ca-e4e8-11e8-8f5e-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -9,
          -10,
          -8,
          -9,
          -7,
          -8,
          -8,
          -7,
          -5,
          -5.5,
          -4,
          -3,
          -3,
          -3,
          -3,
          -3,
          -4,
          -5,
          -3,
          -2.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Portugal",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386e962-e4e8-11e8-8867-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1910
         ],
         "y": [
          -11,
          -9,
          -7,
          -10,
          -20,
          -24,
          -31,
          -32.5,
          -37,
          -39,
          -35
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Wales",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386e9f6-e4e8-11e8-adc6-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -12,
          -13,
          -14,
          -13.5,
          -10,
          -11,
          -13,
          -13,
          -14,
          -14,
          -14,
          -18.5,
          -15,
          -16,
          -15,
          -12.5,
          -12,
          -7.5,
          -7.5,
          -8
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Canada",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386ea82-e4e8-11e8-89b1-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -13,
          -15,
          -13,
          -11,
          -9,
          -10,
          -9,
          -11,
          -9,
          -10,
          -11,
          -8,
          -9,
          -8,
          -9,
          -9,
          -8,
          -7.5,
          -10,
          -14.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Switzerland",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386eb0c-e4e8-11e8-9a52-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -14,
          -16.5,
          -17.5,
          -15,
          -13,
          -13,
          -12,
          -17,
          -15,
          -15,
          -15,
          -14,
          -14,
          -19,
          -16,
          -11,
          -20,
          -19.5,
          -14,
          -17
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Denmark",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386eb9a-e4e8-11e8-a1aa-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920
         ],
         "y": [
          -15,
          -19,
          -16,
          -24,
          -38,
          -26,
          -29,
          -27,
          -34.5,
          -37,
          -33,
          -26,
          -34
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Austria",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386ec30-e4e8-11e8-8e13-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -16,
          -16.5,
          -21,
          -26.5,
          -21.5,
          -20,
          -19,
          -19,
          -18.5,
          -20,
          -26,
          -22,
          -19,
          -24,
          -19,
          -15,
          -22,
          -25.5,
          -18.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Russia",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386ecba-e4e8-11e8-9dab-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -17.5,
          -14,
          -15,
          -18,
          -14,
          -12,
          -15,
          -10,
          -13,
          -13,
          -16,
          -16,
          -17,
          -14,
          -24.5,
          -23,
          -27,
          -19.5,
          -22.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Egypt",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386ed48-e4e8-11e8-8685-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -17.5,
          -12,
          -12,
          -19,
          -19,
          -15,
          -11,
          -12,
          -10,
          -12,
          -13,
          -13,
          -12,
          -11,
          -10,
          -10,
          -11,
          -15,
          -33
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "West Indies",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386edd4-e4e8-11e8-b65c-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850
         ],
         "y": [
          -19,
          -18,
          -27,
          -21,
          -28.5,
          -37
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Australia",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386ee68-e4e8-11e8-9c36-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -20,
          -25.5,
          -28,
          -16,
          -11,
          -9,
          -10,
          -9,
          -12,
          -11,
          -10,
          -11,
          -10,
          -9,
          -8,
          -7,
          -7,
          -3.5,
          -6,
          -6.5,
          -3
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Belgium",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386eef6-e4e8-11e8-a09c-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -21,
          -20.5,
          -17.5,
          -12,
          -15,
          -16.5,
          -18,
          -18,
          -18.5,
          -16,
          -12,
          -12,
          -13,
          -10,
          -14,
          -21,
          -16,
          -24,
          -16
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Gibraltar",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386ef78-e4e8-11e8-9556-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830
         ],
         "y": [
          -22,
          -25.5,
          -33,
          -36
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Britain",
         "showlegend": false,
         "type": "scatter",
         "uid": "b386f006-e4e8-11e8-b729-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -24,
          -33,
          -34,
          -29,
          -26,
          -25,
          -23,
          -27,
          -23.5,
          -24.5,
          -19,
          -15,
          -21.5,
          -16,
          -12,
          -12.5,
          -13,
          -13.5,
          -11.5,
          -12
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgb(37,72,180)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "United States",
         "type": "scatter",
         "uid": "b386f086-e4e8-11e8-a10e-985aeb8bb480",
         "x": [
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -10,
          -11,
          -11,
          -8,
          -8,
          -7,
          -4,
          -4,
          -3,
          -1,
          -2,
          -2,
          -2,
          -2,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1
         ]
        }
       ],
       "layout": {
        "height": 640,
        "title": "Ranking of United States in Decade-by-Decade in ODNB Country Associations, 1800-2000",
        "width": 1200,
        "xaxis": {
         "title": "Decade"
        },
        "yaxis": {
         "dtick": 1,
         "tick0": 1,
         "tickmode": "array",
         "ticktext": [
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7",
          "8",
          "9",
          "10",
          "11",
          "12",
          "13",
          "14",
          "15",
          "16",
          "17",
          "18",
          "19",
          "20",
          "21",
          "22",
          "23",
          "24",
          "25"
         ],
         "tickvals": [
          -1,
          -2,
          -3,
          -4,
          -5,
          -6,
          -7,
          -8,
          -9,
          -10,
          -11,
          -12,
          -13,
          -14,
          -15,
          -16,
          -17,
          -18,
          -19,
          -20,
          -21,
          -22,
          -23,
          -24
         ],
         "title": "Rank"
        }
       }
      },
      "text/html": [
       "<div id=\"2951035f-3f6d-4f98-a579-28ae5eeeb161\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"2951035f-3f6d-4f98-a579-28ae5eeeb161\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"France\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b386e2e4-e4e8-11e8-a03d-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Ireland\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-2.0, -3.0, -3.5, -4.0, -4.0, -4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0, -13.0, -19.5, -17.0, -17.0, -13.0, -9.5], \"type\": \"scatter\", \"uid\": \"b386e474-e4e8-11e8-86da-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Scotland\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-3.0, -4.0, -3.5, -3.0, -3.0, -3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.5, -6.0, -4.0, -4.5, -4.0], \"type\": \"scatter\", \"uid\": \"b386e53a-e4e8-11e8-87de-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"England\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-4.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0, -6.0, -8.0, -9.0, -9.0, -22.5, -4.5], \"type\": \"scatter\", \"uid\": \"b386e5dc-e4e8-11e8-833b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Italy\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.0, -6.0, -6.0, -5.0, -5.0, -5.0, -5.5, -8.0, -8.0, -8.0, -9.0, -10.0, -7.0, -7.0, -4.0, -4.0, -3.0, -3.5, -5.0, -6.5], \"type\": \"scatter\", \"uid\": \"b386e67a-e4e8-11e8-a4dc-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Netherlands\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-6.0, -8.0, -10.0, -13.5, -16.0, -22.0, -25.0, -21.0, -27.0, -26.0, -23.0, -24.0, -24.0, -22.5, -17.5, -18.0, -23.5, -22.5, -18.5], \"type\": \"scatter\", \"uid\": \"b386e712-e4e8-11e8-863a-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"India\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-7.0, -7.0, -9.0, -6.0, -6.0, -6.0, -7.0, -6.0, -6.0, -5.5, -5.0, -4.0, -4.0, -4.0, -7.0, -6.0, -5.5, -10.0, -11.5, -14.5], \"type\": \"scatter\", \"uid\": \"b386e79e-e4e8-11e8-84ec-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Spain\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-8.0, -5.0, -5.0, -7.0, -12.0, -16.5, -14.0, -20.0, -21.0, -22.0, -18.0, -23.0, -25.0, -21.0, -17.5, -14.0, -15.0, -16.0, -20.5, -12.0], \"type\": \"scatter\", \"uid\": \"b386e83e-e4e8-11e8-89e3-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Germany\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-9.0, -10.0, -8.0, -9.0, -7.0, -8.0, -8.0, -7.0, -5.0, -5.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -4.0, -5.0, -3.0, -2.5], \"type\": \"scatter\", \"uid\": \"b386e8ca-e4e8-11e8-8f5e-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Portugal\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1910.0], \"y\": [-11.0, -9.0, -7.0, -10.0, -20.0, -24.0, -31.0, -32.5, -37.0, -39.0, -35.0], \"type\": \"scatter\", \"uid\": \"b386e962-e4e8-11e8-8867-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Wales\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-12.0, -13.0, -14.0, -13.5, -10.0, -11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0, -15.0, -12.5, -12.0, -7.5, -7.5, -8.0], \"type\": \"scatter\", \"uid\": \"b386e9f6-e4e8-11e8-adc6-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Canada\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-13.0, -15.0, -13.0, -11.0, -9.0, -10.0, -9.0, -11.0, -9.0, -10.0, -11.0, -8.0, -9.0, -8.0, -9.0, -9.0, -8.0, -7.5, -10.0, -14.5], \"type\": \"scatter\", \"uid\": \"b386ea82-e4e8-11e8-89b1-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Switzerland\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-14.0, -16.5, -17.5, -15.0, -13.0, -13.0, -12.0, -17.0, -15.0, -15.0, -15.0, -14.0, -14.0, -19.0, -16.0, -11.0, -20.0, -19.5, -14.0, -17.0], \"type\": \"scatter\", \"uid\": \"b386eb0c-e4e8-11e8-9a52-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Denmark\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0], \"y\": [-15.0, -19.0, -16.0, -24.0, -38.0, -26.0, -29.0, -27.0, -34.5, -37.0, -33.0, -26.0, -34.0], \"type\": \"scatter\", \"uid\": \"b386eb9a-e4e8-11e8-a1aa-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Austria\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-16.0, -16.5, -21.0, -26.5, -21.5, -20.0, -19.0, -19.0, -18.5, -20.0, -26.0, -22.0, -19.0, -24.0, -19.0, -15.0, -22.0, -25.5, -18.5], \"type\": \"scatter\", \"uid\": \"b386ec30-e4e8-11e8-8e13-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Russia\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-17.5, -14.0, -15.0, -18.0, -14.0, -12.0, -15.0, -10.0, -13.0, -13.0, -16.0, -16.0, -17.0, -14.0, -24.5, -23.0, -27.0, -19.5, -22.5], \"type\": \"scatter\", \"uid\": \"b386ecba-e4e8-11e8-9dab-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Egypt\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-17.5, -12.0, -12.0, -19.0, -19.0, -15.0, -11.0, -12.0, -10.0, -12.0, -13.0, -13.0, -12.0, -11.0, -10.0, -10.0, -11.0, -15.0, -33.0], \"type\": \"scatter\", \"uid\": \"b386ed48-e4e8-11e8-8685-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"West Indies\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0], \"y\": [-19.0, -18.0, -27.0, -21.0, -28.5, -37.0], \"type\": \"scatter\", \"uid\": \"b386edd4-e4e8-11e8-b65c-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Australia\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-20.0, -25.5, -28.0, -16.0, -11.0, -9.0, -10.0, -9.0, -12.0, -11.0, -10.0, -11.0, -10.0, -9.0, -8.0, -7.0, -7.0, -3.5, -6.0, -6.5, -3.0], \"type\": \"scatter\", \"uid\": \"b386ee68-e4e8-11e8-9c36-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Belgium\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-21.0, -20.5, -17.5, -12.0, -15.0, -16.5, -18.0, -18.0, -18.5, -16.0, -12.0, -12.0, -13.0, -10.0, -14.0, -21.0, -16.0, -24.0, -16.0], \"type\": \"scatter\", \"uid\": \"b386eef6-e4e8-11e8-a09c-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Gibraltar\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0], \"y\": [-22.0, -25.5, -33.0, -36.0], \"type\": \"scatter\", \"uid\": \"b386ef78-e4e8-11e8-9556-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Britain\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-24.0, -33.0, -34.0, -29.0, -26.0, -25.0, -23.0, -27.0, -23.5, -24.5, -19.0, -15.0, -21.5, -16.0, -12.0, -12.5, -13.0, -13.5, -11.5, -12.0], \"type\": \"scatter\", \"uid\": \"b386f006-e4e8-11e8-b729-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(37,72,180)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"United States\", \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-10.0, -11.0, -11.0, -8.0, -8.0, -7.0, -4.0, -4.0, -3.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0], \"type\": \"scatter\", \"uid\": \"b386f086-e4e8-11e8-a10e-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Ranking of United States in Decade-by-Decade in ODNB Country Associations, 1800-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<div id=\"2951035f-3f6d-4f98-a579-28ae5eeeb161\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"2951035f-3f6d-4f98-a579-28ae5eeeb161\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"France\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b386e2e4-e4e8-11e8-a03d-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Ireland\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-2.0, -3.0, -3.5, -4.0, -4.0, -4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0, -13.0, -19.5, -17.0, -17.0, -13.0, -9.5], \"type\": \"scatter\", \"uid\": \"b386e474-e4e8-11e8-86da-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Scotland\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-3.0, -4.0, -3.5, -3.0, -3.0, -3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.5, -6.0, -4.0, -4.5, -4.0], \"type\": \"scatter\", \"uid\": \"b386e53a-e4e8-11e8-87de-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"England\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-4.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0, -6.0, -8.0, -9.0, -9.0, -22.5, -4.5], \"type\": \"scatter\", \"uid\": \"b386e5dc-e4e8-11e8-833b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Italy\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.0, -6.0, -6.0, -5.0, -5.0, -5.0, -5.5, -8.0, -8.0, -8.0, -9.0, -10.0, -7.0, -7.0, -4.0, -4.0, -3.0, -3.5, -5.0, -6.5], \"type\": \"scatter\", \"uid\": \"b386e67a-e4e8-11e8-a4dc-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Netherlands\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-6.0, -8.0, -10.0, -13.5, -16.0, -22.0, -25.0, -21.0, -27.0, -26.0, -23.0, -24.0, -24.0, -22.5, -17.5, -18.0, -23.5, -22.5, -18.5], \"type\": \"scatter\", \"uid\": \"b386e712-e4e8-11e8-863a-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"India\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-7.0, -7.0, -9.0, -6.0, -6.0, -6.0, -7.0, -6.0, -6.0, -5.5, -5.0, -4.0, -4.0, -4.0, -7.0, -6.0, -5.5, -10.0, -11.5, -14.5], \"type\": \"scatter\", \"uid\": \"b386e79e-e4e8-11e8-84ec-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Spain\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-8.0, -5.0, -5.0, -7.0, -12.0, -16.5, -14.0, -20.0, -21.0, -22.0, -18.0, -23.0, -25.0, -21.0, -17.5, -14.0, -15.0, -16.0, -20.5, -12.0], \"type\": \"scatter\", \"uid\": \"b386e83e-e4e8-11e8-89e3-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Germany\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-9.0, -10.0, -8.0, -9.0, -7.0, -8.0, -8.0, -7.0, -5.0, -5.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -4.0, -5.0, -3.0, -2.5], \"type\": \"scatter\", \"uid\": \"b386e8ca-e4e8-11e8-8f5e-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Portugal\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1910.0], \"y\": [-11.0, -9.0, -7.0, -10.0, -20.0, -24.0, -31.0, -32.5, -37.0, -39.0, -35.0], \"type\": \"scatter\", \"uid\": \"b386e962-e4e8-11e8-8867-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Wales\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-12.0, -13.0, -14.0, -13.5, -10.0, -11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0, -15.0, -12.5, -12.0, -7.5, -7.5, -8.0], \"type\": \"scatter\", \"uid\": \"b386e9f6-e4e8-11e8-adc6-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Canada\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-13.0, -15.0, -13.0, -11.0, -9.0, -10.0, -9.0, -11.0, -9.0, -10.0, -11.0, -8.0, -9.0, -8.0, -9.0, -9.0, -8.0, -7.5, -10.0, -14.5], \"type\": \"scatter\", \"uid\": \"b386ea82-e4e8-11e8-89b1-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Switzerland\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-14.0, -16.5, -17.5, -15.0, -13.0, -13.0, -12.0, -17.0, -15.0, -15.0, -15.0, -14.0, -14.0, -19.0, -16.0, -11.0, -20.0, -19.5, -14.0, -17.0], \"type\": \"scatter\", \"uid\": \"b386eb0c-e4e8-11e8-9a52-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Denmark\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0], \"y\": [-15.0, -19.0, -16.0, -24.0, -38.0, -26.0, -29.0, -27.0, -34.5, -37.0, -33.0, -26.0, -34.0], \"type\": \"scatter\", \"uid\": \"b386eb9a-e4e8-11e8-a1aa-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Austria\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-16.0, -16.5, -21.0, -26.5, -21.5, -20.0, -19.0, -19.0, -18.5, -20.0, -26.0, -22.0, -19.0, -24.0, -19.0, -15.0, -22.0, -25.5, -18.5], \"type\": \"scatter\", \"uid\": \"b386ec30-e4e8-11e8-8e13-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Russia\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-17.5, -14.0, -15.0, -18.0, -14.0, -12.0, -15.0, -10.0, -13.0, -13.0, -16.0, -16.0, -17.0, -14.0, -24.5, -23.0, -27.0, -19.5, -22.5], \"type\": \"scatter\", \"uid\": \"b386ecba-e4e8-11e8-9dab-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Egypt\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-17.5, -12.0, -12.0, -19.0, -19.0, -15.0, -11.0, -12.0, -10.0, -12.0, -13.0, -13.0, -12.0, -11.0, -10.0, -10.0, -11.0, -15.0, -33.0], \"type\": \"scatter\", \"uid\": \"b386ed48-e4e8-11e8-8685-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"West Indies\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0], \"y\": [-19.0, -18.0, -27.0, -21.0, -28.5, -37.0], \"type\": \"scatter\", \"uid\": \"b386edd4-e4e8-11e8-b65c-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Australia\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-20.0, -25.5, -28.0, -16.0, -11.0, -9.0, -10.0, -9.0, -12.0, -11.0, -10.0, -11.0, -10.0, -9.0, -8.0, -7.0, -7.0, -3.5, -6.0, -6.5, -3.0], \"type\": \"scatter\", \"uid\": \"b386ee68-e4e8-11e8-9c36-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Belgium\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-21.0, -20.5, -17.5, -12.0, -15.0, -16.5, -18.0, -18.0, -18.5, -16.0, -12.0, -12.0, -13.0, -10.0, -14.0, -21.0, -16.0, -24.0, -16.0], \"type\": \"scatter\", \"uid\": \"b386eef6-e4e8-11e8-a09c-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Gibraltar\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0], \"y\": [-22.0, -25.5, -33.0, -36.0], \"type\": \"scatter\", \"uid\": \"b386ef78-e4e8-11e8-9556-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Britain\", \"showlegend\": false, \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-24.0, -33.0, -34.0, -29.0, -26.0, -25.0, -23.0, -27.0, -23.5, -24.5, -19.0, -15.0, -21.5, -16.0, -12.0, -12.5, -13.0, -13.5, -11.5, -12.0], \"type\": \"scatter\", \"uid\": \"b386f006-e4e8-11e8-b729-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(37,72,180)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"United States\", \"x\": [1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-10.0, -11.0, -11.0, -8.0, -8.0, -7.0, -4.0, -4.0, -3.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0], \"type\": \"scatter\", \"uid\": \"b386f086-e4e8-11e8-a10e-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Ranking of United States in Decade-by-Decade in ODNB Country Associations, 1800-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "highlight_country(1800,2000,\"United States\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "data": [
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "France",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3a7d062-e4e8-11e8-9441-985aeb8bb480",
         "x": [
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -2,
          -2,
          -1,
          -1,
          -1,
          -2,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2.5,
          -2
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "England",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3a7d210-e4e8-11e8-ac46-985aeb8bb480",
         "x": [
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2.5,
          -2,
          -4,
          -4,
          -6.5,
          -6,
          -7,
          -6,
          -5,
          -6,
          -7,
          -4,
          -6,
          -5,
          -4,
          -5,
          -6,
          -6,
          -6,
          -4,
          -5,
          -5,
          -5,
          -4,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -1,
          -3,
          -3,
          -6,
          -5,
          -5,
          -6,
          -8,
          -9,
          -9,
          -22.5,
          -4.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Ireland",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3a7d2e2-e4e8-11e8-ac40-985aeb8bb480",
         "x": [
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -3.5,
          -5,
          -8,
          -7,
          -7.5,
          -7,
          -8,
          -5.5,
          -6,
          -6,
          -7,
          -3,
          -5,
          -3,
          -3,
          -3,
          -3,
          -3,
          -3,
          -3,
          -3,
          -2,
          -2,
          -3,
          -4,
          -2,
          -3,
          -3,
          -2,
          -2,
          -2,
          -3,
          -3.5,
          -4,
          -4,
          -4,
          -5.5,
          -3,
          -7,
          -7,
          -8,
          -9,
          -11,
          -12,
          -13,
          -19.5,
          -17,
          -17,
          -13,
          -9.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Scotland",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3a7d38c-e4e8-11e8-b1ad-985aeb8bb480",
         "x": [
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -3.5,
          -4,
          -3,
          -3,
          -3,
          -3,
          -3,
          -2.5,
          -4,
          -5,
          -6,
          -5,
          -3,
          -4,
          -4,
          -4,
          -4,
          -4,
          -5,
          -4,
          -4,
          -7,
          -4,
          -2,
          -2,
          -3,
          -2,
          -2,
          -3,
          -3,
          -3,
          -4,
          -3.5,
          -3,
          -3,
          -3,
          -3,
          -5,
          -4,
          -4,
          -6,
          -5,
          -6,
          -6,
          -5,
          -5,
          -5.5,
          -6,
          -4,
          -4.5,
          -4
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Italy",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3a7d42c-e4e8-11e8-ba07-985aeb8bb480",
         "x": [
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -5,
          -3,
          -4,
          -6,
          -5,
          -5,
          -6,
          -5.5,
          -5,
          -3,
          -3,
          -6.5,
          -4,
          -6,
          -5,
          -7,
          -5,
          -5,
          -6,
          -5,
          -7,
          -5,
          -6,
          -4,
          -3,
          -5,
          -5,
          -4,
          -4,
          -4,
          -5,
          -6,
          -6,
          -5,
          -5,
          -5,
          -5.5,
          -8,
          -8,
          -8,
          -9,
          -10,
          -7,
          -7,
          -4,
          -4,
          -3,
          -3.5,
          -5,
          -6.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Spain",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3a7d4c2-e4e8-11e8-9ea3-985aeb8bb480",
         "x": [
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -6.5,
          -6,
          -6.5,
          -9.5,
          -9,
          -9.5,
          -7,
          -7,
          -7,
          -7,
          -5,
          -4,
          -7,
          -5,
          -8,
          -8,
          -7,
          -8,
          -8,
          -8,
          -8,
          -8,
          -8,
          -8,
          -8,
          -9,
          -9,
          -10.5,
          -12,
          -12,
          -8,
          -5,
          -5,
          -7,
          -12,
          -16.5,
          -14,
          -20,
          -21,
          -22,
          -18,
          -23,
          -25,
          -21,
          -17.5,
          -14,
          -15,
          -16,
          -20.5,
          -12
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Wales",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3a7d558-e4e8-11e8-bc58-985aeb8bb480",
         "x": [
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -6.5,
          -7.5,
          -6.5,
          -9.5,
          -7.5,
          -9.5,
          -10,
          -9,
          -10,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -9,
          -10,
          -11,
          -11,
          -9,
          -10.5,
          -9,
          -8,
          -13,
          -10.5,
          -10,
          -10,
          -12,
          -13,
          -14,
          -13.5,
          -10,
          -11,
          -13,
          -13,
          -14,
          -14,
          -14,
          -18.5,
          -15,
          -16,
          -15,
          -12.5,
          -12,
          -7.5,
          -7.5,
          -8
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Germany",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3a7d5e4-e4e8-11e8-88ac-985aeb8bb480",
         "x": [
          1500,
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -8,
          -9,
          -5,
          -5,
          -4,
          -4,
          -4,
          -8,
          -8,
          -8,
          -8,
          -8,
          -8,
          -8,
          -7,
          -6,
          -8,
          -6,
          -7,
          -7,
          -6,
          -6,
          -7,
          -7,
          -7,
          -7,
          -7,
          -6,
          -6,
          -9,
          -9,
          -10,
          -8,
          -9,
          -7,
          -8,
          -8,
          -7,
          -5,
          -5.5,
          -4,
          -3,
          -3,
          -3,
          -3,
          -3,
          -4,
          -5,
          -3,
          -2.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgb(37,72,180)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Netherlands",
         "type": "scatter",
         "uid": "b3a7d67a-e4e8-11e8-ab3b-985aeb8bb480",
         "x": [
          1510,
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580,
          1590,
          1600,
          1610,
          1620,
          1630,
          1640,
          1650,
          1660,
          1670,
          1680,
          1690,
          1700,
          1710,
          1720,
          1730,
          1740,
          1750,
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -7.5,
          -9,
          -4,
          -6,
          -8,
          -5,
          -4,
          -3,
          -2,
          -2,
          -2,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -2,
          -1,
          -2,
          -3,
          -3,
          -5,
          -5,
          -4,
          -6,
          -7,
          -9,
          -8,
          -6,
          -8,
          -10,
          -13.5,
          -16,
          -22,
          -25,
          -21,
          -27,
          -26,
          -23,
          -24,
          -24,
          -22.5,
          -17.5,
          -18,
          -23.5,
          -22.5,
          -18.5
         ]
        }
       ],
       "layout": {
        "height": 640,
        "title": "Ranking of Netherlands in Decade-by-Decade in ODNB Country Associations, 1500-2000",
        "width": 1200,
        "xaxis": {
         "title": "Decade"
        },
        "yaxis": {
         "dtick": 1,
         "tick0": 1,
         "tickmode": "array",
         "ticktext": [
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7",
          "8",
          "9",
          "10",
          "11",
          "12",
          "13",
          "14",
          "15",
          "16",
          "17",
          "18",
          "19",
          "20",
          "21",
          "22",
          "23",
          "24",
          "25"
         ],
         "tickvals": [
          -1,
          -2,
          -3,
          -4,
          -5,
          -6,
          -7,
          -8,
          -9,
          -10,
          -11,
          -12,
          -13,
          -14,
          -15,
          -16,
          -17,
          -18,
          -19,
          -20,
          -21,
          -22,
          -23,
          -24
         ],
         "title": "Rank"
        }
       }
      },
      "text/html": [
       "<div id=\"f0612c40-f954-4eed-92e3-71faf83506f4\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"f0612c40-f954-4eed-92e3-71faf83506f4\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"France\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b3a7d062-e4e8-11e8-9441-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"England\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0, -4.0, -4.0, -6.5, -6.0, -7.0, -6.0, -5.0, -6.0, -7.0, -4.0, -6.0, -5.0, -4.0, -5.0, -6.0, -6.0, -6.0, -4.0, -5.0, -5.0, -5.0, -4.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0, -6.0, -8.0, -9.0, -9.0, -22.5, -4.5], \"type\": \"scatter\", \"uid\": \"b3a7d210-e4e8-11e8-ac46-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Ireland\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-3.5, -5.0, -8.0, -7.0, -7.5, -7.0, -8.0, -5.5, -6.0, -6.0, -7.0, -3.0, -5.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.0, -2.0, -3.0, -4.0, -2.0, -3.0, -3.0, -2.0, -2.0, -2.0, -3.0, -3.5, -4.0, -4.0, -4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0, -13.0, -19.5, -17.0, -17.0, -13.0, -9.5], \"type\": \"scatter\", \"uid\": \"b3a7d2e2-e4e8-11e8-ac40-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Scotland\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-3.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.5, -4.0, -5.0, -6.0, -5.0, -3.0, -4.0, -4.0, -4.0, -4.0, -4.0, -5.0, -4.0, -4.0, -7.0, -4.0, -2.0, -2.0, -3.0, -2.0, -2.0, -3.0, -3.0, -3.0, -4.0, -3.5, -3.0, -3.0, -3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.5, -6.0, -4.0, -4.5, -4.0], \"type\": \"scatter\", \"uid\": \"b3a7d38c-e4e8-11e8-b1ad-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Italy\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.0, -3.0, -4.0, -6.0, -5.0, -5.0, -6.0, -5.5, -5.0, -3.0, -3.0, -6.5, -4.0, -6.0, -5.0, -7.0, -5.0, -5.0, -6.0, -5.0, -7.0, -5.0, -6.0, -4.0, -3.0, -5.0, -5.0, -4.0, -4.0, -4.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.0, -5.5, -8.0, -8.0, -8.0, -9.0, -10.0, -7.0, -7.0, -4.0, -4.0, -3.0, -3.5, -5.0, -6.5], \"type\": \"scatter\", \"uid\": \"b3a7d42c-e4e8-11e8-ba07-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Spain\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-6.5, -6.0, -6.5, -9.5, -9.0, -9.5, -7.0, -7.0, -7.0, -7.0, -5.0, -4.0, -7.0, -5.0, -8.0, -8.0, -7.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -9.0, -9.0, -10.5, -12.0, -12.0, -8.0, -5.0, -5.0, -7.0, -12.0, -16.5, -14.0, -20.0, -21.0, -22.0, -18.0, -23.0, -25.0, -21.0, -17.5, -14.0, -15.0, -16.0, -20.5, -12.0], \"type\": \"scatter\", \"uid\": \"b3a7d4c2-e4e8-11e8-9ea3-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Wales\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-6.5, -7.5, -6.5, -9.5, -7.5, -9.5, -10.0, -9.0, -10.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -10.0, -11.0, -11.0, -9.0, -10.5, -9.0, -8.0, -13.0, -10.5, -10.0, -10.0, -12.0, -13.0, -14.0, -13.5, -10.0, -11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0, -15.0, -12.5, -12.0, -7.5, -7.5, -8.0], \"type\": \"scatter\", \"uid\": \"b3a7d558-e4e8-11e8-bc58-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Germany\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-8.0, -9.0, -5.0, -5.0, -4.0, -4.0, -4.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -7.0, -6.0, -8.0, -6.0, -7.0, -7.0, -6.0, -6.0, -7.0, -7.0, -7.0, -7.0, -7.0, -6.0, -6.0, -9.0, -9.0, -10.0, -8.0, -9.0, -7.0, -8.0, -8.0, -7.0, -5.0, -5.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -4.0, -5.0, -3.0, -2.5], \"type\": \"scatter\", \"uid\": \"b3a7d5e4-e4e8-11e8-88ac-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(37,72,180)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Netherlands\", \"x\": [1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-7.5, -9.0, -4.0, -6.0, -8.0, -5.0, -4.0, -3.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -1.0, -2.0, -3.0, -3.0, -5.0, -5.0, -4.0, -6.0, -7.0, -9.0, -8.0, -6.0, -8.0, -10.0, -13.5, -16.0, -22.0, -25.0, -21.0, -27.0, -26.0, -23.0, -24.0, -24.0, -22.5, -17.5, -18.0, -23.5, -22.5, -18.5], \"type\": \"scatter\", \"uid\": \"b3a7d67a-e4e8-11e8-ab3b-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Ranking of Netherlands in Decade-by-Decade in ODNB Country Associations, 1500-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<div id=\"f0612c40-f954-4eed-92e3-71faf83506f4\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"f0612c40-f954-4eed-92e3-71faf83506f4\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"France\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b3a7d062-e4e8-11e8-9441-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"England\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0, -4.0, -4.0, -6.5, -6.0, -7.0, -6.0, -5.0, -6.0, -7.0, -4.0, -6.0, -5.0, -4.0, -5.0, -6.0, -6.0, -6.0, -4.0, -5.0, -5.0, -5.0, -4.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0, -6.0, -8.0, -9.0, -9.0, -22.5, -4.5], \"type\": \"scatter\", \"uid\": \"b3a7d210-e4e8-11e8-ac46-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Ireland\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-3.5, -5.0, -8.0, -7.0, -7.5, -7.0, -8.0, -5.5, -6.0, -6.0, -7.0, -3.0, -5.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.0, -2.0, -3.0, -4.0, -2.0, -3.0, -3.0, -2.0, -2.0, -2.0, -3.0, -3.5, -4.0, -4.0, -4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0, -13.0, -19.5, -17.0, -17.0, -13.0, -9.5], \"type\": \"scatter\", \"uid\": \"b3a7d2e2-e4e8-11e8-ac40-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Scotland\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-3.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -2.5, -4.0, -5.0, -6.0, -5.0, -3.0, -4.0, -4.0, -4.0, -4.0, -4.0, -5.0, -4.0, -4.0, -7.0, -4.0, -2.0, -2.0, -3.0, -2.0, -2.0, -3.0, -3.0, -3.0, -4.0, -3.5, -3.0, -3.0, -3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.5, -6.0, -4.0, -4.5, -4.0], \"type\": \"scatter\", \"uid\": \"b3a7d38c-e4e8-11e8-b1ad-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Italy\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.0, -3.0, -4.0, -6.0, -5.0, -5.0, -6.0, -5.5, -5.0, -3.0, -3.0, -6.5, -4.0, -6.0, -5.0, -7.0, -5.0, -5.0, -6.0, -5.0, -7.0, -5.0, -6.0, -4.0, -3.0, -5.0, -5.0, -4.0, -4.0, -4.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.0, -5.5, -8.0, -8.0, -8.0, -9.0, -10.0, -7.0, -7.0, -4.0, -4.0, -3.0, -3.5, -5.0, -6.5], \"type\": \"scatter\", \"uid\": \"b3a7d42c-e4e8-11e8-ba07-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Spain\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-6.5, -6.0, -6.5, -9.5, -9.0, -9.5, -7.0, -7.0, -7.0, -7.0, -5.0, -4.0, -7.0, -5.0, -8.0, -8.0, -7.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -9.0, -9.0, -10.5, -12.0, -12.0, -8.0, -5.0, -5.0, -7.0, -12.0, -16.5, -14.0, -20.0, -21.0, -22.0, -18.0, -23.0, -25.0, -21.0, -17.5, -14.0, -15.0, -16.0, -20.5, -12.0], \"type\": \"scatter\", \"uid\": \"b3a7d4c2-e4e8-11e8-9ea3-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Wales\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-6.5, -7.5, -6.5, -9.5, -7.5, -9.5, -10.0, -9.0, -10.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -9.0, -10.0, -11.0, -11.0, -9.0, -10.5, -9.0, -8.0, -13.0, -10.5, -10.0, -10.0, -12.0, -13.0, -14.0, -13.5, -10.0, -11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0, -15.0, -12.5, -12.0, -7.5, -7.5, -8.0], \"type\": \"scatter\", \"uid\": \"b3a7d558-e4e8-11e8-bc58-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Germany\", \"showlegend\": false, \"x\": [1500.0, 1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-8.0, -9.0, -5.0, -5.0, -4.0, -4.0, -4.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -8.0, -7.0, -6.0, -8.0, -6.0, -7.0, -7.0, -6.0, -6.0, -7.0, -7.0, -7.0, -7.0, -7.0, -6.0, -6.0, -9.0, -9.0, -10.0, -8.0, -9.0, -7.0, -8.0, -8.0, -7.0, -5.0, -5.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -4.0, -5.0, -3.0, -2.5], \"type\": \"scatter\", \"uid\": \"b3a7d5e4-e4e8-11e8-88ac-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(37,72,180)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Netherlands\", \"x\": [1510.0, 1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0, 1590.0, 1600.0, 1610.0, 1620.0, 1630.0, 1640.0, 1650.0, 1660.0, 1670.0, 1680.0, 1690.0, 1700.0, 1710.0, 1720.0, 1730.0, 1740.0, 1750.0, 1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-7.5, -9.0, -4.0, -6.0, -8.0, -5.0, -4.0, -3.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -1.0, -2.0, -3.0, -3.0, -5.0, -5.0, -4.0, -6.0, -7.0, -9.0, -8.0, -6.0, -8.0, -10.0, -13.5, -16.0, -22.0, -25.0, -21.0, -27.0, -26.0, -23.0, -24.0, -24.0, -22.5, -17.5, -18.0, -23.5, -22.5, -18.5], \"type\": \"scatter\", \"uid\": \"b3a7d67a-e4e8-11e8-ab3b-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Ranking of Netherlands in Decade-by-Decade in ODNB Country Associations, 1500-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "highlight_country(1500,2000,\"Netherlands\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "data": [
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "France",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da5d5c-e4e8-11e8-91e7-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -1,
          -1,
          -1,
          -2,
          -2,
          -1,
          -1,
          -1,
          -1
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "England",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da602c-e4e8-11e8-ad26-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -2,
          -2,
          -2,
          -1,
          -3,
          -3,
          -6,
          -5,
          -5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Scotland",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da61e4-e4e8-11e8-86de-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -3,
          -3,
          -5,
          -4,
          -4,
          -6,
          -5,
          -6,
          -6
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Ireland",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da6342-e4e8-11e8-a977-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -4,
          -5.5,
          -3,
          -7,
          -7,
          -8,
          -9,
          -11,
          -12
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Italy",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da6482-e4e8-11e8-b0c6-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -5,
          -5.5,
          -8,
          -8,
          -8,
          -9,
          -10,
          -7,
          -7
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "India",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da65cc-e4e8-11e8-9c01-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -6,
          -7,
          -6,
          -6,
          -5.5,
          -5,
          -4,
          -4,
          -4
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "United States",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da682e-e4e8-11e8-8fc1-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -7,
          -4,
          -4,
          -3,
          -1,
          -2,
          -2,
          -2,
          -2
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Germany",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da6982-e4e8-11e8-b666-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -8,
          -8,
          -7,
          -5,
          -5.5,
          -4,
          -3,
          -3,
          -3
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Australia",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da6a4a-e4e8-11e8-87ec-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -9,
          -10,
          -9,
          -12,
          -11,
          -10,
          -11,
          -10,
          -9
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Canada",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da6af4-e4e8-11e8-ad0b-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -10,
          -9,
          -11,
          -9,
          -10,
          -11,
          -8,
          -9,
          -8
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Wales",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da6b9e-e4e8-11e8-9774-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -11,
          -13,
          -13,
          -14,
          -14,
          -14,
          -18.5,
          -15,
          -16
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Russia",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da6cac-e4e8-11e8-81ab-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -12,
          -15,
          -10,
          -13,
          -13,
          -16,
          -16,
          -17,
          -14
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Switzerland",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da6dd8-e4e8-11e8-82d4-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -13,
          -12,
          -17,
          -15,
          -15,
          -15,
          -14,
          -14,
          -19
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Turkey",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da6ed2-e4e8-11e8-9068-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -14,
          -16,
          -14,
          -20,
          -20,
          -25,
          -17,
          -16,
          -18
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Egypt",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da6f7a-e4e8-11e8-ba34-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -15,
          -11,
          -12,
          -10,
          -12,
          -13,
          -13,
          -12,
          -11
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Spain",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da7026-e4e8-11e8-88d2-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -16.5,
          -14,
          -20,
          -21,
          -22,
          -18,
          -23,
          -25,
          -21
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Belgium",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da713e-e4e8-11e8-9c99-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -16.5,
          -18,
          -18,
          -18.5,
          -16,
          -12,
          -12,
          -13,
          -10
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Greece",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da7238-e4e8-11e8-bb1b-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -18,
          -22,
          -23,
          -23.5,
          -23,
          -22,
          -21,
          -21.5,
          -20
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "New Zealand",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da72f6-e4e8-11e8-935a-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -19,
          -17,
          -22,
          -22,
          -20,
          -20,
          -20,
          -18,
          -26
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Austria",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da7422-e4e8-11e8-a440-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -20,
          -19,
          -19,
          -18.5,
          -20,
          -26,
          -22,
          -19,
          -24
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "China",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da75a8-e4e8-11e8-8056-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -21,
          -20.5,
          -15,
          -16,
          -17.5,
          -17,
          -18.5,
          -20,
          -22.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Netherlands",
         "showlegend": false,
         "type": "scatter",
         "uid": "b3da76d4-e4e8-11e8-9f6b-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -22,
          -25,
          -21,
          -27,
          -26,
          -23,
          -24,
          -24,
          -22.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgb(37,72,180)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "South Africa",
         "type": "scatter",
         "uid": "b3da7788-e4e8-11e8-9d4d-985aeb8bb480",
         "x": [
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930
         ],
         "y": [
          -23,
          -20.5,
          -16,
          -11,
          -9,
          -7,
          -7,
          -8,
          -13
         ]
        }
       ],
       "layout": {
        "height": 640,
        "title": "Ranking of South Africa in Decade-by-Decade in ODNB Country Associations, 1850-1920",
        "width": 1200,
        "xaxis": {
         "title": "Decade"
        },
        "yaxis": {
         "dtick": 1,
         "tick0": 1,
         "tickmode": "array",
         "ticktext": [
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7",
          "8",
          "9",
          "10",
          "11",
          "12",
          "13",
          "14",
          "15",
          "16",
          "17",
          "18",
          "19",
          "20",
          "21",
          "22",
          "23",
          "24",
          "25"
         ],
         "tickvals": [
          -1,
          -2,
          -3,
          -4,
          -5,
          -6,
          -7,
          -8,
          -9,
          -10,
          -11,
          -12,
          -13,
          -14,
          -15,
          -16,
          -17,
          -18,
          -19,
          -20,
          -21,
          -22,
          -23,
          -24
         ],
         "title": "Rank"
        }
       }
      },
      "text/html": [
       "<div id=\"9104f401-cabe-424f-a2f6-8f72a174cda7\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"9104f401-cabe-424f-a2f6-8f72a174cda7\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"France\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0], \"type\": \"scatter\", \"uid\": \"b3da5d5c-e4e8-11e8-91e7-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"England\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0], \"type\": \"scatter\", \"uid\": \"b3da602c-e4e8-11e8-ad26-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Scotland\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0], \"type\": \"scatter\", \"uid\": \"b3da61e4-e4e8-11e8-86de-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Ireland\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0], \"type\": \"scatter\", \"uid\": \"b3da6342-e4e8-11e8-a977-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Italy\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-5.0, -5.5, -8.0, -8.0, -8.0, -9.0, -10.0, -7.0, -7.0], \"type\": \"scatter\", \"uid\": \"b3da6482-e4e8-11e8-b0c6-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"India\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-6.0, -7.0, -6.0, -6.0, -5.5, -5.0, -4.0, -4.0, -4.0], \"type\": \"scatter\", \"uid\": \"b3da65cc-e4e8-11e8-9c01-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"United States\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-7.0, -4.0, -4.0, -3.0, -1.0, -2.0, -2.0, -2.0, -2.0], \"type\": \"scatter\", \"uid\": \"b3da682e-e4e8-11e8-8fc1-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Germany\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-8.0, -8.0, -7.0, -5.0, -5.5, -4.0, -3.0, -3.0, -3.0], \"type\": \"scatter\", \"uid\": \"b3da6982-e4e8-11e8-b666-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Australia\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-9.0, -10.0, -9.0, -12.0, -11.0, -10.0, -11.0, -10.0, -9.0], \"type\": \"scatter\", \"uid\": \"b3da6a4a-e4e8-11e8-87ec-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Canada\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-10.0, -9.0, -11.0, -9.0, -10.0, -11.0, -8.0, -9.0, -8.0], \"type\": \"scatter\", \"uid\": \"b3da6af4-e4e8-11e8-ad0b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Wales\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0], \"type\": \"scatter\", \"uid\": \"b3da6b9e-e4e8-11e8-9774-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Russia\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-12.0, -15.0, -10.0, -13.0, -13.0, -16.0, -16.0, -17.0, -14.0], \"type\": \"scatter\", \"uid\": \"b3da6cac-e4e8-11e8-81ab-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Switzerland\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-13.0, -12.0, -17.0, -15.0, -15.0, -15.0, -14.0, -14.0, -19.0], \"type\": \"scatter\", \"uid\": \"b3da6dd8-e4e8-11e8-82d4-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Turkey\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-14.0, -16.0, -14.0, -20.0, -20.0, -25.0, -17.0, -16.0, -18.0], \"type\": \"scatter\", \"uid\": \"b3da6ed2-e4e8-11e8-9068-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Egypt\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-15.0, -11.0, -12.0, -10.0, -12.0, -13.0, -13.0, -12.0, -11.0], \"type\": \"scatter\", \"uid\": \"b3da6f7a-e4e8-11e8-ba34-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Spain\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-16.5, -14.0, -20.0, -21.0, -22.0, -18.0, -23.0, -25.0, -21.0], \"type\": \"scatter\", \"uid\": \"b3da7026-e4e8-11e8-88d2-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Belgium\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-16.5, -18.0, -18.0, -18.5, -16.0, -12.0, -12.0, -13.0, -10.0], \"type\": \"scatter\", \"uid\": \"b3da713e-e4e8-11e8-9c99-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Greece\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-18.0, -22.0, -23.0, -23.5, -23.0, -22.0, -21.0, -21.5, -20.0], \"type\": \"scatter\", \"uid\": \"b3da7238-e4e8-11e8-bb1b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"New Zealand\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-19.0, -17.0, -22.0, -22.0, -20.0, -20.0, -20.0, -18.0, -26.0], \"type\": \"scatter\", \"uid\": \"b3da72f6-e4e8-11e8-935a-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Austria\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-20.0, -19.0, -19.0, -18.5, -20.0, -26.0, -22.0, -19.0, -24.0], \"type\": \"scatter\", \"uid\": \"b3da7422-e4e8-11e8-a440-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"China\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-21.0, -20.5, -15.0, -16.0, -17.5, -17.0, -18.5, -20.0, -22.5], \"type\": \"scatter\", \"uid\": \"b3da75a8-e4e8-11e8-8056-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Netherlands\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-22.0, -25.0, -21.0, -27.0, -26.0, -23.0, -24.0, -24.0, -22.5], \"type\": \"scatter\", \"uid\": \"b3da76d4-e4e8-11e8-9f6b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(37,72,180)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"South Africa\", \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-23.0, -20.5, -16.0, -11.0, -9.0, -7.0, -7.0, -8.0, -13.0], \"type\": \"scatter\", \"uid\": \"b3da7788-e4e8-11e8-9d4d-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Ranking of South Africa in Decade-by-Decade in ODNB Country Associations, 1850-1920\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<div id=\"9104f401-cabe-424f-a2f6-8f72a174cda7\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"9104f401-cabe-424f-a2f6-8f72a174cda7\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"France\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0], \"type\": \"scatter\", \"uid\": \"b3da5d5c-e4e8-11e8-91e7-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"England\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0], \"type\": \"scatter\", \"uid\": \"b3da602c-e4e8-11e8-ad26-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Scotland\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0], \"type\": \"scatter\", \"uid\": \"b3da61e4-e4e8-11e8-86de-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Ireland\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0], \"type\": \"scatter\", \"uid\": \"b3da6342-e4e8-11e8-a977-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Italy\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-5.0, -5.5, -8.0, -8.0, -8.0, -9.0, -10.0, -7.0, -7.0], \"type\": \"scatter\", \"uid\": \"b3da6482-e4e8-11e8-b0c6-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"India\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-6.0, -7.0, -6.0, -6.0, -5.5, -5.0, -4.0, -4.0, -4.0], \"type\": \"scatter\", \"uid\": \"b3da65cc-e4e8-11e8-9c01-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"United States\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-7.0, -4.0, -4.0, -3.0, -1.0, -2.0, -2.0, -2.0, -2.0], \"type\": \"scatter\", \"uid\": \"b3da682e-e4e8-11e8-8fc1-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Germany\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-8.0, -8.0, -7.0, -5.0, -5.5, -4.0, -3.0, -3.0, -3.0], \"type\": \"scatter\", \"uid\": \"b3da6982-e4e8-11e8-b666-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Australia\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-9.0, -10.0, -9.0, -12.0, -11.0, -10.0, -11.0, -10.0, -9.0], \"type\": \"scatter\", \"uid\": \"b3da6a4a-e4e8-11e8-87ec-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Canada\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-10.0, -9.0, -11.0, -9.0, -10.0, -11.0, -8.0, -9.0, -8.0], \"type\": \"scatter\", \"uid\": \"b3da6af4-e4e8-11e8-ad0b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Wales\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0], \"type\": \"scatter\", \"uid\": \"b3da6b9e-e4e8-11e8-9774-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Russia\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-12.0, -15.0, -10.0, -13.0, -13.0, -16.0, -16.0, -17.0, -14.0], \"type\": \"scatter\", \"uid\": \"b3da6cac-e4e8-11e8-81ab-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Switzerland\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-13.0, -12.0, -17.0, -15.0, -15.0, -15.0, -14.0, -14.0, -19.0], \"type\": \"scatter\", \"uid\": \"b3da6dd8-e4e8-11e8-82d4-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Turkey\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-14.0, -16.0, -14.0, -20.0, -20.0, -25.0, -17.0, -16.0, -18.0], \"type\": \"scatter\", \"uid\": \"b3da6ed2-e4e8-11e8-9068-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Egypt\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-15.0, -11.0, -12.0, -10.0, -12.0, -13.0, -13.0, -12.0, -11.0], \"type\": \"scatter\", \"uid\": \"b3da6f7a-e4e8-11e8-ba34-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Spain\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-16.5, -14.0, -20.0, -21.0, -22.0, -18.0, -23.0, -25.0, -21.0], \"type\": \"scatter\", \"uid\": \"b3da7026-e4e8-11e8-88d2-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Belgium\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-16.5, -18.0, -18.0, -18.5, -16.0, -12.0, -12.0, -13.0, -10.0], \"type\": \"scatter\", \"uid\": \"b3da713e-e4e8-11e8-9c99-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Greece\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-18.0, -22.0, -23.0, -23.5, -23.0, -22.0, -21.0, -21.5, -20.0], \"type\": \"scatter\", \"uid\": \"b3da7238-e4e8-11e8-bb1b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"New Zealand\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-19.0, -17.0, -22.0, -22.0, -20.0, -20.0, -20.0, -18.0, -26.0], \"type\": \"scatter\", \"uid\": \"b3da72f6-e4e8-11e8-935a-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Austria\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-20.0, -19.0, -19.0, -18.5, -20.0, -26.0, -22.0, -19.0, -24.0], \"type\": \"scatter\", \"uid\": \"b3da7422-e4e8-11e8-a440-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"China\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-21.0, -20.5, -15.0, -16.0, -17.5, -17.0, -18.5, -20.0, -22.5], \"type\": \"scatter\", \"uid\": \"b3da75a8-e4e8-11e8-8056-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Netherlands\", \"showlegend\": false, \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-22.0, -25.0, -21.0, -27.0, -26.0, -23.0, -24.0, -24.0, -22.5], \"type\": \"scatter\", \"uid\": \"b3da76d4-e4e8-11e8-9f6b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(37,72,180)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"South Africa\", \"x\": [1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0], \"y\": [-23.0, -20.5, -16.0, -11.0, -9.0, -7.0, -7.0, -8.0, -13.0], \"type\": \"scatter\", \"uid\": \"b3da7788-e4e8-11e8-9d4d-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Ranking of South Africa in Decade-by-Decade in ODNB Country Associations, 1850-1920\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "highlight_country(1850,1920,\"South Africa\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "data": [
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "France",
         "showlegend": false,
         "type": "scatter",
         "uid": "b40d34ca-e4e8-11e8-a57c-985aeb8bb480",
         "x": [
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580
         ],
         "y": [
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "England",
         "showlegend": false,
         "type": "scatter",
         "uid": "b40d365a-e4e8-11e8-9850-985aeb8bb480",
         "x": [
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580
         ],
         "y": [
          -2,
          -2,
          -2,
          -2,
          -2,
          -2.5,
          -2
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Scotland",
         "showlegend": false,
         "type": "scatter",
         "uid": "b40d3718-e4e8-11e8-b95c-985aeb8bb480",
         "x": [
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580
         ],
         "y": [
          -3,
          -3,
          -3,
          -3,
          -3,
          -2.5,
          -4
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Italy",
         "showlegend": false,
         "type": "scatter",
         "uid": "b40d3826-e4e8-11e8-a895-985aeb8bb480",
         "x": [
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580
         ],
         "y": [
          -4,
          -6,
          -5,
          -5,
          -6,
          -5.5,
          -5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Germany",
         "showlegend": false,
         "type": "scatter",
         "uid": "b40d38ba-e4e8-11e8-9999-985aeb8bb480",
         "x": [
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580
         ],
         "y": [
          -5,
          -5,
          -4,
          -4,
          -4,
          -8,
          -8
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Spain",
         "showlegend": false,
         "type": "scatter",
         "uid": "b40d3952-e4e8-11e8-b5d0-985aeb8bb480",
         "x": [
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580
         ],
         "y": [
          -6.5,
          -9.5,
          -9,
          -9.5,
          -7,
          -7,
          -7
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Wales",
         "showlegend": false,
         "type": "scatter",
         "uid": "b40d3a42-e4e8-11e8-94eb-985aeb8bb480",
         "x": [
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580
         ],
         "y": [
          -6.5,
          -9.5,
          -7.5,
          -9.5,
          -10,
          -9,
          -10
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Ireland",
         "showlegend": false,
         "type": "scatter",
         "uid": "b40d3b3a-e4e8-11e8-b533-985aeb8bb480",
         "x": [
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580
         ],
         "y": [
          -8,
          -7,
          -7.5,
          -7,
          -8,
          -5.5,
          -6
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Netherlands",
         "showlegend": false,
         "type": "scatter",
         "uid": "b40d3bc8-e4e8-11e8-931f-985aeb8bb480",
         "x": [
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580
         ],
         "y": [
          -9,
          -4,
          -6,
          -8,
          -5,
          -4,
          -3
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Denmark",
         "showlegend": false,
         "type": "scatter",
         "uid": "b40d3c54-e4e8-11e8-9c2b-985aeb8bb480",
         "x": [
          1520,
          1530,
          1560,
          1570,
          1580
         ],
         "y": [
          -11,
          -11,
          -13,
          -15,
          -9
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgb(37,72,180)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "Switzerland",
         "type": "scatter",
         "uid": "b40d3d3a-e4e8-11e8-aaf5-985aeb8bb480",
         "x": [
          1520,
          1530,
          1540,
          1550,
          1560,
          1570,
          1580
         ],
         "y": [
          -10,
          -8,
          -10,
          -6,
          -9,
          -10,
          -11.5
         ]
        }
       ],
       "layout": {
        "height": 640,
        "title": "Ranking of Switzerland in Decade-by-Decade in ODNB Country Associations, 1520-1570",
        "width": 1200,
        "xaxis": {
         "title": "Decade"
        },
        "yaxis": {
         "dtick": 1,
         "tick0": 1,
         "tickmode": "array",
         "ticktext": [
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7",
          "8",
          "9",
          "10",
          "11",
          "12",
          "13",
          "14",
          "15",
          "16",
          "17",
          "18",
          "19",
          "20",
          "21",
          "22",
          "23",
          "24",
          "25"
         ],
         "tickvals": [
          -1,
          -2,
          -3,
          -4,
          -5,
          -6,
          -7,
          -8,
          -9,
          -10,
          -11,
          -12,
          -13,
          -14,
          -15,
          -16,
          -17,
          -18,
          -19,
          -20,
          -21,
          -22,
          -23,
          -24
         ],
         "title": "Rank"
        }
       }
      },
      "text/html": [
       "<div id=\"44d1d861-c085-49b9-bf2f-eee5698333b2\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"44d1d861-c085-49b9-bf2f-eee5698333b2\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"France\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0], \"type\": \"scatter\", \"uid\": \"b40d34ca-e4e8-11e8-a57c-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"England\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b40d365a-e4e8-11e8-9850-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Scotland\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-3.0, -3.0, -3.0, -3.0, -3.0, -2.5, -4.0], \"type\": \"scatter\", \"uid\": \"b40d3718-e4e8-11e8-b95c-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Italy\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-4.0, -6.0, -5.0, -5.0, -6.0, -5.5, -5.0], \"type\": \"scatter\", \"uid\": \"b40d3826-e4e8-11e8-a895-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Germany\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-5.0, -5.0, -4.0, -4.0, -4.0, -8.0, -8.0], \"type\": \"scatter\", \"uid\": \"b40d38ba-e4e8-11e8-9999-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Spain\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-6.5, -9.5, -9.0, -9.5, -7.0, -7.0, -7.0], \"type\": \"scatter\", \"uid\": \"b40d3952-e4e8-11e8-b5d0-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Wales\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-6.5, -9.5, -7.5, -9.5, -10.0, -9.0, -10.0], \"type\": \"scatter\", \"uid\": \"b40d3a42-e4e8-11e8-94eb-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Ireland\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-8.0, -7.0, -7.5, -7.0, -8.0, -5.5, -6.0], \"type\": \"scatter\", \"uid\": \"b40d3b3a-e4e8-11e8-b533-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Netherlands\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-9.0, -4.0, -6.0, -8.0, -5.0, -4.0, -3.0], \"type\": \"scatter\", \"uid\": \"b40d3bc8-e4e8-11e8-931f-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Denmark\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1560.0, 1570.0, 1580.0], \"y\": [-11.0, -11.0, -13.0, -15.0, -9.0], \"type\": \"scatter\", \"uid\": \"b40d3c54-e4e8-11e8-9c2b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(37,72,180)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Switzerland\", \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-10.0, -8.0, -10.0, -6.0, -9.0, -10.0, -11.5], \"type\": \"scatter\", \"uid\": \"b40d3d3a-e4e8-11e8-aaf5-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Ranking of Switzerland in Decade-by-Decade in ODNB Country Associations, 1520-1570\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<div id=\"44d1d861-c085-49b9-bf2f-eee5698333b2\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"44d1d861-c085-49b9-bf2f-eee5698333b2\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"France\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0], \"type\": \"scatter\", \"uid\": \"b40d34ca-e4e8-11e8-a57c-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"England\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b40d365a-e4e8-11e8-9850-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Scotland\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-3.0, -3.0, -3.0, -3.0, -3.0, -2.5, -4.0], \"type\": \"scatter\", \"uid\": \"b40d3718-e4e8-11e8-b95c-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Italy\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-4.0, -6.0, -5.0, -5.0, -6.0, -5.5, -5.0], \"type\": \"scatter\", \"uid\": \"b40d3826-e4e8-11e8-a895-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Germany\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-5.0, -5.0, -4.0, -4.0, -4.0, -8.0, -8.0], \"type\": \"scatter\", \"uid\": \"b40d38ba-e4e8-11e8-9999-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Spain\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-6.5, -9.5, -9.0, -9.5, -7.0, -7.0, -7.0], \"type\": \"scatter\", \"uid\": \"b40d3952-e4e8-11e8-b5d0-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Wales\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-6.5, -9.5, -7.5, -9.5, -10.0, -9.0, -10.0], \"type\": \"scatter\", \"uid\": \"b40d3a42-e4e8-11e8-94eb-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Ireland\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-8.0, -7.0, -7.5, -7.0, -8.0, -5.5, -6.0], \"type\": \"scatter\", \"uid\": \"b40d3b3a-e4e8-11e8-b533-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Netherlands\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-9.0, -4.0, -6.0, -8.0, -5.0, -4.0, -3.0], \"type\": \"scatter\", \"uid\": \"b40d3bc8-e4e8-11e8-931f-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Denmark\", \"showlegend\": false, \"x\": [1520.0, 1530.0, 1560.0, 1570.0, 1580.0], \"y\": [-11.0, -11.0, -13.0, -15.0, -9.0], \"type\": \"scatter\", \"uid\": \"b40d3c54-e4e8-11e8-9c2b-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(37,72,180)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"Switzerland\", \"x\": [1520.0, 1530.0, 1540.0, 1550.0, 1560.0, 1570.0, 1580.0], \"y\": [-10.0, -8.0, -10.0, -6.0, -9.0, -10.0, -11.5], \"type\": \"scatter\", \"uid\": \"b40d3d3a-e4e8-11e8-aaf5-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Ranking of Switzerland in Decade-by-Decade in ODNB Country Associations, 1520-1570\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "highlight_country(1520,1570,\"Switzerland\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "data": [
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "France",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fcbba-e4e8-11e8-ad35-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -1,
          -1,
          -1,
          -1,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2.5,
          -2
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Scotland",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fcdae-e4e8-11e8-b527-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -2,
          -2,
          -3,
          -3,
          -3,
          -4,
          -3.5,
          -3,
          -3,
          -3,
          -3,
          -5,
          -4,
          -4,
          -6,
          -5,
          -6,
          -6,
          -5,
          -5,
          -5.5,
          -6,
          -4,
          -4.5,
          -4
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Ireland",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fce8a-e4e8-11e8-b5dc-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -3,
          -3,
          -2,
          -2,
          -2,
          -3,
          -3.5,
          -4,
          -4,
          -4,
          -5.5,
          -3,
          -7,
          -7,
          -8,
          -9,
          -11,
          -12,
          -13,
          -19.5,
          -17,
          -17,
          -13,
          -9.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "England",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fcf34-e4e8-11e8-bca1-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -4,
          -5,
          -5,
          -5,
          -4,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -2,
          -1,
          -3,
          -3,
          -6,
          -5,
          -5,
          -6,
          -8,
          -9,
          -9,
          -22.5,
          -4.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Italy",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fcfde-e4e8-11e8-93e0-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -5,
          -4,
          -4,
          -4,
          -5,
          -6,
          -6,
          -5,
          -5,
          -5,
          -5.5,
          -8,
          -8,
          -8,
          -9,
          -10,
          -7,
          -7,
          -4,
          -4,
          -3,
          -3.5,
          -5,
          -6.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Netherlands",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd07e-e4e8-11e8-a7cc-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -6,
          -7,
          -9,
          -8,
          -6,
          -8,
          -10,
          -13.5,
          -16,
          -22,
          -25,
          -21,
          -27,
          -26,
          -23,
          -24,
          -24,
          -22.5,
          -17.5,
          -18,
          -23.5,
          -22.5,
          -18.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Germany",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd11e-e4e8-11e8-9e59-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -7,
          -6,
          -6,
          -9,
          -9,
          -10,
          -8,
          -9,
          -7,
          -8,
          -8,
          -7,
          -5,
          -5.5,
          -4,
          -3,
          -3,
          -3,
          -3,
          -3,
          -4,
          -5,
          -3,
          -2.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "United States",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd1b4-e4e8-11e8-b695-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990,
          2000
         ],
         "y": [
          -8,
          -9,
          -7,
          -7,
          -10,
          -11,
          -11,
          -8,
          -8,
          -7,
          -4,
          -4,
          -3,
          -1,
          -2,
          -2,
          -2,
          -2,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1,
          -1
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Spain",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd254-e4e8-11e8-82c4-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -9,
          -10.5,
          -12,
          -12,
          -8,
          -5,
          -5,
          -7,
          -12,
          -16.5,
          -14,
          -20,
          -21,
          -22,
          -18,
          -23,
          -25,
          -21,
          -17.5,
          -14,
          -15,
          -16,
          -20.5,
          -12
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "India",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd2e8-e4e8-11e8-91b7-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -10,
          -8,
          -8,
          -6,
          -7,
          -7,
          -9,
          -6,
          -6,
          -6,
          -7,
          -6,
          -6,
          -5.5,
          -5,
          -4,
          -4,
          -4,
          -7,
          -6,
          -5.5,
          -10,
          -11.5,
          -14.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Canada",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd38a-e4e8-11e8-853f-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -11,
          -12,
          -11,
          -15,
          -13,
          -15,
          -13,
          -11,
          -9,
          -10,
          -9,
          -11,
          -9,
          -10,
          -11,
          -8,
          -9,
          -8,
          -9,
          -9,
          -8,
          -7.5,
          -10,
          -14.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Portugal",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd41e-e4e8-11e8-bbbf-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1910
         ],
         "y": [
          -12,
          -13,
          -16,
          -14,
          -11,
          -9,
          -7,
          -10,
          -20,
          -24,
          -31,
          -32.5,
          -37,
          -39,
          -35
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Wales",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd4ac-e4e8-11e8-94bc-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -13,
          -10.5,
          -10,
          -10,
          -12,
          -13,
          -14,
          -13.5,
          -10,
          -11,
          -13,
          -13,
          -14,
          -14,
          -14,
          -18.5,
          -15,
          -16,
          -15,
          -12.5,
          -12,
          -7.5,
          -7.5,
          -8
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Russia",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd542-e4e8-11e8-9a77-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -14,
          -14.5,
          -14,
          -13,
          -17.5,
          -14,
          -15,
          -18,
          -14,
          -12,
          -15,
          -10,
          -13,
          -13,
          -16,
          -16,
          -17,
          -14,
          -24.5,
          -23,
          -27,
          -19.5,
          -22.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Switzerland",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd5d8-e4e8-11e8-ae31-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -15,
          -14.5,
          -13,
          -11,
          -14,
          -16.5,
          -17.5,
          -15,
          -13,
          -13,
          -12,
          -17,
          -15,
          -15,
          -15,
          -14,
          -14,
          -19,
          -16,
          -11,
          -20,
          -19.5,
          -14,
          -17
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Jamaica",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd664-e4e8-11e8-adfb-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1870,
          1880
         ],
         "y": [
          -17,
          -31,
          -18,
          -18.5,
          -24,
          -27.5,
          -26,
          -39.5,
          -27,
          -29,
          -37,
          -39
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Austria",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd6fa-e4e8-11e8-a99d-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -17,
          -16,
          -16,
          -16,
          -16,
          -16.5,
          -21,
          -26.5,
          -21.5,
          -20,
          -19,
          -19,
          -18.5,
          -20,
          -26,
          -22,
          -19,
          -24,
          -19,
          -15,
          -22,
          -25.5,
          -18.5
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "West Indies",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd790-e4e8-11e8-b89e-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850
         ],
         "y": [
          -17,
          -18,
          -19,
          -20.5,
          -19,
          -18,
          -27,
          -21,
          -28.5,
          -37
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Cuba",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd81c-e4e8-11e8-9ad2-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780
         ],
         "y": [
          -19.5,
          -31,
          -25
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Britain",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd8da-e4e8-11e8-9ea1-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980,
          1990
         ],
         "y": [
          -19.5,
          -17,
          -16,
          -23.5,
          -24,
          -33,
          -34,
          -29,
          -26,
          -25,
          -23,
          -27,
          -23.5,
          -24.5,
          -19,
          -15,
          -21.5,
          -16,
          -12,
          -12.5,
          -13,
          -13.5,
          -11.5,
          -12
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "North America",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fd97a-e4e8-11e8-9f99-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800
         ],
         "y": [
          -21.5,
          -20,
          -23,
          -23.5,
          -37
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Prussia",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fda06-e4e8-11e8-bc48-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1800,
          1810,
          1820
         ],
         "y": [
          -21.5,
          -26,
          -34,
          -30,
          -31,
          -35
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "gainsboro",
          "shape": "spline",
          "width": 3
         },
         "mode": "lines",
         "name": "Sweden",
         "showlegend": false,
         "type": "scatter",
         "uid": "b43fda92-e4e8-11e8-8e63-985aeb8bb480",
         "x": [
          1760,
          1770,
          1780,
          1790,
          1800,
          1810,
          1820,
          1830,
          1840,
          1850,
          1860,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -24,
          -23,
          -21,
          -18.5,
          -26,
          -23,
          -24,
          -30.5,
          -31,
          -34,
          -29,
          -28,
          -28,
          -33,
          -28,
          -32,
          -28,
          -28,
          -38,
          -25.5,
          -26
         ]
        },
        {
         "hoverinfo": "name+x",
         "line": {
          "color": "rgb(37,72,180)",
          "shape": "spline",
          "width": 8
         },
         "mode": "lines",
         "name": "New Zealand",
         "type": "scatter",
         "uid": "b43fdb28-e4e8-11e8-8c44-985aeb8bb480",
         "x": [
          1770,
          1790,
          1830,
          1840,
          1850,
          1860,
          1870,
          1880,
          1890,
          1900,
          1910,
          1920,
          1930,
          1940,
          1950,
          1960,
          1970,
          1980
         ],
         "y": [
          -31,
          -30.5,
          -28,
          -23,
          -19,
          -17,
          -22,
          -22,
          -20,
          -20,
          -20,
          -18,
          -26,
          -23,
          -22,
          -28,
          -13.5,
          -16
         ]
        }
       ],
       "layout": {
        "height": 640,
        "title": "Ranking of New Zealand in Decade-by-Decade in ODNB Country Associations, 1760-2000",
        "width": 1200,
        "xaxis": {
         "title": "Decade"
        },
        "yaxis": {
         "dtick": 1,
         "tick0": 1,
         "tickmode": "array",
         "ticktext": [
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7",
          "8",
          "9",
          "10",
          "11",
          "12",
          "13",
          "14",
          "15",
          "16",
          "17",
          "18",
          "19",
          "20",
          "21",
          "22",
          "23",
          "24",
          "25"
         ],
         "tickvals": [
          -1,
          -2,
          -3,
          -4,
          -5,
          -6,
          -7,
          -8,
          -9,
          -10,
          -11,
          -12,
          -13,
          -14,
          -15,
          -16,
          -17,
          -18,
          -19,
          -20,
          -21,
          -22,
          -23,
          -24
         ],
         "title": "Rank"
        }
       }
      },
      "text/html": [
       "<div id=\"b013f101-a151-42d8-9807-42ebf6abe0e9\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"b013f101-a151-42d8-9807-42ebf6abe0e9\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"France\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b43fcbba-e4e8-11e8-ad35-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Scotland\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-2.0, -2.0, -3.0, -3.0, -3.0, -4.0, -3.5, -3.0, -3.0, -3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.5, -6.0, -4.0, -4.5, -4.0], \"type\": \"scatter\", \"uid\": \"b43fcdae-e4e8-11e8-b527-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Ireland\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-3.0, -3.0, -2.0, -2.0, -2.0, -3.0, -3.5, -4.0, -4.0, -4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0, -13.0, -19.5, -17.0, -17.0, -13.0, -9.5], \"type\": \"scatter\", \"uid\": \"b43fce8a-e4e8-11e8-b5dc-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"England\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-4.0, -5.0, -5.0, -5.0, -4.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0, -6.0, -8.0, -9.0, -9.0, -22.5, -4.5], \"type\": \"scatter\", \"uid\": \"b43fcf34-e4e8-11e8-bca1-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Italy\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.0, -4.0, -4.0, -4.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.0, -5.5, -8.0, -8.0, -8.0, -9.0, -10.0, -7.0, -7.0, -4.0, -4.0, -3.0, -3.5, -5.0, -6.5], \"type\": \"scatter\", \"uid\": \"b43fcfde-e4e8-11e8-93e0-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Netherlands\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-6.0, -7.0, -9.0, -8.0, -6.0, -8.0, -10.0, -13.5, -16.0, -22.0, -25.0, -21.0, -27.0, -26.0, -23.0, -24.0, -24.0, -22.5, -17.5, -18.0, -23.5, -22.5, -18.5], \"type\": \"scatter\", \"uid\": \"b43fd07e-e4e8-11e8-a7cc-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Germany\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-7.0, -6.0, -6.0, -9.0, -9.0, -10.0, -8.0, -9.0, -7.0, -8.0, -8.0, -7.0, -5.0, -5.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -4.0, -5.0, -3.0, -2.5], \"type\": \"scatter\", \"uid\": \"b43fd11e-e4e8-11e8-9e59-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"United States\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-8.0, -9.0, -7.0, -7.0, -10.0, -11.0, -11.0, -8.0, -8.0, -7.0, -4.0, -4.0, -3.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0], \"type\": \"scatter\", \"uid\": \"b43fd1b4-e4e8-11e8-b695-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Spain\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-9.0, -10.5, -12.0, -12.0, -8.0, -5.0, -5.0, -7.0, -12.0, -16.5, -14.0, -20.0, -21.0, -22.0, -18.0, -23.0, -25.0, -21.0, -17.5, -14.0, -15.0, -16.0, -20.5, -12.0], \"type\": \"scatter\", \"uid\": \"b43fd254-e4e8-11e8-82c4-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"India\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-10.0, -8.0, -8.0, -6.0, -7.0, -7.0, -9.0, -6.0, -6.0, -6.0, -7.0, -6.0, -6.0, -5.5, -5.0, -4.0, -4.0, -4.0, -7.0, -6.0, -5.5, -10.0, -11.5, -14.5], \"type\": \"scatter\", \"uid\": \"b43fd2e8-e4e8-11e8-91b7-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Canada\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-11.0, -12.0, -11.0, -15.0, -13.0, -15.0, -13.0, -11.0, -9.0, -10.0, -9.0, -11.0, -9.0, -10.0, -11.0, -8.0, -9.0, -8.0, -9.0, -9.0, -8.0, -7.5, -10.0, -14.5], \"type\": \"scatter\", \"uid\": \"b43fd38a-e4e8-11e8-853f-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Portugal\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1910.0], \"y\": [-12.0, -13.0, -16.0, -14.0, -11.0, -9.0, -7.0, -10.0, -20.0, -24.0, -31.0, -32.5, -37.0, -39.0, -35.0], \"type\": \"scatter\", \"uid\": \"b43fd41e-e4e8-11e8-bbbf-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Wales\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-13.0, -10.5, -10.0, -10.0, -12.0, -13.0, -14.0, -13.5, -10.0, -11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0, -15.0, -12.5, -12.0, -7.5, -7.5, -8.0], \"type\": \"scatter\", \"uid\": \"b43fd4ac-e4e8-11e8-94bc-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Russia\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-14.0, -14.5, -14.0, -13.0, -17.5, -14.0, -15.0, -18.0, -14.0, -12.0, -15.0, -10.0, -13.0, -13.0, -16.0, -16.0, -17.0, -14.0, -24.5, -23.0, -27.0, -19.5, -22.5], \"type\": \"scatter\", \"uid\": \"b43fd542-e4e8-11e8-9a77-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Switzerland\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-15.0, -14.5, -13.0, -11.0, -14.0, -16.5, -17.5, -15.0, -13.0, -13.0, -12.0, -17.0, -15.0, -15.0, -15.0, -14.0, -14.0, -19.0, -16.0, -11.0, -20.0, -19.5, -14.0, -17.0], \"type\": \"scatter\", \"uid\": \"b43fd5d8-e4e8-11e8-ae31-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Jamaica\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1870.0, 1880.0], \"y\": [-17.0, -31.0, -18.0, -18.5, -24.0, -27.5, -26.0, -39.5, -27.0, -29.0, -37.0, -39.0], \"type\": \"scatter\", \"uid\": \"b43fd664-e4e8-11e8-adfb-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Austria\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-17.0, -16.0, -16.0, -16.0, -16.0, -16.5, -21.0, -26.5, -21.5, -20.0, -19.0, -19.0, -18.5, -20.0, -26.0, -22.0, -19.0, -24.0, -19.0, -15.0, -22.0, -25.5, -18.5], \"type\": \"scatter\", \"uid\": \"b43fd6fa-e4e8-11e8-a99d-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"West Indies\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0], \"y\": [-17.0, -18.0, -19.0, -20.5, -19.0, -18.0, -27.0, -21.0, -28.5, -37.0], \"type\": \"scatter\", \"uid\": \"b43fd790-e4e8-11e8-b89e-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Cuba\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0], \"y\": [-19.5, -31.0, -25.0], \"type\": \"scatter\", \"uid\": \"b43fd81c-e4e8-11e8-9ad2-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Britain\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-19.5, -17.0, -16.0, -23.5, -24.0, -33.0, -34.0, -29.0, -26.0, -25.0, -23.0, -27.0, -23.5, -24.5, -19.0, -15.0, -21.5, -16.0, -12.0, -12.5, -13.0, -13.5, -11.5, -12.0], \"type\": \"scatter\", \"uid\": \"b43fd8da-e4e8-11e8-9ea1-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"North America\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0], \"y\": [-21.5, -20.0, -23.0, -23.5, -37.0], \"type\": \"scatter\", \"uid\": \"b43fd97a-e4e8-11e8-9f99-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Prussia\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1800.0, 1810.0, 1820.0], \"y\": [-21.5, -26.0, -34.0, -30.0, -31.0, -35.0], \"type\": \"scatter\", \"uid\": \"b43fda06-e4e8-11e8-bc48-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Sweden\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-24.0, -23.0, -21.0, -18.5, -26.0, -23.0, -24.0, -30.5, -31.0, -34.0, -29.0, -28.0, -28.0, -33.0, -28.0, -32.0, -28.0, -28.0, -38.0, -25.5, -26.0], \"type\": \"scatter\", \"uid\": \"b43fda92-e4e8-11e8-8e63-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(37,72,180)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"New Zealand\", \"x\": [1770.0, 1790.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-31.0, -30.5, -28.0, -23.0, -19.0, -17.0, -22.0, -22.0, -20.0, -20.0, -20.0, -18.0, -26.0, -23.0, -22.0, -28.0, -13.5, -16.0], \"type\": \"scatter\", \"uid\": \"b43fdb28-e4e8-11e8-8c44-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Ranking of New Zealand in Decade-by-Decade in ODNB Country Associations, 1760-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<div id=\"b013f101-a151-42d8-9807-42ebf6abe0e9\" style=\"height: 640px; width: 1200px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"b013f101-a151-42d8-9807-42ebf6abe0e9\", [{\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"France\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.5, -2.0], \"type\": \"scatter\", \"uid\": \"b43fcbba-e4e8-11e8-ad35-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Scotland\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-2.0, -2.0, -3.0, -3.0, -3.0, -4.0, -3.5, -3.0, -3.0, -3.0, -3.0, -5.0, -4.0, -4.0, -6.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.5, -6.0, -4.0, -4.5, -4.0], \"type\": \"scatter\", \"uid\": \"b43fcdae-e4e8-11e8-b527-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Ireland\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-3.0, -3.0, -2.0, -2.0, -2.0, -3.0, -3.5, -4.0, -4.0, -4.0, -5.5, -3.0, -7.0, -7.0, -8.0, -9.0, -11.0, -12.0, -13.0, -19.5, -17.0, -17.0, -13.0, -9.5], \"type\": \"scatter\", \"uid\": \"b43fce8a-e4e8-11e8-b5dc-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"England\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-4.0, -5.0, -5.0, -5.0, -4.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -2.0, -1.0, -3.0, -3.0, -6.0, -5.0, -5.0, -6.0, -8.0, -9.0, -9.0, -22.5, -4.5], \"type\": \"scatter\", \"uid\": \"b43fcf34-e4e8-11e8-bca1-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Italy\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-5.0, -4.0, -4.0, -4.0, -5.0, -6.0, -6.0, -5.0, -5.0, -5.0, -5.5, -8.0, -8.0, -8.0, -9.0, -10.0, -7.0, -7.0, -4.0, -4.0, -3.0, -3.5, -5.0, -6.5], \"type\": \"scatter\", \"uid\": \"b43fcfde-e4e8-11e8-93e0-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Netherlands\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-6.0, -7.0, -9.0, -8.0, -6.0, -8.0, -10.0, -13.5, -16.0, -22.0, -25.0, -21.0, -27.0, -26.0, -23.0, -24.0, -24.0, -22.5, -17.5, -18.0, -23.5, -22.5, -18.5], \"type\": \"scatter\", \"uid\": \"b43fd07e-e4e8-11e8-a7cc-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Germany\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-7.0, -6.0, -6.0, -9.0, -9.0, -10.0, -8.0, -9.0, -7.0, -8.0, -8.0, -7.0, -5.0, -5.5, -4.0, -3.0, -3.0, -3.0, -3.0, -3.0, -4.0, -5.0, -3.0, -2.5], \"type\": \"scatter\", \"uid\": \"b43fd11e-e4e8-11e8-9e59-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"United States\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0, 2000.0], \"y\": [-8.0, -9.0, -7.0, -7.0, -10.0, -11.0, -11.0, -8.0, -8.0, -7.0, -4.0, -4.0, -3.0, -1.0, -2.0, -2.0, -2.0, -2.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0, -1.0], \"type\": \"scatter\", \"uid\": \"b43fd1b4-e4e8-11e8-b695-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Spain\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-9.0, -10.5, -12.0, -12.0, -8.0, -5.0, -5.0, -7.0, -12.0, -16.5, -14.0, -20.0, -21.0, -22.0, -18.0, -23.0, -25.0, -21.0, -17.5, -14.0, -15.0, -16.0, -20.5, -12.0], \"type\": \"scatter\", \"uid\": \"b43fd254-e4e8-11e8-82c4-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"India\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-10.0, -8.0, -8.0, -6.0, -7.0, -7.0, -9.0, -6.0, -6.0, -6.0, -7.0, -6.0, -6.0, -5.5, -5.0, -4.0, -4.0, -4.0, -7.0, -6.0, -5.5, -10.0, -11.5, -14.5], \"type\": \"scatter\", \"uid\": \"b43fd2e8-e4e8-11e8-91b7-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Canada\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-11.0, -12.0, -11.0, -15.0, -13.0, -15.0, -13.0, -11.0, -9.0, -10.0, -9.0, -11.0, -9.0, -10.0, -11.0, -8.0, -9.0, -8.0, -9.0, -9.0, -8.0, -7.5, -10.0, -14.5], \"type\": \"scatter\", \"uid\": \"b43fd38a-e4e8-11e8-853f-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Portugal\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1910.0], \"y\": [-12.0, -13.0, -16.0, -14.0, -11.0, -9.0, -7.0, -10.0, -20.0, -24.0, -31.0, -32.5, -37.0, -39.0, -35.0], \"type\": \"scatter\", \"uid\": \"b43fd41e-e4e8-11e8-bbbf-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Wales\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-13.0, -10.5, -10.0, -10.0, -12.0, -13.0, -14.0, -13.5, -10.0, -11.0, -13.0, -13.0, -14.0, -14.0, -14.0, -18.5, -15.0, -16.0, -15.0, -12.5, -12.0, -7.5, -7.5, -8.0], \"type\": \"scatter\", \"uid\": \"b43fd4ac-e4e8-11e8-94bc-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Russia\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-14.0, -14.5, -14.0, -13.0, -17.5, -14.0, -15.0, -18.0, -14.0, -12.0, -15.0, -10.0, -13.0, -13.0, -16.0, -16.0, -17.0, -14.0, -24.5, -23.0, -27.0, -19.5, -22.5], \"type\": \"scatter\", \"uid\": \"b43fd542-e4e8-11e8-9a77-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Switzerland\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-15.0, -14.5, -13.0, -11.0, -14.0, -16.5, -17.5, -15.0, -13.0, -13.0, -12.0, -17.0, -15.0, -15.0, -15.0, -14.0, -14.0, -19.0, -16.0, -11.0, -20.0, -19.5, -14.0, -17.0], \"type\": \"scatter\", \"uid\": \"b43fd5d8-e4e8-11e8-ae31-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Jamaica\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1870.0, 1880.0], \"y\": [-17.0, -31.0, -18.0, -18.5, -24.0, -27.5, -26.0, -39.5, -27.0, -29.0, -37.0, -39.0], \"type\": \"scatter\", \"uid\": \"b43fd664-e4e8-11e8-adfb-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Austria\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-17.0, -16.0, -16.0, -16.0, -16.0, -16.5, -21.0, -26.5, -21.5, -20.0, -19.0, -19.0, -18.5, -20.0, -26.0, -22.0, -19.0, -24.0, -19.0, -15.0, -22.0, -25.5, -18.5], \"type\": \"scatter\", \"uid\": \"b43fd6fa-e4e8-11e8-a99d-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"West Indies\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0], \"y\": [-17.0, -18.0, -19.0, -20.5, -19.0, -18.0, -27.0, -21.0, -28.5, -37.0], \"type\": \"scatter\", \"uid\": \"b43fd790-e4e8-11e8-b89e-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Cuba\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0], \"y\": [-19.5, -31.0, -25.0], \"type\": \"scatter\", \"uid\": \"b43fd81c-e4e8-11e8-9ad2-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Britain\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0, 1990.0], \"y\": [-19.5, -17.0, -16.0, -23.5, -24.0, -33.0, -34.0, -29.0, -26.0, -25.0, -23.0, -27.0, -23.5, -24.5, -19.0, -15.0, -21.5, -16.0, -12.0, -12.5, -13.0, -13.5, -11.5, -12.0], \"type\": \"scatter\", \"uid\": \"b43fd8da-e4e8-11e8-9ea1-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"North America\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0], \"y\": [-21.5, -20.0, -23.0, -23.5, -37.0], \"type\": \"scatter\", \"uid\": \"b43fd97a-e4e8-11e8-9f99-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Prussia\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1800.0, 1810.0, 1820.0], \"y\": [-21.5, -26.0, -34.0, -30.0, -31.0, -35.0], \"type\": \"scatter\", \"uid\": \"b43fda06-e4e8-11e8-bc48-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"gainsboro\", \"shape\": \"spline\", \"width\": 3}, \"mode\": \"lines\", \"name\": \"Sweden\", \"showlegend\": false, \"x\": [1760.0, 1770.0, 1780.0, 1790.0, 1800.0, 1810.0, 1820.0, 1830.0, 1840.0, 1850.0, 1860.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-24.0, -23.0, -21.0, -18.5, -26.0, -23.0, -24.0, -30.5, -31.0, -34.0, -29.0, -28.0, -28.0, -33.0, -28.0, -32.0, -28.0, -28.0, -38.0, -25.5, -26.0], \"type\": \"scatter\", \"uid\": \"b43fda92-e4e8-11e8-8e63-985aeb8bb480\"}, {\"hoverinfo\": \"name+x\", \"line\": {\"color\": \"rgb(37,72,180)\", \"shape\": \"spline\", \"width\": 8}, \"mode\": \"lines\", \"name\": \"New Zealand\", \"x\": [1770.0, 1790.0, 1830.0, 1840.0, 1850.0, 1860.0, 1870.0, 1880.0, 1890.0, 1900.0, 1910.0, 1920.0, 1930.0, 1940.0, 1950.0, 1960.0, 1970.0, 1980.0], \"y\": [-31.0, -30.5, -28.0, -23.0, -19.0, -17.0, -22.0, -22.0, -20.0, -20.0, -20.0, -18.0, -26.0, -23.0, -22.0, -28.0, -13.5, -16.0], \"type\": \"scatter\", \"uid\": \"b43fdb28-e4e8-11e8-8c44-985aeb8bb480\"}], {\"height\": 640, \"title\": \"Ranking of New Zealand in Decade-by-Decade in ODNB Country Associations, 1760-2000\", \"width\": 1200, \"xaxis\": {\"title\": \"Decade\"}, \"yaxis\": {\"dtick\": 1, \"tick0\": 1, \"tickmode\": \"array\", \"ticktext\": [\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\", \"11\", \"12\", \"13\", \"14\", \"15\", \"16\", \"17\", \"18\", \"19\", \"20\", \"21\", \"22\", \"23\", \"24\", \"25\"], \"tickvals\": [-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24], \"title\": \"Rank\"}}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "highlight_country(1760,2000,\"New Zealand\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figure 15"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "application/vnd.plotly.v1+json": {
       "data": [
        {
         "link": {
          "source": [
           0,
           1,
           1,
           2,
           2,
           3,
           0,
           3,
           0,
           0,
           4,
           5,
           0,
           6,
           0,
           0,
           7,
           8,
           0,
           7,
           9,
           2,
           10,
           1,
           0,
           4,
           0,
           7,
           6,
           0,
           11,
           10,
           0,
           12,
           13,
           1,
           0,
           0,
           1,
           14,
           2,
           15,
           16,
           9,
           2,
           17,
           0,
           1,
           18,
           5,
           8,
           19,
           1,
           2,
           1,
           0,
           0,
           0,
           0,
           1,
           0,
           2,
           7,
           20,
           0,
           21,
           2,
           1,
           0,
           15,
           22,
           3,
           0,
           0,
           0,
           23,
           2,
           4,
           24,
           2,
           11,
           4,
           1,
           2,
           25,
           1,
           16,
           26,
           13,
           0,
           0,
           1,
           27,
           28
          ],
          "target": [
           30,
           31,
           30,
           32,
           30,
           30,
           36,
           33,
           31,
           37,
           30,
           30,
           32,
           30,
           33,
           38,
           30,
           30,
           39,
           37,
           30,
           36,
           30,
           36,
           34,
           34,
           43,
           37,
           36,
           40,
           30,
           40,
           37,
           30,
           30,
           37,
           46,
           35,
           32,
           30,
           37,
           30,
           30,
           39,
           31,
           30,
           50,
           38,
           30,
           35,
           38,
           30,
           34,
           38,
           40,
           54,
           41,
           41,
           45,
           39,
           48,
           39,
           30,
           30,
           39,
           30,
           50,
           35,
           53,
           45,
           30,
           37,
           42,
           52,
           41,
           30,
           33,
           31,
           30,
           34,
           30,
           36,
           33,
           37,
           30,
           37,
           46,
           30,
           43,
           59,
           41,
           46,
           30,
           30
          ],
          "value": [
           22336,
           2320,
           1765,
           1119,
           1086,
           635,
           467,
           461,
           389,
           371,
           367,
           317,
           286,
           263,
           254,
           224,
           201,
           135,
           134,
           131,
           111,
           107,
           104,
           103,
           99,
           88,
           87,
           87,
           83,
           82,
           77,
           75,
           71,
           71,
           68,
           65,
           65,
           64,
           61,
           58,
           58,
           56,
           55,
           53,
           50,
           49,
           49,
           49,
           48,
           44,
           43,
           42,
           39,
           38,
           37,
           37,
           37,
           35,
           35,
           28,
           28,
           27,
           26,
           25,
           25,
           25,
           24,
           23,
           23,
           22,
           22,
           22,
           21,
           20,
           20,
           20,
           20,
           19,
           19,
           18,
           18,
           18,
           18,
           18,
           18,
           17,
           17,
           17,
           16,
           16,
           16,
           16,
           16,
           16
          ]
         },
         "node": {
          "label": [
           "England",
           "Scotland",
           "Ireland",
           "Wales",
           "India",
           "Germany",
           "France",
           "USA",
           "Italy",
           "Australia",
           "Canada",
           "Netherlands",
           "Russia",
           "Switzerland",
           "Austria",
           "New Zealand",
           "South Africa",
           "Hungary",
           "Jamaica",
           "Poland",
           "Spain",
           "China",
           "Portugal",
           "Egypt",
           "Belgium",
           "Sri Lanka",
           "Denmark",
           "West Indies",
           "Turkey",
           "Greece",
           "England",
           "Scotland",
           "Ireland",
           "Wales",
           "India",
           "Germany",
           "France",
           "USA",
           "Italy",
           "Australia",
           "Canada",
           "Netherlands",
           "Russia",
           "Switzerland",
           "Austria",
           "New Zealand",
           "South Africa",
           "Hungary",
           "Jamaica",
           "Poland",
           "Spain",
           "China",
           "Portugal",
           "Egypt",
           "Belgium",
           "Sri Lanka",
           "Denmark",
           "West Indies",
           "Turkey",
           "Greece"
          ],
          "line": {
           "width": 0.5
          },
          "pad": 15,
          "thickness": 20
         },
         "orientation": "h",
         "type": "sankey",
         "uid": "b45c6f68-e4e8-11e8-babc-985aeb8bb480"
        }
       ],
       "layout": {
        "font": {
         "size": 15
        },
        "height": 1250,
        "title": "Birth and Death Locations for ODNB Subjects (min. 15 examples)",
        "width": 1000
       }
      },
      "text/html": [
       "<div id=\"f8d33b36-5213-4529-a131-c0fb42976e5b\" style=\"height: 1250px; width: 1000px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"f8d33b36-5213-4529-a131-c0fb42976e5b\", [{\"link\": {\"source\": [0, 1, 1, 2, 2, 3, 0, 3, 0, 0, 4, 5, 0, 6, 0, 0, 7, 8, 0, 7, 9, 2, 10, 1, 0, 4, 0, 7, 6, 0, 11, 10, 0, 12, 13, 1, 0, 0, 1, 14, 2, 15, 16, 9, 2, 17, 0, 1, 18, 5, 8, 19, 1, 2, 1, 0, 0, 0, 0, 1, 0, 2, 7, 20, 0, 21, 2, 1, 0, 15, 22, 3, 0, 0, 0, 23, 2, 4, 24, 2, 11, 4, 1, 2, 25, 1, 16, 26, 13, 0, 0, 1, 27, 28], \"target\": [30, 31, 30, 32, 30, 30, 36, 33, 31, 37, 30, 30, 32, 30, 33, 38, 30, 30, 39, 37, 30, 36, 30, 36, 34, 34, 43, 37, 36, 40, 30, 40, 37, 30, 30, 37, 46, 35, 32, 30, 37, 30, 30, 39, 31, 30, 50, 38, 30, 35, 38, 30, 34, 38, 40, 54, 41, 41, 45, 39, 48, 39, 30, 30, 39, 30, 50, 35, 53, 45, 30, 37, 42, 52, 41, 30, 33, 31, 30, 34, 30, 36, 33, 37, 30, 37, 46, 30, 43, 59, 41, 46, 30, 30], \"value\": [22336, 2320, 1765, 1119, 1086, 635, 467, 461, 389, 371, 367, 317, 286, 263, 254, 224, 201, 135, 134, 131, 111, 107, 104, 103, 99, 88, 87, 87, 83, 82, 77, 75, 71, 71, 68, 65, 65, 64, 61, 58, 58, 56, 55, 53, 50, 49, 49, 49, 48, 44, 43, 42, 39, 38, 37, 37, 37, 35, 35, 28, 28, 27, 26, 25, 25, 25, 24, 23, 23, 22, 22, 22, 21, 20, 20, 20, 20, 19, 19, 18, 18, 18, 18, 18, 18, 17, 17, 17, 16, 16, 16, 16, 16, 16]}, \"node\": {\"label\": [\"England\", \"Scotland\", \"Ireland\", \"Wales\", \"India\", \"Germany\", \"France\", \"USA\", \"Italy\", \"Australia\", \"Canada\", \"Netherlands\", \"Russia\", \"Switzerland\", \"Austria\", \"New Zealand\", \"South Africa\", \"Hungary\", \"Jamaica\", \"Poland\", \"Spain\", \"China\", \"Portugal\", \"Egypt\", \"Belgium\", \"Sri Lanka\", \"Denmark\", \"West Indies\", \"Turkey\", \"Greece\", \"England\", \"Scotland\", \"Ireland\", \"Wales\", \"India\", \"Germany\", \"France\", \"USA\", \"Italy\", \"Australia\", \"Canada\", \"Netherlands\", \"Russia\", \"Switzerland\", \"Austria\", \"New Zealand\", \"South Africa\", \"Hungary\", \"Jamaica\", \"Poland\", \"Spain\", \"China\", \"Portugal\", \"Egypt\", \"Belgium\", \"Sri Lanka\", \"Denmark\", \"West Indies\", \"Turkey\", \"Greece\"], \"line\": {\"width\": 0.5}, \"pad\": 15, \"thickness\": 20}, \"orientation\": \"h\", \"type\": \"sankey\", \"uid\": \"b45e8c08-e4e8-11e8-9a21-985aeb8bb480\"}], {\"font\": {\"size\": 15}, \"height\": 1250, \"title\": \"Birth and Death Locations for ODNB Subjects (min. 15 examples)\", \"width\": 1000}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ],
      "text/vnd.plotly.v1+html": [
       "<div id=\"f8d33b36-5213-4529-a131-c0fb42976e5b\" style=\"height: 1250px; width: 1000px;\" class=\"plotly-graph-div\"></div><script type=\"text/javascript\">require([\"plotly\"], function(Plotly) { window.PLOTLYENV=window.PLOTLYENV || {};window.PLOTLYENV.BASE_URL=\"https://plot.ly\";Plotly.newPlot(\"f8d33b36-5213-4529-a131-c0fb42976e5b\", [{\"link\": {\"source\": [0, 1, 1, 2, 2, 3, 0, 3, 0, 0, 4, 5, 0, 6, 0, 0, 7, 8, 0, 7, 9, 2, 10, 1, 0, 4, 0, 7, 6, 0, 11, 10, 0, 12, 13, 1, 0, 0, 1, 14, 2, 15, 16, 9, 2, 17, 0, 1, 18, 5, 8, 19, 1, 2, 1, 0, 0, 0, 0, 1, 0, 2, 7, 20, 0, 21, 2, 1, 0, 15, 22, 3, 0, 0, 0, 23, 2, 4, 24, 2, 11, 4, 1, 2, 25, 1, 16, 26, 13, 0, 0, 1, 27, 28], \"target\": [30, 31, 30, 32, 30, 30, 36, 33, 31, 37, 30, 30, 32, 30, 33, 38, 30, 30, 39, 37, 30, 36, 30, 36, 34, 34, 43, 37, 36, 40, 30, 40, 37, 30, 30, 37, 46, 35, 32, 30, 37, 30, 30, 39, 31, 30, 50, 38, 30, 35, 38, 30, 34, 38, 40, 54, 41, 41, 45, 39, 48, 39, 30, 30, 39, 30, 50, 35, 53, 45, 30, 37, 42, 52, 41, 30, 33, 31, 30, 34, 30, 36, 33, 37, 30, 37, 46, 30, 43, 59, 41, 46, 30, 30], \"value\": [22336, 2320, 1765, 1119, 1086, 635, 467, 461, 389, 371, 367, 317, 286, 263, 254, 224, 201, 135, 134, 131, 111, 107, 104, 103, 99, 88, 87, 87, 83, 82, 77, 75, 71, 71, 68, 65, 65, 64, 61, 58, 58, 56, 55, 53, 50, 49, 49, 49, 48, 44, 43, 42, 39, 38, 37, 37, 37, 35, 35, 28, 28, 27, 26, 25, 25, 25, 24, 23, 23, 22, 22, 22, 21, 20, 20, 20, 20, 19, 19, 18, 18, 18, 18, 18, 18, 17, 17, 17, 16, 16, 16, 16, 16, 16]}, \"node\": {\"label\": [\"England\", \"Scotland\", \"Ireland\", \"Wales\", \"India\", \"Germany\", \"France\", \"USA\", \"Italy\", \"Australia\", \"Canada\", \"Netherlands\", \"Russia\", \"Switzerland\", \"Austria\", \"New Zealand\", \"South Africa\", \"Hungary\", \"Jamaica\", \"Poland\", \"Spain\", \"China\", \"Portugal\", \"Egypt\", \"Belgium\", \"Sri Lanka\", \"Denmark\", \"West Indies\", \"Turkey\", \"Greece\", \"England\", \"Scotland\", \"Ireland\", \"Wales\", \"India\", \"Germany\", \"France\", \"USA\", \"Italy\", \"Australia\", \"Canada\", \"Netherlands\", \"Russia\", \"Switzerland\", \"Austria\", \"New Zealand\", \"South Africa\", \"Hungary\", \"Jamaica\", \"Poland\", \"Spain\", \"China\", \"Portugal\", \"Egypt\", \"Belgium\", \"Sri Lanka\", \"Denmark\", \"West Indies\", \"Turkey\", \"Greece\"], \"line\": {\"width\": 0.5}, \"pad\": 15, \"thickness\": 20}, \"orientation\": \"h\", \"type\": \"sankey\", \"uid\": \"b45e8c08-e4e8-11e8-9a21-985aeb8bb480\"}], {\"font\": {\"size\": 15}, \"height\": 1250, \"title\": \"Birth and Death Locations for ODNB Subjects (min. 15 examples)\", \"width\": 1000}, {\"showLink\": true, \"linkText\": \"Export to plot.ly\"})});</script>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "thresh = 15\n",
    "\n",
    "\n",
    "df = pd.read_csv('birth_death_cleaned_6_23_18.csv')\n",
    "df = df.loc[df['ID'] > thresh]\n",
    "places1 = df['Place of Birth'].unique()\n",
    "places2 = df['Place of Death'].unique()\n",
    "places1 = list(places1)\n",
    "places2 = list(places2)\n",
    "for p in places2:\n",
    "    places1.append(p)\n",
    "places = pd.Series(places1).unique()\n",
    "node_list = pd.DataFrame(places, columns=['Country Label'])    \n",
    "node_list['Country ID'] = node_list.index\n",
    "edge_list = df\n",
    "places_map = pd.Series(node_list['Country ID'].values ,index=node_list['Country Label']).to_dict()\n",
    "edge_list['Source'] = edge_list['Place of Birth'].map(places_map).astype('int')\n",
    "edge_list['Target'] = edge_list['Place of Death'].map(places_map).astype('int')\n",
    "edge_list['Target'] = edge_list['Target'] + len(node_list)\n",
    "node_list2 = node_list.copy()\n",
    "node_list2['Country ID'] = node_list['Country ID'] + len(node_list)\n",
    "combo_node_list = pd.concat([node_list, node_list2])\n",
    "edge_list = edge_list[['Source', 'Target', 'ID']]\n",
    "edge_list = edge_list.rename(columns={'ID': 'Weight'}).astype('int')\n",
    "\n",
    "data = dict(\n",
    "    type='sankey',\n",
    "    orientation = 'h',\n",
    "    node = dict(\n",
    "      pad = 15,\n",
    "      thickness = 20,\n",
    "      line = dict(\n",
    "        #color = \"blue\",\n",
    "        width = 0.5\n",
    "      ),\n",
    "      label = combo_node_list['Country Label'],  \n",
    "     \n",
    "    ),\n",
    "    link = dict(\n",
    "        source = edge_list['Source'].values,\n",
    "        target =  edge_list['Target'].values,\n",
    "        value = edge_list['Weight'].values\n",
    "  ))\n",
    "\n",
    "layout =  dict(\n",
    "    title = \"Birth and Death Locations for ODNB Subjects (min. {} examples)\".format(thresh),\n",
    "    height = 1250,\n",
    "    width = 1000,\n",
    "    font = dict(\n",
    "      size = 15\n",
    "    )\n",
    ")\n",
    "\n",
    "fig = dict(data=[data], layout=layout)\n",
    "offline.iplot(fig, filename='basic-sankey')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figure 16"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a0c8c3198>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "decades = master['start_date_lb']\n",
    "decades_counts = decades.value_counts()\n",
    "decades_counts = decades_counts.sort_index()\n",
    "decades2 = master['end_date_lb']\n",
    "decades2_counts = decades2.value_counts()\n",
    "decades2_counts = decades2_counts.sort_index()\n",
    "decades_counts.rename(\"Approximate Birth Date\", inplace=True)\n",
    "decades2_counts.rename(\"Approximate Death Date\", inplace=True)\n",
    "fig, ax = plt.subplots()\n",
    "decades_counts[500:59524].plot(figsize=(25,10), ax=ax, title=\"Number of ODNB Entries by Approximate Years of Birth and Death\")\n",
    "decades2_counts[500:59524].plot(figsize=(15,5), ax=ax)\n",
    "\n",
    "\n",
    "#fig.savefig('birth_death_time_series.png', format='png', dpi=1200)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figures 17, 19, 20"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(1928,0.000297,'1921')"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "frame = {}\n",
    "for date in range(0,2015): \n",
    "    mask = (master['start_date_lb'] <= date) & (master['end_date_lb'] >= date)\n",
    "    frame[date] = len(master.loc[mask].index)\n",
    "    if date <= 2015: \n",
    "        date = date + 1 \n",
    "frame = pd.DataFrame(list(frame.items()), columns=['Year',\"Total ODNB Subjects Alive\"])\n",
    "\n",
    "pop = pd.read_csv(\"UK_pop_est_ Maddison.csv\")\n",
    "pop = pop.dropna()\n",
    "pop['Year'] = pop['Year'].astype(int)\n",
    "pop['Est. UK Population'] = pop['Est. UK Population'].astype(int)\n",
    "x = pop['Year']\n",
    "y = pop['Est. UK Population']\n",
    "\n",
    "\n",
    "gender = ['m', 'f']\n",
    "column='gender'\n",
    "\n",
    "for g in gender:   # modify this list name accordingly\n",
    "    group = master.loc[master[column] == g]\n",
    "    frame2 = {}\n",
    "    frame3 = pd.DataFrame()\n",
    "    for date in range(1500,1960): \n",
    "        mask = (group['start_date_lb'] <= date) & (group['end_date_lb'] >= date)   \n",
    "        frame2[date] = len(group.loc[mask].index)\n",
    "        if date <= 2015: \n",
    "            date = date + 1 \n",
    "    frame2 = pd.DataFrame(list(frame2.items()), columns=['Year', g])\n",
    "    x = frame2['Year']\n",
    "    y = frame2[g]\n",
    "women = frame2\n",
    "pop_comp = pop.merge(frame, how='left', on='Year')\n",
    "pop_comp['Proportion'] = pop_comp['Total ODNB Subjects Alive'] / pop_comp['Est. UK Population']\n",
    "pop_comp.sort_values(by='Proportion', ascending=False)\n",
    "pop_comp_w = pop.merge(women, how='left', on='Year')\n",
    "pop_comp_w['Proportion Women'] = pop_comp_w['f'] / pop_comp_w['Est. UK Population'] \n",
    "pop_comp_w.sort_values(by='Proportion Women', ascending=False)\n",
    "group = master.loc[master['gender'] == 'm']\n",
    "men = {}\n",
    "for date in range(1500,1960): \n",
    "    mask = (group['start_date_lb'] <= date) & (group['end_date_lb'] >= date)   \n",
    "    men[date] = len(group.loc[mask].index)\n",
    "    if date <= 2015: \n",
    "        date = date + 1 \n",
    "men = pd.DataFrame(list(men.items()), columns=['Year', 'm'])\n",
    "pop_comp_both = pop_comp_w.merge(men, how='right', on='Year')\n",
    "pop_comp_both['Proportion Men'] = pop_comp_both['m'] / pop_comp_w['Est. UK Population'] \n",
    "pop_comp_both.sort_values(by='Proportion Men', ascending=False)\n",
    "pop_comp_both = pop_comp_both.dropna()\n",
    "fig, ax = plt.subplots()\n",
    "plt.annotate(s=\"1921\", xy=(1925, 0.000056))\n",
    "x = pop_comp_both['Year']\n",
    "y = pop_comp_both['Proportion Women']\n",
    "plt.plot(x,y, 'm')\n",
    "plt.xlim(1500, 1960)\n",
    "ax.set(title='ODNB Women Alive at Date / Estimated Total Estimated UK Population', ylabel='Proportion', xlabel='Year')\n",
    "plt.legend()\n",
    "#fig.savefig('ODNB female entries as proportion of total population.png', transparent=False, dpi=300, bbox_inches=\"tight\")\n",
    "pop_comp_both = pop_comp_both.dropna()\n",
    "\n",
    "fig, (ax1, ax0) = plt.subplots(nrows=1, ncols=2, sharey=False, figsize=(10,4))\n",
    "fig.suptitle('ODNB Subjects Alive at Date as Proportions of Estimated Total UK Population')\n",
    "ax0.annotate(s=\"1921\", xy=(1925, 0.000056))\n",
    "x = pop_comp_both['Year'] \n",
    "y = pop_comp_both['Proportion Women'] \n",
    "ax0.plot(x,y, 'm')\n",
    "ax0.set(label=\"Proportion\")\n",
    "ax1.plot(x,y, 'm',)\n",
    "x = pop_comp_both['Year'] \n",
    "y = pop_comp_both['Proportion Men'] \n",
    "ax1.plot(x,y, 'b',)\n",
    "ax0.set_xlim(1825, 1960)\n",
    "ax1.set_xlim(1825, 1960)\n",
    "ax0.legend()\n",
    "ax1.legend()\n",
    "#fig.savefig('ODNB Subjects Alive at Date as Proportions of Estimated Total UK Population.png', transparent=False, dpi=300, bbox_inches=\"tight\")\n",
    "pop_comp_both = pop_comp_both.dropna()\n",
    "plt.figure(1, figsize=(5,2.5)).suptitle(\"ODNB Subjects Alive at Date / Estimated Total UK Population\")\n",
    "plt.subplot(111)\n",
    "sliced = pop_comp[pop_comp['Year'].between(1000,1960)]\n",
    "x = sliced['Year']\n",
    "y = sliced['Proportion']\n",
    "plt.plot(x,y, 'black')\n",
    "plt.xlim(1000, 1960)\n",
    "plt.annotate(s=\"1600\", xy=(1608, 0.000619))\n",
    "plt.annotate(s=\"1820\", xy=(1825, 0.000546))\n",
    "plt.annotate(s=\"1700\", xy=(1700, 0.00045))\n",
    "plt.annotate(s=\"1851\", xy=(1858, 0.000466))\n",
    "plt.annotate(s=\"1921\", xy=(1928, 0.000297))\n",
    "\n",
    "#fig.savefig('ODNB Subjects Alive at Date as Proportions of Estimated Total UK Population2.png', transparent=False, dpi=300, bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figure 18"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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2FJdO0blg8rrSNNmyY9SfDJ2VFXxJy07Cn8LnJX4BO6+1JiieVtHsd9cg3pb4hOuN/DvHeXvOX8i5T0H//p6Lzp+puLPxqceHxPx718X8d0PHi8DPdIcL8en1P8TfK+W8jaaDIxKmeeIKNby9/XXgf2jaYZ/71uM77ExsZJtvh3/I+HqpDoOr2Y/PZKm/cofxdRgVNL6HMcp69+C/3x4K2q77VPmzcePor08qv+f+PfdrV6j+Pf1j/BJYcXnF/694oboONiE//FoXHl74ZPCF6P9vAHfBfZW0hyLeujRWB/mXG16bYmIiIjkHvM3I38Bf5ui2dXNn21mtg8+IRnknJtU3fwiItmmrqQiIiLSaJlZEb5b32+Bl3I0KeyH75Gwjux0YRYRqTXdrkJEREQaswvwg4dsAC6NOZbKPAQMBs532w54IyKSE9SVVEREREREpJnTGUMREREREZFmTomhiIiIiIhIM6fEUEREREREpJlTYigiIiIiItLMKTEUERERERFp5pQYioiIiIiINHNKDEVERERERJo5JYYiIiIiIiLNnBJDERERERGRZk6JoYiIiIiISDOnxFBERERERKSZU2IoIiIiIiLSzCkxFBERERERaeaUGIqIiIiIiDRzSgxFRERERESaOSWGIiIiIiIizZwSQxERERERkWZOiaGIiIiIiEgzp8RQRERERESkmVNiKCIiIiIi0swVxB1APbi4AxAREREREYmZZaKSxpwYsnjx4rhDkEoUFhZSWloadxhSBbVR7lMb5Ta1T+5TG+U2tU/uUxvlvqKioozVpa6kIiIiIiIizZwSQxERERERkWZOiaGIiIiIiEgz16ivMUzlnGPDhg0kEgnMMnINZoNwzpGXl0fr1q1zOk4REREREWkemlRiuGHDBlq0aEFBQe5vVllZGRs2bKBNmzZxhyIiIiIiIs1ck+pKmkgkGkVSCFBQUEAikYg7DBERERERkaaVGDa2bpmNLV4REREREWmamlRimAu6devGpZdeWvG8rKyMffbZh7POOivGqERERERERCqnxDDD2rZty4wZM1i/fj0Ab7zxBjvvvHPMUYmIiIiIiFROiWEDOOqoo5gwYQIAzzzzDCeddFLMEYmIiIiIiFROiWEDGDFiBM8++ywbNmzgs88+o1+/fnGHJCIiIiIiUqnGMYRnHSSe/AtuwdyM1mk9epN3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kl4KPB4EwUfA/sAtwG+BIUEQzAKGRM8BXgK+AGYDfwEuBgjDcAVwE/Be9LgxKhMRERERkRi50mUwdyZ24OFxh9LklSfecd3ovl73MQzDcBpwYJpJR6eZ1wGXVFLPGGBMfWIREREREZHMclPeBMAOPDTmSJqBLt0hLy+2AWjqe8ZQRERERESaKPfem9B7d2zHneMOpcmzFi1gp6LYblmhxFBERERERLZRtmQhzJ+DHXhY3KE0H9166oyhiIiIiIjkjg1vvApm6kaaRVbUC75agtu0MevrVmIoIiIiIiJbcYkE6197EfbYF+u8Y9zhNBvWrSc4B0sWZn3dSgxFRERERGRrn39EYvkS7NBj4o6keSnqBYCLoTupEkMRERERkSwYNWoU++67L4MHD96qfMyYMRx++OEcddRR3HzzzVtNW7RoESUlJfzpT3+qeH7KKadwxBFHcNRRR/Hggw82SKxu0utYu/bYAYc0SP1SiZ26QkEBxHDLinrdrkJERERERGomCAJGjhzJZZddVlH21ltv8corr/Cvf/2LVq1aUVpautUy119/PUcddVTF84KCAq677jr22Wcf1qxZw7Bhw/je977H7rvvnrE4XSKB++QDWvc/hM0tWmasXqme5efDzt11xlBEREREpKkaOHAgHTt23Krsscce45JLLqFVq1YAFBYWVkwbN24cPXv2pE+fPhVlXbp0YZ999gFgu+22o6SkhKVLl2Y20E+mwupVtOw/KLP1So1YUa9YRiZVYigiIiIiEpMvvviCd999lxNOOIEf/vCHTJs2DYB169Zx3333MWrUqEqXXbBgAR9//DH9+vXLaEyJl/4BnQtpfchR1c8smVfUA75ejtuwLqurVWIoIiIiIhKTLVu2sGrVKp5//nmuvfZaLrroIpxz/O53v+P888+nXbt2aZdbu3Yt559/PjfccAPt27fPWDxu5icw+1Ns6Mn+huuSddbND0DD4gVZXa+uMRQRERERiUnXrl0ZPnw4Zka/fv3Iy8tjxYoVTJ06lRdffJHRo0fz7bffkpeXR6tWrRg5ciSbN2/m/PPP5+STT+a4447LaDyJV5+G9ttjhw3NaL1SC0U9AXCLvsR26VPNzJmjxFBEREREJCbHHnssb731FoMGDWLOnDls2rSJzp078/TTT1fMc8cdd9CuXTtGjhyJc47LL7+c3XbbjQsvvDCj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\n",
      "text/plain": [
       "<Figure size 1080x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "gender = ['m', 'f']\n",
    "column='gender'\n",
    "\n",
    "plt.figure(figsize=(15,5)).suptitle(\"Number of Male and Female Entries in the ODNB by Subject's Life Dates\", fontsize=15)\n",
    "plt.xlim(0, 2000)\n",
    "plt.ylim(0, 15000)\n",
    "\n",
    "for g in gender:  \n",
    "    group = master.loc[master[column] == g]\n",
    "    frame2 = {}\n",
    "    frame3 = pd.DataFrame()\n",
    "    for date in range(0,2015): \n",
    "        mask = (group['start_date_lb'] <= date) & (group['end_date_lb'] >= date)   \n",
    "        frame2[date] = len(group.loc[mask].index)\n",
    "        if date <= 2015: \n",
    "            date = date + 1 \n",
    "    frame2 = pd.DataFrame(list(frame2.items()), columns=['Year', g])\n",
    "    x = frame2['Year']\n",
    "    y = frame2[g]\n",
    "    plt.plot(x,y, label=str.title(g))\n",
    "plt.legend(loc='upper left')\n",
    "plt.annotate(s=\"1922\", xy=(1922, 2400))\n",
    "plt.annotate(s=\"1900\", xy=(1870, 850))\n",
    "plt.annotate(s=\"1925\", xy=(1925, 11000))\n",
    "plt.annotate(s=\"1642\", xy=(1642, 5000))\n",
    "plt.annotate(s=\"1847\", xy=(1800, 11800))\n",
    "plt.annotate(s=\"1702\", xy=(1702, 3300))\n",
    "#plt.savefig('gender_time_series.png', dpi=500, bbox_inches=\"tight\")\n",
    "#plt.savefig('Rev_Fig_18.png', dpi=500, bbox_inches=\"tight\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figures 21-22"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Ya6bHummm27z80bzRqQe7mKqsenxatyMYUO4hs5/RvOG1I0N9DYC1zYsewj468TPFlca8Q1cOck24N0N9+nGXXxvwn3TvR34DrAuXH8MTZrjtXjcBldasQlXmvIoiansw22upc0mfbjAxW24P4YlXFDobxjbEPcOatNFl3HlZt/HXUx3T+HcbE7s1+ICVD/CpemON+7XNtwveXt5q+cB90HEUj+l9idxwYCA+qnsxzQQbLYceD0uyFEIx3838GfhuhNxDZW34zJmHsN9yOiY6LWNmwVtG65B8ddJNNZObHsF7TUeflc4voEW62+m1kR9wuNPZpsmx5poKvs/x5U0HpVYdjzuwv8difM/Zir7huOMaTaOC9pawkbSuHK123DlZNtwKeL/CtyRuM9TcEGYEeqnsj8MN/Ng9Di2hs/BKW383r0o3NeYBpa4wOhHcL8b0fvFt6Pjhtv8Le41m8NloL0quT/CqezbfA+IprLfHb5G46nsE9tMpiF1dMvhAjw3AM9psv0xuOb9u8Ljbsb1wDo6XL8M+BrufXs3LqD0NyR+p3FB6m+H21jqp7K/dKLfXd1000033aZ+S/xNa7zdEa5/AfBL3GeFA7jP5M9ssp+mn+sattncYrtjJhjjtS3ud21im7fiPqeVcJ8JPgcMtjNG6q8pjmmxzea5PlcL/RbNuiEiIiINjDEfAS601j5zGvd5Iy7IcN5UthERERERmS4qKxMREWlgjFmCK197Iy4rSERERERk0VJwSEREZKxbgDNws1bdNMG2IiIiIiILmsrKREREREREREQOYd5cD0BEREREREREROaOgkMiIiIiIiIiIoew+dJzSLVtIiIiIiIiM8PM9QDapOtCkZkx4XvAfAkO8eSTT871EGQCg4OD7N69e66HIePQOZr/dI4WBp2n+U/naP7TOVoYdJ7mv6meo8MPP3waRzPzZvu6cD7/DmhsB0djq9fue4DKykREREREREREDmEKDomIiIiIiIiIHMIUHBIREREREREROYQpOCQiIiIiIi1deeWVnHzyyaxbty5e9uCDD3LxxRdz7rnnctlllzE8PByv+8xnPsPzn/98zjrrLO644454+fXXX88555zDunXreMtb3kKhUJjNhyEiIuNQcEhERERERFrKZDJ88YtfrFv27ne/m2uuuYYNGzZw4YUX8rnPfQ6Ahx9+mFtuuYXbb7+dL37xi1xzzTVUq1W2bdvGDTfcwK233srtt99OtVrllltumYuHIyIiTSg4JCIiIiIiLZ155pksXbq0btlvf/tbzjzzTADOOussbr31VgBuu+02LrnkEjo7OznqqKM45phj+NnPfgZApVKhUChQqVTI5/OsXr16dh+IiIi0pOCQiIiIiIhMytOe9jS++93vAvDNb34znn58+/btddMmr1mzhu3bt7NmzRre/OY3c/rpp3PKKacwMDDAC1/4wjkZu4iIjJWa6wGIiIiIiMjC8vGPf5wPfOADfOITn+D8888nnU4DYK0ds60xhv3793Pbbbfxk5/8hIGBAd70pjfxta99jZe97GWzPXQ5SJlM5gbgpcDObDZ7UrjsK8DTwk2WAvuz2eyzwnXvA14PVIF3ZLPZ22Z/1CLSLgWHRERERERkUo477ji+9KUvAa7EbMOGDYDLFIqyiAC2bdvGqlWr+OEPf8hRRx3FYYcdBsCFF17Ifffdp+DQwnIj8A/ATdGCbDb7R9H/M5nMx4AD4f+fAVwKnAgcDqzPZDInZLPZ6mwOWETap7IyEREREZEFqNksYr/85S956Utfyotf/GIuvPDCuN/P0NAQl112Geeddx7nnHMOX/nKVwB47LHHuOCCC3jxi1/MOeecw003xdf9lDaWKD9Rbnrs3bt3AxAEAZ/61Kd4zWteA8D555/PLbfcQrFY5PHHH2fTpk2ccsoprF27lvvvv598Po+1ljvvvJPjjz9+Rp4XmRnZbPYHwN5m6zKZjAEywJfCRZcAX85ms8VsNrsJ2AicPisDlRlXfLBI8YniXA9Dppkyh0REREREFqBMJsPrXvc6rrjiinjZddddx5VXXsm6devYsGED1113HV/96le58cYbOeGEE/jCF77Anj17OPvss/mDP/gD1qxZwy233EJnZye5XI5169Zx/vnns3r1arZftZ3UihR/3fHX3HXXXezdu5dTTz2Vq6++mlwux4033gjARRddxB/9kUsgedrTnsbFF1/MOeecg+/7XHfddfi+z7Of/Wx+7/d+j5e85CWkUilOPPFEXvWqV83F0yYz4yxgRzabfST8eS3wk8T6LeGyMTKZzOXA5QDZbJbBwcGZHOcYqVRq1o/Zrvk4Nlu13PvKe8mfn+e4fzturofT1Hx83iLzemxzPQAREREREZm8M888kyeeeKJumTGG4eFhAIaHh1m1alW8fGRkBGstuVyOpUuXkkql6OjooLOzE4BisUgQBPG+gv0BQXfAZ7/82abHf8Mb3tB0+RVXXFEXsIpcffXVXH311ZN/oLIQ/DG1rCEA02SbsQ2pgGw2ez1wfbRNlJU2WwYHB5ntY7ZrPo4tf2+eyu4KhS2FeTe2yHx83iJzMbbkJAHjUXBIRERERGSR+Ku/+ite+cpX8qEPfQhrLbfccgsAr3vd63jta1/Ls5/9bEZGRvjc5z6H57kOE1u3buWyyy5j06ZNfOADH4inmA8KAbbc9HpeJJbJZFLAHwKnJhZvAY5M/HwE8CSy4I2sHwGgvKN5yaksXOo5JCIiIiKySNx0001ce+213HfffXzwgx/kqquuAuCOO+7gxBNP5P777+e73/0u73//++MMo7Vr17J+/Xp+9KMfcfPNN7Nr1y4AbN5iSwoOyYTOAx7KZrNbEsv+G7g0k8l0ZjKZY4HjgXvmZHQyrXIbcgCUdyo4tNgoOCQiIiIiskjcfPPNXHTRRQBcfPHFPPDAAwB85Stf4aKLLsIYw7HHHsuRRx7Jxo0b6+67evVqTjjhBO6++25AmUNSL5PJfAm4C3haJpPZkslkXh+uupT6kjKy2eyDQBb4FfAd4K2aqWzhK28tU/p1CX+5T2VfRcHjRUZlZSIiIiIii8SqVau46667eN7znsedd97JscceC7jsoDvvvJMzzjiDXbt28eijj3L00UezZcsWrLV0d3ezf/9+7r33Xi6//HKstS5zSMEhCWWz2T9usfy1LZZfB1w3k2OS2ZVb77KG+l/Wz/7P76eyu0L68PQcj0qmi4JDIiIiIiIL0Fve8pYxs4h99KMf5S//8i+pVCp0dXXxkY98BIB3vvOdvOtd7+Lcc8/FWss111zD8uXLeeCBB+Im0eUny/zppX/K05/+dJcREKDMABGJ5dbnSB+dpue5Pez//H6qu6sKDi0iCg6JiIiIiCxAn/1s81nEvvOd74xZtnr1ar70pS+NWX7eeeexfv16gmLAxqdsZHn3cgCCvJu1TJlDIgLuPWH0x6MsedUS/EEfgMrOyhyPSqaTeg6JiIiIiCwQtmLZ/dHdVHZM70VZlCFki+G/hfBfBYdEBBi9cxRbsPSe20tqhcsxqe5WG6nFRMEhEREREZEFYvhbw+z95F72fHLP9O44nHgoChJFmUNoQiIRwc1SZnoM3Wd2469wmUPVXQoOLSYKDomIiIiILBCFnxYA4m/up0tQDMvICsocmu9Km0vk783P9TDkEGKtJbchR8/ZPXidHl63h9fnUdmlsrLFRMEhEREREZEFoviLIgAmbaZ1v3FZWUPmkBpSzz+7P7ybJ1//5FwPQw4hpV+XqDxZoe+8vnhZx8oOlZUtMgoOiYiIiIgsALZsKfzCZQ4Fo8H07jwqK1PPoXmv9JsS1T1VKnuUtSGzI7fBTWHfu643XpZenVbm0CKj4JCIiIiIyDxkraX4SJHyFhe5KW0sYfNhZs80B4eioFBQCjOGwuNQBVtVgGi+sBVLaVMJgNIj7l9rrQJFMqNG1o/QeXInqVW1ctb0yrQyhxYZBYdEREREROahkW+O8NiLHmPTmZsoP1mmur92IWbzliAfTFtQIA4KRUGiQi34pOyh+aO8uRxneUXBoaEvDbHp9E1U9+pCXaZfdW+Vwv0Fes/trVueXqnMocVGwSERERERkXmosju88LJQ2VEhGKoFbIKRgE1nbuLRkx9l37/um/rBGsvK8rWAkIJD80dpY6n2/yg49F9D2IKl+FBxroYli1juezkIGBMc6ljVQbAv0PvDIqLgkIiIiIjIfFSLAxAMB3FwyHQbKjsqcUlH+YmpzzcfB4WaZA5pOvv5IwoIpY9NU9pYorKnQv7ufN06kemU25DDH/Tp+t2uuuXplWkAqnuUsbZYKDgkIiIiIjIPJWcKC4YDqsPuIiy1KkVlR6XpdgcrLisrKXNoPis+XCS1OkXXKV2M3jnK5rM3QwCY+qwikelgK5bcHTl61/VivPoZEtOrXHBIpWWLR2riTUREREREZLYlgzLBcEBwwAVwUqtSFH5ZqG1XnIbgTVRWVqqfraxxHDJ3bNUy+v1Rep7fw7LLl+H1eGAhtTbFyG0jyhySaZe/L09wIKD3vN4x6+LMoV3KHFosFBwSEREREZmHkkGfYDggGA4w3Qav38PmEsGbacgcGlNWlk80pJ6G/cvU5e/JU91Tpe+iPrqe2UXX39XKfMqPlhm9c3QORyeLUW59DtLQc3bPmHUdKzsAZQ4tJiorExERERGZh2zZYrpcKUcwHFAdquIt8VzGSHK7acgcijOGisocmq9Gvj2C6TL0rhubxdFxfAeV7RWqQ8rikOmT25Cj54we/H5/zLqorEzT2S8eCg6JiIiIiMyx4q+KYzI/bMkFh0yPiRtS+/0+pqfW+8P0mOnJHCqPkzmk4NCcGPnuCKXNrlTMWsvIrSP0vLAHr3fsJVzHCR2kjkxR3akLdZke5cfLlB4ujZmlLOL3+a45vjKHFg0Fh0RERERE5tieT+xh51/srFtmSxbTYfAGPKrDVYLhAK+/PnMoNZia3syhZj2HVFY2J7a9dRv7b9gPQOGBApVtFfov7G+6bd/5fTzlJ0+h47iO2RyiLGIjG0YAmvYbiqRWppQ5tIgoOCQiIiIiMseq+6sEuaBumS1ZTNrg9/l1ZWWmu5Y55B/mT2vPoaA66V86AAAgAElEQVQYzlqm2cpmTFAI6hqKg2v8a4NEj6ligB21BMPufIx8ewRS0Pvi1hfqItMptyFH+tg0HU9pHXD0B301pF5EFBwSEREREZlh5a1lbLV1kCUYCggKDcGhcpg51O/VlZV53eFH+BR4A970ZA5FAaAy2MDWj6U85d1LwvDXh3n89x6P+wMN/88wT1zyBMNfG463iYJCUcBw9Huj9JzZg790bO8XkekWjAbkf5wfN2sIwF/hU9mtsrLFQsEhEREREZEZVB2qsvmszQz/z3DLbYLhIC7lstZSHarWysoSwaFkWZnX72E6zbSWlYHLIrJ5C2GCkjKHpld1fxUqicDPD12vqeqBWgZGMBQGh0Zd0LD4myJdp3SN3ZnIDBi9cxRbtPSd2zfudqnBlDKHFpEJp7LPZDJHAjcBq4EAuD6bzX4qk8ksB74CHANsBjLZbHZfJpMxwKeAi4BR4LXZbPb+mRm+iIiIiMj8FuwPsEVLdUfri6jqUBVbsNiy5bELHqP8aJmes3ri4FBlW8X1HFrixQ2p/X4f0zFNDamL9T2GgkKAN+ARHAgUHJpm8Yxw4XkrbXJNp5ONpuPMoZGA0QdHoQqdJ3XO8kjlUJVbn8Pr8+g+o3vc7fwVPtW9VWzFYlJm3G1l/msnc6gCXJXNZp8OnAm8NZPJPAN4L7Ahm80eD2wIfwa4EDg+vF0OfG7aRy0iIiIiskBEM38lZwBLsta6TBELe/9xL6WHSi5AMxJg0mFwaHcFW7Quc6g7kTk0XcGh8tjMIa/fHUcNqadXY/Pv8qOubi8Yrb0+oiwim7PkHsgBCg7J7LDWMrJhhJ6zXXB6PKnBFFio7lH20GIwYXAom81uizJ/stnsMPBrYC1wCfCFcLMvAP8n/P8lwE3ZbNZms9mfAEszmcyaaR+5iIiIiMgCEJeLFZoHWWzeQnhtVfpNKV5eHapiOsOysn0ucOAP1Kay9/o9TJchKDUPOk1qjKX6zCFbSASHlDk0reLnuuQChpXtrmdLsiF5nDk0GjDywAjegEf66PSsj1UOPcUHi1S3VyfsNwQucwjQdPaLxKR6DmUymWOAU4C7gVXZbHYbuAASsDLcbC3wROJuW8JlIiIiIiKHnDhzqNA8iJPsNVPZU7vICoZqmUMRb6Ch51CHaRl0moy64FDBZS35y/wx62TqouczKAWUHq4FA20uMVtZoiF17uc5Ok/sxBiV7cjMy613mWq96yYODqVWuC41ms5+cZiw51Akk8n0AV8D3pnNZocymUyrTZu9a435i5LJZC7HlZ2RzWYZHBxsdygyR1KplM7TPKdzNP/pHC0MOk/zn87R/KdzVLMvvQ+ATjqbPieju0bj/5uh2kdpO2zp7OtkYPUAe9kLwNK1S0ktTbGVrXQPdpNekma4PHzQz3V0nvZ5++JlS3qX8ETuCXpW95AnT29nr87lNDpgDgCwpHsJ1ZHaRXVH0BE/z6WKCxrZnKW0tcSSdUt0DmRW5Nbn6HxWZxz4GY8/6ALIakq9OLQVHMpkMmlcYOiL2Wz2v8LFOzKZzJpsNrstLBvbGS7fAhyZuPsRwJON+8xms9cD14c/2t27dx/M+GUWDQ4OovM0v+kczX86RwuDztP8p3M0/+kc1QzvcLOU5ffnmz4n+c35+P/FXcX4/9XhKmXK5P3E+qOKjO52waRyR5mgGhAUg4N+rqPzVBgqxMv2bttLdaRKpcdlMQ3vGya1u+3vlGUC+SF3Pvfv2k91uHZRPbp3ND6PQ9uHAFdWVq6WqXRXDvocH3744VMcsRwqKnsqFB4ocNhVh7W1fVxWpunsF4UJy8rC2cf+Ffh1Npv9eGLVfwOXhf+/DLglsfxPMpmMyWQyZwIHovIzEREREZFDjc2HZUSJsrLhbw5T+LkLyEQlRADB3kTpmaWuIWzXKV2k16TrG1J3GaiArU6t9CtZOlbdVwUL/nJ34Ud5SruWBsmysniWOK+h59BQ7f+2aOMSP5GZNHr7KFjoPXfikjIAr8+9BylzaHFo5yuA5wOvAX6RyWQeCJddA3wYyGYymdcDjwOvCNfdipvGfiNuKvvXTeuIRUREREQWkKjnUBQkAtj5wZ30nN7Dms+tqcsesSWL1+cRjLj7mLSh+7nddJ7UyepPrXbLElPZRw0dbMliug++J01dcCiceSgKDqkh9fRKzlYW9Yvyl/v1PYeG6vtTecsm1SpW5KCMrB/BX+W3PTOeMQZ/ha+G1IvEhMGhbDZ7J837CAGc22R7C7x1iuMSEREREVkUoqBQsnF0cCCISzGCA/WBAH+5XwsOdRg6ju7g6NuOrq0/zKfjaR10ntwZz25mixa6pzDGknVXBhWo7g2DQ2pIPSPibKFS7f/+YX79VPbD9ZkYyhySmWbLltHvj9L30j6M136gOTWYUkPqRUIhaBERERGRGdQ4W5ktW2zexhdUybIyAG957SN6sqwsXt/pccztx9B7dm+8fqoBHFuqTV0fZQ55SzwwyhyabsnMoeg14S+vBYeKDxap7lRwSGZX/p48wXBA33l9k7qfMocWDwWHRERERERmSHlbOc4Yiv6NgkFRcKg61BAIWF4LBDQLDiWZrukLDvn94cxDUXBowMN0GAWHplldz6GorGyZT5ALKD5U5LGXPEbh/kJdmaCCQzLTchtymA5Dz1k9k7pfaoUyhxYLBYdERERERGZA6bESm07bRO6OHFALDkXBoOq+KrZix/SXSS2vdX4w6QmCQ1HmUKE+gGOrNs5YakfU6wgSwaFeD5M2KiubZvHzWQ7Pm++ytGzOsvcf9kK4OrWm9jpQcEhm2sj6Ebqf243XO7kQgT/oU91TnXJTfJl7Cg6JiIiIiMyA6k4361fUFygqIYqDQdb19wmGgrikC1z/mYjpbDM4lAjgBCMBj576KE+8/Im2x9q0rKzfg7TKyqZb1GfIFi22aDFdBq/Ho7K9wvAtw3FQyI7Wnnc1pJaZVNpUovzbctuzlCX5K3wIar3KZOHSu4yIiIiIyAyIgwBRWVk0pX0iU6i6q0owHLgLrFBdWVm7mUOJ4NCuD+2iuqtK8YFi+2Mtj80c8vt9lZXNgMaeQ16nh9cTXpYFsPwdy4FaQMjr9fA6ddkmMye3wWU3HkxwKDXogpmazn7h07uMiIiIiMgMaCzHijKHkj2GKnsqBIUAf2ktIJTMEpmw51CYWRQUawGn8uayW9fV/oxDtmjxBrx4TACm12BSBspt70baEAeHyonMoUQpT/dzuln7H2s5/J8OByB12IQTTItMSW5Djo7jOug4pmPS940C29Hsi7Jw6Z1GRERERGQGJAM2MLYhNYTftpfDQE4aKIPfF2bslCxMcK0WBYds0bLn43vwB/2415AtWIJiMG7WSVAM2PLqLVS2VeIAhc1ZTIfB6wx7DilzaFoFpfD8FC22YDGdBtNbC+SljkjR+YzO+HlPL0/PyTgbZTKZG4CXAjuz2exJieVvB94GVIBvZbPZ94TL3we8HqgC78hms7fN/qhlIsFIwOhdoyx7/bKDur8yhxYPZQ6JiIiIiEzS8C3D7P3M3nG3GdPIueqyRYIDieDQ7iq2HAZjutxHc9Nj4qyfCTOHEmVlQ18bYuS2kXhKdKgPRDWT35hn9Hujbl+dJt5fVGIWB6lk2sTlhiUXvGvMHPIHXCaGSRtMp6lrUD7HbgQuSC7IZDLnAJcAJ2ez2ROBvw+XPwO4FDgxvM9nM5mMumrPQ7kf5qB8cCVlAP7KMHNI09kveAoOiYiIiIhM0ra3bGP3h3dTfKR1X58oCJAUFAKqw+E37GlXimFLLjgUBYS8Hq8WHJqg55DXEWb7lKybMWjUxr2NgLpAVFOJL/tNh4kv9KLm1Mocmn51ZWUFi9fl4XWHl2UNcSCv15s3ZWXZbPYHQGNE9M+AD2ez2WK4zc5w+SXAl7PZbDGbzW4CNgKnz9pgpW25DTm8AY/u07oP6v5ev4fpNJrOfhGYH+80IiIiIiILwOgPRzFdhs4TOyk+WGTvZ/ay5tNrmm7bLDhkC27qeq/Pw+v3aplDaYPX7VGliulJ/H+i2cqinkPDgbvlAtfDaKVPdWd1wsyhaq52QWc6DF3P7GJky0icyaKG1NMv2ZA66jkUlZU1Tlk/kBngsBccNutjnIQTgLMymcx1QAG4OpvN3gusBX6S2G5LuGyMTCZzOXA5QDabZXBwcGZH3CCVSs36Mds102OzgWXT9zax7PxlrFizYlL3TY7tsVWPkRqeP8/joXxOp0LBIRERERGRNu360C78w3xMj7uYz9+Vb7lts3Ismw+DQwMe3hKP6v7q2Myh3vYzh6LgUGW7K+kIRgNs3pI+Kk11Z7Wu+XUzQS5R4nagSueJnYx8ewTCw5q0ysqmS2V7heJDxbjBd9RzyFvixcG4xuDQig+sYHBwkN27d8/2cNuVApYBZwKnAdlMJvMU4ldQnaYvpGw2ez1wfbTNbD/W+fz8zvTYCv9boLy9TPoF6UkfJzk2s9yQ25KbN8/joXxOmzn88MPb2k5lZSIiIiIibaruqboATKFWGtRKMnMo6uETFFyGjzfgSjFsycaZQ03LytrsORQHh/IBwWhAapX7DjgYaj9zqPRwic6TOgEoP+EiGN5yj/LjZaxVgGiq9v3bPrZetjX+2ZbdVPamy8TlfY3BoQVgC/Bf2WzWZrPZe4AAGAyXH5nY7gjgyTkYn4wjtz4HBnrW9UxpP6nBlBpSLwIKDomIiIiItMFaS3VvFZuv9fVpOzgUTk9vC5bqgSr+gI/X4bnskaisLGxI7fV4tebU7QaHtoXBoQMBlKkFhyYoK4tmNgPoe0kfXc/scsvDoFLfuX1UtlQoPti6t5K0JxgK3HxeIVsKM4c6PdJHuRnJlrxqyRyN7qB9A1gHkMlkTsDNr7cb+G/g0kwm05nJZI4FjgfumbNRSlMjG0boOqVryn2t/BW+GlIvAiorExERERFpg81ZN8NUIajNONVmcMhf5lN5ouJ6Dg0HpFamsEVLkA/GlJWZ7knMVtZVHxyKglZRY+nqgfbKyo6961hSR9YuDXpe5DIJel/SC38OI7eO0HVS17j7kvElS/ggMZV9lyF9ZJrjNx8/YRnhXMpkMl8CXgQMZjKZLcAHgRuAGzKZzC+BEnBZNpu1wIOZTCYL/AoXEntrNptVask8UtlZofhAkcPeM/WeVqnBlGuIH1iMN39fwzI+BYdERERERNpQ2VMLwMR9eMrNt7VVW9erJyoXCgqB6zl0vEewP8AesPXBIc8FfNruOdSQORRJDabATJw5FJWVef0exrh9PfWXT8V0u/+nDkvR/ZxuRn8wCu8Zd1cyATtaH0i05bAhdWd753quZbPZP26x6tUttr8OuG7mRiRTkfteDjj4KeyT/BU+VKG6rzpvZteTyVNZmYiIiIhIG6p7XSAlyCd6DpXsmH48I7eN8MhRj9SVYkXBIZu3VPdXm/Yc8ro812/I1ErMJpytzDfgu15ISdFsaBP1HApG3fqowXY01uj4AP4qf8LG1jKxMZlDYRZa8rkWmS259TlSq1N0ntg55X2lBl1ASH2HFja9E4mIiIiItCEKwNi8revVQxVGvjPC5nWbsWXL/pv2A1D81djgUGlTieBAQMdxHW6a+KJ12UcdLnsnalwdZe60k03SrPTMdBu8gYmDQ9XRKvjjl695XV4cDFsMbGB57PzHGP728KweNwrExeMo1WcOicwWW7Lkvp+j99zeOGNwKvwVYRmrgkMLmoJDIiIiIiJtiDKHbMFCFUyvu6iyZUv+/jyl35So7KxQeXJsY1Z/ubt4Kvy0AEDXSV2YDhNnk5i0YdlblrH6M6vdz232HILm2UVet8scamcq+yhbqeX+u8ziCg7lLcUHi5QeKs3qcesyh0wYLKrWzrXIbBn9ySg2Z+k9b+olZQCplS5zqLJbTakXMgWHRERERETaEAWHIn5/WCpWsvE35sngUHV/lfRT06z4yxX0/34/APl782Cg8xmdLjg0EgaHOgwdx3TQ8zzXCLrd2cqA+D5JptvgD/gEwwH5e/Jsv2p70+noq6PVOEupFdNp6pprL3TtNBOfkeMmeg55fbWsLgWHZLblNuQwnYaeF0xtCvuIP6jMocVAwSERERERkQbWWnZ9aBfF3xTZ8+k95O/JjwkOeQPh9PQVS3W3W1fdWY0DPgQuyLPsTctqs4ftqpJ+Shqv13MZOeHsYo1BoMlkDi1/+/Ixy7weLy4ry92RY+jLQ3UNsiPBqMscGo/X5REUxi9PWwhsxbLjmh2UNrmMIVudneBQ7vYc+/5lX13mkNfnxc3C1XNIZltufY7u53dP+LvfLm+Jh+kwyhxa4NRKXERERESkQbAvYN8/7cNf5rP303up7qqO6Rnj9YfBoZKNZzJLNqGGWnDH6/foOqWLws8KpI9K162Dsb2F4syhNnoOdZ3cxfIrlmOLln3/tM/dr9vEZWVxSVgZaOg9G+SCiTOHugxUXHDFpBZulkv58TIHvnAAf4kfLpid4w59dYjRu0brXj9enxfPMKeeQzKbSr8tUd5cZtkbl03bPo0x+If5yhxa4BSmFhERERFpEDWcjpoG27IdOyNYGByiUiunGP3xaN028TTlxrD2prX0nNPD0tcsdcuSwaGGDKHuM7vpu7CvdowJDL5nkIFXDNTGFvYcCkaCOOunWeZQNVedMHsgymKa6dKy6nCV/f++v2n523SIxh9l7NjK7GQOBYWA6r7qmLKyiMrKZDblNkzfFPZJ/gpfmUMLnDKHREREREQaRFkeQS6AwPWnGVNWFmUOFWuBo/x9+bptklkh/nKfI/7jiNq6cTKHuk/rpvu07kmNORnkMd0mnmUsyhwKigE+/pjH6XW3FxwKCgFe78x9t5z7To6d791J92nddP7O1KfXbhQFh6Im3dPVcyh3e46uU7tqGUlA4ZcFvC6PjuM63PPfkKWUDPopc0hm08j6ETqe1kH6yPS07jc1mKKyU8GhhUyZQyIiIiIiDaIsjzjLpGQJDgR4S2ofn6ML/Oq+ai2rpuyas8ZT0o/TMygZFGinfGwipqe2D6/Hw3S7nkZ1ZWUNqqPVuvs1E5W4zfSMZdWRWlPvmRAUw4DfFDOHrLXk78ljraW8tczW12xlx1U76rbZcdUOdl67023f5HlLZg6p55DMlupwlfzd+WnPGgJlDi0GeicSEREREWkQNQ9OZpnYksVfWssOiWYri3rHRDqf2RlPcz9eVsh4ZWUHoy5zqMvEQYfqcPgYmjWkzk3ckDp6DDMdHLK5MLNnx/h9Syo7K7Wm35PZf1RWFs4S1hgsq+ypxL2jxlP83yJP/MET5H+cp7LDbV/eWqa8tRyXI1aerFDZ4tY1a+ZdV1amzCGZJaPfH4UK0zaFfZK/wqe6u4oNFs/MhocaBYdERERERBrEZWVRlkkYHIpmKINa5lAUHPJXuWBR14ldccBl3MyhaQ4OmS4Dxv1rPBM3mg72hY+hSc+gdjKH4p5DMxwcigI+E2UObbl0C7v+Ztek998YHErOVmYDy5aXb+HJP31ywv2Un3RRpcquSjxLnT/g8/hLH2fPx/ZgS64EsbLdPY7k8xa9furKytRzSGZJbkMOb6lH96mTK1ltR2owBRUI9i/8mQ0PVQoOiYiIiIg0aCwro+QCRM2CQ+VtLljQeaLrk9N5Umfcm2e8C//xeg4djCggFB0z+re6r3WPnSA3cc+hKAMpKsuaKVFAbqLgUOXJCqWNpUnvP+45NDz2+Ri5dYTSwyUK9xUobx1/GrOov1QwFMSBQa/fo7qzyugPRqnsCjOGhgOCkaAuOJRa41q+1pWVTdN04iLjsYEld3uO3hf1zsisg/7KMJNSpWULlt6JREREREQaROVBjZlDyabDjZlDXSd3AdB5cmd7mUOd05s5BC7QEB07CvpU949TVtZOQ+oWZWVDXx3i4bUPx6VVUxWX8u1sXVZmA0swEsRZOZMRPf444JfYxb7P78Nf4c7tyG0j4+4nakweDNeCQ4Snr/irIqXf1gJXle2VurKy9FFpSCUyh3zoOKFj0o9FZLIKPy9Q3V2dkX5DEGYOgaazX8AUHBIRERGRQ17hlwUeXvswpUfdhX1cVjaUCA41Zg4N1AeHll2+jLX/uZaOozvinkNeZ+uP23UBoWmaOChqRA2JWcYONC8rsyWLrdiDLivbf+N+AMqPj59p0652ysqC4QCse86ttez+8G52vG9Hy+2TxpSVhZlDwUhA4WcFlrxyCR1P6yB3m5vqe8+n9rDp7E1j9hNlDlWHaqVjUXYWFka+VQsulZ8s1z3vy960jCO+fEScKdb7ol6Mr7IymXm59Tnw3GtuJkTBVWUOLVwKDomIiIjIIe/ATQcAGP3hKJBojjzc0JB6YGxD6ur+KqbL4C/x6X2hu/CadM+haSgrAzdjWZQJFGcEhbGJxrKyKADWbuZQY1lZlF01XWVRzcrKSo+WePzix8nfk3fbRJlco5ZgOCB/b578j/Nt7T8O0oQPI5qtLP/TPFSh+4xuup7ZRWmTCxDu+cgeyr8txw12iw8X2XzO5rikLVlWlsyWGLm1FhyqbK+MKSvreW5P/Bj7Luxra+wiU5XbkKPr1C785f7EGx8EZQ4tfKm5HoCIiIiIyFyL+sRE335HgYooSGTzFgKaZg4Fw8GY3kJxz6FZnK0MwkBNeO3XOKbGsrLoMR7sVPZRGZi109OoOg7IhWVlQT7giUueoLq3yuido3Sf3h1nQUFYspULqB5o72J0TOZUGCzL350HH7pP7Y5nIEuWggUjAf6Az75/2kfp4RKlhxPBoTBzKJktEZWdgeuPVNeQOnxdLLt8GX6/z8ArBtoau8hUVLZXKP6iyOD7BmfsGN5SD1IKDi1kCg6JiIiIyCEvuqAxXpglM9qQJRMFUjpdw2dbsrXZwIaDuinuoRZwGTc4NAM9h5a+YSnGhMfubggONQZH8u7nCaey725eVhY17WaaqkiisrJgJCAYDSg/Xq719wnXRZlc4ErLgpGA6v4q1tr4cbfcf2ND7XBX+bvzrol4n+caRlcg971c7X7DLjjUmHGRDA5FMzR1ntxJ8X+L+Mt9rLWUH6svuYuCQ6nBFMvfvnzC50RkOuS+717PvetmpqQM3HunP+irrGwBU3BIRERERA55UZlPFECJAx+hKEvGpMMp4r1aQMfmLWb1FDOHpqmsbOCSWiZKlPETaSwri4I9E02lHjekLjbPPGo2C9rBCHKBa+xs3fmInnNINIEeasgcGg2gHJ6DCTKgWmUOlbeU6TmzB6jNJjb8jeHauMJStuicRsrbynHQKtJ7Tq8LDq30wUB5cyI4ZDRtvcyNwk8LeEs8On5nZpufpwZT4zaUl/lNPYdERERE5JAXZQ7FM1rlGzKHRmrBIa/bw+vy6qaDHlNW1kbPIa+j9lF8ujKHksZkDjWWlZWCto4dT2VfqH9OosyjqHfPVAWjAanVYd+SPdX64NCeJsGhJyu1UrR9E1+QNj7+aNy2aOPzFx0/t6E+cwioGw9A+bdh4CeRUNTzwh4wkFqZIrUyRfmJWnDIdJs4M01kNuXvz9P17K4Zf/35K5Q5tJApOCQiIiIihzRrbS0oVGoeCIgCIVFZmekydUGVxiydOHOo3anspylzqG4MjZlDjcGR8OeJgkPxbGX55kGgg8kcKm8tU/h5oW5ZMFILDgW5ID4H/qAfB3/isrJUWFYWbpPsRdRKY+YQ5dry6FxEmUM2b0kdEY4lCg4NNbwmwucvORV9ek2avgv76HleD16/F18odz2ni57n9kw4RpHpVh2uUnqoRPezu2f8WKnBlHoOLWAKDomIiIjIIS3ZQLhVWVkkyhwyXWbczKG459A4ZUQz0ZC6bv8TZA5Fj3W80jfAPU6/SXAlchCJAptO38TjFz1eG0tgsaMWf1XYEHw4iLOC0kelx2QOpY9Ou34+4ZCq+9vIHGrsmdQkc8gf9OPGG1EwJw4OJUrIvL7aZVTn8Z3x/02P4fDPH87yty/HX+LHAahlr1/G2pvWTjhGkelW+FkBLHSd2jXjx/JX+FT3VKetSb3MLgWHREREROSQVtlSi27EGUSjzTNRop5DXrdXH9xpCMRMOnNoJoJDDYGpoBBQfrJW5hQHh9o4tukyY8rK4v1MQ1lZlJWUWhVm64wEcTAmfVSayp6w8fOQmxkutTJFeWvtsYw3Y1l5i9uuWc8ha21d5pDx3L4Bup/rMi2ibKVkM+z0MenwPy5QFUn2JfL6E2WD6jUkc6Rwv8vQ63rWzAeHUitS2JJtK5NP5h8Fh0RERERk0bMVOyZzJlLZlggOFScIDnW64IG/0q8rBRtTVhb2HPI6W3/cjoMyhrq+NdPFdJi6T/sj/zPCpudtigMt0fOR7H3Uitfl1WXe2Gri/5MsK2sWTIoCQXXBofAcpI9IY3OWoBAQDAd4Ax7+Mr/uvEWzhTUa/ckom87YRPGRYtOeQ9H5Tp6nqLQszhyKZlEbDuLz1HmiyxZKH56uBYQaGk4rOCTzQeGnBTpO6HCZbDPMX+GOUd2t0rKFSMEhEREREVn0dv7FTrb+6dam65JZJ1EAoVVZGWlY9ZFVrPn0GqgljIy5+PcPcxdJ3pJxgkNRtkqHmXAa9oNhjKkbV2lzCcq15s5xz6EJysqibZKZN8n+O5PNHCo/nsheCstPot5BcXBoOIhnL4t6/1T3VqkeqOL1e3hL6oNVrcrKSg+VAKhsrYydyr7SvLQufXSa1JEpUkemwNQeazAc0PviXo75wTF0n+GyilKHp+ISQq/XqzuPyXPvdeuyS2aftdY1o56FkjJwPYcAKrvUlHoh0lT2IiIiIrLolR8v180clVQX6GijrMxflvgGPgVUxl78dz27iyO/fiRdz259URZlDs1EM+qI1+1RHQ2DQWHAK8qEabchNbjgV10wZigRjGn+tLZU2liK/29LrqQrer79pb4rYRsJsGWL1+vFgWb+hqsAACAASURBVLbq3irBcIA/4OMvrc+CaJU5FJWeBQeCsWVlicyhZHBoxQdWuPI1Y/D6PYZuHmIoO4QtWbqe2UXHUzsoPlwEXFZTPDNdT0OAsL82RmUOyVwoP1om2B/MSjNqSGQOqSn1gqTgkIiIiIgsekE+aDnbVhToMD2mrbKyup9TBluxYxtSG0P36eNfkJlUWPaVHnezKWkWlIgaPU+m55DX5dX1HEr2FJls5lDpkURwqGChsxaw8no9vD7PNaQOLKbX1AeHhsKysoYSmVaZQ1E/qeqBavOeQ02CQ6mVKVgZPu4+j8qTtSyIqFQsCvykjkjF/aaiIFG87YDKymRu5X+aB2anGTXUgkOazn5hUn6jiIiIiCx6dtQS5JsHfIKhAK/Pw+v2sKWwSfGobVoS1pjlE2f/HOTFv+kwM9KMOtKsnCkKfE2prCwZHJpkz6ExwSFqZWWm17jgUM7NVub1eKQOS5SVDVXxBjy8pYnHZVo3pI6aUQdDYzOH6srKWpy/ZIAHasGh6LWRXlvLHEo2o26873i9p0RmSuH+Al6/R8fxHbNyPH+ZD74yhxYqvUuJiIiIyKIX5IOW2UDBUIDX72YfsyXrAhaWMaVLMDbLJgoWNTakbpfpnNngULOgx5iysnaCQ41lZck+TZMMDhV/VayNJQzYRdlMycyhYMQF7fzlYebQnuZlZf5Kv3VZWTg7W3WoSeZQxcbZUK2CN8kp66EWHOp8eifL37mcvgv64gCcyspkvin8tEDXKV0Yb3Zef8ZzmX7qObQwKTgkIiIiIouezVso1wIZpY0l9nx6D0A8A5bpdMGhKIjkLWuSOdQYyAlLwqaUOTSDPYeikqekKEtnUlPZd9dPZZ/s0zSZnkNBMaD4m2I8FXxj5pDX5+H1e/FsZV6vF2fpVPdVCQ64c5XM6kofnm6aOWRLluoOtzzYH4ydraxFWVlSq+CQSRkG3z2Iv8yva0hdt+0SlZXNhFazDkq9IBdQfKg4ayVlkdRgSplDC5SCQyIiIiKy6EUZKtG/w98cZs/f7SEYDdwMWANh5lDRUn7URTs6jh5bijGmrCw9z8vKusZmtdSVlXlh76OJ9tPp1ZeVDR9cz6HSwyWoQPdzXD+mKDhU2V4BA/5yv5Y5lAvwejyMb/CWeFR2VLBFi7/Ur2sKnlqTqg9WhcpPliEcWrPMIaq147cKDjX2qUpOTx8vCzOHxvQcSmx7sJllUm//F/bzyHGPUB1W8GEihQcKEDBrzagj/gpfPYcWKL1LiYiIiMiiF13kRzN2xVPWF6wrVer347Ky/N2uiWvPWT1j9jOmrCw1xbKyWcocSva/SZaVtdsLp7GsLMr0gcmVlRV/6UrKup7jshmibKTSIyVSR6Twur2451BUVgauxK+8yQXtvKVeraws5fqcJMcTiZpRY1yPpKAYjAnuxL2OWgSHqnvCIESYIZYsFYvEmUONwaEo62iGm44fSlJrUlCt71slzcXNqE+Z3cwhf9BX5tACNeFsZZlM5gbgpcDObDZ7UrjsWuCNwK5ws2uy2eyt4br3Aa8HqsA7stnsbTMwbhERERGRttiqHTMLWRTQCAqBKys7zsPsd8Gh0btH6Ti+w12INhgTHJpqQ+rOmQ0ORUErf8Cnuj2c0j5XC5C1028ImgeHomWTyRwq/KKA1+fR+TudbgzhPkuPlOKmuVHmEGnXoBpciVb5MRcc8pf6ccmW11cLJjWKprFPH5OOM4e8fq8u62mi4FBljwswdT+7m/zd+eaZQ9FU9r0Nrw3f4PV7bjY7o7Ky6RC9RkqPlGY9I2ahKdxfIP3UdF2W3WxIrUxR3V3FWr3uF5p2viq4EbigyfJPZLPZZ4W3KDD0DOBS4MTwPp/NZDKz+2oUEREREUmoC2o0zNRlC9aVlfW7nkNBPqBwb4HuM7qblnsttLKyOHMoEdRI9hxqO3Oos6HnUM71AyLFpHoOlX9bpuP4jnhctmCxVUvp0RKdx3XGYw1GarOVgQsIVba5QI2/xHePx3eBGdNrsKMWG9QHqcpbymBc8+hgv5utrHEGuiiLqlXm19LXLgWg+/TueGyNWs1WFm2vfkPTJ31UGtNpXHmitGStpfDTAt2nzn4AzR/0sUVbF4SVhWHCvwbZbPYHwN4293cJ8OVsNlvMZrObgI3A6VMYn4iIiIjIlCSnsA8OBFT3V+PMoaisLOo5VHqkRDAc0HVqV9NskpazlTWZMr4dqTUpUqsnTOY/aKbLgKlvrBwHhyaROeR1eWMyh7xeD5Myk8ocqh6o4i/z42BMUAgobyljC7Yucyi6uIzG7S3x4v5B3jIPY4wLEvV6cVAmKhmMVLZU8Ff5+IN+PJW9P1D/vfVEmUOHXXUYxz9+PJ0nd2I6DamVTbLJug3eMo/02rG1Y94ST/2GppHxDR1P7VBwaALlx8pU91ZnvRk1QGqF+x1RadnCM5W/RG/LZDJ/AtwHXJXNZvcBa4GfJLbZEi4TEREREZk1tmrBuKmVk0GDLZktAAy8cgBwM2BRcWVXpsPEU6KnBlNxwCBZUjXdmUNr/mENzGBiSWpFCn/QrwtqJYNDXsckeg4VbVwqEuQCTK8riZtMz6FgOMB7ai2bxhZs3D8mGRyKRIGfuqnrl7j/e0tcSVm0TZBzwSRrLbZkKW8tk16bdiV1e92FatR7yfS410WUOdQqOGSMAR/6Luzj2HuOxV/epOeQbzj2h8c2zSry+/26oJpMXccJHXE/HWmu8NMCMPvNqME1pAao7K7Q8dSxTf1l/jrY4NDngA/h4vcfAj4G/CnN/7Q1fTfMZDKXA5cDZLNZBgcHD3IoMltSqZTO0zynczT/6RwtDDpP85/O0fw31+fox50/ZtlFy3j615/O6M7RMes7jSth6i64i6eBNQPYfkuOHADLjlhGalmKx3kcv9+nUnCzaQ2uHqzro7GjZwd58ixbvYz+wf5ZeGSTs+yaZZTfWOax9z0WPza/7DM4OMhudlPtqrZ1ngrLC+y1ezls4DC8To8dpR14Sz2CnQFdqa62z/WjI4/Ss6KHwbWDbGITPX4Pdru7XFh9xmrSy9MEawJ2ha1N+1f2Mzg4SG5NjgMcAGDFU1eQGkix/YjteL0eS1YvYSc7WZJeQvdgNzu/uJPNV2/GdBiWnL2E3jW97A0LIXpW9JAjR6o/RXm0TGfgXgeDawZJLZvg0mjFOOtaPPzda3dTsqUp/S7M9e9SZL70ou04roPhbwzz/9l78zg56jr//1lHV3fPnclMkslBEsgEkZuIRl1WkyCHiuwubiuygqzH8oNdUby+sj91DxDxBN3F/akrLLvIbn9dFQ8E5FDk1gRUQCCE3JmZZO6Zvuv4/fHpqu6e6blnMt0z7+fjkUdmPl1V/emqnu6qV73er7ebdEeFgAuK1PYUWq2GdfzRF2fMFnEOVSvTEofi8XiX/3MsFvs28NP8rweANUWLrgYOjbGNbwHfyv/qdXd3T2cqwlGkpaUFOU6VjRyjykeOUXUgx6nykWNU+RzNY+QmXPZs28OKr62g5vWFDmN9d/fR3d1N+lB61DrpITXWv6sfgKSRJEuhVGXIHUJL5l1BtRocUSVlPT09JdvJ5QN3BtODZLozs/vCZos6Sl5bpi9Dd3c3maEMmqVN6jilHOXUOHLgCEajQaY/g96g4xkeqeHUpLbheR72gE3WytKX7ANgqHsIu9NGq9UYcAegm0DEAkihtp0J5/etAX2ZPrRujeYvNKMZGok/quV7DvYQaY5w5OEj2L0qn8hpcUiFCi6TXDgfkJQ3VCS7lXDYO9yL7sy+0ND46Ua8lDejv4WZ/i2tXLly2uuO4DbgX4DbR4x/LR6Pf7l4YEQW7Urg/lgstjEej89YMbA25kOpX84SOeXol01VA+kdaSKnRdCMo5935TuHnG4Rh6qNaX0CxmKxtqJf/xx4Nv/zj4F3x2KxcCwWWw+0A0/NbIqCIAiCIAiCMDb2YRt7v03m+fLiTHHmUDCWVWP2kXzIcX1p6ZVerwdhzX7ZUrmuYjMtKztaFM+9uFvZVFrZA4Wub8WZQ5MsK/PSHuTy+7qorMzusAm1FfJ6isvK/A5gflmZ0WgEzi1rnUVoTShwj/jlcn5XMyAoKwu2nS8rC9aZoKxspoRWhbA2LIzSmkrJog3EIckdKoubdMk8n5mXMGpAlV7q6nNZqC4m08r+TuDNQEssFjsAfA54cywWOw1VMrYH+BuAeDz+XCwWiwPPAzZw1Wyow4IgCIIgCIIwFoFgMTxaBPJyXtChrGQ8L5DYXeoCRq/XR4lDOEU/MzqMGqpIHLIK8/T3k5txMWsnV0jgiyd+fk4gDoUmH0gddAar15WjIaQCqe1OuySUO3pmlOa/a8ZzPWr+RDnBgtb1TaPFLF9A8ref21MQh8zVZulx9TOHitbRLA1Nr+zjV+Ec1Sxaa50FJkFWlVBK+vdpcCByxvy4qjRDw2g2xDlUhUz4bRCPxy8uM/zv4yx/PXD9TCYlCIIgCIIgCJNlpDjkOQWxIncgh5caLV74y/q5GHrjCHGoVg+2G7QoL2MACbqVVXhHKv+1mctMcvtydH6kE6fXQV8yuXkXdxcDgkBqTCbtHHIH8+KQ796J6Hgp5RyqeUOhHFCP6rT8n9KMncA51DQ6ENp3GnkJD8/2yO3PqascG0KrQ5irCpc8obYQSz++FL1eJ/2btHodc+QaWiTMSxbtgfYDsJdZyWKqlEynckxnbgdeUKH7q96yilDL6A56s8V4czuw4gD6gD5v+3WhHdOjxdz1zRQEQRAEQRCEo0AgDg0VunD55PaOIQ4lSsvK9Do9EAn0uryzJS8GBc6hai4ry4tDxjKD3L4cg/93EAD91ZMsK4uWKSurU84hJlk94h+fYH9GNNyUi33Yxmwb/7Ik6FBWxjkUlIglXexDNtiw5G+W4PQ7WMdZaCGN9U+up/vz3UReE6H+wnqG7x9W6wyLODQT5iuL1jjWYOjZoVnJNavkDLvpzK3n4R5C60MqwH0OX9a4c1sCqYOTyyKbCxbaMZ0pk80dq+xbHIIgCIIgCIIwAcVuFigIGKBKjMpmDuWFCqcn7xyqLxWHADRTo+GdDdS+uVb9XqasjPyN+WoRh8xlpSLMZIWR4rIyL6uyg/SaqWUOOYOFfQ1qn9kHlJhTXFZWDl8UKuscqi3kB2X3qFKj2m21rPjqikC8C60O0XZLG6FV6oD54yIOzYz5yqK1Nlrk9uaCv31B4XmeCqOep5IyH6PVwO6WzKFqQ5xDgiAIgiAIQlUzkXPIWK4EBa1Gw0sWnC9QJA7V6uhWvtypoXD/dMXNK7B71EXOWJlDWkQraW9fiQTOodZScWWqgdRuyi1kB001cyh/fIz6vAsoqgf5QObKCZxDS8YpK6stBFL7YdShdeOX02hm/vUk3ZIAbGFsKimLNtweBhdyr+QIvzo8W5uteuz9Ns4RZ97CqH3MVhPniIPneRX/2SgUEHFIEARBEARBqGpGZQ4ViUOZlzNEG9SFkrHUwE7aJcvi5MvIdC0QUEaKBUHpWJmysvDxYSKnVn47bf+1+eKYz2TFIT9zyMsUAr71On1qmUNDpZlDWkQLOk5N5BzSIhrhV4cJnzRaCNBCGlpYw026uIPKCTTR9vyrIHfYxVg6WnASRlNJWbR+x7LMzoyIQ0WkdqQAiGyaf+eQl/bwEh5anYhD1YLI5IIgCIIgCEJV44tBgTjkl5WZkHk2g5tWHalKRJ+iahT/4iUoK2sYQxwq4xxqel8Ta36wZtR4pRFaE0Jv0qndWlsyPp2yMt915ZeVTTpzaLA0c6g4xHtCcUjTWPuLtTS+q7H84zWqC1t2Z5bQsSGVGTXe9syCWFbpYeLCaELHhkCXdvYjSW9Po9VohF81v4KZ2aL+nv1MN6E6kE9CQRAEQRAEoaoZq6wsekYU57BDbm8OLaoFwcUjMeryZWfTcA5VC3Vvr+PYHcdS/456Nry8AWNZvrRrimVlXtoLRDitVlNlZWWcQ06/E3SNc4ddvKyHMzQ6cwiU8GS0zMy9o9fpeAlPOUnaJ74wLj6WkjlUfehhndC6kIhDI0htTxE5NRKIn/OFX74q7eyrCxGHBEEQBEEQhKpmrLIyP5Q19ZsUelQfUxwKxAqrvHMIA9DGCKSuEjRNC4QgPaoH2T2TFUaCVvYZt+AcqssHUo/IHHJTLrs372bw+6oj2r4/20f3l7tVyVetFrh6fHEocloETZ/ZvtVrdeweG/uAHZQcjUfxxbOIQ9WJtdEiu1PEIR835ZJ5LjPvJWVAIPaKc6i6EHFIEARBEARBqGqCbmUjxaHT1EWS0+mgRbWgHftIgu5kfmhzXamLRdNUHlE1i0MjCUq7JuscKu5Wls8t0mt1CI3OHLI7bNwhl+wrWTzXI7szi71fjflh1EBQ2hd93czDc/UanczvM+CBtWFicYiivGoRh6qTcHuY7O5sScbYYibzhwzYzHsYNahAagDnsDiHqgkRhwRBEARBEISqxncOeWkPL+cFvxstRqFrlV4QREYSiENjZA5BPvS4isvKRuK7qCadORQZI3MoNDpzyHcLOD0Obr8Ltuok5g65Jfs281wGmCVxqE4POs9Z7eIcWgxY7RbYkN0j7iEoCqOe5zb2oML/0ZB29lWGiEOCIAiCIAhCVRMEUFPItwHlBFp6zVIA7EM2Sz+8lNZ/bh21/kjnUNnW5qHqLisbie+i0q0ptrLPFLWyr9PLZg45XUqkcXod7K58d7iE6iRWLND55WjR18yCOJRvZ48OofXjt7GHUnFosu4pobLwywcld0iR3p4mtDYUhEHPJ5qpYSwxcI6Ic6iamP93jiAIgiAIgiDMgBJxKFEkDoU1Gi5qQIuoVufWBgs0OMKRkvVHZQ6VcRhp1sJ0Dk26rExT+9BLF7Wyry2fOWQfLjiH/J/dhAs6GM2FsrLVd64m82ymvBg3RZx+dRHaeGnj5F5T0VWQOIeqE//vWXKHwPM8UttT1LyxZr6nEmC0GuIcqjJEHBIEQRAEQRCqmhJxaMjFzeS7aeXFnvq31QeP+w6YYnzXyXji0NKrl04q6Lha0Gry+2EKuowW0fAyhbIyLaqpzKGR4lBRWVmxcwgPrLWFfRg+IUz4hNlpud384WZSm1Ms/ejSSS1fLPT5nduE6kKP6oTWhEQcQjkjnS6nIkrKfMxWU5xDVYaIQ4IgCIIgCEJV44tBkC8ryxTKykZSbswXg8InhKm7oI7oa0eXOTVd1jRb060I9Gi++1jSnWDJAlok7xzS813HdE2VZ+VKlwvKyvqc4OLQTbjgjJ37NFNq/7SW2j+tnfTyxWVlk8koEioTq90i81Jmvqcx76R/mwYqI4zax2g1yO3ITbygUDGIOCQIgiAIgiBUNV567MyhkZQVh/JlTXqdzsp/WzlHs6wsAnEoNXlxSA/ruCkXHb3gtgqNXVbm9rvkDqmLQy/h4dle2bDv+aDYORTeMDvuJeHoY220SD6SxLO9EsFvsZHakUKLaLPmxJsNjBZDWtlXGZXx6SwIgiAIgiAIU8BzPIZ+PoTn5buT5c9qB384iH1IXZCUy5IZzzlUDVxzzTWccsopbN26NRh77rnnuOCCC9i2bRuXXXYZQ0NDwWPf+MY3eOMb38hZZ53FL3/5y2D80c5HuZRL2fK1LfzLv/zLpJ67uKws6HZmjg6k9sUhgOyLquTHHXbx0l7l7OuiW+ShYycOsBYqE6vdwst45PYtbodKenuayKmRispFM1tNvKQ3JXeiML9UyKezIAiCIAiCIEye5K+SdHygg/T2NF7Gw1iicmOG/neI3q/3AuXDlosFo6Bj1ywEIh8tYrEYd9xxR8nYJz7xCa699loeeOABzj//fL75zW8C8NJLL3HXXXfx4IMPcscdd3DttdfiOA6O4/CFR7/AF/gCj8cf50c/+hEvvfTShM8dlJUNu4V9FmJUK3vnsIPepB7P/LG05KdinEPF3cqilTEnYeoEHcsWce6Qm3HJPJchsqly8oZAOYcAcQ9VEfJJKAiCIAiCIFQduQPKKeD0OngZD3NFkRUkb2QpW1ama4FrxBcqqkkc2rx5M01NpflHu3btYvPmzQCcddZZ3H333QDce++9XHjhhYTDYY455hjWrVvH008/zdNPP836jet588E30/KmFi688ELuvffeCZ9bC2u4aVc5h2pHO4eye7N4OQ+nxyH8KlXe4vaXugaM+soIf9aMynFYCNMn3K7eZ4u5nX3mDxm8rFdRYdSgnEOAhFJXEdXzTSgIgiAIgiAsajyv0CnL7sjn2gypAGq9See4548rFYnGqBbyRSNfqKiYUqdpcvzxx3PfffcB8NOf/pRDhw4B0NnZycqVhQyltrY2Ojs7xxyfCD2iq7KypAqkhrwDx4PEQwn2vGEP/f/RD4B1fCHk2WgtCEKV4hzyib6hcgJ8hamj1+mYK81FHUqd3p4Poz6jst7L/t+9OIeqh8r6dBYEQRAEQRAEwHM9PK80y6bniz28vPFl3GEXu7MgDrkZFz2sYzQagfighTU0rbw7ZGTL+mpyDpXjq1/9KrfddhvnnXceiUSCUEipYiP3H4CmaWOOT0RJWVlRIDVA4pcJAFK/TQFgHVsQh5ouLzidKkmIO3b7saz6z1XzPQ1hhlgbrUVdVpbakcJcbWIur6xeU35ZmTiHqofKegcJgiAIgiAIArDv7fswmgxWf291MNb3732Aar/uO4ecAVVWpkVK84PKlZT5+LlDRrO6eDEaK6PUabps2LCBO++8E1AlZg888ACgHEG+iwigo6OD5cuXA4w5Ph5aWIlDXsILxCH/asIPAfdL+kLrlECl1WpETi+Uu1SSOFTiMhOqFqvdYuCJATzXU2Wji4z09jTR11aWawjAbMmXlXWLOFQtVM6nsyAIgiAIgrDo6fi7DvbH9pP5XYbkr5Ilj3kJpTx4Oa/EOeSlvUDwCZxD44lD+cca3t3Aqu+tCkSiaqW7uxsA13W5+eabee973wvAOeecw1133UUmk2Hfvn3s3r2b008/ndNOO43du3ezb98+stksd911F+ecc86Ez6NHdNyMi5sc7RzKHVQZUPZBdVzMFpNVd65i/ePrC0ISYDRU974WKo/wxjBe2sM+sPjKl3KHctgddsWFUYP6bNCbdCkrqyJELhcEQRAEQRAqAs/xGPpBoQ273/Fq1HLZInFoUGUOBeLQZJxDfubQEoOa19fMytyPFldeeSWPP/44vb29bNq0iY9//OMkEgluu+02AN761rfyrne9C1BZRBdccAFbtmzBMAyuv/56DEOJM9dddx3vec97APjLv/xLjj/++AmfW4toeKkRZWX5rl/Zl1VZT26/Eon0Bp3IaeqCtbispJKcQ8LCwGpXJYyZlzKEjhkjaGyBkt6h8oYqLYzax1xminOoihBxSBAEQRAEQagIcruVsFCzpYbMHzJjetydPgd3SAVTO4MOXraMcyg8sTjku16qiVtuuaXs+Ac+8IGy41dffTVXX331qPFt27axbds2WlpaAufRROhNOk6PAx6jnEO+q8u/EDSaikKoizKdRBwSZhtfHMruzMLZ8zyZo0x6exotrBE5sTLFIaPFEOdQFSGfzoIgCIIgCMKskHgowcCdA9NeP/2sugveem0r9RfW46ULwcnFIcq+OwUK3cpGdiCbTObQeAKSMBpzmRlkCvndysa61VwsAuk1eSGpRgucRoIwWxhNBsYyY1G2s0/tSBE+OTzu5918YraaEkhdRYg4JAiCIAiCIMwKfd/uo+fmnmmvn/lDBi2sYbVbQWcsH7fPDX7O7VXikBbRcAcK3cqgIEqMd7GkW6WuF2FymMsKSlAg+BTtQ3O1elyr1UrGfSGp0trYCwsHq33xdSzzsh6ZP2SIbqq8MGofo8WQsrIqQj6hBUEQBEEQhFkhdyCHO+BOvOAYZJ7NYB1vqSDTiI6X9fAcJRD5GUMAdpf6ObQ2hNPvQI5Ct7JJiEPVXFY2nxjLRpeKuQl1vMOnhgm/KqyWGxE6rYd1CIFRJ2HUwtwQ3hgmuzNb4jBc6KSfS+NlvIoMo/YxW03cYRc3Nf3vBeHoIeKQIAiCIAiCMGM8z8M+aKuAaGd6F2jZV7KENyqBwRd7vIzaVq6jtJQM8iUL+bvSQeZQ/RQyhyq0FKNSKXEO5TOHoqdH0aIaK760Ar0x794qEySu1+qSNyTMGVa7hTvsYncsnnyb9PbKDqMGMFqVICzuoepAPqEFQRAEQRCEGeP0OEEZ2FjuIc/zSD+THvPuvtPrYCzNZwb54lB6tHPIF4eMFiP4eZQ4NJnMIXEOTYly4lD4xDDtL7cTPjGM0aiOXbl29XqNLmVlwpxhbSwKpV4kpLenMVeahNoqt0Ob0aI+C+zDi0e0q2bkE1oQBEEQBEGYMfbBwsm/01/+LnHyoST73raP1GOpUY+5KRcv7WEsURcTekQPxgGcw4VtBuJQa0GEmE4re3EOTQ29Vi/kB9WWcQf5zqEyIlDomBChtZV7EStUN4E4tIhCqVM7UhXtGgLl7gRxDlULIg4JgiAIgiAIMyZ3oFD2NZY4NPTTIaD83X2nT62jL8mLOyOcQ/7jUFpW5uMHUvuulUk5h0QcmjK+eyjoVlaEv+99B1Exq/5zFa3/0Dq3kxMWLeZSE6PZWDTOIbvLxj5gV3QYNRQ5h6SdfVUg4pAgCIIgCCVcc801nHLKKWzdurVk/Lvf/S5nnXUWW7Zs4brrrgvGn3/+eS644AK2bNnCtm3bSKdVDsLvf/97tm3bxhvf+EY+85nPLKqg0MWIfaCo7KtMWZlnewzfOwxAds/oCzi3P+8GWlK+rKxYcHKHC2VlPlrNCOfQJDKHECPLlDGXK3FoXOdQY5nHavRAwBOEucDaaJF5KTPf0zgqpHYo92Ulh1FD4TNa2tlXB+bEiwiCIAiCsJiIxWJcfvnlXH311cHYo48+yr333sv9999POBymu7sb6IhR7gAAIABJREFUANu2+fCHP8zNN9/MiSeeSG9vL6GQuuL+9Kc/zY033simTZt473vfy0MPPTRKcBKqn92v303NWTWBmAPlnUOp36aUAKQVWtEX4zuDRpaV9Xy9B6fHQa/RMZYaOD2OEofMwrIANWfVqPUaJHNoLvFL+cqJQ75jqJw4JAhzjdVuMfSTITzPQ9MW9t92ensazdIInxSe76mMix7W0Zt07G5xDlUD8sktCIIgCEIJmzdvpqmpqWTs9ttv56qrriIcVieiLS0tAPzqV7/ihBNO4MQTTwSgubkZwzDo6upiaGiI17zmNWiaxjvf+U7uueeeo/tChDkndzBHbl+OgTsGyB3MBWHS5cShzPPqjn7k9Ai5PeOIQ01551BUXdylnkqR3p7G6XeCVurukIsW1tCj6lS29i21QUnTpAKpIxqapaHpC/sCci4wl5tgUiIG+vjCXLlAakGYa6yNFm6/uyhcKuntacInhavCjWe2mIvimCwEKv/dJAiCIAjCvPPKK6/w1FNP8fa3v52LLrqIZ555JhgHeM973sO5557LLbfcAkBnZydtbW3B+m1tbXR2dh79iQtzyvDPVZmY0WLg9ruE1ivXmF8iVkx2Zxa9USd6ZpTcvhyeW1pmOFbmkNPt4GU9cvtzQd6Nl/HQLI3o5iitn22l7V8K7zUtoinxYhxxqPGSRlbcvGK6L3tR0/TXTaz4+oqyzgxxDgnzSbhd3bxY6KHUXs4j/ft0xYdR+xithgRSVwlSViYIgiAIwoQ4jsPAwAA/+clPeOaZZ7jiiit4/PHHcRyH3/zmN9x9991Eo1FisRgnn3wy9fX1o7ax0G3+i5Hhe/LiUKuBO+xiLjfR6/QS51D25Sy9t/SS3ZnF2mARWhvCS3vYXXZJC+axysrI60zOYQfzT0sDqLWQxpK/WVIyJ03TWPaPy4i8ZuwLJ2uthbXWmv4LX8SMt++sV1k0f7iZurPrjvKsBKHQsSyzM0PNn9TM82zmjszzGby0V/Fh1D5Gi0HmucWRBVXtiKwvCIIgCMKEtLW1cf7556NpGqeffjq6rtPb20tbWxubN2+mubmZaDTK1q1befbZZ2lra6OjoyNYv6Ojg+XLl8/jKxDmAr8zkJf0cIdd9DodvVEvCaTu+VoPg/8zSHpHGqvdIrROCUIjS8vcPhctqgWiULmypZLW9WUe92l6XxORk6rjrvpCQjM0Wj7VgtEsZWXC0cdYZqA36gveOVQtYdQ+ZqspzqEqQcQhQRAEQRAm5Nxzz+XRRx8FYNeuXWSzWZqbm3nTm97EH//4R1KpFLZt88QTT9De3s7y5cupq6tj+/bteJ7H97//fc4999x5fhXCbOJ5Hu6gEoHchIubUOKQ0WSUOIf8HBpQgbGhNUoc8rubDcQHyOzM4PQ5JQHTZcWhpQbkFxmvG5kwf5Trdvjcc89xwQUXsG3bNi677DKGhoYAePjhhznvvPPYtm0b5513Ho888kiwjnQ7FKaKpmlYG6wF384+vT2NscLAXFkdRUBGi4E76OKmR5cbC5WFiEOCIAiCIJRw5ZVX8o53vINdu3axadMm7rzzTt797nezb98+tm7dypVXXslNN92Epmk0NTXxoQ99iLe+9a2cc845nHzyyZx99tkA3HDDDXziE5/gjW98I2vXrpVOZQsML+3hZdUFuzucF4dqVWeaYnGo+I6xtcHCbFMXNHanTe5Ajq6PdrH3zXtJ/SZVIg4FZWVFGI1GkCU0XqaQMH/EYjHuuOOOkrFPfOITXHvttTzwwAOcf/75fPOb3wRUgP1tt93GAw88wE033VTSIdHvdvjII4+we/duHnrooaP6OoTqxNpoLXjnUHp7mugZ0aop1TZb1We+uIcqn+qQGwVBEARBOGr4odIj+cY3vlF2/KKLLuKiiy4aNX7qqafy4IMPzurchMrBLx0zVhg4neqkX6vTMBoNsi8XLs7sThtCKksocloEPaoEpFxnjtQTqWC53J5cSU5I2W5YTTqapeGlPHEOVSibN29m//79JWO7du1i8+bNAJx11llccsklfPKTn+Skk04Kljn++ONJp9NkMhn6+/uDbodA0O1QBGZhIsLtYQbvHMTpdRZkeaN9xCa3L0fjZY3zPZVJY7So42AfsQmtDk2wtDCfiDgkCIIgCIIgTBlnQAlCobZQIA7ptTrGMgP7YRvPUa4iu9Om4cKGku5gZpuJ3WGTzCbRG3War2ym+4ZucvsKOURly8qaipxDIg5VDccffzz33Xcf5557Lj/96U85dOjQqGV+9rOfcdJJJxEOh6XbYYUSi8W+C7wdOByPx08a8djHgS8BrfF4vDsWi2nAzcBbgSTwvng8vmOu51gSSv26hRdKnd6RBqiaMGooZMVJO/vKR8rKBEEQBEGYM5w+Jyg9EhYWft6QXyYGoNfpRM+I4g67JJ9N4jmqK1nxMgDmChO70yb1ZIromVGa3tcEQHRz4YJH07RRApHRaKCFRByqNr761a9y2223cd5555FIJAiFSt0DL774Ip///Oe58cYbAcrmC1VLCc0C5zbgvJGDsVhsDfAWYF/R8PlAe/7fh4BvHoX5BeLQQi0tS+1IgQnhk8LzPZVJI2Vl1YOIQ4IgCIKwwCgXCAvw3e9+l7POOostW7Zw3XXXlTx28OBB2tvb+bd/+7dg7Dvf+Q5bt25ly5YtfPvb357yPDzbY9dJu+j6VNf0XohQ0fjOoeJQVL1ODwSewUcG1cWAo8SgYswVJtmdWXK7ckQ3R9HrdI77w3Esu2FZyXIjxSG/rAxUK3uhOtiwYQN33nkn99xzDxdeeCHr1q0LHjt06BDvf//7ufnmm4Nx6XZYmcTj8YeB3jIPfQ34JFCs6l0I3B6Px714PP4E0BSLxdrKrDurmCtNtFptwYZSp7enCZ8URo9Wz+dfcVmZUNlUz7tKEARBEIRJUS4Q9tFHH+Xee+/l/vvv56GHHuKKK64oefwf/uEf2LJlS/D7Cy+8wPe+9z1+9rOf8Ytf/IL777+fV155ZUrzyDybAWD4vuFpvhKhkvEzh0qcQ7U6oVUhzNUmg48MqrwhGNVVx2wz8ZLqOjL6WiUmGc3GqBBq/3f/4kLKyqqT7u5uAFzX5eabb+a9730vAAMDA1x66aV8+tOf5swzzwyWl26H1UMsFnsHcDAej/9uxEOrgOLwqQP5sTlF0zSs9oUZSu3ZHuln0lVVUgbqc1xv0MU5VAVI5pAgCIIgLDDKBcLefvvtXHXVVYTDyore0tISPHbPPfdwzDHHUFNTyGfYuXMnZ5xxBtFoNNjmPffcw5VXXjnpeaSeVGHDkVMik1t+e4rOv+vkmHuPwahfeEGiCw1nMJ85tLJQIqTXKTEn+toog48PEn6ber+Vcw4BaFGNyMljvz9855DVbpEeTqPVaCIOVThXXnkljz/+OL29vWzatImPf/zjJBIJbrvtNgDe+ta38q53vQuAW2+9lT179nDTTTdx0003AXDnnXfS0tLCDTfcwEc/+lHS6TRbtmyRMOoKJBaL1QB/D5xT5uFyf6Bla4xjsdiHUKVnxOPxku+n6dB3ch8DDwxMejumac74OeeK4rkNPzOMl/JofVNrRcx3Kvtt3/J9GIPGUZt3tRzTSkPEIUEQBEFYBLzyyis89dRTfPGLXyQcDvOZz3yG0047jWQyyb/+67/y3//93yUlZa961au48cYb6e3tJRqN8uCDD3LqqadO6TmTTyaBgmAwEdkXs+T25rA7bRGHqgC3v3zmECinkN1tF5xDI8ShUJsSlKKbouO2pNei6rGlH1uKl/FUDlFIWtlXMmN1O/zABz4wauwjH/kIH/nIR8ouL90Oq4LjgPXA72KxGMBqYEcsFnstyim0pmjZ1cDoJHIgHo9/C/hW/lfPd5pNF+8Yj+yhLF27ujAaJ/4uaWlpYabPOVcUz63//n4A7I12Rcx3KvtNa9ZIHkwetXlXyzE9WqxcuXJSy00oDpVLpY/FYs3A/wDrgD1ALB6P981XKr0gCIIgCOPjOA4DAwP85Cc/4ZlnnuGKK67g8ccf58tf/jIf/OAHqa2tLVm+vb2dq666iosvvpja2lpe/epXYxiTF2w8zyP1lHIOuWl3cuvkg6u9tARYVxLusEvH33aw7PPLSlxC7qCLVqOhNxXEP71W/axHdbych92jxCGjqfS944tF0deNXx7hl5WFjw8Hbal9x5A4hwRhfonH438AgqCwWCy2B3hNvlvZj4G/jcVi/w28DhiIx+Md5bc0u1jt+VDqnVmir6muEqzxSO1IYbQamKurz99htBhkX1x4pX4LjcncyruN0an0/wd4IB6PtwMP5H+HeUqlFwRBEARhfNra2jj//PPRNI3TTz8dXdfp7e3l6aef5vrrr+d1r3sd3/nOd/jGN77BrbfeCsDFF1/Mvffeyw9+8AOamppYv379pJ/PS3u4fUoU8rNlJlwnJ+JQJZJ5MUPiFwnST6dLxp0BB6PRQK8pEofyziF/zOlxwBzt8rE2Wiy5YgkN72oY97n9sjK9vvAcgXOoTKt7QRDmjlgsdifwOHB8LBY7EIvF3j/O4ncDrwAvA98GJl+TPEOCjmULLJQ6vT1NZFOkKjv3Ga0GdrcEUlc6E8qO8Xj84Vgstm7E8IXAm/M//wfwS+BTFKXSA0/EYrGmWCzWdrRUYkEQBEEQynPuuefy6KOP8oY3vIFdu3aRzWZpbm7mhz/8YbDMV77yFWpra7n88ssBFSLb0tLCwYMH+fnPf86Pf/zjST+fO1RwC7nJUudQ8pEkzoBD/dvqS8Z9cchNTc5pJBwdfLHOS5WKdu6gi96ol5QN+j/75WBOt1MiHvlopkbrZ1onfG4toqFFC6VkgHQrE4R5Ih6PXzzB4+uKfvaAq+Z6TuUIrQ6hRbQFFUpt99jk9uRovKRxvqcyLcwWE7ffxc248tldwUzXk7bcF3zi8XhHLBbz7YRjpdKLOCQIgiAIR4lygbDvfve7+djHPsbWrVsJhULcdNNNo+4+Zp7PENlYCAf+4Ac/SF9fH6Zpcv3119PU1DTpObjDBYFnpHPowLsOAFB/cIQ4lBHnUCXii3UjywNHOYf0gihU7BwqJw5NFj2iozeWrh8EUkvmkCAIZdAMDWuDRWZnZr6nMmukdyjnZuSMyTV4qDSMVlUW7HQ76KtEHKpUZrtgcd5S6YW5p5KT1QWFHKPKR45RdVDtxykej5cdv/POO8dcx0k5vPOed2L93qLlS+q1//rXv572HIb3qfb1ZrMJ2dLuaC/xEsCofZwMqQDrulDdhPu/2o9RVZGPGarRa0r2+cHEQazVFq1trbwcfhk9rNPaqtxA2gqNTjqhD8z66R+r7JYsidZEyfq99b0MM0xd88TvE2Fi5G+p8pFjNHWsdivIvVsIpLenwYDIqdUpDpmtSnZwuh1Cq0ITLC3MF9MVh7r8crFYLNYGHM6Pz1sqvTD3VHLqu6CQY1T5yDGqDhbjcbKPqCyA7KHsrLz25P58p7JWHftw+c4qI8cSAwkABg4PwARTWIzH6GjjuR7p7WmyXao0Y6h7qGSfZ3oz6Bt0uru70Wt1NEsLHk/Y6lhmujKEVoemfaysSywsrJL1s66aT9I+ep1vFjLyt1T5zPQYTbZT0ULCarcY+uEQ7rA76Y6ZlUxqR4rwq8Po0ep8LUaLcg755xpCZTLdd9ePgcvyP18G3FU0fmksFtNisdhmjmIqvSAIgiAI06ekDMybeVmXvz2z1SzJqhlv21JWVlkkf51k/5/tJ/2MKmcoPi6e5+H0OBhL8h3EarXS7KH8BYzb786orKwc0q1MEISJCEKpX67+3CHP8Ug/o8KoqxVzWcE5JFQuk2llfycqfLolFosdAD4HfAGI5xPq9wF/mV/8blQb+5dRrewvn4M5C4IgCIIwy7iJgjhk77cJHTMz27cvDhnLDLy0h+d6aLo2KtS4GOlWNj94WQ/P8UbdkXaOqJN4+4C601t87JxuBy/pEVqr3id6nV4i1mg15X+eFfJvTRGHBEEYi3B7GFAdyyKnVa+oApB9IYuX8Ihuis73VKaN7xzyv1eEymQy3crGSqXfVmbZeUulFwRBEARh+hQ7h9LPpmcuDuW7lfl3C72Uh1arqdbmYxB0K0tLt7KjSfcXu0k+lmTt3WtLxv33hN2jxCE37eI5HpqhkduTAwjEIbPFLGktXyw0zbZzSLfyHdFEHBIEYQxC60IQYkGEUqd2qOykag2jBvWdoNfpUlZW4VRn0aIgCIIgCLNKsTiUeW7mJ9NBWVleHPLb2Y8rDklZ2byQ3ZnFPlg4YU88mGDXybuCk3i/DMDpcdh1yi4G4gPk9ipxyFqrSjeWf3U5y7+wPNiG37UMZl8cwspvV9ohC4IwBpqpYR1nLYh29untaYylRiDGVytGiyFlZRXObHcrEwRBEAShinAGHPa/Yz81b6oJxoqFguniDrlggt6kLuC9lEfXJ7tI/y4dLON5HppWEBGkrGx+cHqdkn2eeSmD0+uQe0UJQP7JfG5/DrffpecrPTT8eQNoYK5Rp5KhlaUXLcWC0GyXlUkre0EQJoPVbpH5w8JwDkXOiJR8X1YjRqshzqEKR265CIIgCMIiJvNChuzLWZKPqe5iZpuJ3TEL4lBCdYjxRQI36ZJ8JEnm2aIT9VzpOkFZWUrKyuaKzo910vedvpIxp9cpKeXzXV+5DnWAfOGoOIOo/z/7MVeZY7p3isWhWQ+kDkkgtSAIExPeGCa3N1fV3ym53hy5XbmqzhvyMVtNcQ5VOCIOCYIgCMIixs+OsfcrQcjaYGF3Tl8c8rIeHVd2kHo6hV6vB64RN+lid9ujli33uziH5gbP8xj870GOfO4IzkDhBN3pccAGz86Lc37W0AiR0D9+WkTD7XfHLXHQLA3NzIs4c+Uciog4JAjC2FjtFniQ3VW9pWXDTw4DVHWnMh+jxcA+LM6hSkbEIUEQBEFYxPjikC8IhI4LzUgcyu7MMnTXEJlnMiXOIafHwUuUF4MKK6v/JJB6bnD7C/u1/7Z+QB0DPzzcF+X8znWj3gd5p1fTXzcBYK2zxn0+/9jPunPIEueQIAgTE7Sz31m94tDQU0OgQ+TU6heHzFYTt98NXMJC5SGZQ4IgCIKwiPGDhUE5MUKrQ7jDLs6Qg1FvTHl7nlc46dPr9KBrVe5AbvSyI51Dkjk0pxSLPentKvvJ6S04iNyMKgX0hvP7fwyNsCHWgNPrUPf2unGfT6/VcQaduROHJHNIEIRxsNZbYFDVodRDTwwRPiGMXlv9ng6/nb3dbRNqq+5w7YVK9b/LBEEQBEGYNtm9hZNmvU7HXKHuG03XPeSlisShorIye9/o7Y28eyhlZXOLXyamRTWcvnwHsiJxKHAODY/v3DIaDFZ8ZQW1f1o7/nI16kJgtsWh6OlRom+MBu9VQRCEcmiWhrXeqlrnkOd4DP9muKpb2BdjtKrvBMkdqlxEHBIEQRCERYxfVgZ5cagtLw5NM5Tab1kPYNQZgTCQ26+eJ3JmBKNZnSD6ret9fHFIysrmBl/wC786XBCHeorEoVRpWdlY6HWTO33073TPduZQ+MQwa+Jr0CNyGisIwvhYGy0yL1Vnx7LszizOkLMgwqhBlZVBobmBUHnIt6ogCIIgLFKcAackh0avLXIOzYI4RKjgGsntU+JQ27+2sewLy4AyziEpK5tT7E4bNAi/KlzWOeSLcuM6h7TJiz1z5RwSBEGYLFa7RW5PDjdTfTcdUttTwMIIo4aCc0ja2Vcu8m0tCIIgCIsU+4A6QTNXKkFIr9Mxl8+wrCxZEHbcPhctqoQE3zlkNBtBK3LpVja35A7mSjKgch05jBYDo9XAHXDxHA+7t3CcRwZSl0Ov09G0yYlDvig0284hQRCEyWK1W+BAbvfo3LtKJ70jjbnUJLR+YeTzBM4hKSurWEQcEgRBEIRFiu8esY5THV30WhUgrTfpgTjkZb0plXkVCwt2r63ajWvgDrpBQLXfZWoscchNVd8d3koj15Fj9+t3k3woGYzZnTbmChNjiQEeuAPulDOHJltSBmDU5p1DCyBIVRCE6sRqz3csq8JQ6vT2NHVn1k1akK909BqVQyjOocpFvq0FQRAEYZHi9CthwL8r6V/4m8vM4M7egXcdYNcpu0ocKONRXFYWPj6MpmmBe8jvVDKmc0jKymYNp8dRd8v3Fe6W2x02ZlteHEKJg8WZQ5MpK9PrJ3/qGLSyj8rppiAI84N1nAUaZHZWV+6QM+CQ3ZmlfnP9fE9lVjFbTXEOVTDybS0IgiAIC5SuT3bx0tqXSsZSO1LsOnkXdo+NM5B3Dq1Xd1a1uryIs9QITt5ST6XwEh6pR1OTek4/1HjNT9aw7HqVLeQLCnpTvswo34JcMofmDn8f+gIg5J1DywvikN1hk96RBiO/TsbDs73S/Z+/Ye0Lh1NxAc1VILUgCMJk0aM6obWhqutYln46DUD96xaWOGS0GBJIXcGIOCQIgiAIC5SBOwbApsT1k3k+g9PrkNudC8KoQ+vyzqH8xbzZaga2b2O5Ug6OXHdkwi5WoJxDWlgjekY0cIwsvXqpejB/PhiIQyOdQxnpVjZbBPtyQO1Lz/Nwh1yMRgN9iTouHVd3kHk2w9KPquPjpb1Rx9hYmi8Nywt7U3EOSSC1IAiVgNVefe3sU9tToEH9mQtMHGo1pKysgpFva0EQBEFY4BR3JPPFAqfXwRlw0CytJJAa8nf28uVGXsbDXGmSeS5D5zWdYz6H0+uw/y/3k92VDcrIfJoua6Lt39pYfuNyYBxxyHcS2eDZ4h6aCb7A5juHvIwHtjrGQVlZp0Pd2+poeFdDsI5fUubnQpnL1HvDaM4LPVPIHPLFRhGHBEGYT6yNFtld2ar6XknvSGO9ysKoN+Z7KrOK2WKKc6iCMed7AoIgCIIgzIzuG7uJvi5K7Ztryz5uH7YLgkBeLHB6VBt7vakgFgTi0FIDd9BVYsGgS9NlTdgHbRKPJMacQ+aFDKnHUmg1GkbT6JPZ+gsKdz/LZQ55rhIvtFoNL6FKm/wyN2Hq+M6hQBzKd5HTarXgeANETougR9RxL3YOmW0muT05jBUGPM+o98hkaH1PK9m6bHC8BUEQ5oNwexhykNuTw9pgzfd0JsRzPdI70iXfmwsFo9XA6XPwbA/NlO+GSkNu5QiCIAhCldP79V4OXnJw1LgWUSdezuHCXbpAHOp1cPocjCYDs82k6QNN1J1dB6iTN8i3n3dBb9BV+/P+scu9fFHBS3oT5tIE3cqKMod8ochoUM8926VlbsblyD8eKcngWcgEncfyTjH/+Oi1OnpD4fiETwwHTq/09jTdN3QDShyCMs6hKZSV1byqhiV/vWQmL0MQBGHGWBuVIFQtodTZXVncQZfIpsh8T2XWMVtN8ChphiBUDiIOCYIgCEIVM56I4ufE2IcL9f2+wOP0qLIyvVFH0zWW/eOy4I6q2aIEgdwrqtOVXq9jNBnKWTJGm/niLmUTBRAHzqFMkTiUF4r0xoKLxXM9ev+tF2dw5ieRmd9l6PtWH8lHkhMvXER2b5aB/xmY8fPPJunfpxm+Z3jcZUY6h/xyMb1WL2mLHDkpEoh1Q3cNkbhPucNGiUPTcA4JgiBUAv53W7W0s09vV2HU0U3ReZ7J7OPffJLcocpEvuEFQRCEOeeaa67hlFNOYevWrcHYV77yFTZt2sRb3vIW3vKWt/DAAw8AsH//fo477rhg/FOf+lSwzo9+9CO2bdvG2WefzSWXXEJvb+9Rfy2VhjtYEGVG5in45V32ERun12HoZ0MlziG33y1bAua3nM++ok6kjQYjEG18JwoowWHwB4PquZOF554oY6Zst7J8x3XfmeKmXLIvZun+526Gfzq+EDIZnN68SJKcmiNpMD5I1zVduJnKCcnuvaWXw585PO4yIzOHip1DxRjNBpquBcfEp/ZNtUTOiBA+IRwsByIOCYJQfei1OuZqs2pCqVPbU+hNOqFjQ/M9lVnHbFU3HKSdfWUimUOCIAjCnBOLxbj88su5+uqrS8Y/+MEPcsUVV4xafu3atfziF78oGbNtm89+9rP88pe/pLm5meuuu45bb72Vj33sY3M690qnWBzK7c1hHVfIU/Dr+Z0uh/7/6qfnxh6VIUPBOeRf/BczUhwqLkNy+h20iEZ2Z5ber/eSeDBB5LRISZcrv0vZWJQLpPbFF9+15Pa7KocIyB3Ijbu9yWD3qLuUxSLWZPCXd4dc9HBlCCNuvzth57iR3cp8UcwXd2q21qAZBUFIi2glxyOyKcIx7zyG3P4cZptJ+MRwyfqCIAjVhLXRqh7n0I40kdMjaPrCy+Txzy8klLoyEXFIEARBmHM2b97M/v37Z7QNz/PwPI9kMsmSJUsYGhpi3bp1szPBeSB3IKfKtRpn1omkOEMn8WACvUEP7sz5F/v2YRttOC8Udarl7V47CKQeyaiysgY9OEl1+h16v97L0F1DwfJuslSsmLCszBpdVuY7h3xxK7c3F4hSsyEOub2lIsmk18s7cNx+F1pmPI1pY3faEAJzqYnT7+AmXDzPKykRK8ZLqX3rlwIGZWV5V9fq/1xdsrwW0WCw8LsvAoXWhDj2t8fi9DpoUa0qwlwFQRBGEm4P0/9YP57jlQjjlYYz6JB9MUv92xdeGDUUnEN2t5SVVSJy+0cQBEGYN2699VbOPvtsrrnmGvr7+4Pxffv2cc4553DRRRfx5JNPAhAKhbjhhhvYtm0bZ5xxBjt37uTiiy+er6nPmAPvOUD3F7tnvJ1i59CRfzhS0m6+WByyD5SeiDldDu5w+bIyvVZHi2qFsrJ6IxCR3AF3VJCkO+yWiC4TBVL7t6b8sjLP9sh1KAEodFwINJX14w6pbdoHZ34S6TuHJnLc+LhpF6ffKWT3zELu0UzouKqDw59SpWTugAt2qfNqJH4gtb+8lyh0KyuH37Es+L1hdPnZhpc2UPOGmmnBb+LcAAAgAElEQVTNXxAEYT6xNlp4aU81Wqhg0s+kwYPIGQsvjBrUd5AW0cQ5VKGIOCQIgiDMC5deeimPPfYY9913H8uWLeOf/umfAFi2bBlPPfUU9913H5/73Oe46qqrGBoaIpfLcfvtt3PvvfeyY8cOTjjhBL7xjW/M86uYPk63g71/5qLHSNEit7dw4hsIG4cdcgdLT4jtDvXc5ZxDoIKI/S5neqMeiEhOv4OxtFRQcofcqWUOaRpauFDGNPBfAxz4iwNq3Todc6Vqo+6LQyPnPh18QaucOOSmXHIHc3hO4TX0fKmH/RftH9X1a76wO22yu5VYF7SnT4wtDhVnJPlOIxi7LMwPpW76QBPH/eG4siV0C7HEQRCExYHVXh2h1OntadAgcvoCFYc0DaPVkEDqCkXEIUEQBGFeaG1txTAMdF3nkksu4ZlnngEgHA7T3NwMwCmnnMK6det45ZVXeO655wBYt24dmqZxwQUXsH379nmb/0zxUl4QkjwT/O5ja360hsiZkZK8H198yXXkStw3fu4QUNY5BBBaXwjC1Ov1IJDa6XNw+kY4hxJTKysD1bHMn192V7ZkPLQuRG5PDmcgXwLXYZcIN9PBn3O5zKH979zP7tfu5vCnCyHP2Vey2B12Idh5np1DbsLF7lT7wXeLjeeCKnYOlYhDY7i6tIg6ZmaLGYRPC4IgLBQCcajCQ6lTO1JYGy2MhoX7OWy2mOIcqlBEHBIEQRDmha6uruDnn//85xx//PEA9PT04DjqpGHv3r3s3r2bY445hhUrVrBz5056enoAePjhh9mwYcPRn/gs4NkeXnZ2xCFftAifHCa0JhS4bUA5h/QmHS/hlYgF1vpCbozfonwkQbZMSJUc6fU6GPmysj6H6OujrLhlBaCcQ1MJpAaVOxSUvXXZJePWOovc3oJzCDufuVPEjlfv4PBnx+/YVUzgHCqTOZTbo5xJmZcyheV7HbxUYb/5IpyPfcRm16ZdpJ9NT3oOM8EdcnH73ZL9MK44lCktK3MTLugFEWgk/vhIV5ggCMJCwGgwMFYYFe0c8jxPhVEv0JIyH6PVkMyhCkUCqQVBEIQ558orr+Txxx+nt7eXTZs28fGPf5zHHnuM559/Hk3TWL16NTfeeCMATzzxBF/+8pcxDAPDMLjhhhtYsmQJAB/96Ef5i7/4C0KhEKtWreJrX/vafL6saeOm8m6U2XAODbhoEU0JOA164LYB5Ryq21rH0I/z4dEhIAfWsRapx1MYKwyim6Nlt+vfZfWDojVNw2g0cPqVc8jaaFG3rU7NYaqZQwBWIXPIPlwqDoXWhnB6HOxDhXH7oE1olXIz5fbnSO9Kk96VZtk/LRvzKdLPpun6RBer/2d1oZX9CEHF87xAhPLL6ECJSV7WC5YvznYC5SxyOh2yL2SJnFT+RL7r0114GY8VX10x/r6YAC9XEKmyLxYubCZyDvkCnNOj8qX0Wn3MAGs/c0hcQ4IgLFTC7WEyL2cmXnCeyO3K4fa7RDeV/15eKJitJukdR+fGijA1RBwSBEEQ5pxbbrll1NhYYdJve9vbeNvb3lb2sUsvvZRLL710Vuc2H/idpNwhFzczsxbpzqATlHwZ9YbK//HyQc9Zj9BxIcw2E7vDJnJahPRv0tRfUE/omBCNlzaOCiL2CcShIvRGHbdfOYeMJYYqH9OUOFRcrjWZsjLd0guZSEX2ci2kxCGA9O/T6kzFhuyeLNHXqhPm4buH1etdMb6QkXoiReb3GTLPZcbMHPLSHuSf3j5s03drH+6QG5Sh+Y6hkWVl/rjfBawcA7cPALDiqysY+ukQqd+kWPaPY4tZY1H8HJkXChc244lDbsYltD5E7kCO9B/SeDlvzDBqKGQOiXNIEISFirXRYuDOgXE7Pc4nqR0pYOGGUfsYrYZy51Z457jFiJSVCYIgCMJRxncOAbh90ws69lyPrmu7SP46GWQT6I06OCpXxxdeNEsj+jolqvj/m6tMmv+2edxMg3B7eNSY0aRCJL2Ep8QhXUOv04OyMqMlP48JAqkBCOUdMZ43qqwsdEzeIbQnR/iEMOZKk4HvDQSi1/A9Shwym8e/x+WXYGVeyBRau4/IHPIdQaF1IbyUR/93+hn4r4GCKOQ7jkYEUvuh0OOJQz6e4zF8zzAD3xuYcNlyFItAmT+OLQ7lOnJ0Xt2puqylPfQaneiZUVJPpfAS3riOrqCsTJxDgiAsUKx2Cy/plbhSK4n09jR6g1725sxCwmw1wZ0d97Qwu4g4JAiCIAhHGV+oAEa1hR93vZxH9w3dOIMO6e1pBv5jAHu/HTiH9Pp8aPSgE+T56GGdpvc10fT+Jhrf1UjDexoC8WU8yokE+hI9yOfxs4r0Ol2VlSVcIpsiNMQaiL5+Yku8X/LkDrsl+0OzNEKr8/Pz1PMsuXIJ6d+k6fhQB+ln06T/oOzovjCTeDjB4P8OjnoOvyNbsX19ZOaQX1JmHatOxnN7SsO7fRGouFwPipxDQxOLQ3aHrcrUkl6JMDhZip8j+0KhrGxkt7Lhu4cZ/P4ghz97GC/joUWUMJh9IUvuQG5ccUjKygRBWOhYGyu7Y1lqe4rI6ZEF3xnSv5EkodSVh5SVCYIgCHOG3WmTeDhBY6xxvqdSURQLFHaPTZjRLp1ypJ9N0/svvYRPCpcIHr4DyKhX/7tDLlpInVxqYY3omVGiZyrBZsWXJp9/s+SqJUHOD4DRaASCy0hxyEt6GM0GK748ue1rloaX83C6Sk8OtZCGvkRHi2p4KQ+9Xqfx3Y0M3z3M8L3DaGEtEJOcIbXuwYsPAlD/Z/WqjGp7moa/aAicQ/6+0hv0wG0z8N8D1JxVE2wjdFwIHiwz0fyh8p1Dbspl4D8HsHvVtscr7fLJ7ckFd0idXgd91cT35gb/d5Do5iihVaGxy8qGXbJ7syR/maTx0sYgl2joriGsdRbmGjNwi6WfSQc/l0OLaGAQCI2CIAgjicVi3wXeDhyOx+Mn5cf+GbgQ9Wl5GHhfPB4/FIvFNOBm4K1AMj++Y35mrvAdsdmXstRuqZ3PqYzCHXbJvpil7ry6+Z7KnGO0qvMHu3vy5z/C0UHOAARBEIQ5Y/AHg3R9tGtSpTeLiRLnUN8UnEO+KDLgMHT3UPAt7gc7+xf27oBbUlY2XVqvbaXpsqbgd7OtcE9plHMo6U6unCyPZml4GQ/7iD1qXNMK7iG9UUeP6qz5v2sIHx8m+VgSgOjG6CjnTPaFLIfed4jOv+vEGXACIct3O4VfFcZNuGRfydL1sS66PtVVcA5tGN/G72cODd01xJF/PELivgQwOedQdk82cIhNxkbvpl06P9zJwB2qDK3k76f4x6TLkf/3CIevPUzq0VShPM+G7MtZtLBG5NSIyhNyxw8Kj54Zpe6cugV/x1oQhBlxG3DeiLEvxePxU+Lx+GnAT4HP5sfPB9rz/z4EfPNoTXIsjGYDo8Ugs7PyQqnTz6TBZcGHUYNqZQ/iHKpERBwSBEEQ5gy/hGYy7orFRHFp0VTKynzHUfalLPYBm/o/qwcKbhK/rMwdKhKHwrN3se+7j0CVmPnP6WcOTapLWR4tpEGutFMZEHiazdXqB98NBSoXyHca1ZxUo8rSMm5QCpV8MhmINZlnMyVt3801JpFNEbykR+o3KvRTs7SCOHTc+OKQ7xxKPaHWze5SZQnO8NjHz9/3ub25QASczPH2c5CCUOyRApYOaJB6MkXiQSVS9Xy9Z9SJth7R0SM6kdNVuOl4x6fhnQ2s/M7KCecmCMLiJR6PPwz0jhgrrumtBXzV/kLg9ng87sXj8SeAplgs1nZ0Zjo2VrtVkWVlQRj16Qs7jBqKnENHKjP7aTEj4pAgCIIwZ/i5NyIOlVIcijyRk8RzPbIvqxNZ3zmU262cMLXblC2+4S8bAFU2BaWZQzNxDo2kWBwqdg45vQ44kwyizqOFNdysG4g9S/6fJWp7eQHDL2fzXxMoccin5sQaQLlqfMdU6skUoTVqmeSvk3gZLxCZ6s+vR69VHdJSj6mT8NDqQslWaHVoXCHNzxxKPZnKD6j/vGGv7PKeVwgFzzyfCUq+Jjre2V3ZkhDs3KFcIHI1X92sFsq7gBL3J9DCGkuuWkLq0RTp36exTiiIXP7r8bu8jdetTBAEYbrEYrHrY7HYfuASCs6hVcD+osUO5MfmFWujRXZnNmhwUCmkt6exNlgYTQs/902v19HCGk63OIcqDckcEgRBEOYM/4J4ZAjwQsbzPNw+d9xg36k4hxL3Jzj0/kOsf3J9sF52jxKLzFaTDbs2FNqQ57OH3EG3IA7NonPIF4SgEFys1+lBOdNUxActpEFW3TnULI2Wv29h6SeWoofz4tDqMuJQvsW9FtUIr1U5BX4YNkD66XQQtj18v+poVru1loHbB6h7Rx3pp1T2UOIh5bbxMl7g0tHrdXU301HHxw+cVi9W7dPcoRy5fbmS1zGWc8gXhqA0ENvpcfBcD7d/9HskdzDHni17aHqfKuVz+h0OvPMAub1FYqCZP84hYBhC60PUvqmWvn/tI7cnR93b65SYmCt0IItujsLXx3cOCYIgTJd4PP73wN/HYrFPA38LfA4o94VQVpGJxWIfQpWeEY/HaWlpmaupkjs9x8B/DNCYa8RaqcR00zTn9DknwvM8XnnmFZrf1jxqHvM9t/GYydz2Lt+LOTh3r22h7re5RsQhQRAEYc7wBYqR7cMXMon7E3R8qIP1T61X7VrL4DuA9EZ9QieJ3WGrlq/dTrAfc/sLHcP8LlNQEFJKyspm0TkEEH51mMzzGfRooawseD1TKSvLdyuzu2yMVgNN00qELHNVvqysoSCgWGvViXxodagghA25gfvHOeIE+yD7RyWgNVzUQPPfNhNaFSLznCq/8wU5L+0F6+p1OqFjQmiWhnPEIdNfyKQwl5nYHXZQwuXP3X9+z/PQtNL97AujmIUyMVDOob5v9dH9z92sf2p9SeB35o8ZcFRJnL+sf6z9OW54bgOe7bHv7ftwcAitDZW0PTaXm5hLTexOOxDaopuiaBEtyHkQBEGYI74H/AwlDh0A1hQ9tho4VG6leDz+LeBb+V+97u7uOZtgbqX6TO14ooPaP1Xu25aWFubyOSciuzuL3W3Dqxk1j/me23jMZG5as0biQGLOXttC3W/TZeXKyZWNyy0kQRAEYc7wBYrF5BzKvpTFy3pBCHI53LTaH0aLMaFw5osX7rAbrEd+037uj48W0SCULyubg8whgDU/XMO6X60LftfrisSp6NTEITft4hx2MJeNFi38EjJjqTFqzFxtYjaoddxB1SlNq82LTQdKMwzMVWahRG2EeOWmXNxBF61GQzM1Vnx9BSu+uoLQ2lDJvvVLtYbvGQa9NBPCOeKw66RdDP18qGTbvjgUObk0P8LpcUj/Nu9g+kWi5DG/fDC7W/2f25MLAqi1Gg3N0NDrdIwmIyjhs9ZaGK1GUFpnLjODNsG+c0iv01l771qaLm9CEARhNonFYu1Fv74DeCH/84+BS2OxmBaLxTYDA/F4vOOoT3AEQTv7nZWTO5Terr4TFkMYtY/ZYkogdQUit5AEQRCEOSNwVyxgcajvu330/X99rH90PZqpBQHL4wUt+oKQ0Wzgplw6rurA7rJZ8/01o5b1w4jdYbekyxmUlnkBaJqGUW+UlpXNsnNIr9NLOnsVi0NTKSszl6kTQ7vGJnRsaNTjkdMjrLx9JTV/WlNYZ6WJFladzPzwbX9/W2stMs9ncIdcGmINRDZFMFtMQm2FbReLQ6F1IbyUhzPsBNvyl239XCt2p83+C1VcRuSkCMkHkyQfSRI6JkRoXSjIHvJdQdkXs6o3Tx6/BDB8Upj00+rEX4toOL0OxjJ13IbvGw5KyKBwseIcLg2ihnwZXhF+KV1obQhN07DaLdK/TWMsM4LMimJhcKJubIIgCBMRi8XuBN4MtMRisQMoh9BbY7HY8Sgpey9wRX7xu1Ft7F9GtbK//KhPuAxGi4HepFdUKHVqR0p9t25cPJ/TxjKD9O/TEy84zziDDsM/Habh3Q0V180zdyjHwB0DNP5VY8m5zkwQcUgQBEGYM3z3ysiW4wuJnq/04Pa7DP1oiIZ3NgQX9v7/oJxCB//qIC1/30L09ChuykULa0GY89CPhsbafCACuAm3JKtIi2olJWU+eoM+Z5lD5ShxDk2hrMxcbeJlPLKvZIm+bvTdUk3TqNtWVzpmaLR9u41wexizVp3C+GHNoXUhMs+rcqzQ2hBNfzXaJVPsbDJXmOo4DGolHdFAla2ZbYVTJGujFZSSWRsszBXqMb9TG6h8oGJ851D45HBhOxssnF4nEHqSjybJPJ+h48MdrLp11bh3sv1uaT5+kKfvpvLFIXO5GYhdvnNIEARhNojH4xeXGf73MZb1gKvmdkZTxxfTK805FDktgmYsns9ss8UMMvgqTXTx8TyPzo92krgngbnSpPbNtfM9pRISv0jQe1MvDX/eMGvblLIyQRAEYc5YDGVlftlQ7y2qu2/gHOoqOIfsDpvU4ymSv0oCKnNIi2roUb3EDTRSYIARzqGiErSRriEfvUEntz+Hm1HrzbZzaNTz5cub9DqdyKmTb8EbZO3YKidnstRtqyN0TCFzyO4oiEM+Y3V78Z1NWkRDi2pB5pAvppQsaxQykPRandD6ggjji0N+JzSgNMCaQumgudxUQdchJVo5PU7Qoh4bem7uIfvHLH3f6gvKyiZD0GXNF4fyziBzmRkIduXEQ0EQhMVOeGOYzEuZiRc8CrhJl8wfM0Q2LfwW9sX4DSCC78MKpP+2fhL3qPLvxAOJCZY++iTuTxBaFyJ03Oy4hkDEIUEQBGEOWQzikH9ik30xi5txy5aV+RfyuYMqLMhNuuhRHb1GL9k35e5kBplDI5xDY4lD9W+vJ709TffnVdjhXDuHav6khsZLG1n36LopZQ753ciAoMxqKgTiUF6E8zuZAehNY8wjvyus4yz0qB5kDpUTh0C5s0CJSb74UiwOFb8Gv9V97y29JB9NBs4hPaLK8IxmA2Opgd1j4/Q5wRx98S/1RGqUO2gy+CJb/YX1NH2wCavdCl6Pl1u4jj1BEITpYrVbuH0uds/Y5d9Hi/Tv0uBA5IzFJQ75DRIqNXco/Wya7n/qpnZbLbXbakncn8DzKuc71U25JB9LUrutdlRDjJkg4pAgCIIwZyyGzKHiVvRun1soK+sqGs/n0vhhyb5zSItqJc6h/5+9M4+To6zz/+epq+9rpufKTDIJIZyJ3DeCkCiCi6JiC3gg54KuyOruqqg/T1RcbwVXERUVxVZ0ZReBJQFB5E6UGyTHJHOffVZXV9fx/P54uqq7Z3quZK5knvfrlVdmuqurqquqp+v5PJ/v55v+RRrpO9I1658sc2gycSj2wRj8Z/jdbc23c0hqldDylZZZd8Kqdt1M1tVtKgS/AAhVZWWrpncOeY7wIHRBCG0/bAPxsmM/mXMIqJShCT7B7QimHKzAd6IPwX8K1ljM7TTrWjb6jVFk7sy44hDxEkTfF0X0A1FIzRIbkAya8BzKys2czmROSZzvtHEldpPoZu2/aEfDvzS4JWpym4zmzzWDSMR1DjnCIofD4XAquKHUSyB3yA2jPnb5hFEDZecQlqY4ZOdt9F/TD7FBROu3WxHYFICxx5iVu3e+KTzKJqECm+a21I2LQxwOh8OZN5zSpgM1c4hSCitlua4Vo9uouIR6DKR/lgY16ETnkFbrHHIcKrm7chj6+FDNDYibOZS3a0S28Z3KHJw8BXc5z9L8qhfDott2fjZlZQ6EMBHEEYfEqOgeE6dz13gEj4C2m9ugrJm9cyj4piD8r/fDc4QHYlTEih+uqBGkrIzFsp6KFGa/6ZaVES9B6G0hNF7XCKm9MlPqDE6qxcXA2QH4Ty8HcJdFITEuInxxGM03NtfsW+DsAOKfjNd/n6FaVxKHw+FwKjjfkUtBHNK2apDXyBAbZu+g3Z9xJoXMkcV3b41n8IZBGLsNtH6/FWKDiMBGJsCom5dOaZm6RQXxk7qZjfvC0rxj5HA4HM4BwYHuHKIFClqkbsmR/ipzfxAvQekfJQx9agj5zfmKc6jXBKWUOYf8BMTP3CuOy8Rh7OYx92fXOaTOzDkEoCZMeb6dQ/uCI5Y4M4izRQgKrkNLCAiue2ky51A1xMsyh6ysNa1ziHgIvEd50XFnR03pXPXrrLTlzoCa/WZNWZlDdRma1Ca54pjYJELulNH4b40QG9m+O+ViUqOE1q+31nQ1m47gW1iQd+gdoRm/hsPhcJYLUhvLZlvsUGpKKYrbisuqhb2DGF+azqFMMoPcXTk0/msj/KewyRq5XYZyuLJkcocopVA3qwicGZjzCUAuDnE4HA5n3nAGyI775UDDGmM3Ne4s5CvsRtNzeKVDFWzAyrHlaJHCGrVqMofYE+w/qUNC9PIosndlYXQzl5GVL782T1nmUPklMxaH5jlzaF+Q22WA7F1ZGcDEIUeAFIKCe7MpRqYXhwSf4IZ8Txpg7S8HUk8S7Ox2ZxNYWZmTf2QOVMQhx30EjMtZiomQmtn79h7nxZrH1sB7lNedPXZcSXsjnCmdCg7pPQTe9csrw4LD4XBmguOwXexQamOPAWvEWnZh1ABz+BKF1OQzLjal7SUM3TAE3yk+NHykoea54KYgtKe0uo1DFprSyyWY/abraJpLuDjE4XA4nHnDGbhXO14OJJySIEcc0l8ut1KvKjeys3ZNeY/ZY7IW6uXMIYfmG5ux5vE1iF0TA4RK9zOaLwts5cwhJ7x5SnGotUps2TvdZUHwbPBAWau4uTmzpVrUqRaHJisrq4b4CGBPXE81rnNokpbwUqsE4iXwHe8D1SmMPUzQo0XqlrtVO42kVskNxRZjoiv8OCIRwJxCACCtKrugGpdXqQGHw+EsBMohi9/OvriN5Q0ttzBqgAl0YqO4ZJxDdtFG3zV9EHwC2r7fBiLWfu8HNgYAC27X2cXEcTAFzubiEIfD4XD2I9yysgPIOWQXbTdPxnUOrVUAUhGHfCdWLOJWxqoRh4weA1SjEPxVziEwlwoRCOQVMiKJCLK/ycLoM2q7lRVsKGsUQKwVoMZTLQ7NZReLuabx+kasum/VXr9eOaySrUT8BMoaBVK7NOGmrh415WGTdDerzhyqh9ggYu2za93yrer8itKu0oTXEoW4+UpiTHR/rhaHHOeQ1CRBbBbZ+eZwOBzOnKIcosAasha1lXpxaxHET+A5zDP9wgcgYpO4ZDKHhr8wjNLLJbR8u6V2gq2M91gvhJiA/Ob8IuxdLfnNeXhe59mrvMbp2Kc1JhKJLgA5ABYAM5lMHp9IJBoA/AbAagBdABLJZDK1b7vJ4XA4nP2RA7GVfdfruwACrHlyjXtTIzaJEKIC7JQNISogcmkE/jP96DqjC3aGOYecjBuj23CdQzUCRaDyc+xDMWTuzGD0W6PuY3aeiVLyahmt32yFtHLyr/B6NzZLESIREGnvxSvP+soNNSEEDdc1IHrZzLJ5ql1bkzqHyuLdZGVlQNmxVH69/lqlRMHYxVxE44UlqUOCOWDWOIccNxhQLiOTWEh3532dbi4Rh8PhcOYOtxx8ewlYtzj7oG3V4D3Ku0/fg/szUpPklmMvJrl7csjcnkHsn2MIbgzWXYaIBIGzAlAfUkEtOqNJqPnAGrNQ3FZEw/UN0y+8F8zFHcdZyWTy6GQyeXz5908A2JJMJtcB2FL+ncPhcDjLkP3FOaT9TcP2I7bDHDZhDpt4suVJaNu0usuafSbMXhN9l/Vh8F8HATC3h+P4UA5WWJ7BGgVCWICVZc4hqU2C1CpBf1GHnWOZQ06mDYAaF5HSqSB0QQjZX2Xdx5xAasEvQF4lT+kImkrMOJAYn6kj+IQaF85UVIs2k5WhER9hd0qTm7RqXl96teRmPBldBojC3GDVOLlDQkyo7xyKiFh1zyqEE2FILVKNgMjhcDicucFzCJtcWKzcIVuzob+kL8swaoel4Bwyug0M/tsgPEd7EP9E/Q6gDsFNQdgp2y0HXAzUh1TAxqQi1r4yH3ccbwNwe/nn2wFcMA/b4HA4HM4Sh9JKF66lnjmkP6vDztgwugwYuwxYacsNl3bovbwXqZ9UjLDqA5WuFUJIcLNiqtvIi1HRdQ4JIQGeDR6oD6igBQrP4Z5JnUMAEDy38sUvhAW3lX2142W5oxy69yVX1cd+UudQgJX+TVea5+Q/mX2mW+pmjVl1y9EccaimrGycNdy73stFIQ6Hw5lHpHYJxEcWrZ198bkiYGJZhlE7SHEJ1ogFai/OPSI1KPo/2A9QoO2Wtmm7u/rf4AdELGrXMnWLCrFJhOd181OKuK93HhTA/yUSia2JROLq8mMtyWSyHwDK/zfv4zY4HA6Hsz9iVH5c6s4ho7/cGSxruZ0oqjtS0BKF+oCK3B9z7mPVrh9CCIQG9pXqtLUHyqJOxoaVY+3SPes9boaQ7yRf7Tr8tTcl1a4YqVWClbEAY/m4gmbCvhyLmrKySbqbRS+LovV7rdOuq1pckttlt1ysnjgU+UAEbbe0QfAJCJ4bRPNXm+HZsDzzJjgcDmexIALrWLZYodTLOYzaQWwSAZN1+1wMRv5zBMVtRbR8rQVK5/STTWJEhO8E36KJQ9SkUP+sInB2YIIrea7Y11CC05LJZF8ikWgG8EAikXhlpi8si0lXA0AymUQ8PrWNi7P4SJLEz9MSh5+jpc9yOkdmtmwVJsw5tJTfdyrFHEEBOwDbYDcpiqYgfUMarde2QgyKgA3ozzP7edMlTWh4awOkRgl6t454PI7MigxUqGg6rgmxeAwAMBgfhF1g5WDeNi+aTmnC2LfGILfKaDuhDdrLGrrRDQBo7GiEL16xl9NGil3YBQDwrfS5s5vBeHBGx1J5UEFpsLSkj/u+4HyWxLtFUJOiIT67+nu5VUYf+gAAzWub6+cHxAEcN/26TNl0z1VwZRBCTkB2OAspUOywTEAAACAASURBVOfzHgewofJr878euHNoy+nv3f4MP09LH36O5gflYAXa4/VLyOeb4tYi5NUypPj+kRE4HzgTKeaI6ZbmLxTqwypSN6cQeU8EobeGZvy6wKYARr40AqPXgNw+Tc35HKM9o8HO2AhsmvsuZQ77dDUmk8m+8v9DiUTiDwBOBDCYSCTakslkfyKRaAMwNMlrfwTgR+Vf6cjIyL7sCmcBiMfj4OdpacPP0dJnOZ0jc7TcyjvC3DPDw8NLonOW+ogK/UUdDddWxIT8LtZ9ItObcTuRZf6egfqgipJSQuBM9kXsBGx7LvSAnkRhwIBwhICRkREYfuY+KrYU3XNs+SyUukuwCzYkj4RSJxN4PMd7MDo6CkOv2KsyegbqSP3ZKNpQsVxrVJvZNXQo+3egXm/uZ6ks3sz2fWolNiAQIgJGU6PTLD01lFJEL4/C6DIgv1mGYArAXwAq0gP2+M+E5fT3bn+Gn6elz76eoxUrVszh3hw4eA7xIPf7XGUya4GglELbqsF/un9Bt7vUcIQxa9gCDlm47ZpDJgauG4BymIKmzzfN6rWBjUwcUh9UEX3fzBpgzBXqZhWQgcAZ8ycO7bUfO5FIBBKJRMj5GcCbALwA4G4Al5YXuxTAH/d1JzkcDoez/+HkDYkxEaCV3xcTalAM/vsgRr46Aluv2JjNAXZjaKUrbW1LO5iQo7+go9RVazuvF3oc2BRA+F1hSB1V4cJRkbWyz7PMIaldQvjdYUTeEwFQW9o0PnMIYKHFQGV2DQDPopkjnOM4WUnZbCCEoPmLzWj/RTt8J/rcLmpOuSKHw+Fwlh7KIayUSHt1Yd1DZq8Ja8ha1mHUQK1zaKGgFsXAhwdg5220/aBt1vdUyjoF8iqZCTULjLpFhf9kP4Tg/N0H7suaWwA8mkgkngXwFIB7ksnkfQC+CuCNiUTiNQBvLP/O4XA4nGWG06nMCetdCu3ss3/IwuwxAZN1lgLYDJ4jDtlZG3aK7aexhw3s9Rd1ty25Qz1xyHeCD63fbq2pA3cyh+ycDSHIgo1bv9nqzvpUdyirFzS94gcr4NngcbuqTLYcZ/Y4x1GIzv1NlncDy5Cg6uILohwOh8Opj9NAQnt5YcUhbSvb3nIOowaqnEND1jRLzh1jN4+h8GgBzV9qrrm3mimEEAQ2BlB4tABbW7j7WmOPgdI/SghsnD/XELAPZWXJZHIngKPqPD4KYOO+7BSHw+Fw9n+cEixHHKIqBRrnd5vqwyp8x/smuHBKO0ugJsXY98YgtUowB0zoL+jwvs4LO2uDFti+WhkLdrb8ZV8e19tZG4VHC4AIwAJIgNR1+dRDjIjucRDCE1/jBBYTH6mbeeN/vR+d93Wi+EKlbSoXh+YGJ8x6LpxD46kOJedwOBzO0kReJYN4CNTnVYTOm3nuzL5S3FoE8RJ4DlvezQiEqABIC+cc0p7WMPr1UYQuCCF8UXiv1xPYFED6p2kUHivMW0v58eS3sPiD+RaHuDedw+FwOPPCQjuHzBETvZf0ovvC7gnPdb+9G7vP2g1jp4Gm/9cEISS4govjGgKYEOSUlVVTerUE71Fshq+ea2gyqgWhejZgIhAQH6lxENXDu96L+GdYGKnTCp2zb8ync4jIBEJEgP/M5Z0nweFwOEsZIhH4TvNh5De1pebzTXFbEd6jvSDy8p7sIQKBGBdZ5tA8Y6Us9H+wH/JKGc1fbd6nDEzfyT4QH1nQrmXqZhXyQTKUg+Z38omLQxwOh8OZF1zHTDk3Z77b2Zu9TOTRn9NrBB8rbcEaYTceyuEKgv8UhOdIj9t5zOwvLyvXZg4BAPEQV9Txn+EHUcjsxKEq4UFqqv86wSfMyInUcE0D1u1aB8+hy3umca6Yy8yheqx9YS06ftUxL+vmcDgcztwQuyoGY9BA7o+5BdmeXbRRfKG47EvKHKQmad7FIUopBj42AHPYRNstbRBD+/a9L3gF+M/wQ92sgtL5Lx+3VRvaY9q8u4YALg5xOBwOZ56YUFZWmN8v0GpBKPuHLGzdBrUotKdZbX/7r9ux6o+rQEQCzwYP9Jd02JoNo4flCSkHKxOcQ2KziNWPrEbn5k40/msj5LUy5NUzd+6I4coNiP+s+i4S4icggZnNYBFlec8yzikyE++k9vlpI1ydPcXhcDicpYn/9X74j/QjfWt6QQb6+vM6YAC+Y5d3GLWD2CTOe1lZ+qdpqPeraPpUk+sC31cCGwMwe003v3I+KTxaAC1RBDfNfwkbF4c4HA6HMy84Fu0FKyvrN2t+3n7QdvRd0QftKQ1EIfCdUMkiCpwdAC1SFB4pQH9JhxAS4DncwzKHUrZb5iXFJUgtEjyHe0Akgo47OtD02Zm3PXWcQ5FLIxA89b9yBb8wbVkZZ+4hhKDz/k7Eroot9q5wOBwOZ5EghKDtw23QX9Kh/XX+g6ndMOpjuXMIYPdZ8+kcKj5fxMgXRxDYFED0yrlrPR84m7l4FqJrmbpFhRAU4Dtx/gVFfjfK4XA4nHlhITKHSrtL2LFhB0rbS0wckgF5tewKReoDKgp/LsBzlKemXan/FD+EqID8n/LQn9fhOdIDMSrC7DdBSxTeteymTYzXWo+lFmlWZUjeo73o+E0Hmr/YPOkyQliAEOFfx4uB3CHPuo0th8PhcA4smi5ugtgoInVrat63VdxWhLRSmlWJ+oGM2CTCGrXmxbVl5230X9sPsUFE67da9ylnaDxymwzPes+85w5RSpHfkof/TP+CuMf5HRGHw+Fw5pzMnRn0X9kPoEocmofMIf1ZHdaYBf1lHUa/AalZgtgkQn9Vryzzko7whbVdKYhMEHxjEPkH8tBfZuKQEBaAsvnIFYea9q0unRAC/+n+up3IHJpvbEbTp2fuRuJwOBwOhzN3CF4BkfdHoG5WUdoxv2VCxa1F+I7jJWUOUlwCLVHYmbm9R6SUYvCTgzB2G2i9pRViw9znCwY2BaA9o9VtZDJX6C/qsAasBckbArg4xOFwOJx5IPe/lWBHp7RqPjKHjF6WF2SNWjAHTEhtEqQmCcYuw11GapUQftfElqWRSyKwMzaoRuHd4K1xBPkOZjduUuP8z+x513t5yDSHw+FwOItI9NIoiEKQum3+3ENGrwFzwORh1FU4k3BO45C5YvgXw8j9PofGjzbCf9L8dA4NbAwANqD+ef7cQ+pmFSCVMrb5hotDHA6Hw5lTKKVuJzBgfp1DTpi0lbJg9puQWiWIjSJQ3lT4ojBavtlSN+/Hd6IPvpOZCORZ76kp7Yqew+rS99U5xOFwOBwOZ+kjNUkIvT2EbDI7b06Q4rYiAB5GXY0UZ5Nw5vDchVKXtpew8yM74TvVh4brGuZsvePxHu2F2CjOa2mZulmF92jvpB1v5xouDnE4HA5nTrEGrZoZIMEvgCgEtjb34pDZw24mqp1D1TlBjf/aiMCZk8+2NH2uCZH3RKAcooBIrPTLe4wX4VPDiLw3smA2Xg6Hw+FwOItL7KoYqEaRuSMzL+vXtmogXgLPEdwt7OA6h4b2XZCzshbG/msM3YluCAEBbd9rm7Ksf18hAkHg7ADUh1RQc+7d8eaIieLfiwt6L8rFIQ6Hw+HMKcUXijW/Ey8B8RPXOUQtitQPU9MGVBceLUB9sHY2xug1kPppyg0udMrKSrtLoAUKqVVyZ6GA6Z0/3g1etHytBUQk8J3qg/9MP9p+2AYiEbTc1AJltTKzN83hcDgcDme/xnO4B/7T/Uj/NA1qzP1gv7itCM8Gz4IEC+8vOPdp+9LO3ug1MPyFYew6YRdGvjgCZa2CI/54BKTW+XfbBDYGYKdt1xU2l6gPqgBl2UYLBReHOBwOh1ODlbWQuyc3/YKToD+vA1X3PUQhEPyCmzlU/HsRw18YnrJG29Zs9H+wH4P/MVjTwWLkphEMf3rYbR1q9rKbCf05VsYmr5Bd55AQFSZtH18PuU1Gx686ILfLM34Nh8PhcDicA4fo1VGYA2ZNduJcYOs29Od1HkY9DjEmAiL2qp198YUi+j/cj12n7kLqxykENgWw6t5VWPnblQgeF5yHvZ2I/0w/IAH5zfk5X7e6RYXYKsKzfuGcZryHHofD4XBq6Lu8D9rjGnx/8+1Vq1X9RR3yGhnht4cx9v0xEJFACAiuc8i5AbDz9Z1D+ks60renYY2y5cweE/LKsmBTzpke/foo7LQNO1teZ7mMTV4tu+VrvE0sh8PhcDic2RA4KwB5rYzUrSmELgjNWftz/QUdtER5GPU4iEAgxsUZO4copSg8VMDYf41B+6sGEiCIXR5D9MrookzuiWERvhN9ULeoaLph7jrPUoOi8HABwfODc3YNzgTuHOJwOJxljpWykN+Sd9u3ao9rACYXb6aj+EIR3vVeNH60Eet2rgMAVlZWFm2cG4DJupcNXD+AzC8zkNewL3ntCc19zikj01/QMXD9AABACFW+yuRO2e0wxsUhDofD4XA4s4EIBLErY9Cf1VF8eu5KhXgY9eRIcWla55Ct28jcmcHujbvR+75eGDsMxD8dx0FPH4SmzzYtqus7uCmI0islt0nKXKA9pcHO2QhuWhgHlAMXhzgcDmeZM/zlYfS9vw89iZ6ax/emu5iVsmB2mxMssIJfAFWZGOQ6hybJHLJGLYTeGkLnlk4IUQGFJwvuc0aXgfAlYRy09SC3Pb3vRHajJcQEiBHRLSsTm3mnMQ6Hw+FwOLMj/K4whKiA1I/mrq29tlWD1C4tSA7O/obYNLlzyEpZGP3uKHadvAuDHxsEEQlav9uKNY+vQcO1DRAji3+v5wRGO5EHc4G6WQVRCPyn++dsnTOBi0McDoezzLEGyuVbQyasdGXmZrxziFrThzPqL7LsH8+GieKQIwY55WKTiU9WzoLUKkHwCPAd50Nxa9HdH2vUgrJagdQqoeVbLVjz9Br4TmXikBMeLUQECBEBcifPDuJwOBwOhzM7BJ+A6HujyN+XR2l3aU7WWdxWhPdYXlJWj3rOodLuEoY+PYSdJ+zE6E2j8BzhQfuv27Hq/1Yh/M7wkgr1ltfKkFfLyG+Zu9yh/JY8fKf6IAQWVq7h4hCHw+Esc1xByAa0JyslXNXikDliYvsh21F4ojD+5TU4ncq862tvgKozh8xhNjtUTxyiJgVVKYQw+3qSD5Jh7DFAKUWpi92gOaIPIYQFUDeIEx5f9adVaLi2YQbvnsPhcDgcDqeW6GVRQALSt6X3eV3mgAmz1+Rh1JMgNomwRixQSqFt09B3dR+6Tu9C+pdphM4PoXNzJzru6EDgjMCC5u/MFEIIAhsD0B7T3AiFfaG0qwRjh7GgLewduDjE4XA4yxwrU5mtKfy1Iv5UizfGLgO0SFF6tTKD1n1hN9K/qL1pKj5ThNQmuYKNA/ETN2PIcQ7Vyxyyc2ybTo6Q3CGDFimsMQtGF6vlllfXOoJccajqcWW1suCzLRwOh8PhcA4MpFYJofNDyNyZgZWdfSetarStbOKNh1HXR4yLoDpF91u70X1+NwqPFhD7YAwHPXEQWr/VCs/hC9eta28JbAqAFikKj049iToT1C2sPI2LQxwOh8NZcOy07dbA6y/rlcernENWit0YOUIStSm0JzUUn6mENZZ2lZC/P4/QW0MTtiEEBHc2pTpzyNhjYPebd7tWXOcGzHUOdTDBx+wxUdpZ6xxykOJS3cc5HA6Hw+Fw9pbY1TFQlSL76+w+rae4rQiiEHiOXPoix2Igryrf6w2baPpCEwuZ/mTTfpXP5D/ZDxIgc5I7pG5WoaxToHQqc7Bns2P/OeIcDofDmXMopbDSFnwn+GAOmCjtKEGICLAzdq045OQEpdljdt4GbMAcNTH85WGoW1RYKQtEJohdE5uwHcFXVVZWDh20MhZ6Lu6B0WWg8FABwY1B1zkkhpkbSOpgX1NGj4HCwwUohykQQ7WuJM8GD+KfjiN03kRRisPhcDgcztyQSCR+AuCfAAwlk8n15cf+E8D5AEoAdgC4LJlMpsvPfRLAFQAsANclk8n7F2XH9xLvBi98J/uQ+kkK0SuiINLelTRpWzV4NnggeLgvox7Bc4JY+b8r4d3g3etjvNgQhSBwZgDqFhWU0r0uf7PzNgpPFBC7YuK99ELAr1AOh8NZxlCVAlbFdWMNWu4MTnVZmTVW6xyysxUXUPa3WVCNwnecD81faq7bQp4ECGAyt5AjMBnbDbdUzNZsjH5nFPl7mYPIdQ6tYPtSfLYI7UkNwfMmtvQkIkHDtQ0QgvwrjcPhcDiceeRnAN487rEHAKxPJpOvA/APAJ8EgEQicQSAiwAcWX7NLYlEYvFbS82S2FUxmD2me38yW2iJQn9O52HUU0BEAt8xvv1WGHIIbAzA7DdRemnvQ8zVR1TAYGVqiwG/k+ZwOJxljBNGXV2SJTVLID4Cmq9kAjnOIWd5O1N2AQ2YsIYthN4ZwopbVyBySaTudgQ/+7ox9hjuY0Zf5WdzyMToN0fd4EdHHBJiAoifIP2TNECB0LncHcThcDgczmKQTCYfATA27rH/SyaTTh/yJwB0lH9+G4A7k8mknkwmdwHYDuDEBdvZOSLwxgDk1TJSt+5dW3v9JR1UpzyMehkQOJsJOvvStUzdokIIC/AdvzjXCxeHOBwOZxnjikNVYc5ikwghKNR1DjmikOMgskYsgGLaunAnHNoVhyQA5VtJISyg9EqJOYvGlZURQiC3y6AahXKIAuXwha+/5nA4HA6HMyMuB3Bv+ed2AN1Vz/WUH9uvICJB9IooiluL0LZp079gHDyMevkgNUvwHOXZ69whalOoD6oIvCEAIi+Oi4pnDnE4BwjaMxqKhxWBiVU3HM6kOCVeUrME4iWgRQoxLrIA6TqZQ65zKFvbqlNumzoM2uk+VnqtHCrdIbslZcrBCorbinWXr35Nw4calmQLUw6Hw+FwljuJROJTYNM+d5QfqveFPbFNKXvt1QCuBoBkMol4PD4v+zgZkiRNuc3YB2MY+/oYCj8vYOWbVs5q3WMvjkFpV9D2urZ52bfFhO/bRArnF9BzYw8iiECO1783nmzf8lvzsIYstFzQsmjHlYtDHM4BQv81/dDP0RG9MbrYu7LgmAMm7KINZTV3lcwWR+wRoyLEqAhzwIQUl5hzqE63MjtV6xxymM455Dxf/BsTgZSDlRmLQ40fa0TqthRCF/CSMg6Hw+FwlhqJROJSsKDqjclk0hGAegBUKykdAPrqvT6ZTP4IwI/Kv9KRkZH52tW6xONxTLfN8MVhjN46iv5n+yG3z7w7avqxNLxHe6dd/77s22LB920iwqkCQIHu33UjfGG47jKT7dvoXaMAAegJdM73fcWKFTNajpeVcTgHAJRSWKMWjBFj+oUPQIY+O4T+a/sXezfmDXPIhJWzpl9wllhjltseXogIEKLsK0GMV8rKStvZ865zKFNbXuYwrTjUxp7X/qYBpKqMjQDK2lpRjwRITShh40cbsfaFtft9UCGHw+FwOAcaiUTizQA+DuCtyWSyUPXU3QAuSiQSnkQisQbAOgBPLcY+zgXRy9nka/on6Rm/xhwyYXabPIx6GeHZ4IHYJELdMvvSsvzmPLzHeiE2LF5uOxeHOJxpsLIWqFXXBbtkoEUKWqKuC2S5YQ6aMHvN6RfcT+l9Xy9Gbpz72Y/+j/Rj9KZRAIAYY84hAMw5FBCgPaGh68wuFF8ouplDVKOwdbvGOUS8BEJs6q8TqVkCCGANWBCbKtsSIgKkllphaXyregC8nIzD4XA4nEUmkUj8GsDjAA5NJBI9iUTiCgDfBxAC8EAikfh7IpH4LwBIJpMvAkgCeAnAfQA+lEwm99sbVbldRugtIWR+lanJZJwKxxXNw6iXD0QgCGwMQP2zCmrMfPxoDpnQn9UXrUuZAy8r43CmgBoUu07Zhfi/xxH9wNIt13JKfsz0gSuQTIWdtmGNMRGPiAeeiGD0GhMElLmg9HKl1SbxkgnOIQd1iwo7b0Nqk2D2m7AzNsscInDDqKcTb4hMIDaLsAYtSK2S271MjIoQ47VikBDh8xYcDofD4Sw1ksnkxXUevm2K5W8EcOP87dHCEr0qitzdOWR+k0Hs8ti0y2tbNUBmbhLO8iGwMYDsnVloz2jwn+Kf0WvUB5nTKLhxccNj+R04Z9kx+u1R7Hnbnhkta41ZsNO222lgqeKECi9XccjKsI5Zjrtlrsn9MYcdx+2Arc9spmguoZTCztpuF6+5wtZsmP2V64UQAjHCRJrx4lD+XtaSUz6IlYJZaQtW2mKlYmT6kjIHZzmpVQIJMDFJjIkQmyrbBWrzhjgcDofD4XCWAr5jffAe50X6tvSMqgqK24rwrvdC8PL7muVE4IwAIGNWpWXqFhVSmwTliMXNT+VXKmfZob+oQ39Jn9GyTs6K0y1pLul9Xy9St6X2+vW2ZmP7oduR+5+cW+Kzt+KQrdnoOrsLhUcL0y+8xKCUuuKYNTI/4pD+sg5rwII1tPBuaKpRwGLljXOJ0T0xn0psEAGR/e+0ngcA/Xn2eXGygXaftRu53+cgNjDXj7RihuJQOXdIaqtyDsVEiI1MFPIezWrynTb2HA6Hw+FwOEuJ2FUxGF3GtO3KqUFR/HuR5w0tQ4SgAP/J/hm3tLd1G+rDKgIbA4seo8DFIc4BAy1R9FzUA23b1C4fK2WBFlhGz3Q4TpTS9hKoPXe5Q1bWgvqgCu3JqfdV26qh56Keuvta3FaEnbcx+p3RSnvxvA1qzn4/jd0GSq+WoD21tB1S9aBa5Vyaw/PjnHKOrzm48M4sp2X8+Nbx+4rTKaz5y83o+F0HACB6WRQrbl0BIhIQf9nZUw7FE1tEhM6v7RYmhAW0frcVjR9pnNE2q51DjvgkxARIcfa43ClDbBQhhPlXE4fD4XA4nKVH8NwgpA4JqR9NPcGrv6yDFim8x3FxaDkS2BRA6bUSSrunNxhoT2qgKl30vCGAi0OcAwij30DhL4VpBRdnoD++FXfdZUcrIbxm39wJA/qLes36J0N7TEPhLwUY/RNdHo6Qo6xRajpH7Y2IYA6YNf87jN08huxvs7Ne31xgZSz0XdkHc2jq414dwj3d8dxbnOM7X+LTVDiOoTkXh3azayp0fsith5bbZQTPYbXOznuOXhFF/JNxdD7QOcEhJEZEBM4IQDl4ZhZYuU12/692DhGZoPlrzYi+P4rmLzYjeuXSzfficDgcDoezfCESQezyGLQnNBSfL066HA+jXt4ENjKhZyalZepmFcRL4D99ZvlE8wkXhxYB/WUdw18aBqVLuwPW/oZTWuT8PxlOePNMOns5ywJzW1rmlOlMJzaYo+x5OzXxPTni0PguZTMRvSZsp5w9M16ESv8sjcxvM7Ne33jG/msMhcdmV7JW/FsR+Xvz07qZqs+3NTw/4pArKA4ufFmZ6xzK23PWNS91awqjXx+FEBYm7TLmXJvKWgUN/9IAqVGCvFJG9Iooolcw8Wa23fEmyxwCgOh7olAOVhB6Wwi+Y/iNFIfD4XA4nKVJ+OIwSIBM6R7StmoQW0RI7bz/03JEWaNAXitPKw5RSqFuUeE71QfBt/jSzOLvwTIkfXsaqR+kJrg0DmTMUROj3x2d15bwjigyVTYLpdQVWqYTkYCKOAMApX/MnThUfIHNJkzndHHK2qpFKoDVMWvPaO46qsWjahfRTHGdQ1UBxdSiMIfMfc7ZoTbF6E2jyPyaiUzqgyrUh6ZX0Z0SrulyhKrFsOrzNZe4ZWWL4ByqdgzZ+emFz9Fvjk5bMjn8uWEmNul00trm+MfjCL01VGNxJSJB8xeaEbkkAgDQX5lZdpeD/3Q/gucF4TnaU+Mc4nA4HA6Hw9lfEMMiIhdFkLs7N+l4rritCN+xvkXPkOEsHsGNQWiPabDVye/fjR0GjC5j0buUOXBxaIZYYxayv83OidvHKXsye5ePOJT/nzxGbxqF/sLMBpOFJwvTZgeNxxV9pii/oRoF1dk5nJFzaMyCEBUgr5GR/ePcnH8A7nGw0/aUA/nJxCFjtwFaKOfsjJg1AsneBBc7olC1OGSNWIC574KINWwxd1PZ1TP8+WGMfmN0+teVRSlzZBZlZfPkHHIEN2OngfQd6Zr8KUopsr/NzrpTmjVmIfOrzLRZVlaust7pSsuyv8ti9BujKPy11qWVvSvrHkdbq6yj4fqGSdelHKSg7QdtdWcxlEMU+E7zofXbrVPuz3ikVgkrbl0BMSRCXiXDd4oPvpO4S4jD4XA4HM7+RfSKKGAxl/14zBETRpfB84aWOYFNAdASnbLhj+MsWgp5QwAXh2bM8FeGMXD9QN08G/XPKuzCzNwa1pjlOlCM3ok5MuPRtmqLEoI71xg97L3OtDRr8PpBDH1iqOYxc8ScMOitxnUOTVFWVS2yzMQ5ZI1aEBtExK6NQX9WR+GR+ts3h80ZhzlTm6K0swQhyj5+U7ldHGfReHGotIsdR+/xXljDrK04yhMT9d6XOWJO+YfJEYXstO2KB85MiJ22YRf3Pu/Guc7NIRN2wUZpR2lG17QjSk0n+DjvV4gKM+5Wpv5ZnVLFH48jQOXuzmHoP4agPaUhd28O1KLQn9UxcP0Ahj43NM1aahm7ZQyD/z6I3H/nplxuJnlSVtaC+lAl4LzwWAGZ32SQ/mUa+ms6Bq4bQOYXGWhPaSg+y1xrrd9pReN1MwuSHg8RCFYmVyK4ae9nOQS/gJW/WwnPYZ69XgeHw+FwOBzOYqB0KgieG0T6F+maiTegkjfEO5Utb3wn+iCEBOQ35yddJr85D+UwBXKHvIB7NjlcHJol6oO15TClXSX0vqcX2d/NLLS3WkAweyaxIT5fdN0kve/vxeh36rssrKwF/R+zK+sYjzlgwtgzvUg1q3WOmq544T5WdknNRBwy+gwYewzoL+mwshYT1HaUMPSpIfQkeiZ9z27HrjplVUa3AaPbqBFZZhpILTaKCF8YhhAVkPuf+gP5se+Nsa5ixgw6oKUswAA8R7BB8VSCxlTOIQDwHe8D0AQplAAAIABJREFULbKwbCcsuJ5zaOzbY+h59+THrtoS6wg3E1xEzs8ZC/prM7/unOvcHDShv6QDlAk/07mw3LKy6UrvyudROVipZDTlbeT+lKsr2Omv6bP6zFKLTrimhj87jP4r+6E+qKL4d3YDQIuzc5U5JWJjt4xBfUid9HjYuapMpUlcYaNfH0Xve3uRf4B9+aRvS2Pwo4MY+vgQhj8/DICFoPdc1IPBjw0CAKQOXgPP4XA4HA6Hs7fErorBTtsTmrcUtxYBCfC+jotDyxkiE/jP8EPdUv8+38pa0J7S3PDqpQAXh2ZKeZyc/1O+5uTqz5WDhWfYyUr7mwbIgBASXDdNzWZGTew5bw/SP2MqtJ22a0QkK2O5A+A95+3B7rN271Op08BHB9Bzcc+chmMPf3oYPe/uqXnMea/69ulFBXdATwHtaQ27Tt2FrjO63EHyyE0jKG2fKDI5DpJ6ok/PRT3YdfIuaH+tiAUzDaQWG0QIHgFyp1wjmFSjv6KD6hSlron7NV58c0KNpxKHbN2GOWBO6hwydhsQggKUQ1iXqNL2EuRVTHGu5y4pPMFcQ2PfG6u7/+aACXkNe71bYlZHMAKY0NR9fjeoObNrxnEO2WnbnUmBUT9kuxq3rKxOWZvjQgLK6xFZGZQjQo791xj6r+pH9zu6J5SlaY9rNfs1YbspC4UnC5UyrDrH0ykL1J/X3euVeAjMARO2Xr4Ox6zakjDNrik9c910L5fQ+95ediNRh5rMoVz9Y+ZelyZrOU91Cs/rPBCbRBQeYudefUgF1anbwl5uXxozFBwOh8PhcDj7I94TvPAc5UHqx6mamABtqwbPkZ4lETDMWVwCmwKwBq260SqFRwqAiX1y4s81B+QVSymdNrh1tjgDRWOXUTPYL77IBnQzzWUxdhqQV8qQV8l1nUNmtwnYrCzEEQbMfhO2ZqP4bBE7jtiB3vf2gpoUxq7KoHtvoCUK7UkNRpeB0ktM1KA2rSmRm+o4WhkLpZ2lGrcMpRSFvxZg9po1LcidgfhMnEPaExrrZCQDhYcK7oDY+V+9T0XX2V0TjrkjCo0fzFOjMiAe/sJw5b3NILjZcQ4BLC9lstA5R6wa//6KLxSx65RdNeVwzn474lC9a2fs22PoOqsLVGPH1k7ZNefC6DIgd8qQmiT3vUhtEohMJohjVspC6ZUShIiA3B9zE4Qmu8hEC+8xbHajXji1OcScPnbRRvHFIuwcKw+bCdUiaHUQdfX1QW1aI6RUPz9ePLPzNnZv3I2RL4+w5zMWxKgIz+EeWMMWK/F7vCIwOi4rB0fMmUzo6/9QP3re0YOuM7uYe22ciChEKn82iy8UUXiy4K6va2MXxr7LBLie9/Zg6D8qpWbDnx3Gjg07kLovBStlsfC5twTR8fsOAJOHO1e7hSYrK3OFLgFovJ6VijVe31iT51PjbBIqncM4HA6Hw+FwOLOHEILYVTEYOwz3HpeaFMVnWRg1hxM4OwAQ1q5+POpmFUJUWFLlh/utOEQpndTtMvbtMew8aede56Q44lJ1Zy1rxHIzYkqvVgbFbkvyoRmKQ7sNyKtlSB0SjL46zqHywFx7SnPXaQ6Y6Lm4B3vO28O2+ZwO7QltwmsmvI9pgm6LzxXdAWPuXlYulfl5BjtPZMcuvyWP7UdurxHDnGNOLYquN3Sh6/VdGPz4YOX97TBcUcsNXdZtWIMWiEJgdBk1Acz19rHw1wJ8J/rgPdqLzB2VNur6izqC5wbR9MUmwAJKr9SKE9VlZdXXhiPYyGsrTgniJ9M6hyilsMaYcwgApDaprqBgZSzXDTReHHKuD+3pqvNVduF4jiw7h8aVTVGbQn1ErREC8veyc1HaWRahukqQV8sQ45VOT2KDCCkmTRC9tKc1gDLrKyz2e/XxcVxvzh8m/WW2z0a/AeJlQUbGDgNdp3WhJ9HjCmHOe5uOahG08EjBbWFe/ZlJ35bGjsN2oPB4lYg2iTiU/nka1piF4vPljm9pC0JEgGc9O57FrUUU/1aE/0z/hO1TSl3hyDmX1degrdvQntQQeHMAgk9A35V9rpimHMxcWtHLWRt3aYWEwiMFWAOWezzstI3CwwXYms1cReXzTilF9i5mOX75bS9j16m7YPQYkNfI8J3gA/GRmmunZp9yNoQw+9tTLRQ5fwOpTVF6rYTo5VGsfmg1Iu+LYPXDqxE8J+iKQ855dJBamZDI4XA4HA6Hw9l7Qv8UgtQqIX0rC6bWX9FBC5SHUXMAAFJcgvdo74SW9tSmUB9UETgrACItnXvy/VIcMgdM7N64G8P/b3jCc1bGQuqHKdhpu0bEmQ0D1w1g+6Hb0f327sp6Ryz4TmYDLWcQRyl1BRBHHJgKSimM3QaU1QrkduYcGi9wGf1lN1DGdkugrDEL+rM6Am8KIPIB1kK6ura1njhk9BnYfsh2jN1cv4wIqDgolMMVZO/Mwhxggc92ih273F05wGQiEgCYKRM7X7cT+Qfy0F/WYQ1ZkFfLyP4ui9Judkyc8iWg0q7dGYT7TvEBFpC/j+WiWBkLOzbswPCXK+dRf02HsdNAcFMQzZ9rBlEqHxaqU8idMkJvCbnLVuM4qGiJ1rgkHBEhdkXMfUzulKcVh8x+EzABqZE5LORWGXbGnhA6Vz2oH1/u5jxXbSV0yqWUNQqIl7iBy7Zuo+/KPux5y55a4UVg7wlmWdixKIxuY4I4FHpbCFJMgtlrou+qPvS8h5X2qQ+rIApB9LIoiEIw+o1R7Dhyh3vdOGKQ71gfAucEkLkjAzvPyto8h3sAARj5ygiM3QaKW4vute6c3+kweg2IrZX9DL4pWHMcgEqWV99lfbByFhNnCxRCRICdt/HauteQ35KHrdlI/SjlHmtKKcweE2JMdMW29C/ToDpF+J1hd/vudrao7H2L7HNT2lVC12ldGP0Wy/XSn9NBixThC8OIfzwOY7eBwl/YNd38pWas/J+VaPxoIzru6kD08iioRiEEBYTeFnKdXcXni6xEzGbXUO/7e7HnvD2gRYqG6xqw6ourmPBnsDBDIhAoaxX32tGe1rDzmJ1uJpKdsSG1lx1iVYJh6uYUus7sgvaUBlqgUNYpUA5WQAhxhSz/yUwgC7yR1TKLzew8LJXQOw6Hw+FwOJz9GSITRC+PovCXAvSXdDcmYCm5QTiLS2BjAMW/F2uiLop/L8IatZZU3hCwH4pDlFL0XtaL0qslpG9Po/fSXgx/YRhj3x9D39V9bGBbLj8aP3jVntbQtalrykGt/g8dud/nILaIKG5lJ5FSCmvEgnKQArFFdAf8Zq/JMkTkmZWVWWNs0Ct3ypA7ZNh5G7tO3IXic0XsOmMXSrtLNUJP7p5K+DEtUQTfFETgDHYB5e7NuYGyjviibdWw/cjt2HH0Dqj/p4JqFCNfHkHhLwVQm6L77d3I/LrixNGe0KAcrKDlP1tgZS30XtbrihjaVs1NVlcfVrHrjF0Y/e9RWGMWsr/Jul2RWr/XCiISDH9+GNRiZWpikwi5U3bX5Tg3opdF4T3Gi4GPDEB9SEXx2SLstI3UzSm8tvY1vLbuNfRf3Q8ACL45CO/RXqy6ZxXaftDm7rPUKkFsFiGEhQkunepyqmr3jP6iDuInCF8YrqynSaopxys8WcCuM3ah+Gz5XOwsIX1bGhAqA2uprfZ4OziDenm1jNJrJWhPaeg6uwtWuhLcXH3NmUMmSIBACAgQ46J77Qx/Zhj5e/Msx6pKt5JXVgby+os6Kyc0mMDllLwBTNxpOL8B6kMq8n/Ko/DnAnL35JD9TRaht4YgRkV4j/ZCf0GHnbHd7mX68zrL7DlUQeN1jbDTNtK3p2HsNpgoUT5M/rP8lZ0SgPStaXSd3VU//ylvo2tjF3J/zMHYY8B3TMVaGzo/5B4HB6PLgBAVYOdsFJ8pus85pXe0QKHeryJzZwbWsIXgeUHYaRvqAyqKfysieG4QYoRdd07GTuCsAISIUClp3F5C/z/3w7Peg/C7w0y4eU8vjD0Gxm4ZgzVmude170QfaykpAZlfsc+M2CrCd6wPRCDwn+x3xajIpREo65TKmzeB9O2VtqbqFtXNJgueF0T7R9tdN5q8mp1bZZ2Cwp8L2HHMDnS/oxvWiIWRr42AGqzcTmwQQbykRhzK3Z2DscNA73t73XWMx3OEBytuW4Gm/9fEjv1bQiBewsOoORwOh8PhcOaIyHsiID6C1I9TKG4rQoyLbhYohxN4YwCgtY2t1C0qG2e+gYtDew21KUqvlKA/p6PhugYQkUDdrCL1wxQyyQzy9+SR/lka3mO9EEJCReh4iolC3Rd0o/RyyW0dTSlF3z/3ueUeAJD6QQrER9ByUwt77ZMa7JwNWqIQG0V41nncwbBTOxg8Jwhr2ELfNX1I/TiFvqv6akQYBycjSO6UEXp7COGLwjD7TKRuTcHYYUB7QoPZb0LqkCBEhQnBVcrBCuRO9oeGqtRVGh1BKX9/HnbahjVsIfv7ynvKP5BH8ZkitKc0d9BKLQrtaQ2+k3zwHeND0w1N0J/T3RKy9I/ToCoFCHMpGTsMDP2M5aeoD6lQH1IhdUjwHetD/JNxqPerLCj6lRI8GzzwrPdAe0ZD6qcp9H+ECT7KOgXtv2yHsk5B35V9yP2enYeGjzYg+oEoAm8IoPSPErzHed08FOVgBcE3B9027VKr5DojXJFu1ET3O9m5JT62YHX5TfFvRXiO8EAIVC53ISLASlso/LWA7gu7Mfy5YRg7DIx+axTGDoNdSz9PI/S2EJQ1irttoI449GoJxEMQOCuA0vYSsn/IovRqCdoTWmUfu03XqWQOmZCay26ksoOstLuEzJ0ZRD4QYeVvAqAcxrZbXQ6nP68j9dMUILM/JoJHQOt3WrH6sdUAgLbr2kA8BEKECU/9H+pnjpUPNwBATQaN4xwrvliEcogCwSvAe7QX/jP9GP36KMwes0bNbv12q1ue5D2KzYaUXiuh+93dE4K41S0qSq+UMHD9AKhKEb6oIsz5X+8H8ROYQyayv8ui76o+GHsMRC+NAhITLZ1r2nN4pc154a8FpG5JwXeiD5H3Mgfd0A1DEKICou8rl3q1sOMavSIKsUF0jy9QDuMmQPsv2uE52ANaZE6+2AdjoAWKrrO7MPrdUSiHKJAaJYgxEf5T/e7rxUhFiAMA/6l+NH2+CQ0fbnC3CxmAwILrib/ieiMeAiEowHOEB0QiCJzDjqvzeXacPtaQhYZ/aUDzTc0we03k7s7BztoQIyK7Zsu5TFbGgv6SjuB5QRCRbaeeOAQwoVVeIaP1e62IXRtD2w/a0PAvDXWX5XA4HA6Hw+HMDjEqIpwII/eHHNRHVXiP84KQpVMqxFlcPEd6ILaKNblD6mYVvuN9EGPiFK9cePab6WMrbaH3/b2szIiw3A/lUAX5/80jf28exg4mapi9JqKXR6FuVpH5eQal7SUU/16E1CQh8t4I1M0qCo8V0P/hfviO9yH/v3loT2kIviUI4iFQH1IRPDeIwJkBEC+B9qQGz2FsgCrFJSjrFGR/mwWlFLk/5aCsU+A/1c/243/YPwDQX9IRuZgNYFO3pmD2m5XB/moZUrOE+CfiyN6ZhfoAu1BKr5WYOFQWIYrP1DqclHUKiKfyh8Z7tBf5P7H3X+oqofRaCZ71Hugv6ihuK7LB6FEelk9U1kX053UY3QbsrA07a7tiQfC8IIY+PQRQlk9i7DYgtUlQDlbcsprck2VRrUhReKiA0DuZAyR2dQzqX5hbxew3ET09isDZAeTvz2P408PwHOVB+J1hyJ0yCCFo/2U7dp6wE9nfZiF1SIh/LM7WSykT9zbU2jCJQiC2iLAGLNe9o6xTkP1NFv3X9cN7lNfNYJI7ZZReKbnOoeKzRRS3FRH/JNtGR7KDBRY/obHWk7/PVsKLUVF00z9LgxYoIpdE3OecbQ/dMITolVGAsrBn9WEV3mO98J3sQ/qnabfkT31IhdljwneiD9pTGnou6UHLTS2whixXTJA7ZagPM4GTiASNH25E+IIw9Bd16K/pKL1Sghgt/9EQmaBT/HsR4QvDbrepakeU0qKg5RstIB4CIhHk7s7Be7TXFR8i74kAEhPMMndkmED2YAHhd1XW0XBdA3oe7oG0UkL47WEIIcG9/r3HelF8pojmrzZD/T8VgTcF0PPuHvS8uwcrf7/S3afcvTm3HM5zlKdGZBL8AqRmCdaQhexdWZbUD+bW8T7iZQHPIgAB8J3qQ/onTNB0QsVbvtbivh+z30TjxxohBNk+xj8Vh/akhti1rIRQapdg9Bgo7WaiXfTyKKRmyT2XABD9QBRSq+S2pHfKFgGg4UMN7v5VB1EDAJEIYley7TjlWkqnAt/JPmR+mYHUKrESR42i9dutMEdMV8hp+FAD5FUypBWV6wAAfKf5EP94HJRSjN40isJjBdhZG0JIgBgSYadtZH6VYSIvZW682AdjKPylUOMiq0f4Hewc8y5lHA6Hw+FwOHNL7IoYMrdnYA1Y8F3Gw6g5FQghCG4MInd3DrREoffq0F/QEb8hvti7NoH9RhwiMgEE1obad7IPUpOE8AVhJvDcywQZEiCgKkXw3CCMLgPa4xqMnQYCGwNo+mwT5DYZwzcOI3VLCvqzOnJ/YGKHNWQhc3uGtZobZtlCRCHwHudF7r9zbuaO2CRCOViBnbfR94E+aE9oaPhQgzswBMo1hc8WYY1ZoJQidXMKI19hXZWEmACQSpmQGBdZKU25vKn0Gisr8xzpgRAUUHymCLFBZKHITaIrEoitTCjxbmAOG/15HfpLzGUU+1AMds52g6/9J/sx+o1RGN0GlMMV5py6J+dm+Tg5SlKzxESMJzUEzw0i94ccYh+Mwew2XXEIlAkk/tf7YQ6arlsDAHzH+FB4kC2nrFPgf70fK25dAfVhFU2faYLgrQyspWYJ/tP8KDxccEOEgXLi/2WVXKBq5Ha5Vhw6iIkDubtyrrgGAPIqJg4NfmIQyhoF+qs6hIiAyKVM5PGfVg4pHmAlgdoTGohCEL44jMLDBVeAMAdMQIbbwQuoiEOl7SXW9YyWO0BRoOmLTSxQzEvcDmOZXzL3WOSSCMRmEYVHChj5ygjMIdN933KnDGvQgnq/Cv/ZfkitEqRWCb4TfCi+UITgqZRF+U/xo/BoAbRE0fiRxrrHCQDCF1SEnuAba1sjyitlxP8tjrHvj6Hw5wLy97DPjlO+BbCcmoZ/aYD3RC+ITBA6t0osubYB+ks6vOu98K5nx6bjzg70JHrQk+jByrtWQogIULeoCF8UZsf27WEQQtD0uSbXYis1SzCHzJoOXZ71Hiaw3ZZmn8OTfAicFUD4kjACrw+g/9p+eF7ngf8N7Bw6wdbRy6quw+N98B1f+UKWO2RoT2hI3cLEt4ZrGmrOpdQhQW6Xa/KoqvGf7seK21dA+6sGwTO50dJ1gnXKaP5yM4SIAN9xPlZ2KpQ7FVShrGElfA6BswMIJ8KIf4J9SRBCmPvuMeYmlFfJgAXk/pRjLenL15j3GC8En1BTtsfhcDgcDofDWViUtQoCmwJQN6s8jJozgcBGluuqPaXBHrXdx5Ya+404JAQEtP+8HUOfHKpxSsgdMqR2CdaohZYbW6Bt06B0Kgi/k5VstfxnS6XkA6ysJnVLig3iixS+U3wgXoLhG4ehPcMcJP6T2OAz+t4oRr42guLTZXGokdWPeo/xwug14NngQTgRZgPAMituX4HMHRkMfXwII18cQeqHKYTeHoJnvQfZ32XhfZPXFUqc8ijHIVR6rQRziJXyOO4hebUMW7ddpwTA3AnFVBHKwcoEt4DvJB9Kr5SYONQpu84gO2sj/r04xr4zhsztGSiHKu7A2CF2TQzyGhmRSyKwNRuRiyOugEY8BFSnUNYqaP1W64TzUy3yOOUtwTcF3fDh8QTPDaLwcMEVGKZD7pBR3FZ0B+GBNwZQeLzAjllvVTeqchB16ZUSaJGC+AjiN8QhhiYeJ4C5UaJXRNH8hWb0f7ifiUMEAGXOLMFXVYrmr/xMC6zkjijsuATPCUIICPC/wQ/1PhXeE7zsupEB/5l+hN8VxtjNY277dUcskNew428OmIi8ruJSAuAKMKXtJVCToumGJgx9egjxT8Vrcoj2htDbQ9C2aQhfGEbmFxk3V8nBcVqNJ3B2YILQ4d3gRfsv29FzcQ96LupB8PwgaIEFQjuByEC5W1oZ14FXokwUi0uQ4hJC54eQ+nHKPS+CV0Drf7aCGkz0jV4RdW26sctikNqlKe2YUocEO2cj8+sMIpdE3M+VIw5Vl9lNRnBTEMFN9a9jdzvNlc8rEQmabmiadr3ViBFxwufKs95TcVWd7EPwvCALqSZA9MoohIBQc31yOBwOh8PhcBaP+H/EIfiFmsllDgdgE87EQ6BuUVHoL0DqkKAcWj8SYjHZb8QhABDDItpubpvweOSSCKwRC+F3hd3yGN8JPrT/vH3Csv6T/fAc7UH8Y3GM3TzGsm7OCqDnkh7k/5RnAWLljJfQW0MInBPA9oO2A2AhxlKLhFX/u6pmnYZU6YZECHHLolI/TMF/lp9ltUgV10I1yjomDjmlXADLtnEEFrFJROjQUI2IEjw3yErM5Er769i1MRQeL8B/kh/aYxrULSrk1TK8x3rhP92P0AUhNsC1gL7LWcZL7Opat0S1mNN+Gzt2vtN88GzwwHuMF5mfZ9zyl/HUiEMHT3+hh94SQubXE0WJyQhsCoDa1G2/7TnUg447OjD8lWGkvp9C7JoY1IdVxP455g6oOx/snNTt4V3vBfET0AJ199273ovc73Pwv8GPwkMFVySsJnxRGHKH7AqCYpOI0vaSK7JFL43CGrHQ/IVmDN0whOYbm13hIPL+CHL/nYM5YsJ/Klu30lk5VtXHsBrlYMU9Hx2/7pjR8ZoOuV1G+0/YOkPnhaZZenp8x7HPW+97ejH2zTF4j/dOKbwEzw0icwdzVjV+pNF1+3iP8mLFD1dg7JYxN7gaYM7BFT9eUbOOyQSsmv06yQepTQLxkJqcHalVgu8Un9vRbF8Rm0T4X++fIJztC85nniiECZVeAdHLowABmj/fPGfb4XA4HA6Hw+HsO54jPTWNdDgcByEgwHeKD/n787CGLYTeFVqSuVTzJg4lEok3A/gOWHrIj5PJ5Ffna1uN109eYjMeISig855OALWlHu2/aEf/Vf0sMLbqRAkeAfHPxJH+aXrSTA+pRQLxsbIZgHV9ggjAApo+0wQiTX7i3ZbTZ/qh3s/Ko7wbvK4zRIpLaPlaS81rqh0YjR9rxNBnhhD/j7hbKuYIS8pqBYJPQMdvKoJC4I0B+E7zQWqRZlTnqHQq6LyvE7l7c0wcWl1fHJLaJNaBScCMgrXEBhGdf+qcdjmH8DvCbmZKzePvDCP72yzCF4XR9JkmUJNCapcQvTw6ZRkQkQl8x/tQeKTiXvKf6YfYKqLx+kaUXi4h8OaJA/3Wb0x0TVUTOCPgdpQbLyKKIRGdD9S+52qxbaYuqqWK/2Q/Vvx0BQY/Ooj4x+NT/sHzn+aHEGbdyapL2gAW8B48Z2qnzkzxHePDQc8cNOFxIhGs/N3KOdkGABCRoOPOuRHuHFzR8uiK27D5i1wU4nA4HA6Hw+Fw9jcCmwIY/vQwAExblbBYzIs4lEgkRAA3A3gjgB4ATycSibuTyeRL87G9uUAMizUiSjUN1zTUdf04EIVg3fZ17u+CV4DvBOZY8Bxa3w3i4DvRB+IhiH4gCvV+FQ3XN8B/mh/0/7d3/8FylfUdx9+b3OQGEiC014jJxeaSBC0gRFDAqbQoJRWqYHX8ArUFpFNExYotWEKotgNMaaFVO7QwqaRXHAt+KNiiwFCGVm0ZEJs4ahEEpLQEKJAAxTbTQJrbP55n2eXm7k3uj7PnudnPa+ZMdp89e+43+93n7J7vPuc521ORY/SB82j7nLIP+5wy6nSkI+al0QaH7VhsaMxqsL8mflA877B0gDrv8LELGI1Ggz2P2ZORl0cmvO2p6D+wn2UblrXi6GtwwH07FgPGMn/VfLb+aOsrxbT+N/azbH3a1gHrd20bUzV733QVqkZ/41WnP85U839+/pjFmNEacxvs9d692Hr/1ledrmctc4bm0DfYx/xV5Z2PbGZmZmZmu27BcQt49uJn03yhbytzvtCqjkaPBB6R9ChARNwAnAwUWxyaboPatVEEexy+B8sfWk6jr8HyR5e/MtqlMavB0D1Dr1xlbCL6V/Sz/OHl445Ymqg5i+dw1Oaj2PzC5o7r7HfV+KNqSrPwzIUs/PWF0/o6TUb/If3FXcawGxZd6lEw42nMajB091AahWhmZmZmZjPWnNfPof9N/SxYsaDYeUOrKg4tAR5vu78ROKqiv1Wk5iWrd2ndXJwYfRrURLbRaZvTaWfbbMwq77zJ8TQajSJm3VqybsmkioAz3VTe372i7sKlmZmZmZlNj0ENMrDfAM9veb7uUMZU1aHxWEc0rzrfKCLOBs4GkMTAwM7nv7F69fX1OU9VmMaX1Dkqn3M0MzhP5XOOyucczQzOU/mcI7Pdw+y9ZzN7z9mwpe5IxlZVcWgj0D6xzSDwZPsKktYCa/PdkU2bNlUUik2XgYEBnKeyOUflc45mBuepfM5R+ZyjmcF5Kt9Uc7R48eKdr2RmPa+q4tB3gBURMQQ8AZwK/GpFf8vMzMzMzMzMzCapkplOJG0DzgXuAB5ITbq/ir9lZmZmZmZmZmaTV9l0vJJuA26ravtmZmZmZmZmZjZ1PXiNJDMzMzMzMzMza3JxyMzMzMzMzMysh7k4ZGZmZmZmZmbWw1wcMjMzMzMzMzPrYS4OmZmZmZmZmZn1MBeHzMzMzMzMzMx6WGNkZKTuGACKCMLMzMzMzGw31Kg7gF3k40Kzaux0H1DEyKGIWE8K1kvBi/NU/uIclb84RzNjcZ7KX5yj8hfnaGYszlP5yzTlaKaYqa+vYytocWxjLjtVRHHIzMzMzMzMzMzq4eKQmZmqrOZrAAAJQElEQVSZmZmZmVkPK6U4tLbuAGyXOE/lc47K5xzNDM5T+Zyj8jlHM4PzVD7nqFolv76ObXIc2ySUMiG1mZmZmZmZmZnVoJSRQ2ZmZmZmZmZmVoO+qjYcEeuAdwPPSDokt10BvAd4Cfgx8CFJL+THVgO/Afwf8FuS7sjt7wI+D8wGviDp8qpi7jUdcnQJcDKwHXgGOFPSkxHRIOXhRGBLbt+Qn3MGcHHe7KWSvtjd/8nua6wctT12PnAF8BpJm5yj+nToS78P/CbwbF7tIkm35ce8v+uyTn0pIj4OnAtsA26V9Knc7hx1WYd+9BXgDXmVhcALklbmx5yjGnTI00rgGmAeqS99VNJ9/lyqR4ccHUbK0QLgMeCDkl7Mj7kvdVlE7A9cB+xH+s69VtLnI+KngK8AS0l5CknPuy9NzET6QET8NPA3wFuBYUnn5vX3BG4ElpH6xtckXVhCbKO2dwtwwOjjhDpji4i5wFXAsaT39xpJNxUS22nARcAI8CTwa5I2dTG244HLgbmkmsgFkv4hP+cIYBjYA7gN+ISkrp7mVeXIoWHgXaPa7gQOkXQo8BCwGiAiDgJOBQ7Oz/mLiJgdEbOBPwdOAA4CTsvr2vQYZsccXSHp0Pzl++vAp3P7CcCKvJwNXA2QP8Q+AxwFHAl8JiL2rT70njHMjjlqfqk4HviPtmbnqD7DjJEn4LOSVualWRjy/q4ew4zKUUS8g1QMP1TSwcCVud05qscwo3Ik6ZRmHwJuAm4G56hmw+y4v/tj4A9ynj6d74M/l+oyzI45+gJwoaQ3AV8FLgD3pRptA35H0s8CRwMfy6/vhcBdklYAd+X74L40UcPsYh8A/hf4PeD8MbZzpaQ3Am8Gfi4iTigoNiLifcB/T0NM0x3bGlKh5EDS/uObJcQWEX2kIus7cj3i+6QfCLsZ2ybgPbn9DOBLbc+5mtS/m319rGOLSlVWHJL0LeC5UW1/L2lbvnsvMJhvnwzcIGmrpH8DHiHt4I4EHpH0qKSXgBvyujYNOuToxba780lVVUiv+3WSRiTdCyyMiNcBvwTcKek5Sc+TCoBdfyPvrsbKUfZZ4FO08gPOUW3GydNYvL+rQYccfQS4XNLWvM4zud05qsF4/Sj/ah7A9bnJOapJhzyNAHvn2/uQfo0Ffy7VokOO3gB8K9++E3h/vu2+VANJTzVH/kj6CfAAsIT0GjdH/nwReG++7b40ARPpA5L+R9I/kwoK7dvYIukf8+2XgA20jl1rjQ0gIhYAvw1cOtWYpjs24CzgD/N626c6MmcaY2vkZX7+XrE3rc+rbsX2XUnNv3k/MC8i+nN/3lvSPXm00HW0+n/X1Dnn0FnA7fn2EuDxtsc25rZO7VahiLgsIh4HPkhr5JBzVIiIOAl4QtL3Rj3kHJXn3Ij4fkSsa/slz3kqx4HAMRHx7Yj4ZkS8Nbc7R+U5Bnha0sP5vnNUlvOAK/J3hyvJI8Nxnkryr8BJ+fYHgP3zbeeoZhGxlDQy5dvAayU9BamABCzKqzlPU9epD+xURCwkTY1yVwVxweRiuwT4E9JphlWaUGz5tQK4JCI2RMSNEfHaEmKT9DLph8EfkIpCBwHX1hjb+4Hv5h8pl5D6b1MtfbmW4lBErCENp/xybmqMsdrIOO1WIUlrJO1Pyk9zqJ1zVIB8/vMaWkW7ds5RWa4mnae+EniK9AEOzlNJ+oB9SUP6LwCUf0lyjspzGq1RQ+AcleYjwCfzd4dP0vqy7TyV4yzSqUvrgb1Ic12Ac1SrPPrjJuC8UaP3R3Oepq5THxhXPhXpeuDPJD1aQmx5nrflkr5aUTyTjo303WoQuFvS4cA95NP2644tIuaQPq/eDCwmnVa2erznVBVbRBwM/BHw4dxURF+ubELqTvKkae8GjmubYGkjr66mDdIa4tWp3ar318CtpHOZO+VoI2mysfb2b3QnvJ60DBgCvhcRkF7vDRFxJM5RUSQ93bwdEX9JmsMLvL8ryUbg5vxZdF9EbAcGcI6Kkr+Yvw84oq3ZOSrLGcAn8u0bSXMtgD+XiiHpQWAVQEQcCPxyfsh9qSb5QPUm4MuSbs7NT0fE6yQ9lU8zaZ7u7L40ReP0gZ1ZCzws6XMFxfY24IiIeIx0PL8oIr4h6dgCYttMGs3ULFzdSJrwftpNIraV+Xk/zs8RrXm9uhZbRAySXp/Tm7GQ+nL7aYu17HO7OnIoX/Xgd4GTJLUPgbsFODWfbzdEmoDpPuA7wIqIGMqznp+a17WKRMSKtrsnAQ/m27cAp0dEIyKOBv4rD3e9A1gVEfvm02ZW5TargKQfSFokaamkpaQdyeGS/hPnqCj5S13Tr5CGl4L3dyX5W+Cd8MoH91zSRIHOUVl+EXhQUvtwa+eoLE8Cv5BvvxNonv7nz6VCRMSi/O8s0pWtrskPuS/VII9SvRZ4QNKftj10C6nYSv7379ra3ZemYJw+MN5zLiXNo3ZeSbFJulrS4nws8HbgoSoKQ5OMbQT4Gq2i5XHAD0uIDXgCOCgiXpPvH0+a76trseXT7m4FVku6u7l+7s8/iYij8/7hdFr9v2saIyPVjFaKiOtJb4oB4GnS6JPVQD+poghwr6Rz8vprSMOvtpGGVt6e208EPke6jOY6SZdVEnAP6pCjE0kTaG0H/h04R9IT+U16FWmSuy3AhyT9S97OWaRLAgJcJumvuvn/2J2NlSNJ17Y9/hjwFrUuZe8c1aBDXzqW9AvFCOkSlh9uziPg/V33dcjRl4B1pDy9BJyv1uVEnaMu67S/i4hh0veFa0at7xzVoENf+hHpCjB9pAlAPyppvT+X6tEhRwuAj+VVbiYdmIzk9d2Xuiwi3g78E2nuk+25+SLSvEMCXk+6Iu0HJD3nvjQxk+gDj5EmJ54LvEAqsr1Ims/pQWBrft5VkpojI2uLTdIP27a3FPi6pudS9tMSW0T8DOk71kLgWdL7tf0Ky3XGdg5ppOvLpGPdMyVtZgomEltEXEyqiTzctolVkp6JiLfQupT97cDH1eVL2VdWHDIzMzMzMzMzs/LVebUyMzMzMzMzMzOrmYtDZmZmZmZmZmY9zMUhMzMzMzMzM7Me5uKQmZmZmZmZmVkPc3HIzMzMzMzMzKyHuThkZmZmZmZmZtbDXBwyMzMzMzMzM+thLg6ZmZmZmZmZmfWw/wduS6fPwK4K9wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(20,5), gridspec_kw = {'width_ratios':[4, 1]})\n",
    "ax1.set_xlim(1200, 2015)\n",
    "ax1.plot(decades2_counts[500:1301], 'm')\n",
    "ax1.set_title(\"Number of ODNB Entries by Approximate Year of Death\")\n",
    "ax1.annotate(s=\"1908\", xy=(1908, 227))\n",
    "ax1.annotate(s=\"1883\", xy=(1883, 219), xytext=(1883, 221))\n",
    "ax1.annotate(s=\"1900\", xy=(1900, 131), xytext=(1880, 125))\n",
    "ax1.annotate(s=\"1558\", xy=(1558, 68), xytext=(1558, 72))\n",
    "ax1.annotate(s=\"1660\", xy=(1660, 98), xytext=(1660, 110))\n",
    "ax1.annotate(s=\"1649\", xy=(1649.0, 83), xytext=(1645, 100))\n",
    "ax1.annotate(s=\"1920\", xy=(1920, 114), xytext=(1918, 105))\n",
    "\n",
    "ax2.plot(decades2_counts[1201:1212], color='m')\n",
    "ax2.set_title('1911-1921')\n",
    "fig.subplots_adjust(wspace=0.08)\n",
    "#plt.savefig('Rev_Fig_21_22', transparent=False, dpi=300, bbox_inches=\"tight\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figure 23"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "books = pd.read_csv('book_citation_data.csv', index_col=0)\n",
    "articles = pd.read_csv('article_citation_data.csv', index_col=0)\n",
    "plt.rc('ytick',labelsize=10)\n",
    "plt.rc('xtick',labelsize=10)\n",
    "fig, ax1  = plt.subplots(nrows=1, ncols=1, sharex=False, sharey=False, figsize=(5,5))\n",
    "title='Most Frequently Cited Book Authors in ODNB'\n",
    "color='coral'\n",
    "counts2 = books['Author'].value_counts().sort_values(ascending=True).tail(25)\n",
    "counts2.index = counts2.index.str.slice(0,50)\n",
    "counts2.plot(kind='barh', ax=ax1, color=color, title=title)\n",
    "ax1.set_title(title,fontsize=15)\n",
    "#fig.savefig('top_book_authors_all.png', transparent=False, dpi=1000, bbox_inches=\"tight\")\n",
    "plt.show() "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figure 24"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x720 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "n=18\n",
    "\n",
    "#### CREATE ARTICLES COUNTS DATAFRAME ####\n",
    "df=articles\n",
    "\n",
    "citationVar='Title'\n",
    "filterVar=None\n",
    "filterType=None\n",
    "entryYear=None\n",
    "citationYearLo=None\n",
    "citationYearHi=None\n",
    "title='Most Frequently Cited Journal Articles in ODNB'\n",
    "color='m'\n",
    "exclude = ['review', 'letter', 'memoir', 'Memoir', 'editorial','letters', 'In memoriam', 'interview', 'dispatches', 'presidential address', \"Presidential address\", 'The Ban-shenchus pt 2', \"Women's corner\",]\n",
    "df = df[~df[citationVar].isin(exclude)]\n",
    "    \n",
    "counts1 = df[citationVar].value_counts().sort_values(ascending=True)\n",
    "\n",
    "counts1 = counts1.loc[counts1.index.str.len() > 2].tail(n)\n",
    "\n",
    "counts1.index = counts1.index.str.slice(0,50)\n",
    "\n",
    "counts1 = counts1.rename(index={'British artists in India, 17601820': 'British artists in India, 1760-1820', 'The Royal Academy Schools, 17681830': 'The Royal Academy Schools, 1768-1830', 'Letters of Thomas Wood, puritan, 15661577': 'Letters of Thomas Wood, puritan, 1566-1577', 'Members of the Irish parliament, 17847': 'Members of the Irish parliament, 1784-7', \"The king's wife in Wessex, 8001066\": \"The king's wife in Wessex, 800-1066\", \n",
    "                               'Arthur Ponds journal  17341750': 'Arthur Pond\\'s journal 1734-1750'})\n",
    "\n",
    "\n",
    "#########\n",
    "\n",
    "plt.rc('ytick',labelsize=10)\n",
    "plt.rc('xtick',labelsize=10)\n",
    "fig, (ax, ax1)  = plt.subplots(nrows=2, ncols=1, sharex=False, sharey=False, figsize=(5,10))\n",
    "\n",
    "\n",
    "\n",
    "counts1.plot(kind='barh', ax=ax, color=color)\n",
    "ax.set_title(title,fontsize=15)\n",
    "\n",
    "#### CREATE BOOKS COUNTS DATAFRAME ####\n",
    "df=books\n",
    "citationVar='Title'\n",
    "filterVar=None\n",
    "filterType=None\n",
    "entryYear=None\n",
    "citationYearLo=None\n",
    "citationYearHi=None\n",
    "title='Most Frequently Cited Books in ODNB'\n",
    "color='skyblue'\n",
    "    \n",
    "counts2 = df[citationVar].value_counts().sort_values(ascending=True).tail(n)\n",
    "\n",
    "counts2.index = counts2.index.str.slice(0,50)\n",
    "counts2 = counts2.rename(index={'Fasti Angl., 15411857': 'Fasti Angl., 1541-1857', 'The London stage, 16601800': 'The London stage, 1660-1800'})\n",
    "\n",
    "#########\n",
    "\n",
    "\n",
    "counts2.plot(kind='barh', ax=ax1, color=color, title=title)\n",
    "ax1.set_title(title,fontsize=15)\n",
    "\n",
    "plt.subplots_adjust(wspace=.6)\n",
    "#plt.savefig('Rev_Fig_24.png', transparent=False, dpi=500, bbox_inches=\"tight\") \n",
    "plt.show() \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figure 25"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x720 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "n=25\n",
    "\n",
    "#### CREATE ARTICLES COUNTS DATAFRAME ####\n",
    "df=articles\n",
    "\n",
    "citationVar='Author'\n",
    "filterVar=None\n",
    "filterType=None\n",
    "entryYear=None\n",
    "citationYearLo=1945\n",
    "citationYearHi=None\n",
    "title='Most Frequently Cited Article Authors in ODNB'\n",
    "color='m'\n",
    "    \n",
    "if filterVar!= None and filterType != None:\n",
    "    df = df[df[filterVar]==filterType]\n",
    "    \n",
    "# people alive in a given year\n",
    "if entryYear != None:\n",
    "    df = df[df['start_date_lb_x']<=entryYear]\n",
    "    df = df[df['end_date_lb_x']>=entryYear]\n",
    "        \n",
    "if citationYearLo != None:\n",
    "    df = df[df['Citation Year']>=citationYearLo]\n",
    "if citationYearHi != None:\n",
    "    df = df[df['Citation Year']<=citationYearHi]\n",
    "\n",
    "\n",
    "if citationYearHi != None:\n",
    "    df = df[df['Citation Year']<=citationYearHi]\n",
    "\n",
    "    \n",
    "counts1 = df[citationVar].value_counts().sort_values(ascending=True).tail(n)\n",
    "\n",
    "\n",
    "plt.rc('ytick',labelsize=10)\n",
    "plt.rc('xtick',labelsize=10)\n",
    "\n",
    "\n",
    "fig, (ax, ax1)  = plt.subplots(nrows=2, ncols=1, sharex=False, sharey=False, figsize=(5,10))\n",
    "\n",
    "\n",
    "\n",
    "counts1.plot(kind='barh', ax=ax, color=color)\n",
    "ax.set_title(title,fontsize=15)\n",
    "\n",
    "#### CREATE BOOKS COUNTS DATAFRAME ####\n",
    "df=books\n",
    "citationVar='Title'\n",
    "filterVar=None\n",
    "filterType=None\n",
    "entryYear=None\n",
    "citationYearLo=1945\n",
    "citationYearHi=None\n",
    "title='Post-1945 Publication Books Most Frequently Cited in ODNB'\n",
    "color='lightseagreen'\n",
    "    \n",
    "if filterVar!= None and filterType != None:\n",
    "    df = df[df[filterVar]==filterType]\n",
    "    \n",
    "# people alive in a given year\n",
    "if entryYear != None:\n",
    "    df = df[df['start_date_lb_x']<=entryYear]\n",
    "    df = df[df['end_date_lb_x']>=entryYear]\n",
    "        \n",
    "if citationYearLo != None:\n",
    "    df = df[df['Citation Year']>=citationYearLo]\n",
    "if citationYearHi != None:\n",
    "    df = df[df['Citation Year']<=citationYearHi]\n",
    "    \n",
    "counts2 = df[citationVar].value_counts().sort_values(ascending=True).tail(n)\n",
    "\n",
    "counts2.index = counts2.index.str.slice(0,50)\n",
    "counts2 = counts2.rename(index={'The London stage, 16601800': 'The London stage, 1660-1800', 'Britain and the defeat of Napoleon, 18071815':'Britain and the defeat of Napoleon, 1807-1815', 'Dictionary of British sculptors, 16601851': 'Dictionary of British sculptors, 1660-1851', 'Whos who in the theatre': \"Who's who in the theatre\"})\n",
    "\n",
    "#########\n",
    "\n",
    "\n",
    "counts2.plot(kind='barh', ax=ax1, color=color, title=title)\n",
    "ax1.set_title(title,fontsize=15)\n",
    "\n",
    "highlight = ['Thomas Cranmer', 'The Elizabethan puritan movement', 'Britain and the defeat of Napoleon, 1807-1815' ]\n",
    "pos = []\n",
    "for h in highlight:\n",
    "    pos.append(counts2.index.get_loc(h))\n",
    "for p in pos:\n",
    "    ax1.patches[p].set_facecolor('red')\n",
    "    \n",
    "legend_elements = [Line2D([0], [0], color='red', lw=4, label='Monographs'), Line2D([0], [0], color=color, lw=4, label='Reference Works')]\n",
    "ax1.legend(handles=legend_elements, loc='best')\n",
    "plt.subplots_adjust(wspace=1.2)\n",
    "#fig.savefig('Rev_Fig_25.png', transparent=False, dpi=500, bbox_inches=\"tight\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figure 26"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a22b13860>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x468 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "areas = [\"Agriculture and Food\",\n",
    "\"Armed Forces and Intelligence Services\",\n",
    "\"Art\",\n",
    "\"Building and Heavy Engineering\",\n",
    "\"Business and Finance\",\n",
    "\"Education and Learning\",\n",
    "\"Film and Broadcasting\",\n",
    "\"Individuals\",\n",
    "\"Law and Crime\",\n",
    "\"Literature, Journalism, and Publishing\",\n",
    "\"Manufacturing and Industry\",\n",
    "\"Medicine\",\n",
    "\"Music\",\n",
    "\"Politics, Government, and Diplomacy\",\n",
    "\"Religion and Belief\",\n",
    "\"Royalty, Rulers, and Aristocracy\",\n",
    "\"Scholarship and Research\",\n",
    "\"Science\",\n",
    "\"Social Welfare and Reform\",\n",
    "\"Sports, Games, and Pastimes\",\n",
    "\"Technology\",\n",
    "\"Theatre and Live Entertainment\",\n",
    "\"Trade and Retailing\",\n",
    "\"Transport and Communication\",\n",
    "\"Travel and Exploration\"]\n",
    "sizedf['Number of Biographies'].sort_values().plot(kind='barh', color='#8869bf', figsize=(10,6.5), title=\"Number of ODNB Subjects by Areas of Renown\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figure 27"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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TDo6OlhvvfW46KKLmDhxYuL0559/nlNPPZUxY8aw4447VvSbiojI8FUvscRjjz3GxRdfzOqrr85LL73EpptuOuA+f+655w5pGkVERKQ4tYglsi1dupQJEyYA8NhjjyWWC8ycOZN7772XtrY2Pv3pT/Ptb3+biy66iLFjx3LCCSdwyCGHsN122/HII4+wePFiLrroIqZMmUJvby8zZ87k8ccfp6uriyOPPJIvfelLzJs3jxNPPJGlS5fS29vL97//fbbffntOO+00nn/+ecyMQw89lOOPP35Aeu+9914uu+wyurq6WGWVVbjiiiv42Mc+xkUXXcTcuXN5++23mTt3Ll/+8pc59thjAbj00ku54YYbWHPNNVl11VXZaqutiv5+DjnkEM4991y23nprNt54Y4499ljuu+8+Ro8ezTXXXMPHPvaxstJ0/fXX84tf/AKATTfdlMsvv5wPP/yQM888k7lz5wJw/vnns8MOO1T2A0tQWb3mplKpA4C56XT6/1KpVPastYA5WX+/E03LN/2dwPSk/R4PnA5MTKfTTJ48ecD8efPmDegIuNp9HZhZwY6GZ8+eze67784mm2zCKquswssvv8xWW23F7bffzty5c3nooYeYP38+u+66K4cffjhtbW2YGWPGjOGPf/wjAA899BCtra309fVx4oknctVVV7HtttuydOlSxowZQ2trKy0tLf1pMTNaW1v7t9Xa2sq5557LK6+8wgMPPADAo48+OiD9LS0tA9bJ3v/BBx/MhRdeyIYbbsizzz7LWWedxU033TTgOD/xiU9w22230dbWxkMPPcSPfvQjrr76alpbW3nppZe4//77GTlyJLvssgvHHXccbW1tXHTRRdx7772MHz+ez33uc2y55ZY532drayu33357fzX74447ji984QuccsopzJw5k5133pkf/vCHXHLJJVxwwQWJ00899dT+6eeffz5Azr5GjRqVcw4Vq62trex160mzHEdGoTwipFm+Ax1HfdFx1K9GjSVaW1t57rnneOihh1hvvfV4++23B9znixXadyX3w1polvNSx1GfFEvoOOqFjqN+NUIs0dHRwZ577klnZyfz5s3jxhtv7B+BPFQusHTpUu6+++7+coPFixfT1tZGS0tLf9mDmdHT08M999zDfffdx09+8hNuuOEGfve73zFhwgTuvfdeOjs72X///Zk6dSp33nknu+++O//1X/9Fb28v7e3t/P3vf2fevHn93fZl9pNt5513Zp999sHM+N///V+uvPJKzj//fFpaWnj99de56aabWLZsGbvssgvHHHMML7/8Mrfddhv3338/vb297LHHHmyzzTY5221paeGXv/xlf9nGueeey+677z6gPGXFihXssMMOnHPOOXznO9/h97//PaeeemrJaXr99de5/PLLuf3221l11VVZuHAhbW1tnHfeeZxwwglMmTKFd955h8MOO4xHHnlkQDpLicua5foajOMoubAzlUqtBJwN7BmYHbqKXRnTg9Lp9FXAVZnl5s+fP2B+Z2fngCbY1aomnr29TFXnJDfeeCPHHXccPT09HHDAAdx4441sttlmPP7448yYMYO+vj4mTZrEzjvvTG9vLz09PTjn2G+//fq33dfXR29vL6+88gqrrbYaW265JQBjxowBfPO1vr6+/uWdcwO21dvbS29vL0D/Mr29vQPSn9lHfP+Z2iSZtxEAXV1dOce9YMECvv3tb/PPf/4TM6O7u5uenh56e3vZddddWWmllQDYeOONeeutt1iwYAE77bQTkydPpqenh/3335833ngjZ7u9vb3sv//+A5qxZ/og3XHHHenp6eHggw/mK1/5StHTP/vZz3L//ffn7Kuzs5P4OVSsyZMnl71uPSnlONZcc81BTk3lCuURIcPxt6xnOo76UupxNEM+Ua+xxLRp09hmm21Ya621+u+3QMFtZctuspWtkvthLQzX66teKZYYnr9lPdNx1BfFErWJJUaPHs29994LwDPPPMPXvvY1/vSnPyWWC4wZM4aRI0dyyimnMG3aNPbYYw96enro6+vrL3twzjFjxgx6enrYfPPNmTNnDj09PTzwwAP87W9/4/bbbwd8TdLXXnuNLbfcktNOO42uri722msvtthiC9Zaay3eeustzjzzTKZNm8Zuu+2Wcyxz5szhuOOO4/3336erq4t11123Py1Tp06ltbWVCRMmsOqqq/Lee+/x2GOPsffee/e3HJ0+ffqA8pKMvr6+nGbs2WUoPT09jBw5kqlTp/Yf45///Gd6enpKTtPDDz/Mvvvuy4QJE+jp6WHllVemp6eHhx9+mFdeeaU/TUuXLmXRokWMGzeuf1opcdlwzCeKzSPKqdn5b8AGQKZW59rAX1Kp1I74mpnrZC27NvBuNP0zsekPRtPXDizfkBYsWMBjjz3GK6+8gpnR29uLmfU3484nUziYzTkXfAvU1tZGX19f/9+dnZ0Ft9/W1jYgk42vk9l/X18f48eP7+/fI8mFF17IzjvvzK9//WvmzJnDIYcc0j8vu3l6S0tLfyYzVKOKJX1vIiIi9S4plpg6dWowVhARERHJZ/vtt2fBggV8+OGHieUCbW1t3HHHHTzyyCPceuutXHPNNcGBiTLP+q2trQMKEy+44AI+85nP5Cx/4403cv/993PyySdzwgkn8PnPf57Zs2fz4IMPMmvWLG6//XYuvvjiAeuce+65HH/88ey555793fhkjBo1qv//ra2t/S9/q/X8n6nBGj/GUtOUVCbR19fHbbfd1l+RTQZPwdHY49Lp9AvpdHq1dDq9fjqdXh9fYPnJdDr9L+A24IhoVPadgMXpdPo94B5gz1QqtUoqlVoFXyv0nmje0lQqtVM0CvsRDOwDtKHccccdHHzwwTz11FM8+eSTPPPMM6y77ro89dRT7LDDDtxxxx309fXxwQcf8Pjjjxfc3kYbbcS8efN47rnnAFi2bBk9PT2ss846vPTSS/T19TF37tz++dnGjh3LsmXL+v9ea621ePXVV+ns7GTJkiU5VaUzVl55ZdZZZ53+tzLOOV566aWc5ZYuXcoaa6wBQDqdLngs2267LY8//jgLFiygu7u7v8l8McaPH8+ECRN48sknAZ9h7rTTTonTJ0yYwPjx43nqqacAuPnmm4vel4iISC3liyWyxe/zIiIiIiGvvfYavb29rLLKKonlAsuXL2fp0qVMmzaN888/n5dffrno7e+2225ce+21dHd3A/D666+zYsUK3nnnHSZPnswXv/hFDjvsMF544QUWLFhAX18fM2bM4PTTT+eFF17I2d6SJUv6yxqKGQl+p5124u6776a9vZ1ly5YVrLhVjlLTtOuuu3L77bezYMECABYuXAj472rWrFn9y7344otVT6t4BWt2plKp3+NrZU5OpVLvAOel0+lfJyx+J7Av8BqwAjgaIJ1OL0ilUt8Fno6W+05msCLgRPyI72PwAxNVZXCiWrj11lv56le/OmDavvvuy80338zMmTN55JFHmDp1KhtuuCHbbrst48ePz7u9kSNH8vOf/5xzzjmHzs5ORo0axXXXXccOO+zAuuuuy7Rp09hkk036m7lnmzRpEjvssANTp05l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6lQ0TaO4uBhVVWOW6bvvvuP222/H5/NhGAYvvPACRx99dIP3nTx5MuvWrcPj8XDeeedx5513AsFRFuPHj2fp0qUEAgGef/55+vXrR1lZGRMnTuTQoUOceOKJLR4kzToMHTqUNWvW0KNHD2bNmsUHH3zAunXruOmmm8jOzmbevHls3ryZP//5z9TW1lJcXMz06dPp3r17zG1HjgSZPn067777Lj179qS4uJgTTjiBG2+8ke3bt3Pfffdx6NAhcnJymDZtGv369ePWW2+loKCAdevWcfDgQe67777wCNtnnnmGt99+G4fDwdlnn80999wTczuRDhw4wIgRI8KPBw4cGP772WefZf78+fh8Ps455xzuvPPOJt/vmDFjqK2t5d577wWCncHr16/nL3/5CwMGDGDjxo0APPfcc7zzzjs4nU7OOOMMJk+ezI4dO5gyZUq4fFOnTqVfv37Mnz+f6dOn43K5KCgo4J133mn2+xJCWFu8p8TRdT2tTqLZWXV1dfhKBXNko9npdt9993HCCSdwySWXxLxyZMaMGcyePZuePXtSUlLC8ccfDzS8OiLWsf3QoUNMnDiR8vJyBg8ezIoVK1i0aFGTEZiJzhmiiZXj7Nq1i5tvvpm6ujqA8KjYG2+8kfHjx3P22WeH6z9q1ChefPFFHnzwQQYNGgTAuHHjeOSRRxocq2OJlcvk5OTw5Zdfcuedd5KTk8PQoUP58MMPWb58eYPvcNq0aezatYudO3eye/durr/+eq677joA3n77bWbNmoXP5+Okk07ikUceweVysXLlSh577DF8Ph9HHnkk06dPJy8vj2HDhnHppZeycuVKrr32Wj788MMG3+/FF18c/h6eeeaZ8Pd78803h7/flStX8t577zV79Y0QIn3F+8RponOJdm9ZUZRewM3AyaqqDgJcwKXA34Dpqqr2B8oJdmIS+l2uqmo/YHpoPRRFGRh63c+Ac4BnFEVJ3lApISwsESMxZHRH6yxatIgzzjiDY445hqKiItavXx9+7ssvv+Tuu+9mxYoVAGzfvp3rrruOZcuWsWXLFubMmcOcOXP44x//yFNPPQUEGxOnnXYaCxcu5K233uLBBx+krq6Ol19+mZycHJYtW8bNN9/MV199FbNMN910E6NGjWLUqFGUlZXx1Vdfoaoq7733Hu+//z6vvfYaX3/9NQDff/89F198MUuWLCEnJ4e77rqLf/zjHyxbtoznn3++2TK98sorXHfddSxdupSFCxdyxBFHNCnL3Xffzfvvv8+yZcv49NNPG4xGLC4uZvHixVx55ZU899xzAEyfPp2hQ4eyZMkSRo8eze7du1v8DrZt28bVV1/Nhx9+SGFhIQsXLuT8889n8ODBzJw5k6VLl+J2u7n//vt54YUXWLRoEZdccgl/+9vfWtw2BC8VW7hwIYsXL+bFF19k3bp14ecmTZrEgw8+yKJFi5gyZQr33HNP+Ln9+/czZ84cXnrpJR555BEAli9fzqJFi3jvvfdYtmwZN910U4vbMV1zzTXceeedXHzxxcyYMYN9+/YBsHLlSrZt28aCBQtYsmQJX331FZ+GRg9Ffr9XXnklixYtCm9v/vz5XHDBBQ3e48MPP2Tx4sXMnTuXRYsWceONNwLBBuif//xnFixYwH333cf9998PwJNPPsmrr77Khx9+yL/+9a9WfZ5CCGtKxAgrGbWVWh6Ph1GjRnH66adz1113ceutt7ZrO1999RXz5s1jyZIlvPjii3z55Zcx1412bH/iiSc47bTTWLx4MWPHjo15bE9kzjB+/PhwbhQ5WjFWjlNSUsLrr7/O4sWLefbZZ/njH/8IBDsx582bB4DP5+OTTz7hrLPO4rLLLkNVVSB47PX5fFE7Oj/77LNwOUaNGsX27duB6LkMwO23384jjzzC/Pnzm71KaMuWLbz66qssWLCAJ554Ar/fz+bNm5k3bx5z5sxh6dKluFwu3nnnHcrKypgxYwZvvvkmixcvZvDgwbzwwgvhbWVlZTFnzhzGjRvX5H26du3KwoULueKKK8KvefLJJzn11FNZuHAhY8aMaVXuZpIYIUR6aelqsvZIdL9ERy9jdwM5iqL4gVxgL3AW8D+h518C/gQ8C4wL/Q0wG5ipKIojtPwNVVW9wDZFUbYAQ4H/dLBsQtieNFBSZ86cOfzud78DggnwnDlzwqMdTjzxRPr27Rtet0+fPgwYMACAY489ll/84hc4HA5++tOfsmvXLgA++ugjli5dGk7kvV4vu3fvZvXq1fz2t78FgiP6zO1E0/gy9nfeeYdzzjmH3Nxc3G43Y8eOZfXq1YwePZrevXszZMgQANauXcvw4cPDZe7atWuzZRoyZAh///vf2bt3L2PHjm0yqhOCHWqvvvoqmqaxf/9+Nm/eHE7+x44dC8AJJ5zA+++/D8Cnn37Kiy++CMDIkSMpKipq8Tvo06dPeCTFCSecEP4sI33//fd89913XHrppUDwoHn44Ye3uG0INkzGjBlDTk4OAKNGjQKCo3rXrl3L//7v/4bX9fl84b/POeccnE4nxx57LAcPHgTg448/5pJLLglvq2vXrlRWVja7HdMZZ5zBqlWrWLFiBcuXL2fMmDEsX76clStXsnLlSkaPHg0ER6ls27aNXr16Nfh+u3XrRt++ffniiy846qij2Lp1KyeffHKD9/jkk09QFCVcvqKionA9J0yYEF7P6/UCwblTb7vtNsaNG8eYMWNa9XkKIawpUSdOkzmNi2go8jL2NWvWcMstt7B8+fI2b2f16tWcc8454WNDc/E+2rH9s88+45///CcAZ555ZsxjeyJzhrfeeqvJnJ0QO8fp3r079913Hxs2bMDpdLJ169Zw+adMmYLX62XFihUMHz6cnJwcLrjgAmbMmMGUKVN48803URQlajmiXca+a9euqLlMZWUlNTU14XlWL7zwQpYtWxZ1u2effTZZWVlkZWVRUlLCwYMH+eSTT1i/fj3nnnsuEOz8LikpYe3atWzatCncmen3+8O5AsCvfvWrmJ+j+T0cf/zx4ROoa9asCZ8gP+OMMywz17kQIvns2C/R7s5OVVV3K4ryGLATqAeWAGuBClVVA6HVfgB6hf7uBewKvTagKEol0C20PHKim8jXNKAoyg3AXUCRqqqUlJS0WE63292q9axO6mEtyapHdXU1VVVVcZ0bo0uXLuGb3KTL99FWDocDt/vH8Bf5N0BZWRmrVq1i06ZNOBwONE3D4XDwpz/9CZfLRV5eXvg1LpeLrKys8GO3201OTg5ut5uMjAw0TQs/N2vWrCaXMJtlMddxOBy4XK4mZYq23OFw4HQ6w8ucTidOpxOXyxXuAI1c3nibsco0YMAATjnlFJYuXcrll1/OE088wS9/+cvw8zt27OD5559n8eLFFBUVcfPNN+P3+3G73TgcjvB7Z2Zmout6eHlkPc3PLlqZXC5Xk881IyMDn88X3pb5WqfTyXHHHRceKRHJ/Cwav8b8O9bn53Q6KSws5MMPP4y6TfP7heBBuvH2I9eNtZ3GDjvsMMaPH8/48eO5/PLL+fzzz3E4HNxyyy1cddVVDdbduXNng+9X0zTOP/983nvvPfr168eYMWOaXK4aLX7ouk5hYWG4cRnp8ccfZ+3atSxbtowxY8bwwQcfNLlszWx42Y3kElIPq0hWPWpra6msrIxrLpGfn09BQQGQPt+HqaUYsX///ibH4nhqnKPEYq4zfPhwysrKqKioICsrq8FzPp+v2eNg5HHSZB4XGx9Dox3boemxvPHjROYMjY+95rHdFC3HmTZtGt27d+fpp59G13X69u2L2+0mPz+f0047jY8//pj58+dz0UUX4Xa7KSgoYMSIESxbtoz58+ezZMmSJuUw3zfa8mi5TOP1zRMHbre7yXOROYe5nsPhQFGU8NUYpsWLFzNixIhwB2Xjz6qgoKBBzhP5/Zr/Oy6XC03TgI51RDgcjvC+k24xAiSXkHpYR7Lq4fF4qKiowOl0hmNER+Xm5oYH4SSiHu3u7FQUpSvBUZlHARXAW8DYKKuaUTJaJmA0s7wJVVVfAMyx+EZpaWmL5SwpKaE161md1MNaklUPc/7GeI7KKCsrIzMzE2hbPXr27Bm3MqSaYRgEAsFzMm63O/y3ae7cufzmN7/h0UcfDS/7zW9+w6pVq9A0rcHrzWBvPtZ1HU3TCAQCDZ47/fTT+cc//sFDDz2Ew+Hg66+/ZtCgQQwdOpTZs2czfPhwvv32WzZs2BB+feMyN14+dOhQbrvtNiZMmIDT6WThwoX8/e9/b1Kmk046icmTJ7N161b69u1LeXk5Xbt2jVmmHTt20LdvX6699lq2bdvG119/zf/7f/8v/L4VFRXk5OSQm5vL3r17+eCDDxg2bBiBQKBBOSM/q2HDhvHWW29x6623snz5cioqKqLW0/xMo32uuq4TCATIzc2lsrKSQCDAT37yEw4dOsSnn37KySefjN/vZ+vWrRx33HENvovIcpl/n3zyydx9991MmDABTdPCnbs5OTn06dOHd999lwsuuADDMNiwYQM/+9nPGmzTFAgE+OUvf8n06dMZN24cOTk5VFdXU1BQEHM7kT755BOGDBlCTk4ONTU1bN++nR49enD66aczbdo0xo0bR15eHnv37g13oEd+NoZhMHbsWGbOnMk333wT9VL5008/nRkzZnDhhReSk5NDRUUFRUVF9OnThwULFnDeeedhGAYbN25k4MCBbNmyhcGDBzNkyBAWL17Mzp07KSwsbLBNr9fbJH7YIU5ILiH1sIpk1cMcsR3PXKKysjK83XTLJVqKEV6vt8Go1kTc2CXasbExc50tW7agaRqFhYX06NGD7777jtraWrxeLx9//DEnn3xyzOOgmUf8/ve/R9M0lixZwhVXXEEgEIh5DI08tp9yyinMmTOHiRMnsnLlyqjH9kTmDI1zI3MbQMwcp6KigiOOOAJd13nzzTcbvP6CCy7g9ddfZ926dTzxxBPh5ZdeeinXXHMNQ4cOpaCgoEk5GueGkcsjvyszl8nPzycvL4/Vq1czZMiQ8LzYjT8H8zWR29U0jVNPPZVrr72W66+/npKSEsrLy6mtreXEE09k8uTJbN68maOOOor6+nr27NnDMccc0+Szavz9RosPJ598MgsWLOD3v/89H330EZWVlS3+X5p0XQ/HhbbGunSIE9HIsctapB5tY16dFq+OTggO7DK3l4hcoiOXsY8EtqmqehBAUZR3gFOBIkVR3KHRnb2BPaH1fwD6AD8oiuIGugBlEctNka8RolOTOTuDAkce2ba79gDk5ubHaoAEolyWHWnu3LlMnDixwbJzzz2Xd999t9lLgJpz66238sADDzBy5EgMw6B37968/PLLXHXVVdx+++2MHDmSgQMHcuKJJ7Z6m8cffzzjx4/n/yn5xgAAIABJREFUvPPOA4I3KBo0aFCTy727devGo48+yvXXX4+u65SUlPDGG2/ELNO8efN45513cLvdHH744dx2220Ntvezn/2MQYMGceaZZ9K3b9/wZVjNue2225g4cSJjxoxh+PDh9OoVdQB/qyiKwuTJk8M3KHr++ef54x//SFVVFZqmcf3113Pccce1uJ0TTzyR0aNHM2rUKHr37s3gwYPDI5VmzpzJPffcw4wZMwgEAowbN65JJ2WkM888k2+++YaxY8eSkZHByJEjufvuu1u1nfXr13P//ffjdrvRdZ3LLrss/H+wefPm8P9cbm4uTz31VNRGdpcuXejfvz+bN2+O+j90xhlnsGHDBs4//3wyMzM588wzmTRpEjNmzOD+++/nqaeewu/386tf/YqBAwfy0EMPsW3bNgzD4Be/+EWzdRdCWJvkEokVOProuI6abSlHgR/n7ITgceDJJ5/E5XLRq1cvLrjgAkaOHMlRRx0Vvnw6luOPP54LLrggPP3NsGHD2lTW22+/nQkTJjBv3jyGDx9O9+7dycvLa7BOqnKGWDnO1VdfzQ033MB7773HaaedRm5ubvg1I0aM4JZbbmH0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7woOAw/8/1Vgdbv3r7XttmV/LMvaZVmW17IsH/C/NHwmYPN+GGNyaQgof7Ysa0VgcVZ8JgmWcX1UnLBffzIxTihGtFjG9VExwn79ycQYAYoTrZBxfVScsF9/MjFOKEa0WMb1UTHCfv3JxBgB6Y8T2Tob+yvAIGPMEcAXNNy09fz0Nik6Y0xnIMeyrMrAzxOA3wArgZnAHYH//xp4ykoahjE/QcONWiuCQ4FtolXtNsasAW4PG449AbghxW1uxhjzzbD39bvAO4GfVwL/Z4xZAPSm4Sa6L9Nw1iGt3zvTMIvZH4DNlmUtCHsoKz6TBFOcSK+s+E5mWpxQjGgVxYj0yorvZKbFiECbFSdaTnEivbLiO5lpcUIxolUUI9IrK76TmRYjAm1Oe5zIymKnZVkeY8xlwBrACSy2LOvdNDcrlkOBp40x0PCZ/J9lWc8aY14BLGPMRcBWYFpg/b8Dp9NwA9pq4MLUN7mBMeZx4DSgxBiznYaZsu6gFe22LGuvMeY2Gv4YAPzGsqyW3pQ3IaL04zRjzPE0DJPeAswOtPddY4wFvEfDLGOXWpblDWwn3d+7McB04G1jzJuBZTeSgZ9JsilOpI7ihK3ihGJECylGpI5ihK1iBChOtJjiROooTtgqTihGtJBiROooRtgqRoAN4oTD77fDLQhERERERERERERE2idb79kpIiIiIiIiIiIiHYyKnSIiIiIiIiIiIpIVVOwUERERERERERGRrKBip4iIiIiIiIiIiGQFFTtFREREREREREQkK6jYKSIiIiIiIiIiIllBxU4RERERERERERHJCip2ioiIiIiIiIiISFZQsVNERERERERERESygoqdIiIiIiIiIiIikhVU7BQREREREREREZGsoGKniIiIiIiIiIiIZAUVO0VERERERERERCQrqNgpIiIiIiIiIiIiWUHFThEREREREREREckKKnaKiIiIiIiIiIhIVlCxU0RERERERERERLKCip0iIiIiIiIiIiKSFVTsFBERERERERERkaygYqeIiIiIiIiIiIhkBRU7RUREREREREREJCu40t2AdvCnuwEiHZAj3Q1oBcUIkfRQnBCRWBQjRCQexQkRiSVujMjkYic7duyIu05JSQm7d+9OQWuSS/2wl47Yj969eye5NYmnGJF51A97aW0/FCfsTf2wl47YD8UIe1M/7KWj9kNx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WaFt5eTkkJOT02i7TqeTjz/+mPvvv59Vq1bRs2dP9u3bh8vl4qSTTmLy5Mk4HA4ee+wxHnroIW699VZmzpxJ586d+elPfwo0HCAFt3vFFVdw++23c9JJJ3HnnXdyzz33MGfOHBwOBz6fjzVr1rB27VoWLlzIU0891ag/nTt35tFHH6VLly7s2bOH008/ndNPPx2n08lnn33Gww8/zMKFC7n44otZs2YN5557LldddVXo9W699VaAqDNWNn0/r7vuOu666y4GDBjAa6+9xo033siKFSui9jsnJ4e3336blStXUlhYyBNPPMG7777LunXryMvLY8yYMVx88cX06dMHh8OB0+mM2/b58+czcuRIbrvttohtzM/Px+VyNfv+ZaJs6UdQpsWI/v3786c//Qmn0xl6rtPpDO27OTk5HDhwgKeffppnn32WCy64gFWrVnHUUUcxceJE3n//fY455pjQtl0uFz/5yU9Co7YuvfRSnn/+eSZOnBh1f//zn/9Mp06dePHFF3n33XcpKyvD6XQ264fD4eBnP/sZeXl5fPbZZ9x2223k5+cDDYWNo48+mhtuuAG3283//M//8NRTT3HkkUdy2WWX8dhjjzF79uyobYsWMx577DG2b9/OunXrcLlcoTgYbTu/+93veOWVV8jPz6eiooJu3brFjI3R3pPgwdOLL77I5s2bGTduXMT3JD8/P+r+ky37Vrb0I1wmxAn479/Kd955h/Xr19OrVy/OOOMMXn/9dYYNGxY1rwjGkOLiYoYOHcrLL7/MySefzLp16zjttNMoLCwkJycHp9MZKma0Jj9xuVzce++99OjRg5qaGiZOnMhZZ51FcXFx6O/s+vXr+eY3v8njjz8OwIEDB1q1/7TkvcmG76X6YU+ZFCPCRcuVR40axeuvv07fvn05/PDDeeWVV/jBD37AG2+8wd13391sO4nO+wE+/PBDjj/++Ij9cjqdvP7667zwwgv06NGDrVu3hrbhdDr54IMPWLduHW63m9GjR3PzzTfz/PPPc/PNN7NixQpmz57d7PjhuuuuY8WKFc1eqz1xJx2yZd/Kln6EixcnIsmW90H9sBf1I8Y2W/sEY0wn4JdApGukIv2197dheUSWZT0CPBJcb/fu3Y0er62tbXT5ZKIuJwnfnsfjiblOQUEBzz33XKNl77zzDv369aN///54vV6++93v8thj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WbOGOXPmNGrTPffcE5qgqH///ixYsKDF/fne977HzJkzmTx5MkOHDmXgwIFxn7NgwYLQjcpPO+20qOt98sknjBgxIvT7r3/9axYtWsQNN9zAvffeG7qUfOjQoVH7nWh333031157LYWFhZx00kl06dIlKa8jkgzdunXj/PPPZ/z48fTt27dFE+rMmDGDq666ivHjx3P00Udz/PHHR133sssuo6CggLq6OowxHHfccc3WKSgoYMGCBcyePTs0QdH06dPJz8+P2rbwmDF27NjQ8vPPP59PP/2U8ePH43K5+OEPf8iFF14YcTter5ef/exnVFZW4vf7ufjii+nWrVvM2BjNzJkz+fnPf8748eMZOnQoQ4YMUSwQWykoKIiaVzR11llnMXv27Gb35I63nWj5yWmnncbSpUsZP348AwYM4IQTTmi23ffffz90b/Dc3FzmzZuXwN6LSE1NTaMcetasWTFz5eHDh4dGao8aNYp58+YxcuTIZts955xz+NGPfpTwvL+wsJBHH32UW265hVtuuYXc3FyGDBnCb37zm1b2PLKmxw/f/e53GTx4cEK2LSIimcmRwZfr+XfsaHzFe3V1daPLILpdcw25n32WsEsSPQMGUHHXXQnZVmsF78eX6ezej+BIMGhInL766qtmiVh1dTX9+/fvqPfGSOxd+JNLMSID2aEfXq+X+vp6CgoK2LJlC+eddx7//Oc/G11KB82/T+E64v1zQHGiJRQnGsTaf+LpqPuXXSmXUIywm2j9aE/cSYeOGCMgO+JEJB3187Qr9cNekpFLtGk29kxRcdddWfNHW1Jj7dq1LFq0CK/XS58+fbjnnnvS3SRJIsUIiaSmpoZp06ZRX18PwLx585oVOqXjUJwQkVgUI0REROwnq4udIq01depUpk6dmu5miEgaFRUVhWaaFhERERERkczSltnYRURERERERERERGxHxU6RLFVfX4/b7U53M0TEpvx+P9XV1Xi93nQ3RURsyuPxUFNTk+5miIhNKZcQkXg8Hg/V1dUpf10VO0WykN/vp7Kykurq6tDsmyIi4Wpra3G73Rw8eDDdTRERmzpw4AA1NTUqZIhIRHV1dbjdbiorK9PdFBGxqQMHDuB2u1N+b2sVO0WyUHiBMzjJiohIuGDxQkUMEYkkPJeora1NY0tExK6COYQGV4hIJH6/P/RzqnMJTVCUQHv3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PB4PDz/8MAMHDmTv3r1ceuml7Nmzh+OPP75FOfro0aNZvHhxo88J4G9/+xtr167lnnvuCb3Xf/jDH/j666+55ZZbKCsra7SdJ598kk2bNjF37lxWrVrFwoULycnJoUuXLixbtgyAXbt2MWPGDD7//HMmTpzIjTfeCMCYMWNYtWoVVVVVzJw5k5EjR/Laa6/Rq1cvfv/731NQUMBbb73FtddeS6dOnRg1ahQvvPACzz//fNz+tUab79lpjOkDXA6caFnWMYAT+D5wJ7DQsqxBwD4aipgE/t9nWdZAYGFgPYwxRweeNxSYBDxgjEnfKQERG0lG4qFkRiS7aJ8WkViScQJDcUcku+jEaeY644wzGDZsGIsWLaK8vByXy8VNN93EI488wrPPPst5553HnXfeGVr/wIEDLF++nEsuuYRRo0axatUqnnvuOaZOncoDDzxAv379mD59OhdffDHl5eWUlpbGfP0333yT6667jhdffJGPPvqIlStX8pe//IXy8nKcTicrVqxoUT/cbjdXXnklDz74IOvWrcPj8bBkyZK4z9u0aROLFy/md7/7HQDvvvtuaBsrV67kiy++AOC6665j9erVrF27lpdeeol333036jZfeOEFevXqxdq1a3n++ef5zne+E3qsd+/erFq1ilGjRnHllVfyyCOPsGrVKu6+++64bW3ahvfeey/0WHFxMWvWrGH69Ok89NBDACxcuJBRo0bx3HPPMWHChFBfYlm7di1HHXVU3PW2b9/O8uXLWbJkCddffz1utzvquvfccw+PPfYYzz77LL///e9Dy9977z0WLVrEmjVr+Nvf/saOHTuaPXfLli3MmDGDtWvX0rVrV/7+978D8Itf/IJ58+axatWqpI0Ibu8ERS6g0BjjAjoBO4GxwFOBxx8Fzg78PDXwO4HHxxljHIHlT1iWVWtZ1mfAx8CodrZLJCsk42BCyYdIdknGiC0RyR7J2KcVJ0Syi05gZI9PPvmEDz74gO9///uUlZVx3333sXPnztDjZ511VujnnTt3cv755zNu3DgefPBBPvzww1a/3vHHH0///v0B+Ne//sXbb7/N6aefTllZGf/617/YunVri9vdv39/jjzySACmTZvGxo0b4z5vwoQJFBYWhn4/+eST6dq1KwUFBXzrW98KFQhXrVrFxIkTmThxIh988EHMvh511FH885//ZO7c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DcOA+Gdyn2maiwzDeBkwDcM4A1gDnJhY/2/ATOID0LYD3yp8keMMw/gLcCTQYBjGOuIzZf2KPpTbNM1GwzCuJP5lAHCFaZrZDsqbE93U40jDMA4k3k16NfCdRHnfMQzDBN4lPsvYd03TjCW2U+z97jDgNOAtwzBeTyz7KS78TPJNcaJwFCccFScUI7KkGFE4ihGOihGgOJE1xYnCUZxwVJxQjMiSYkThKEY4KkaAA+KEx7adMASBiIiIiIiIiIiIyMCU6pidIiIiIiIiIiIiMsiosVNERERERERERERKgho7RUREREREREREpCSosVNERERERERERERKgho7RUREREREREREpCSosVNERERERERERERKgho7RUREREREREREpCSosVNERERERERERERKgho7RUREREREREREpCSosVNERERERERERERKgho7RUREREREREREpCSosVNERERERERERERKgho7RUREREREREREpCSosVNERERERERERERKgho7RUREREREREREpCSosVNERERERERERERKgho7RUREREREREREpCSosVNERERERERERERKgho7RUREREREREREpCSosVNERERERERERERKgr/YBRgAu9gFEBmEPMUuQB8oRogUh+KEiPREMUJEeqM4ISI96TVGuLmxk/Xr1/e6TkNDA1u3bi1AafJL9XCWwViPUaNG5bk0uacY4T6qh7P0tR6KE86mejjLYKyHYoSzqR7OMljroTjhbKqHswzGemQbI3Qbu4iIiIiIiIiIiJQENXaKiIiIiIiIiIhISVBjp4iIiIiIiIiIiJQEV4/Z2Zlt2wSDQSzLwuOJj1e6adMmQqFQkUs2cKqHs+SqHrZt4/V6qaysTO2zkj+KEf2nfVUGi8EaJ3SMi4iI5MZgzSXcJJ/1UE7lDCXV2BkMBikrK8Pv/7Rafr8fn89XxFLlhurhLLmsRzQaJRgMUlVVlZPtSfcUIwZG+6oMBoM5TugYFxERGbjBnEu4Rb7roZyq+ErqNnbLsjoEFBE38Pv9WJZV7GIMCooRA6N9VQaDwRwndIyLiIgM3GDOJSROOVXxlVRjp7oIi1tp3y0Mvc8Dp/dQSt1g38cHe/1FREQGSt+lAtoPiq2kGjtFRERERERERERk8Oq1b7VhGLcDXwM2m6Z5QKfHfghcC3zGNM2thmF4gPnATKAd+KZpmv9JrDsX+L/EU68yTfOuxPKDgTuBKuBvwLmmado5qBv1F11E2UcfYds52RzRvfai6dpre1xn9OjRHH/88dx0003x50SjHHTQQRx00EHcfffdOSlH0rZt25g7dy7hcJgrr7ySCRMmZP3ct99+m02bNjFlypQ+v+5pp53G7373O+rr6/v83Fxau3Ytc+fO5dlnn81qeU8eeOAB3nzzTX7xi1/0uRw33ngjP/jBD/r8PCk+N8eIOXPmcMkll/A///M/nHbaadxyyy3U1NRkXPfuu++mqqqKE088MfvKiAjg7jiR9MMf/pB58+Yxbty4fpVZRERE+q8YucSuu+7KvvvuSywWY9ddd+XGG2/s9fx97Nix/Pe//2Xjxo1ccskl/PGPf+xxfae0C1x33XXU1NRw9tlnd1l+3333MXz4cEKhEIceeihXX301Xm/3ff7St3XttdcyYcIEvvrVr3a7/qpVqzjnnHPweDwsWLCAPfbYI1fVkgHKZiCJO4HfAR2ya8MwdgWmAWvSFh8NjE38TAD+AEwwDGM4cCnwRcAGXjUM4wnTNLcn1pkHvEC8sXMGsLD/VfqU/8MPKX/hhVxsKmvV1dW89957BAIBqqqqWLZsGTvvvHNeXutf//oXe++9N/Pnz+/zc9955x3efPPNPjV22raNbdvcc889fX69UnbTTTdlbOxMvl89BVMprlKJEffccw9+v59oNJrx8dNPP31A2xcZzEohTvzmN7/JYelERESkL4qRS1RWVrJkyRIAzj33XO68807OPffcrJ67884799rQCbiiXeCss87i7LPPxrIsjj/+eJ5//nkOO+ywrJ570UUX9brOokWLOOqoo/jhD3840KJKjvXaCmOa5jKgMcND1wM/It54mTQbuNs0Tds0zReAoYZh7AIcBSwxTbMx0cC5BJiReKzONM3nE7057waOG1iVim/SpEk888wzADz22GMcd9ynVXrttdc49thjmT59OsceeyyrVq0C4j0LzzzzTE499VQOO+wwrrrqqtRzxo4dm/r7ySef5LzzzuPtt9/mqquu4tlnn2XatGkEAgF+8pOfcPTRRzNp0qQOJzavv/46xx57LFOnTmXWrFk0Nzfzm9/8hieeeIJp06bx+OOPc91113HLLbeknjN58mTWrl3L2rVrOeKII7j44os56qijWL9+PRMmTKCxsTH12EUXXcSkSZM4+eSTCQQCqdecOnUqxxxzDFdeeSWTJ0/u8j61tbVhGAZHHXUUU6ZMYfHixQA9bvfNN99MbffOO+/s9bPo6X194IEHOPzwwznhhBN45ZVXUsvPO+88nnzyyS7v/6ZNmzj++OOZNm0aX/3qV3nxxRe5+uqrCQaDTJs2je9973td3q8bbriBSy+9NLWte++9l8suu6zXcktp6ylGtLe3c8EFFzBz5kymT5+eOi4CgQDnnHMOU6dO5eyzzyYYDKaeM2HCBLZt2wbAgw8+yNSpU5k6dSrf//73AToc33PmzOEXv/gFs2bN4vDDD+fFF18EIBaLceWVVzJz5kymTp3qiuRFpJT1FCe6+85ub2/ntNNOY+rUqUyePJnHH38ciB/3b7zxBgDPPfccRx11FFOnTsUwjALWSERERIrh4IMPZuPGjan///CHP6Ry/kwXRNeuXZs6fw8EAnznO99JnYPMmDEjlVMk2wUAbr31ViZPnszkyZNTDaU9ndene/rpp/na177G9OnTOemkk9iyZQsQz3cuuOAC5syZw5e//GVuu+221HPmz5/PV77yFU466SQ++OCDXt+DcDhMKBRK9UJdvXo1p556KjNmzODrX/96ql0mXXq7wJtvvskJJ5zAjBkzOOWUU9i0aRPPPPMMf/rTn/jLX/7CnDlzei2DFFa/pggzDONY4BPTNN/olCiPBtam/b8usayn5esyLO/udecBFwFDTdOkoaGhw+ObNm3qMOtZrgeE9Xg8Wc2qdvzxx/Pb3/6WGTNmsHLlSk499VReeukl/H4/++67L0888QR+v59//OMfXHPNNdx+++34fD7eeecdnnnmGcrLyznssMM466yzGD3607fD7/fj8/nwer0ceOCB/PjHP+aNN97gl7/8JQA/+9nPGDZsGLFYjDlz5vDee+8xduxYzjnnHBYsWMBBBx1ES0sLVVVVXZ577bXX4vV6O9TP5/MB8MEHHzB//nyuTXSV93g8+Hw+fD4fH330EbfeeivXX389Z511FosXL2bOnDlccMEFXHfddXzpS1/iyiuvTJU//XdNTQ133XUXQ4YMYdu2bcycOZOZM2f2ut2rr76aQw89lMsvv7zD9jqXO/l+ZXpf/X4/1113HU8//TR1dXUcf/zxjB8/Hr/fj9frxefzddiu3+/niSeeYNKkSZx//vnEYjECgQCHHXYYd9xxB8899xwAa9as6fB+tbW1MWnSJC677DLKysowTZNrr722S5krKiq67M+F4Pf7i/K6+VIKMeKmm27iq1/9KjfeeCNNTU3MmDGDI488knvvvZfq6mqWLl3KO++8w7Rp01L7abIeq1at4qabbuKvf/0rI0aMYPv27al9Onl8ezweLMti8eLF/P3vf+f666/noYce4r777qO+vp6nn36aUCjEMcccw+TJk9l99907lD3f+2qp7JOqh3OVQpxIP6aTfD4fy5YtY5ddduEvf/kLAM3Nzanj3ufzsXXrVn70ox/x2GOPsfvuu6diRLpifR/1Ransl6qHM/UWIzIplfdA9XAW1cO53JJL+P1+YrEYy5cv55RTTsHv97N06VJWr17N4sWLsW2b0047jZdffpkvf/nLqeekn0/fc889DBs2jKVLl7JixQqmTJnS4Rwkeb5tmiYLF8Zv0D366KM5/PDDqa+v7/a8Pt2hhx7K0Ucfjcfj4c9//jO33HILl19+OV6vlw8++IBHHnmE1tZWDjvsML797W/z7rvv8sQTT/DMM88Qi8WYOnUqBx54YJf3xOv18sc//pFHHnmEdevWMXnyZA488EAALrzwQq699lr22msvXn31VX7605/yyCOPdMixku0Ctm1zySWXcNddd9HQ0MBjjz3GNddcw/z583nzzTepqanh//2//9fl/S9ETlUqx1c+6tHnxk7DMKqBnwHTMzyc6Si2+7E8I9M0FwALkutt3bq1w+OhUCh1YAI5GxMjfXvd3Saabp999mHNmjU8/PDDTJo0iVgslnpuY2MjP//5z/noo4/weDxEIhGi0SixWIzDDz+c6upqIN6b8OOPP2bkyJGp7SbXsyyry98Ajz76KPfeey+xWIxNmzaxcuVKLMtip512Yvz48USjUaqqqgC6PNeyrA7/J9cBGDNmDAceeGDqMdu2icViqfE/9t13X6LRKAcccACrV69m27ZttLa2ctBBBxGNRpk9ezZLliwhGo12uNU2Eolw1VVX8eKLL+LxeNi4cSMbNmzodruNjY00NTVxyCGHEI1G+frXv84zzzzT5TNJlrun97WxsZGJEycydOhQAI455hg+/PBDotEolmURi8U6bDcajTJ+/HguvPBCwuEws2bNSpUv+XjytdPfr4qKCg477DAWLVrE2LFjiUQifO5zn+tS5lAoROf9uRAaGhqyft1Ro0bluTQDVwoxYunSpSxevJibb74ZgGAwyJo1a1i+fDnf/va3iUaj7LPPPuy3336p/TRZj2XLljFz5kzq6+uJRqMMGTIktU8nj2/btpkxYwbRaJT999+ftWvXEo1Gee6551ixYgV//etfAWhpaWHVqlUdLrhA/vfVvuyTTjZY66E40btcxInuvrPHjh3LZZddxuWXX87UqVOZMGFC6riPxWK8+uqrTJgwgdGjR3eIEemK9X3UF4P1+HKqwZZLZDIYP0snUz2cRblEcXKJYDDIpEmTWLduHePHj+ewww4jGo3y7LPPsnTp0lTPzfb2dlatWsWXvvQl4NNz6OTfL7zwAmeccQbRaJSxY8cybty4DucgsViM559/nhkzZlBRUQHAjBkzWL58OdOnT894Xt+57GvXruWss85i8+bNhMNhdtttt1S+M3nyZHw+H/X19YwYMYINGzawfPlyZsyYQXl5OQDTpk3rkhdBvI0jeRt7JBJh3rx5PPzww0ydOpVXXnmFM844I7VuOBzukmMl2wXee+89Vq5cmZr/INnG0l1OllSInGowxolsY0R/enbuDewJJHt1jgH+YxjGIcR7Zu6atu4YYH1i+ZGdli9NLB+TYX3Xmz59OldccQUPPfQQ27dvTy2/9tprOfTQQ7nttttYu3Zth6sayYMV4lchkgdM+pWgUCiU8fXWrFnDrbfeylNPPcXQoUM577zzCAaD2Lad1ZUkn8+HZVkZXyfZUJhJMqAlt5F8zWw88sgjbNu2jYULF1JWVsaECRNSr9vddvtzVSyb9zWd3+9PvRe2bROJRACYOHEiDz/8MM888wzf/e53OfvsszNO+NL5/Tr55JO56aab+OxnP6tbBiWluxhh2zYLFizgs5/9bJfn9Lb/Z3uMJI8Jn8/X4Yv5qquu4sgjj8yyBiKSb93Fie6+s/fee28WLlzIs88+yy9/+UuOOOIIzj///NR6/f0eFREREXdJjtnZ3NzM3LlzufPOOznjjDOwbZvvfe97nHbaaVltJ5tz+57WyXRe39kll1zCvHnzmD59OsuXL+e3v/1tt89PNsT2NZ8pKyvjyCOP5IUXXmDy5MnU1dWlxjTtjW3bfO5zn0t1ChF36PPMKaZpvmWa5k6mae5hmuYexBssv2Ca5kbgCeB0wzA8hmFMBJpM09wALAamG4YxzDCMYcR7hS5OPNZiGMbExEzupwOP56huRXXSSSdx/vnns99++3VY3tLSkppkwDTNrLb1mc98hvfffx/Lsli0aFHGdZK3p9fV1bFly5bUbdWf/exn2bRpE6+//joAra2tRKNRamtraW1tTT1/11135a233gLgrbfeYs2aNV1fJEtDhw6ltraWV199FSA1ZlimMjc0NFBWVsa///1v1q1bl3G9pPr6eurq6njppZeAeE/W/jrooIN4/vnnaWxsJBKJdBijc8yYMan3YvHixanGznXr1tHQ0MCpp57KKaecklqnrKwstU4mX/jCF1i/fj2PPvpohzHXZHDrLkYcccQR3HHHHamk4e233wbiY+Ik9/mVK1eyYsWKLts8/PDD+etf/5oaOye9caQ3RxxxBHfffXdqX/7ggw9ob2/ve8VEJGe6ixPdfWdv3LiRqqoqTjjhBM4+++zUOklf/OIXef7551Pr9yVGiIiIiPvU1dVx5ZVXcssttxCJRDjyyCN54IEHaGtrA2DDhg099qg75JBDUo1877//fsZzkIkTJ7J48WICgQDt7e0sWrSICRMmZF3G5ubmVBvJgw8+2Ov6EydOZNGiRQQCAVpbW7NqtLRtm1deeYXdd9+dIUOGsNtuu6XqZds277zzTrfP3XvvvWlsbEzN8xGJRHjvvfeyqZoUUa89Ow3D+AvxXpkNhmGsAy41TfO2blb/GzATWAW0A98CME2z0TCMK4GXE+tdYZpmctKjc4jP+F5FfBb2nMzEDhDday88Hk/Ouo1H99or63VHjRrFmWee2WX5Oeecw3nnnceCBQuyngXs4osv5n//938ZNWoU++yzTyowpdt///054IADmDRpErvttluqG3p5eTl/+MMf+L//+z+CwSCVlZU88MADHHroodx8882piXVmzpzJQw89xLRp0zjwwAPZqw91zeQ3v/kNP/rRj6iqquLQQw9lyJAhXdY5/vjjmTt3LkcffTT7779/xp5snf32t7/lggsuoKqqakA90EaOHMmFF17Isccey8iRIxk/fnzqKtGpp57Kt771rdQELsmemsuXL+eWW27B7/dTW1vLDTfckFp/6tSpjB8/nh//+McZX++YY47hnXfeSd02L87gxBhx3nnncemllzJ16lRs22bMmDHcfffdnH766VxwwQVMnTqVcePGpcabSbfPPvvwgx/8gDlz5uD1ejnggANS+2lvTjnlFNauXcuMGTOwbZvhw4dz++23Z10fkVLlxDjR3Xf2ypUrueqqq/B4PJSVlaXG5U5qaGjgmmuu4cwzz8SyLBoaGrj//vsHViERERHpUTFzCYADDjiAcePG8fjjjzNnzhz++9//cuyxxwLxuxJvuummbsdLnDt3Lueeey5Tp05l//33Z9y4cV3O7cePH8+JJ57IrFmzgPidjQcccABr167NtMkuLrzwQr7zne+w884784UvfKHX540fP55jjjmG6dOnM2bMmB4bVv/4xz/y8MMPE41G2W+//Zg7dy4Av//97/nRj37E/PnzU0Pv7b///hm3UV5ezq233srPf/5zmpubicVinHnmmeyzzz5Z1U+Kw5Pr8SMKyF6/vuMd7+3t7V1uIU4fI9LN3FaPtrY2ampqAPjd737H5s2bueKKK1xXj+70tR6nn346Z511Fl/5ylcyPp5p3y2EfoyN4ab7HxUj8iDf++pgHHfGyfo5zpbihENlU49ifR/1xWA9vpxqsOUSmQzGz9LJVA9nUS4R59ZcIhaLEYlEqKysZPXq1XzjG99g2bJlHYaKc6NCfB6FyKkGY5zINkb0azZ2kd78/e9/53e/+x2xWIzRo0dn3bus1DQ1NTFr1izGjRvXbUOniIiIiIiIiNMEAgFOPPHE1FBXv/71r13f0CmDgxo7JS9mz57N7Nmzi12Moquvr+df//pXsYshIiIiIiIi0ie1tbUsXPjpSINu7aEqg0+fJygSERERERERERERcSI1doqUqHA4TCAQKHYxRMShbNumtbU1NTmbiEhnkUiE9vb2YhdDRBzKtm3a2trU009EuhWNRmlra8vZBF3ZUmOnSAlKNmIEAgE1ZIhIRqFQiHA4TGtra7GLIiIOZNs2LS0tBINBNWSISEbhcJhQKKRcQkS61dzcTCgUSo37Wihq7BQpQZZlpf4udFAREXdIXgjRBRERySS9B0Y4HC5iSUTEqZI5RPq5h4hIUnouUeh2iZKeoKi1tRXLsnLWXdbn81FbW9vt442NjZx00kkAbNmyBZ/Px/DhwwF46qmnusxatn37dv76179y+umn9/i60WiU/fbbjxUrVgywBjJYpCccasjonmKEDGaKDdlRnJDBSrmEiPRGsSE7yiVksErPJQp9l0hJN3bGYrGCBuDhw4ezZMkSAK677jpqamo4++yzu11/x44d3HPPPb0GFZG+Sg8kSkK6pxghg5Vt2x32fdu28Xg8RSyRcylOyGCVnkuo15aIdNY5l7AsC69XN45molxCBqvO5xuFpGhUIL///e+ZPHkykydP5vbbbwfg6quv5sMPP2TatGlcffXVtLS0cOKJJ3LUUUcxderUVIAS6av0LuI6QXEHxQgppFgs1iHhUJxwB8UJKaT0XKLQJygi4nyWZakHuAspl5BCKmYuUdI9O53itdde45FHHuGpp54iFosxa9YsJk6cyE9/+lNWr16dCh6RSIQ77riD2tpatm7dyuzZs5k2bVqRSy9upJMSd1GMkELr3LhpWRY+n69IpZFsKE5IoaXnEsorRKSzTLmEOJtyCSm0YsYFNXYWwIsvvsisWbOoqqoCYMaMGbz00kscccQRHdazbZtf/OIXvPzyy3g8HjZs2EBjYyN1dXXFKLY4XCgUwuPxdBlzBToGFZ2gOJ9ihOSDbdsEAgGqqqq63KLeOS5Eo1HKysoKWTzpI8UJyYfkxEOZcgk1dopIMpeorKzscot657ignp3Op1xC8iESiWBZFhUVFV0eK2YuocZOB3nooYdoaWlh0aJF+P1+Dj74YILBoIKKdGFZFm1tbQBUVlZSXl6O3x8/nG3b1glKiVKMkL5oa2sjHA4TDAapra2lrKws1ejZOS6oN0bpUJyQbNm2TWtrKwAVFRVUVFSkcglQXBARaG9vJxQKZZVLqLGzdCiXkGzZtk1LSwsQb/SsqKjo0IHCsiw8Hk9R2iQ0ZmcBTJgwgYULFxIIBGhra2Px4sVMmDCB2traVIMVQHNzMyNGjMDv97Ns2TI2btxYxFKLkwWDwQ5/Nzc3p/5PBhJNNuIeihGSa7Ztp3psQXwW0Pb29tT/nU9I1KjhfIoTkmuhUKjD383NzakcInnhVLmEyOBl23aHONHa2trh+6ZzLqEOFs6nXEJyLf18IxwO09LS0iGXsCyraB2xSrpnp8/ny2krcn/HMzvooIM47rjjmDVrFgCnn346++23HwCf//znmTJlClOmTGHevHl885vf5Oijj2b8+PHsueeeOSm3lJ70GVKTgsEglZWVqceUcPROMUJKVabeFaFQiOrqajweD7FYrMO+r8bO7ilOSKlKnzQgKRgMUlVVlTGX0EzLIoNLptwgHA6nLoSosTN7yiWkVGVql2hvb6empiYVI9L3/UJeSPW4OCjZ69ev77Cgvb2d6urqDsv8fn/GD8BtVA9nyXU9Mu273bFtmx07dmT8shw+fDiBQIBAINBh+dChQzOeoDQ0NLB169asXnfUqFEAburioRiRB33ZV/ujL/ukkxW7HsFgsENPzqS6ujp8Ph/bt2/vkHh4vV6GDh3aZf2+1kNxwtmyqUe+j/FcKPbxlSvFrkcyl+icTwwfPjxjDFEu0b1if5a5ono4S7HrAWdwBQAAIABJREFUEQqFOvT2S6qtraW8vJzt27cDKJdQLuFKhahHIXKqYseJpqamLr03IZ5LZIohdXV1HYbMScpHLqHLsyIuk+nEJP2xTEFbvbZEBpfuxs0KBoOKByKS8day9Mcy5RIaj09kcOnumA+FQhnjh4s7UYlIP9i2TSwWy3jsW5ZV9Fyi19vYDcO4HfgasNk0zQMSy64FjgHCwAfAt0zT3JF47GLgDCAG/MA0zcWJ5TOA+YAP+JNpmr9KLN8TuB8YDvwHOM00zU9v/BeRDnq6AhWJRLrcngpq7BQZbLpLJCKRSGrQcE1kJjJ49XSyEQ6HlUuISI+5hIbNEpGe8oJQKJQxlyhkY2c2PTvvBGZ0WrYEOMA0zc8D7wMXAxiGMQ74BrB/4jm/NwzDZxiGD7gZOBoYB5ycWBfg18D1pmmOBbYTbyjtFwVbcau+7Ls9BYjuem3pBCVOMWLg9B66QzK56Ky7Hlv6XD812N+LwV7/waKnC6fBYDBjTw317BQZXLrLJSDzmL/6/viU3guB0t8PesoLko2dnRWyXaLXxk7TNJcBjZ2WPW2aZjJLegEYk/h7NnC/aZoh0zQ/AlYBhyR+Vpmm+WGi1+b9wGzDMDzAZOChxPPvAo7rd2W83pIYP0IGl2g02qcB/3sKEN1dZVVjZ5xixMD0dV+V4uhpqAvoOAOzdDWY44SO8cGjp7ygu5MX5RIig0dPQ12AconeDOZcQuIGQ07VU2NnMn4Uc7iLXMzG/m3ggcTfo4k3fiatSywDWNtp+QRgBLAjreE0ff0uDMOYB1wEDDVNk4aGhg6P27ZNY2Njh8DSU5B2E9XDWXJZj7KyMkaOHJn1rGThcDg1E2K2ysvLuxwvEB+YOdNyt1KMyG89+rqv9kep7JPFrEckEklNGtCdTDOCDoYYAYoTPdWjEMd4LpTKflnMemzatIlgMNin55SVlQ2KONFbjMikVN4D1cNZilmPWCzWZTLDbAyGGAHKJVSP3hUqpyrm8bVly5YuEyP3xufzFSxODKix0zCMnwFR4N7EokyfpE3mHqR2D+tnZJrmAmBBcr3uZmvy+Xypv4s9O1WuqB7Okst62LbNtm3bsl4/GAz2OTAHAoGM5e3HrGeOphiR33r0dV/tD30eA5fNOFqZHhtojADFCafrrR6FOMZzYbB8HvnUeab1bASDQeUS3dA+6Syqx8Ale2z19Zxj8+bNXXqzKZeI037pLPmuR6FyqmJ+Hp1nWs9GOBwuWC7R7361hmHMJT5x0ammaSaj4Dpg17TVxgDre1i+FRhqGIa/03IR6UZ/biPTrWf/n707j5Ojqvf//+plerbMZJJMQhYCYRcB2byE5aoIhB2DP6HEhe1yASV4RRAEvVy47CqI8EUQkADJZUkFBIGEYFhFhICsAjEhCSEbWSaZvae3qvr9Md3tTDLT3TPTS1XP+/l45JGZ6urqc7qnTn/Op06dIzJ8DPZ8VzshMnwMZjRLOYzkEZHcDDYmUDshMny4/Xwf1MjO5MrqPwO+Zppmz0vDTwEPG4bxG2AisBvwJt0jOHdLrry+lu5FjL5rmqZjGMZLwCl0z+N5JvCnwVZGZDhQB0VEMlEHRUSy0cUNEclksDGBbdu9RjOKSPkaTCxRzP5G1pGdhmE8ArwO7GEYxhrDMM4B7gDqgIWGYbxnGMbvAUzT/AgwgY+BBcAM0zSt5JycFwLPAYu7dzU/Sr7Ez4CLDcNYRvccnvfltYYiZSTbwiMiIkPpoIjI8OD2DoqIlJbuEhGRbNx+vmcd2Wma5nf62NxvQtI0zeuB6/vYPh+Y38f2FXSv1i4iWQy2o6EOisjwoQ6KiGSimEBEslEsISKZDHYQlqtGdoqIeyiAEJFsNLJTRDLRVBciko1iCRHJxAsxgZKdIh6iDoqIZKPRGCKSiWICEclGfQ4RycQL57qSnSIe4oVGRURKSx0UEclEFzZEJBtdOBWRTLxwrivZKeIhXmhURKS0dOuZiGSic11EstE6ASKSyVBiiWLFIUp2iniIAggRyWSwk4Wnnisi5W8o57oSpSLDg+4SEZFMvBBLKNkp4iFeuIIiIqUzlMBDHRSR4UGxhIhkonhARLIZSjxQrDZGyU4RD/FCoyIipaNEhIhko4siIpKJ+hsiko1GdopIXnmhURGR0lEHRUSy0chOEclE57mIZOOFWELJThEP8UKjIiKlo4SliGSjWEJEMtHobxHJxguxhJKdIh4xlIVHQB0UkeFAIztFJBslMkQkE/UZRCQbL8QSSnaKeMRQGwUFLiLlT4kIEclEF05FJBvFEiKSjUZ2ikjeDLVRUOAiUv6UiBCRTHThVESy0XkuIpkMNZbQyE4R6UUdFBHJRue5iGSiC6ciko36HCKSiVdiCSU7RTzCK42KiJSOOigikoliCRHJZqjthGIJkfLmlXNcyU4Rj/DKcHERKR11UEQkE8UCIpKNLoqISCZeyUso2SniEUpCiEgmQ114JHUMESlfSmKISDa6S0REMvHKOR7MtoNhGDOBE4GNpmnundw2GpgDTAFWAoZpms2GYfiA24DjgTBwlmma7ySfcybw38nDXmea5oPJ7QcCDwDVwHzgx6ZpKpIS2Yo6KCKSST7Oca8ELyIyOIoFRCSTfFw4VSwhUt68Mrgil5GdDwDHbrXtcuAF0zR3A15I/g5wHLBb8t95wF2QTo5eBUwFDgKuMgxjVPI5dyX3TT1v69cSEdRBEZHM8tG5UAdFpLzpwqmIZKILpyKSjVfO8azJTtM0/wJs2WrzdODB5M8PAif32D7LNE3HNM03gAbDMCYAxwALTdPcYppmM7AQODb5WL1pmq8nR3PO6nEsEenBtm18Pt+gn68Oikh5y8c5rnZCpLzpHBeRTPKRxFA7I1LevHKOZ72NvR/bmab5OYBpmp8bhjEuuX0SsLrHfmuS2zJtX9PH9j4ZhnEecCnQYJomjY2NWQsaDAZz2s/tVA93KUU92tvbh3Rric/n26bM5fJ5pKiNUD3colRtRHt7+5COEQqFepW7XD6PntROqB5uUYp6dHZ24vf7h5TQUCyxrXJ5D1QPdylVG9HW1jakY2xd7nL5PHpSO6F6uEUp6tHV1eWJWGKwyc7+9DXszBnE9j6ZpnkPcE9qv6ampqwFamxsJJf93E71cJdS1CORSAzpKorjONuUeSD1mDhx4qBfu1jURqgeblGKekQikSEfo6urq1e5B1oPtRPupnq4SynqEY/HhzwiQ7HEtvQ36S6qx+BFo9G8HEOxxLb0d+kuqsfgxWKxIY8C37hxI37/v240L0QsMdjV2Dckb0En+f/G5PY1wOQe+20PrMuyffs+totID/mYLFxEypvm2RKRbGzb1uIjItIvTYkjItkMdXo9KE47Mdhk51PAmcmfzwT+1GP7GYZh+AzDOBhoTd7u/hxwtGEYo5ILEx0NPJd8rN0wjIOTK7mf0eNYIpKUr8ZAHRSR8qV5tkQkk3yd32onRMqX+goikklqEJYXLpxmvY3dMIxHgMOBRsMw1tC9qvpNgGkYxjnAKuDU5O7zgeOBZUAYOBvANM0thmFcC7yV3O8a0zRTix79kO4V36uBZ5P/RKSHfDUG6qCIlC+d3yKSSb5iCdu2CQQCeTmWiLiLRnaKSC58Pt+Qp9grtKzJTtM0v9PPQ0f2sa8DzOjnODOBmX1s/zuwd7ZyiAxnGo0hItloZKeIZKJYQkSy0fktIpmk+hteGNk52NvYRaSI8jkaQ0TKkzooIpKJYgkRyUYXTkUkEy/FEkp2iniAlxoVESmNfEwWLiLlS1PiiEg2iiVEJBMvxRJZb2MXkdLzUqMiIsWXj4nCU8cRkfKkC6cikonjODq/RSQjL+UlNLJTxAO81KiISPGpcyIi2WjOThHJROe2iGSTr3ZCt7GLCOCtRkVEik/ntohkowunIpKJYgkRycZLsYSSnSIekK/5c9RBESlP6qCISDa6jV1EMslnP0HthEh5UrJTRPImNX9OPhoEBR4i5UkdFBHJxksdFBEpvnx+/6udEClPXuonKNkp4nKpYEEjO0WkP14KPESk+PK1iJmIlC8lO0UkGy/N/61kp4jLpRoCBQ0i0p98dlCUOBUpP/mMIRSPiJQnxRIikknqwmk+BmEVQ7DUBRCRzHSVVUSyUQdFRDLReZ2bt99+2x8KhS4LBAJ7Av6RI0fS1dWV9XkbNmwgGo0WvoAFpnq4S7HrkUgk8pbEiEajJBIJoO96OI6D3++nqqrKM4kTkeEuFUt4JaegZKeIy6mDIiLZpBYxy0fw4ZUARkRyp1giN6FQ6LL6+nqjoqLCBqioqMgpERMMBgkEAgUvX6GpHu5S7HqkkpP54PP50mXvrx6JRIJIJEJ1dXXeXldECsdrg7B0G7uIy6mDIiKZpBYxyxfLsvJ2LBFxB691UEolEAjsmUp0ikhhBYNB9XNEPMRr56uSnSIupw6KiGSS7/Na7YRI+fFaB6WE1DeSYalU3/26hV3EO7wWS+gLXcTlvNaoiEhx5buNULJTpPwolhAREZGh8FosoTk7RVwun3PxiUj5SbUN+Woj1NaIlB/FEoMz4uKL8S9blnW/XN/bxM470/rrX2fcZ/LkyXzhC1/Asix23XVXbrvttoxzGu6222588sknrF+/niuvvJJ7772XDz/8kA0bNnDkkUcC8Oc//5mlS5dy4YUXZi1jrh5//HHuuusuLMsiEAiw3377ceWVVzJy5Mi8vUaprV69mr///e9885vfLPhrpT7HraX+HhKJBIFAgFNPPZVzzz0Xv9/P+++/z2OPPca1117b73FXr17NmWeeyYsvvljI4m9DbY1I+cl3LFHold2V7BRxOa9dQRGR4sp3G6E2R6T8FGIE+HC4/TSwfDmhN94o6mtWVVWxcOFCAC688EJmzZrF+eefn/V548eP59577wXgo48+4oMPPkgnO48++miOPvrovJXxpZde4t5772X27NlMmDABy7KYO3cumzZtKliyM5VULabVq1fzxBNPFCXZ2Z+efw9NTU3MmDGD9vZ2fvrTn7Lvvvuy77775uV1lJwUkWy8FksMKdlpGMZPgP8EHOAfwNnABOBRYDTwDnC6aZoxwzAqgVnAgcBm4Numaa5MHucK4BzAAv7LNM3nhlIukXLhOM6w6VCIyODoNnYRySS1iFk+YwnFJsVx0EEHsXjxYgDuvvtu5syZA8B3vvMdzj333F77pkbwLViwgJtvvplIJMKbb77JhRdeSCQS4YMPPuD6669n06ZNXH755Xz22WcA3Hjjjey1116cf/75rF+/Hsuy+PGPf8z06dP7Ldftt9/OlVdeyYQJEwAIBAKcdtpp6cdfffVVrr32WizLYt999+XGG2/ktddeY86cOdx9990A/O1vf+Puu+/mwQcf5JVXXuHmm28mFoux4447cuutt1JbW8vUqVM57bTTeOWVVzj77LOZPXs2+++/P3/7299obW3llltuYerUqcyZM4fnnnsOy7JYsmQJP/zhD4lEIjz++OOEQiFmz57NqFGjWLlyJb/4xS/YvHkz1dXV/PrXv2bXXXfloosuoq6ujvfff59Nmzbxi1/8ghNPPJEbbriBZcuWMW3aNE499VTOO++8ft+T//iP/2DdunVEo1HOOeccvv/97wPdIzbPOeccnn/+eaqqqrj//vsZO3Ysq1atYsaMGViWxeGHH57T30NjYyO/+tWvOP7447nkkkt4/fXX+f3vf8+sWbO45ZZbWLlyJevXr2fdunVccMEFfO973+v1/EgkwhVXXMEHH3xAIBDgqquu4rDDDmPOnDksWLAg/f6de+65xONx/vjHP1JZWckDDzxAQ0MDjzzyCA8//DDxeJwdd9yR3/72t1RXV6ffs1WrVgFw3XXX8fLLL9PY2Mh//ud/AnDTTTcxduxYzjnnnJzqKiLuU4gBFn5/4WbWHPSRDcOYBPwX8GXTNPcGAsBpwC+BW03T3A1opjuJSfL/ZtM0dwVuTe6HYRhfTD5vL+BY4E7DMIp72U7EpQoxwkqjtkTKi85pEcmkEBcw1O4UXiKR4KWXXuILX/gCH3zwAaZp8swzz/D000/z8MMP8+GHH/b5vFAoxE9/+lO+8Y1vsHDhwm2SlldeeSUHH3wwzz//PM899xx77LEHL730EuPHj+ell17ixRdf5Otf/3rGsi1dupR99tmnz8cikQg/+clPuOuuu3jhhRdIJBLMmjWLr371q7zzzjuEw2EAnnrqKb7xjW+wZcsWbrvttnTCct999+Wee+5JH6+yspInn3wyXY9EIsG8efP43//9X37zm9+k91uyZAm/+93vmDdvHjfeeCPV1dX8+c9/5sADD+Sxxx4D4LLLLuPaa69lwYIFXHnllVxxxRXp52/YsIEnn3ySBx98kBtvvBGAn//85xx00EEsXLgwY6IT4JZbbmHBggXMnz+fmTNnsmXLFgDC4TAHHHAAzz//PAcffDAPPfQQAP/zP//DGWecwfz58xk3blzGY/e044474jgOTU1N2zy2ePFiZs2axdNPP82tt97K+vXrez3+wAMPAPDCCy9w5513ctFFFxGJRNLv3+23385TTz3FzTffTHV1Nc8++ywHHHAAjz/+OADHHnssTz/9NAsWLGDXXXfl0UcfBeDqq69m6tSpLFiwgHnz5rH77rvz7W9/m7lz5wLd7cVTTz1V0hGyIjI0qUFY+VToWGKoadQgUG0YRhCoAT4HjgAeSz7+IHBy8ufpyd9JPn6kYRi+5PZHTdOMmqb5KbAMOGiI5RIpC4VoADRqS6S8FGLEloiUD8US3hKJRJg2bRrHHXcckyZN4jvf+Q5vvvkmxx57LDU1NdTW1nLcccexaNGiQR3/tdde44wzzgC6R2TW19fzhS98IT0ac9GiRdTX1+d8vMWLFzNt2jQOPfRQ/vSnP7F8+XJ22GEHdtllFwBOPfVUFi1aRDAY5Otf/zoLFy4kkUjwwgsvcMwxx/D222+zdOlSpk+fzrRp05g7dy5r1qxJH/8b3/hGr9c7/vjjAfjSl77Ua79DDz2UESNGMGbMGOrr65k2bRoAe+65J6tXr6azs5O3336b888/n2nTpvGzn/2MjRs3pp9/7LHH4vf72X333dm0adMA31WYOXMmRx11FCeddBLr1q3j008/BbqTz6my7LPPPukyv/XWW5x8cnc3+Vvf+taAXqu/8++YY46hurqa0aNHc+ihh/Lee+/1evytt95Kv9auu+7K9ttvz4oVKwA45JBD0u9fXV0dRx11FAB77LFHusxLlizhlFNO4eijj+bJJ59MzzH6t7/9LT2SNfU3NXnyZEaNGsWHH37Iyy+/zF577cXo0aMHVE8RcY9CfO8XOpYY9G3spmmuNQzjZmAV0AX8GXgbaDFNM5HcbQ0wKfnzJGB18rkJwzBagTHJ7T0nw+n5nF4MwzgPuBRoME2TxsbGrOUMBoM57ed2qoe7FKse7e3ttLe35/WY9fX16Ynuy+XzSFEboXq4RTHr0dnZid/vx7KsvBzP7/eny14un0dPaidUD7coVj06Oztpa2vL66ICI0aMoK6uDiifzyOlra2tsaOjY7xt24F818rn8xEMZu5+VVVV8dJLL23zPL/fn36u3+/v9XswGEzPZ5n6uefjPX9PlaFnOfbYYw8WLlzICy+8wE033cThhx/OJZdc0m8Z99hjDz7++GP+/d//nX322YeXXnqJK664gng8TiAQ6FXPnr+ffPLJ3H///YwZM4b999+fhoYG/H4/X/va19K3t29d77q6uvSxfD4f1dXVBINBQqEQlmWl61tVVdXr/ampqUnX03Ec/H4/9fX127y3qf1Tx4XuDnjquLl8Zq+99hp//etfmT9/PjU1NXzzm98kkUikX7+iogLoTnzatp3+HCoqKnp9Fv29Ts/tK1euJBAIMH78eFasWJEun9/v71VWv99PIBDo9XeR+jx6vp+pfSorK3u9H6FQKP1zItHdtb/kkku49957+eIXv8jcuXN5I8t8tt///veZO3cuGzdu5Hvf+16f9ausrPRk+6FYQvVwi2LVo6uri5aWlrzGEjU1NYwaNQooTD0Gnew0DGMU3aMydwJagLnAcX3smnon+hp24mTYvg3TNO8BUvc1OH0N399aY2Njn8P8vUb1cJdi1aOrqwvI71WP5uZmOjs7gYHVY+LEiXkrQ6GojVA93KKY9YjFYnk9nm3b6bIPtB5qJ9xN9XCXYtUjGo0C+R3h2dramj5uucUS9fX1TfX19akKHZjPYzuOk04cZbL1PgcddBA/+clPuOCCC3Ach/nz53P77ben90skEukLXolEgurqatra2tKPW5aFbdskEgkOO+wwZs6cybnnnotlWYTDYTo7O2loaOCUU06hqqoK0zRJJBLceOON7Lfffhx3XO8u3owZM7j66quZOXNm+jMNh8NYlsWUKVNYtWoVn3zyCTvttBOmaTJ16lQSiQRTp07lJz/5CbNmzeLEE08kkUiw3377cfnll6f37+rqYt26deyyyy44joNlWel69Pzdsqz0+9mzfik997Ntm+rqaiZPnswTTzzBSSedhOM4fPzxx+y1117Ytt3rdXq+jx0dHentn3/+OT/+8Y8xTbPX+9HS0kJ9fT2hUIh//vOfvP32272O19fn8OUvf5nHH3+cb33rW+njbf25p5KDqe2bN2/m0ksv5ayzzsKyrF7vgW3bLFiwgAsuuIBwOMxrr73G5ZdfTjweTx/joIMO4rHHHuOQQw5h+fLlrFmzhilTpvDee+/l1Nfo7Oxk3LhxxONxnnzyScaPHw/AYYcdxv/93/9xzjnnpP+m6urqOProo/nlL39JIpHgjjvu6PNvPxqNbtN+eKGdUCyherhFseqR6m/kM5Zob29Pf3cVIpYYygJFRwGfmqa5CcAwjD8ChwINhmEEk6M7twfWJfdfA0wG1iRvex8JbOmxPaXnc0SGNc3ZKSKZFGIRM92eKlJeFEsMnrXLLkRzaBNzHemS2HnnQZVjn3324dRTT+WEE04Auhco2nvvvfvd/9BDD+V3v/sd06ZN48ILL+z12DXXXMNll13Go48+it/v58Ybb6Sjo4PrrrsuPfozNWdl6hb1rR155JFs3ryZ008/Hcuy0rfCH3744VRVVfGb3/yG888/P71A0emnnw50jyo86qijME2T2267DYAxY8Zw6623MmPGjHRn+rLLLkvfBp9Pd9xxB1dccQW33XYbiUSC6dOns9dee/W7/5577pkus2EYTJ06tc/RiYcffjizZ8/mqKOOYuedd+aAAw7IWpZrrrmGGTNmcN9996Vvze9LalqDRCJBIBDglFNO6Xf+0P33358zzjiDtWvXctFFFzF+/HhWr16dfvzMM8/k8ssv58gjjyQQCHDrrbf2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UCa+jh07hoxF6rfK8kSgHLFlyxb/qKPCwkKmTp3Kd999h8Ph4J577iEzM5MlS5aQlZVFUVERP/30E4MHD/bnkffff58nn3wSp9NJWloapmlWuhwRiQ7BaomPPvqIRx99FKfTyXnnnccTTzxBcnJyyPzx1VdfMW3aNIqLi0lOTmb27NlB/1717NmTdevWccstt7Bp0yZuvPFGTNME4KuvvqJbt25YrdaQ+eTQoUOMGzeOw4cPM2jQIObPn8+//vUvsrKysNvt9OjRgxkzZmCxWLj22mvp3r07mzZtYtCgQYwYMYL777+fn3/+GYBHHnmkQufL7t27GTduHIWFhQBMnz6dnj17smHDBmbPnk3z5s35/vvvOffcc3n++eexWCy8//77TJs2jbS0tEpHppaWmppK165d2bdvH0ClMY8aNcof5/Tp02nYsCH3338/drudX/3qVzz99NM0a9asTJyDBw9m27ZtpKSksH37dn7++Wdmz57N66+/zpdffskFF1zAs88+W5XNRuqZYHkiPT2dK6+8kg0bNgDwwgsvcNppp7Fnzx4mTpxITk4OaWlpPPPMM7Rr147x48fTrFkztm7dSvPmzfniiy+wWq28+eabTJ8+nQMHDvDMM8+QkJBAkyZNWLp0hvDdfAAAIABJREFUaaXt+vjjj0lKSuKmm27yT2vfvj2jR48Ggu+zTz/9NC1btmTbtm0MHTqULl268NJLL2G323nppZc49dRTOXz4cMC88Omnn/qPbywWC0uXLqVZs2aVtrM6xy4dO3as0bFL7969/ccula3v8ccfL3OMNmTIELKysvjss8+YM2cO8+fP57nnnqN///4MGzaM9PR0rrrqKjZs2IDD4WDmzJk88cQTZGdnc+edd/o/97lz57JixQpKSkoYPHgwkyZNorCwkDvuuIN9+/bhcrm4++67o2qkfU3U6JSYYRhXAj+bpvlvwzBKv9QO2F3q9z3eacGm7wkwvbL1jgEmA81M06Rly5Yh22qz2ao0X7RTHNFFcUSnUDli//79ZUYChPsmyxaLJehIgwEDBvDss8/y61//mr59+zJ8+HD69OlDSUkJv//975k3bx4XXHABeXl5pKamYrVa2bZtG++99x5JSUlcfPHF3H777VitVv8fv2bNmmEYBqtWrWLo0KFYLBasVis2m405c+bQvHlz/6iDK6+8krS0NAoLCzn77LN54IEHyM3NZdKkSXzyySdYLBaOHj2KzWYjISGBgwcP8vbbb/Pf//6Xm266iauuuso/CtRms2G1Wvn6669Zv349qampZGZmkpGRwfnnn18m7gcffJDmzZvjdDq59tpr+f777+natSsWi4WWLVvy3nvv8fLLL/Piiy/yzDPP8Oyzz9K7d2/uuecesrKyeOWVV/wxlf+8fdPXr1/PkCFDsNls/PDDD6xYsYK3336bxMRE7rvvPpYtW8aZZ57J/v37+fDDDwH8sd53333MmjWL008/nS+//JIpU6awdOlS+vTpw5AhQ7BYLPzjH//gr3/9K4888ggJCQl88803LF++nNTUVBYuXMiePXt47733sNls5Obm+tsXKL7ykpOTo3Y/jLccAbGZJ3r06FFpjvAt7/nnn6dv374899xzHD16lMGDB9OvX79K80hycjL33nsvb731Fr/61a/Izc0NupyGDRtWaGuktt142S4VR3SKxRzRp08f7HY7EydO5I033uCMM85g7Nix/OMf/+DWW28NmT+6dOnC8uXL/X9PZ86cyYIFC8rMU1p6ejozZ87EZrPx5ZdfMmnSJJYtW4bdbmfz5s2kp6eHzEsWi4WTTjqJ2bNn85e//IVXXnkFgN/97ndMnjwZgLvuuot169aRmZmJxWIhPz+fZcs842zuvPNO7rzzTtLT09mzZw+//e1v+fjjj/1ttNlstGnThtdff52UlBR27NjBnXfeyTvvvIPVamXr1q18+OGHnHTSSQwbNozNmzdz3nnnce+99/Lmm29y2mmnMWbMmIDxl/5cjhw5QnZ2NpdccknQmBcvXswNN9zA+++/D0C/fv14/PHH6dOnDzNmzODZZ59l+vTpFeIcN24cx44d41//+hdr1qzhlltuYcWKFXTp0oXMzEy+++47unUrc6e5qKsr4i1HQOzmCd97mzRpwtq1azFNk4cffphXXnmFqVOnMnLkSEaOHMk///lPHnroIRYtWkRCQgI7d+7kzTffxGq1MmvWLBo2bMgf/vAHAC699FKWLFnCySef7K+tK7N9+3bOPffcSucJts9+++23fPzxxzRr1oxevXpx/fXXs3btWubNm8fChQuZPn0606ZNC5gXXnzxRWbMmEGvXr0oKCjwdwJX1o66OHZZt24dZ599NjabLeD62rZty5o1a8ocozVt2pTMzEwGDRrE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mmZr0zRPNU3zVDwdlheapvkLsBy4yTAMi2EYvYGjpmnuA9YCGYZhNDcMozmeUaFrva/lGYbR2/sk95soew9QEZG4sX37dnbs2OH/fdu2bbRv356OHTuyf/9+vv76awDy8/ODFq8XXHABn332GTk5OTidTt566y0uuuiiMvPk5eXRtGlTUlNT2b59O5s3bw64rIKCAvLy8hgwYACPPPII3377bbVi+uijj8jNzaWoqIi1a9dWuF+W73K5Jk2acPDgQf/lW8H07t3bf7+fdevWceTIkaDzp6am8sgjj/DGG2+Qm5vLJZdcwttvv+0/O5ibm8uePXvIycnxn52ePHky33zzDY0bN6ZDhw6sWLEC8ByYbdu2DfBcvnHSSScBBC0u+vbty9///nf/d+a7jF2kJgLliU6dOoXMEZdeeikvv/yyv/N969atQdfTvXt3Pv30U3bt8jxn0rfdVnc5IlK3gtUSu3fvZufOnYDn3tW9e/euUo2Rl5fn/3vnu/dmKD179mT+/Pn+js3u3bvzxhtv0Lp1a5o2bQpUP5/4OjbT0tIoKChg5cqVlc576aWXsnDhQv/vgZZ97NgxWrduTUJCAm+++WbIk44dO3Zk165dZGdnA577o4fiu2XAX/7yF3+7QsXcpEkTmjZtyueffw7877sSCZfK8oTP8uXL/f92794d8IzQ9N0+YenSpfTq1Svgshs1akR+fr7/9+zsbC688EImT55MWloae/fuZd++fZS73SEAl1xyCcXFxSxatMg/raioyP//6u6z5VWWF7KzsznrrLO46667OO+889i+fTtAwCeY18WxS1XWV9kxWqNGjSgoKKjy8svr168fS5Ys8S9j3759HDp0iF9++YXU1FSuueYa7rzzTr755psaryNahBzZaRjGq3hGZbY0DGMPMM00zZcqmX0VMBTYDhQCtwKYppljGMajwBfe+f7se1gR8Hs8T3xPxfNgIj2cSETqhOP007FYLGG7tMRR6uxjIL6b1vvugXLqqacyc+ZMkpKSmDt3LlOnTsVut5OSkuJ/QFEgbdq04YEHHmDEiBG43W769+9f4bKRfv368fe//52BAwdy+umn+w9GysvPz2f06NEUFxfjdrsDPugomJ49ezJu3Diys7O5+uqrKzzZtWvXrnTr1o3LLruMU045pUpPbpwwYQJ33XUXmZmZ9O7dm3btKr2V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GGNcY8zLwGjLsiYAs4BlxpjaZAfnMuDY5GOVxpiXkqM57wHmDK1K3mSMYfbs2cyYMYOLL744PcHss88+y6xZs5g+fTpf/vKX0+uvWbOGL37xixx++OHcfffdQGJUxDHHHMP555/P0UcfzVe/+lXa29uBxI51wgknMH36dM4++2waGxu7lGHFihXMmDGDadOmccEFFxCNRgF45plnOPLIIznllFO49NJL+cY3vkE8HueII46grq4OSCQqhx9+ePq+iIiI5E4qB7jwwguZNWsWW7du5cc//jHHHXccRx99NDfeeGN63WeffZYjjzySOXPm8Mwzz6SXt7S08IMf/IDZs2czc+bMTo+lNDU1cdppp6Vzk1RjqbccZNWqVUyfPp0TTzyRe++9t8+6hMNhPvWpT/Hhhx8CiYbD5ZdfzuzZs5k+fXq6wX/NNdfw4osvMmPGDO666y7Wr1/PKaecwrRp0zj22GN59dVX02WbMWNGl9e5//77+elPfwokznT56U9/ykknncThhx/OU08ljqvH43EuvPBCjj76aObNm8dXvvIVnn766b4/EBGPGUiMmDp1KgsWLGDmzJlMnz6d9957D4C//vWvTJ8+nRkzZjBr1ixaW1tZsWIFp556Kt/4xjc46qijuOSSS9Kj0x5++GGmTZvGMcccwzXXXAMk9uf99tuP6667jtmzZ3PLLbewY8cOvvCFL6RHmnV0ww03cPzxx6fLntr2nDlzuPrqq5k9ezZHHnlkuqOyra2N+fPnM336dM455xwikUiXbTY3N2OM4aqrrkqPYBs/fjwnnHBCn+W+6qqrmDVrFmeccQavvvpquj323HPPAYm48s1vfpO5c+dy2GGHsWjRIm699VZmzpzJSSedRENDQ7r8//nPfwDYtm0bRxxxRPr5Z599NmeccQZHHHFE+vVTn0vq+Q8++CBHHXUU06dP54c//CEAS5cu5YQTTmDmzJl8+ctfpqamhvXr17N48WJuu+02ZsyYwcqVK7nuuuu44447gJ7biD29v1LY+hsnnnnmGc4999z081asWMFZZ50FwHPPPceJJ57IrFmz+Pa3v01ra2uvr5mNfbw3X/va13jkkUeAxCjn73//++nX++lPf8qJJ57ItGnTWLVqVZfnvv/++5x66qlMnz6d008/nc2bNwOJHOKKK67g1FNP5dprr+Wf//wnJ554IjNnzuTkk09m7dq1tLW1ceONN/LII48wY8YMnnzyyU55SG/b7i4/kaEb1CXCLMs6CdhkjHnNsqyOD+0GfNDh/sbkst6Wb+xmeU+vOx+4ABhtjKG6urrT41u3bu3Uy57pSVwDgUC/r6oWDAYJBoOEw2FWr17N0qVLWbJkCeFwmPPPP58nnniCI488kksuuYTHHnuMyZMnU1dXRzgcJhgMsm7dOh566CEaGho48sgjOfPMMwmHw7z33nvcdttt7L///px55pksW7aMU045he9973vccMMNHHroofziF7/gN7/5DZdffjmBQIBgMEg0GuX888/nkUceYc899+Scc85h8eLFfPnLX+aSSy7hiSeeYNKkSZx99tkEAgFKSko45ZRTePzxxznrrLNYvnw5Bx54IOPGjetUz5KSki6fQ2/C4fCA1vcq1cOb+ooR3SmU90D18BbVw7v8mkuEw2HefvttbrrpJhYsWADAZZddxpgxY7Btmy984QucdNJJTJ48mYsuuohHH32UPfbYg7POOiv9mldffTXTpk3j5ptvpr6+nuOOO45jjjmm02iriooK7r33XioqKti+fTsnnngixx13XK85yI9+9CNuuOEGPv3pT3PZZZd1W8dwOJxe3tbWxr///W+uvfZawuEw9957L7vssgtLly4lEomkG0WXXnopCxcuZNGiRQC0trbyhz/8gdLSUt555x3OO+88nn766U7bDoVC6f87vn+BQIAdO3awZMkS3nzzTebPn8+JJ57IE088wdatW/nLX/7Ctm3b+OxnP8u8efO6lH+g+U5/FMr+VSj1SCn0GLHvvvsSCAQYP348zz//PHfccQd33nkn119/PbfccgsLFixg6tSptLS0UFpaSigUYtWqVaxYsYLddtuN0047jWXLlnHggQdy/fXXs3TpUiorKznttNN4/vnnOeaYY2hsbOTAAw/kJz/5CQCLFi3i8ccfZ9SoUV3q8K1vfYuLLroI13X59re/zYoVK5g2bRqBQIBAIMDSpUt5+umnuemmm3jggQdYtGgRY8aMYfny5bz++uvMnDkzXf+UtWvXsscee3T7eps3b+613McccwxXXHEFX/3qV7nxxht5+OGHeeONN7jggguYNWsWwWCQt99+m2XLltHS0sLhhx/OFVdcwfPPP8/FF1/Mo48+2inudixbKi6tXr2aZ599llAoxGc+8xnO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ZDuNAAAgAElEQVQll+hp/Pjx7L333kyePJmvfvWrHHHEEUDX3/vbb7+dc845h/r6eo444ohkweLaa69l3rx5TJkyhXg8zu67784jjzzS7bhnnnkms2fP5pRTTmH8+PHsscceOduyaNEi5s6dS3V1dZ/vAjnttNNYtGgRb7/9Nueeey4bNmxg2rSuJySNHj2aRx55hAMPPJB4PJ5cxHH27NlceumlPPfccxxzzDHdZkcN1Omnn86f/vQnJk+ezJ577smhhx7K8OHDB31cKR9eixHZPPDAA7z++utUVFSw3377MWnSJF5//XW+8Y1v8OMf/5iPPvqIo446imnTphEIBPj+97/PrFmzsG2bqVOncuKJJ6a96+w73/kOZ599NmPGjOGpp55Kbq+vr2fWrFlMnjyZsWPHcuihh+Zs4wUXXMA111zDiSeeyIEHHsjBBx+cdr+bbrqJ22+/neOPP56qqiqqq6u57rrrGDNmTJ/bPRiXX345l19+OU899RRHH310v967//77c8UVVzBz5kwqKys56KCDWLhwIXPmzOHiiy9ml1124ZBDDmHz5s0AnHTSSVx66aUsX76c+fPndztWrjGiFIcX40QwGOSEE07gV7/6Fffeey8AO+64I3fddReXX355crHjG264gXEZ2lPIcxy6zjPnkRA77rgjixcv5vrrr+eee+5hl1124Qc/+AFz5sxJPo+2rq6OGTNm0NbWlnZ26q233sq1117LfffdR0NDQ8bz5corr2TOnDk88MAD3c7vY445hoceeohp06Zx9dVXD+jYkj8BD0+TtZ0VrBzpblUIBoN5/+NVCoXsR1tbG7W1tdi2zfXXX8/Xv/51LrzwQgDeeecdbrvtNp555pm07033mWdTjs+UcLMBPBsjv0/XLqxeMSKdcvxZupn64S4DfM6Wp+OEcgn3y3c/nDzoyy+/5LTTTuPXv/41o0eP7rZPf/OdvijHOKEY4W7p+rFq1SoeffTRbrPC3c7PP49iy0fsUy7RxQ0/z3zwaj/OOOMMbr311uQzPr3Wj0znonKJzAa0Grv4y+OPP87SpUuJRCIcdNBBfPvb3wbg7rvv5uc//zkPPPBAiVsoIiIiUhjnnHMOLS0tRKNRrr322l6FThERERHxFhU7JXmbRU/XXHMN11xzTQlaJCIiIlIczirwItLbcccdx3HHHVfqZoiIDErq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Hdqv/aPRKG1tbWlf0wBFxH90XotILs5kAK0TICLpeO281m3sIi7ntaDiZvF4vFuhU8QPBjIoCQaDGWeC6tYzEf/RjC0RyUWPxBGRbLx2XqvYKeJyWqAof7zyfBGRYsh0PpR7nBDxI68NUESkuJxH3CgHEJFMvJZLqNgp4nJeCyqSWWNjI1OnTmXq1KkccsghHH744UydOpX99tuP448/Pi/f49VXX+Wtt97Ky7EGau3atUyePLnP2++8805WrVo16O/73e9+lyOPPDL5Gc+YMSPr/k1NTTz66KMD+l733HNPn/Y799xzaWpqGtD3GKwVK1bw0Ucf9ft9GuiI+I9yCRHJxokR+ZoYoJgj4j9eO691P6eIy+Xz+TnS3Q5z5zJkzZq8fbbRceNouvPOjK/X19ezcuVKABYuXEhtbS2XXXYZa9eu5fzzz89LG1577TVqa2s54ogjercvGnXlbfxz587N27HmzZvHaaed1qd9m5ubefzxx5k9e3afj+/Merj33nu5+uqrc+7/xBNP9PnYA5Xp9/c3v/kNkydPZp999snL8UTEu5RLiEg2+Vx4JJ/HERH3yHcuEY/Hqago3PxL9416RaQbr11B8ZLg6tUMff31UjcD6HpO4ty5c3n77bfZeeedWbJkCdXV1Xz66af84Ac/4Msvv6S6upo777yTvfbai9/85jfcc889RCIRRo0axYMPPkhbWxtPPPEElZWVPPvss9x66608+eSTjBw5kv/7v/9j/PjxzJ07l3nz5vGPf/yDaDTKtddey0knndStLW1tbVxwwQU0NTURjUa57rrrOOmkk1i7di3nnHMOEyZM6NXOv/71r8yZM4fq6momTJjQr75/97vf5cQTT6Smpoann36aBx98EOiapfrTn/6Uxx57jFdeeYX/+q//IhKJ8LWvfY277rqL2traPh1/4cKFrF+/ns8//5z169dz8cUXc9FFF7FgwQI+++wzpk6dynHHHccPf/hDHnzwQV544QUikQgnn3wy3//+95P9Pvroo3nnnXc44IADCIVCTJ06lX333Zf77ruPCy+8kA0bNhAOh7nooouSBdSJEyeyfPly2traMn52Z555JgcccADvv/8+X375JXfffTf33XcfH3zwATNmzOD6668H4Nlnn2XJkiVEIhEOPfRQbrvtNiorK9l333254IIL+O1vf0tVVRX//d//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aiV2kS7xeDzvz5VUQiPiHzqfRSSXQuQSIuIfunghIrl4sdg5qNXYjTE3Azf32LyartXUe+4bousW93THmQ/MH0xbRPyoEAFAxREREZHyobtERCQb53zWGEFEMnEunOb72b6FNOCZnSJSWLZta4AiIiIig+LF2RgiUjyFGhtozCHiH148n1XsFHGpQg0kNEAR8Y9Cnc9eTGhEpDfbtnWXiIhkVai/+YoTIv5QqElYhaZip4hLKfEQERGRwfDi4EREiktjDhHJxquTsAb1zE4RKRw9P8d/GhsbOeusswDYsmULlZWV1NfXA7Bs2TKGDh3abf9t27bxwgsvcN5552U9bjQaZb/99uODDz4oTMPFtQo5s7OiQtdDRbyuULmEchMR/yjEs/ic44qI93n1XFaxU8SldJW18FpbW4nH43n7TCorK6mrq8v4en19PStXrgRg4cKF1NbWctlll2Xcf/v27TzxxBM5i50i+ebVpEZEutO5LCK5eHXWlogUh1cnYWnahohLaYBSeLFYjGg0SiwWy9t/A/XAAw8wefJkJk+ezJIlSwBYsGABq1evZurUqSxYsICWlhZmzZrFSSedxIknnpgsnEp5KmTC4bVkRkTSUy4hIrkUKk4MJi8WEffw6iQszewUcSkNUMrHn//8Z5YuXcqyZcuIxWJMnz6dI488kptuuolPP/00WdTs7OzkkUceoa6ujq1btzJz5kymTp1a4taLHyn+iPiDVwcoIlIcziJmgUCgIMcWEe/z6rhAxU4RlyrU83OUeLjPG2+8wfTp06murgbg5JNP5s0332TSpEnd9rNtm/nz5/PWW28RCATYuHEjjY2NjBgxohTNFh9TnBDxh0LlEiLiD4UsYijuiPiDip0ikldeDSpSOM888wwtLS289NJLBINBDj/8cEKhkIqdZaqQgwjFHxF/0LksItkU8ll8KnaK+INXL5zqmZ0iLmTbtgYoZWTixIksX76cjo4O2traWLFiBRMnTqSuro62trbkfs3NzYwePZpgMMiqVavYtGlTCVstfua1ZEZE0lMuISLZFDJGKP6I+INX1wnQzE4RF1KhobwceuihnHHGGUyfPh2A8847j/322w+Agw46iClTpjBlyhQuueQSZs+ezSmnnML48ePZY489StlsKTHN7BSRbAr5LD4R8Qf9vReRXAr9uItC5Skqdoq4UCFvKZF/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\n",
      "text/plain": [
       "<Figure size 1656x1440 with 25 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "annual = pd.read_csv('areas_annual.csv', index_col=0)\n",
    "axes ={}\n",
    "fig, ((axes[1], axes[2], axes[3], axes[4], axes[5]),(axes[6], axes[7], axes[8], axes[9], axes[10]),(axes[11], axes[12], axes[13], axes[14], axes[15]),(axes[16], axes[17], axes[18], axes[19], axes[20]),(axes[21], axes[22], axes[23], axes[24], axes[25])) = plt.subplots(nrows=5, ncols=5, sharey=True, figsize=(23,20))\n",
    "fig.suptitle(\"Temporal Distribution of ODNB Entries by Area of Renown\", y=.91, fontsize='30', fontweight='bold')\n",
    "n=1\n",
    "\n",
    "\n",
    "for area in areas:\n",
    "    \n",
    "    annual['Total'] =  annual['Total ODNB Subjects Alive'] - annual[area] \n",
    "    annual[[area, \"Total\"]].plot(kind='area', ax=axes[n], color=['red' ,'lightgray'])\n",
    "    plt.ylim(0,15000)\n",
    "    axes[n].legend(loc='best')\n",
    "    n=n+1\n",
    "    annual.drop('Total', axis=1, inplace=True)\n",
    "\n",
    "#fig.savefig('Rev_Fig_27.png', dpi=300, bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figure 28 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "mask = pd.read_csv('occupations.csv', index_col=0)\n",
    "women = mask.loc[mask['gender']=='f']\n",
    "w_occs = women.groupby('occupation').count()\n",
    "w_occs.rename(columns={'gender': 'Count'}, inplace=True)\n",
    "w_occs = w_occs.loc[:, ['Count']]\n",
    "w_occs = w_occs[w_occs.Count.between(5,2000)]\n",
    "w = w_occs[w_occs.Count.between(15,2000)].sort_values(by='Count')\n",
    "w = women.merge(w, left_on='occupation', right_on=w.index.values, how='right')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a23f8eda0>"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "begin = w.groupby('occupation').min()\n",
    "end = w.groupby('occupation').max()\n",
    "begin = begin.rename(columns={'start_date_lb': \"First\"})\n",
    "end = end.rename(columns={'end_date_lb': \"Last\"})\n",
    "begin = begin.loc[:, ['First']]\n",
    "end['Last'] = end.Last\n",
    "end = end.rename(columns={'end_date_lb': \"Last\"})\n",
    "begin = begin.loc[:, ['First']]\n",
    "begin['Last'] = end.Last\n",
    "\n",
    "timeline = begin\n",
    "timeline['lower'] = timeline.index.str.lower()\n",
    "timeline.sort_values(by='lower', axis=0, ascending=False, inplace=True)\n",
    "timeline['Delta'] = timeline['Last'] - timeline['First']\n",
    "timeline2 = timeline.drop(['lower', 'Last'], axis=1)\n",
    "timeline2.rename(columns={'Delta': \"Last\"}, inplace=True)\n",
    "fig, ax = plt.subplots()\n",
    "ax.set(xlabel='Year', ylabel='Historical Significance')\n",
    "ax.set_xlim(500,2020)\n",
    "timeline2.sort_values(by='First', ascending=False).plot(kind='barh', figsize=(12,6), stacked=True, color=['lightgrey', \"#CC79A7\"], legend=False, title='Attributed \\'Historical Significance\\' of ODNB Women (15 or more examples)', ax=ax)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Figure 29"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0,0.5,'Historical Significance'), Text(0.5,0,'Year')]"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "w_occs = women.groupby('occupation').count()\n",
    "w_occs.rename(columns={'gender': 'Count'}, inplace=True)\n",
    "w_occs = w_occs.loc[:, ['Count']]\n",
    "w_occs = w_occs[w_occs.Count.between(5,2000)]\n",
    "w = w_occs[w_occs.Count.between(5,2000)].sort_values(by='Count')\n",
    "w = women.merge(w, left_on='occupation', right_on=w.index.values, how='right')\n",
    "begin = w.groupby('occupation').min()\n",
    "end = w.groupby('occupation').max()\n",
    "begin = begin.rename(columns={'start_date_lb': \"First\"})\n",
    "#max = max.rename(columns={'start_date_lb': \"Last\"})\n",
    "end = end.rename(columns={'end_date_lb': \"Last\"})\n",
    "begin = begin.loc[:, ['First']]\n",
    "begin['Last'] = end.Last\n",
    "\n",
    "timeline = begin\n",
    "timeline['lower'] = timeline.index.str.lower()\n",
    "timeline.sort_values(by='lower', axis=0, ascending=False, inplace=True)\n",
    "timeline['Delta'] = timeline['Last'] - timeline['First']\n",
    "timeline2 = timeline.drop(['lower', 'Last'], axis=1)\n",
    "timeline2.rename(columns={'Delta': \"Last\"}, inplace=True)\n",
    "\n",
    "\n",
    "timeline2['First'] + timeline2['Last']  \n",
    "\n",
    "fig, ax = plt.subplots(figsize=[12,6])\n",
    "\n",
    "#timeline2.sort_values(by='First', ascending=False).plot(kind='barh', stacked=True, color=['lightgrey', \"#CC79A7\"], legend=False, title='Author to Aviator: Attributed \\'Historical Significance\\' of ODNB Women through the Ages', ax=ax1)\n",
    "\n",
    "data = timeline2.sort_values(by='First', ascending=False)[:30]\n",
    "\n",
    "for bar in ax.patches:\n",
    "    bar.set_facecolor('#888888')\n",
    "highlight = ['potter', 'mathematician', 'illustrator']\n",
    "pos = []\n",
    "for h in highlight:\n",
    "    pos.append(data.index.get_loc(h))\n",
    "\n",
    "data.plot(kind='barh', stacked=True, color=['lightgrey', \"darkgray\"], legend=False, ax=ax, title='Selected \\'Historical Significance\\' of ODNB Women, 1830-2000')\n",
    "ax.set_xlim(1830,2015)\n",
    "for p in pos:\n",
    "    ax.patches[p+30].set_facecolor('#CC79A7')\n",
    "ax.set(xlabel='Year', ylabel='Historical Significance')\n",
    "\n",
    "\n",
    "#plt.savefig('women_potter_etc.png', dpi=500, bbox_inches=\"tight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
